{
  "rule": {
    "rule_id": "R-CAP",
    "ruleset": "2026.2",
    "version": 3,
    "layer": "commercial",
    "authority": "ASL",
    "reference": null,
    "name": "Rate cap",
    "description": "Nightly rate must not exceed the station cap, adjusted seasonally.",
    "severity": "approve",
    "applies_to": "all",
    "applies_ranks": "ALL",
    "applies_entities": "ALL",
    "applies_regions": "ALL",
    "applies_duty": "ALL",
    "applies_channel": "ALL",
    "expression": "{\"field\":\"rate_paid\",\"op\":\"<=\",\"param\":\"rate_cap\"}",
    "threshold": "station cap",
    "approve_role": "finance",
    "second_approver_above": 220,
    "suspends_on_disruption": 1,
    "effective_from": "2026-01-01",
    "effective_to": null,
    "owner": "Loïc Berger",
    "enabled": 1
  },
  "params": [
    {
      "param_id": "PRP-20",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "BHX",
      "param_name": "rate_cap",
      "param_value": "317.84",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-22",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "BRU",
      "param_name": "rate_cap",
      "param_value": "354.96",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-26",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "CDG",
      "param_name": "rate_cap",
      "param_value": "327.12",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-18",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "CGN",
      "param_name": "rate_cap",
      "param_value": "301.6",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-16",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "DUB",
      "param_name": "rate_cap",
      "param_value": "288.84",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-24",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "DXB",
      "param_name": "rate_cap",
      "param_value": "330.6",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-17",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "EMA",
      "param_name": "rate_cap",
      "param_value": "334.08",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-23",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "HKG",
      "param_name": "rate_cap",
      "param_value": "351.48",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-25",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "JNB",
      "param_name": "rate_cap",
      "param_value": "262.16",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-19",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "LGG",
      "param_name": "rate_cap",
      "param_value": "310.88",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-27",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "LYS",
      "param_name": "rate_cap",
      "param_value": "299.28",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-30",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "MAD",
      "param_name": "rate_cap",
      "param_value": "317.84",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-28",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "MRS",
      "param_name": "rate_cap",
      "param_value": "303.92",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-21",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "STN",
      "param_name": "rate_cap",
      "param_value": "343.36",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-29",
      "rule_id": "R-CAP",
      "scope_type": "station",
      "scope_value": "TLS",
      "param_name": "rate_cap",
      "param_value": "294.64",
      "unit": "EUR",
      "note": "nightly, excluding taxes"
    },
    {
      "param_id": "PRP-31",
      "rule_id": "R-CAP",
      "scope_type": "season",
      "scope_value": "Winter 2026/27",
      "param_name": "rate_cap_uplift",
      "param_value": "8",
      "unit": "%",
      "note": "peak-season tolerance"
    }
  ],
  "byPeriod": [
    {
      "period": "2026-03",
      "n": 171,
      "cost": 10919.04,
      "refused": 0
    },
    {
      "period": "2026-04",
      "n": 134,
      "cost": 9166.14,
      "refused": 0
    },
    {
      "period": "2026-05",
      "n": 139,
      "cost": 9556.33,
      "refused": 0
    },
    {
      "period": "2026-06",
      "n": 151,
      "cost": 10943.53,
      "refused": 0
    },
    {
      "period": "2026-07",
      "n": 117,
      "cost": 8758.78,
      "refused": 0
    },
    {
      "period": "2026-08",
      "n": 73,
      "cost": 4936.49,
      "refused": 0
    }
  ],
  "recent": [
    {
      "breach_id": "PB-7003",
      "eval_id": "PE-13410",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "407.79 EUR",
      "limit_value": "323.55 EUR",
      "cost_impact": 114.24,
      "resolved": "approved",
      "station": "EMA",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "crew_app",
      "booking_id": "RS-8853409"
    },
    {
      "breach_id": "PB-7018",
      "eval_id": "PE-13445",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "364.42 EUR",
      "limit_value": "283.55 EUR",
      "cost_impact": 110.87,
      "resolved": "approved",
      "station": "CGN",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853444"
    },
    {
      "breach_id": "PB-6952",
      "eval_id": "PE-13267",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "383.99 EUR",
      "limit_value": "307.75 EUR",
      "cost_impact": 106.24,
      "resolved": "approved",
      "station": "BHX",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853266"
    },
    {
      "breach_id": "PB-7043",
      "eval_id": "PE-13517",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "368.51 EUR",
      "limit_value": "292.70 EUR",
      "cost_impact": 105.81,
      "resolved": "approved",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853516"
    },
    {
      "breach_id": "PB-6894",
      "eval_id": "PE-13144",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "372.99 EUR",
      "limit_value": "299.60 EUR",
      "cost_impact": 103.39,
      "resolved": "approved",
      "station": "CGN",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853143"
    },
    {
      "breach_id": "PB-7592",
      "eval_id": "PE-14635",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "396.10 EUR",
      "limit_value": "325.56 EUR",
      "cost_impact": 100.54,
      "resolved": "approved",
      "station": "HKG",
      "entity": "ASL Airlines Belgium",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8854634"
    },
    {
      "breach_id": "PB-7706",
      "eval_id": "PE-14916",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "391.32 EUR",
      "limit_value": "323.59 EUR",
      "cost_impact": 97.73,
      "resolved": "approved",
      "station": "CDG",
      "entity": "ASL Airlines France",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8854915"
    },
    {
      "breach_id": "PB-7132",
      "eval_id": "PE-13718",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "349.61 EUR",
      "limit_value": "284.35 EUR",
      "cost_impact": 95.26,
      "resolved": "approved",
      "station": "CGN",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853717"
    },
    {
      "breach_id": "PB-7192",
      "eval_id": "PE-13827",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "411.98 EUR",
      "limit_value": "346.72 EUR",
      "cost_impact": 95.26,
      "resolved": "approved",
      "station": "STN",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853826"
    },
    {
      "breach_id": "PB-7107",
      "eval_id": "PE-13659",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "349.22 EUR",
      "limit_value": "284.36 EUR",
      "cost_impact": 94.86,
      "resolved": "approved",
      "station": "CGN",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853658"
    },
    {
      "breach_id": "PB-7168",
      "eval_id": "PE-13785",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "375.37 EUR",
      "limit_value": "310.75 EUR",
      "cost_impact": 94.62,
      "resolved": "approved",
      "station": "BHX",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853784"
    },
    {
      "breach_id": "PB-7288",
      "eval_id": "PE-14003",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "421.35 EUR",
      "limit_value": "356.77 EUR",
      "cost_impact": 94.58,
      "resolved": "approved",
      "station": "BRU",
      "entity": "ASL Airlines Belgium",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8854002"
    },
    {
      "breach_id": "PB-7827",
      "eval_id": "PE-15184",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "369.00 EUR",
      "limit_value": "306.07 EUR",
      "cost_impact": 92.93,
      "resolved": "approved",
      "station": "MAD",
      "entity": "ASL Airlines France",
      "traveller_type": "crew",
      "channel": "crew_app",
      "booking_id": "RS-8855183"
    },
    {
      "breach_id": "PB-7055",
      "eval_id": "PE-13550",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "355.55 EUR",
      "limit_value": "292.78 EUR",
      "cost_impact": 92.77,
      "resolved": "approved",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853549"
    },
    {
      "breach_id": "PB-7040",
      "eval_id": "PE-13506",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "357.77 EUR",
      "limit_value": "296.28 EUR",
      "cost_impact": 91.49,
      "resolved": "approved",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853505"
    },
    {
      "breach_id": "PB-7834",
      "eval_id": "PE-15195",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "386.09 EUR",
      "limit_value": "326.45 EUR",
      "cost_impact": 89.64,
      "resolved": "approved",
      "station": "CDG",
      "entity": "ASL Airlines France",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8855194"
    },
    {
      "breach_id": "PB-7273",
      "eval_id": "PE-13965",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "380.45 EUR",
      "limit_value": "322.05 EUR",
      "cost_impact": 88.4,
      "resolved": "approved",
      "station": "DXB",
      "entity": "ASL Airlines Belgium",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853964"
    },
    {
      "breach_id": "PB-7575",
      "eval_id": "PE-14601",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "414.76 EUR",
      "limit_value": "356.83 EUR",
      "cost_impact": 87.93,
      "resolved": "approved",
      "station": "BRU",
      "entity": "ASL Airlines Belgium",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8854600"
    },
    {
      "breach_id": "PB-6845",
      "eval_id": "PE-13033",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "342.49 EUR",
      "limit_value": "284.96 EUR",
      "cost_impact": 87.53,
      "resolved": "approved",
      "station": "CGN",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853032"
    },
    {
      "breach_id": "PB-7037",
      "eval_id": "PE-13488",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "364.56 EUR",
      "limit_value": "307.15 EUR",
      "cost_impact": 87.41,
      "resolved": "approved",
      "station": "LGG",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853487"
    },
    {
      "breach_id": "PB-7115",
      "eval_id": "PE-13677",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "337.13 EUR",
      "limit_value": "281.76 EUR",
      "cost_impact": 85.37,
      "resolved": "approved",
      "station": "CGN",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853676"
    },
    {
      "breach_id": "PB-7544",
      "eval_id": "PE-14536",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "381.04 EUR",
      "limit_value": "326.08 EUR",
      "cost_impact": 84.96,
      "resolved": "approved",
      "station": "DXB",
      "entity": "ASL Airlines Belgium",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8854535"
    },
    {
      "breach_id": "PB-7693",
      "eval_id": "PE-14896",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "381.22 EUR",
      "limit_value": "326.87 EUR",
      "cost_impact": 84.35,
      "resolved": "approved",
      "station": "CDG",
      "entity": "ASL Airlines France",
      "traveller_type": "staff",
      "channel": "staff_portal",
      "booking_id": "RS-8854895"
    },
    {
      "breach_id": "PB-7150",
      "eval_id": "PE-13750",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "345.71 EUR",
      "limit_value": "292.87 EUR",
      "cost_impact": 82.84,
      "resolved": "approved",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "travel_desk",
      "booking_id": "RS-8853749"
    },
    {
      "breach_id": "PB-6944",
      "eval_id": "PE-13251",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "342.99 EUR",
      "limit_value": "291.25 EUR",
      "cost_impact": 81.74,
      "resolved": "approved",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "staff",
      "channel": "staff_portal",
      "booking_id": "RS-8853250"
    },
    {
      "breach_id": "PB-7582",
      "eval_id": "PE-14607",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "376.30 EUR",
      "limit_value": "324.70 EUR",
      "cost_impact": 81.6,
      "resolved": "approved",
      "station": "HKG",
      "entity": "ASL Airlines Belgium",
      "traveller_type": "crew",
      "channel": "travel_desk",
      "booking_id": "RS-8854606"
    },
    {
      "breach_id": "PB-7450",
      "eval_id": "PE-14321",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "370.74 EUR",
      "limit_value": "323.76 EUR",
      "cost_impact": 76.98,
      "resolved": "approved",
      "station": "DXB",
      "entity": "ASL Airlines Belgium",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8854320"
    },
    {
      "breach_id": "PB-6908",
      "eval_id": "PE-13176",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "349.20 EUR",
      "limit_value": "302.45 EUR",
      "cost_impact": 76.75,
      "resolved": "approved",
      "station": "CGN",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "crew_app",
      "booking_id": "RS-8853175"
    },
    {
      "breach_id": "PB-7081",
      "eval_id": "PE-13600",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "336.57 EUR",
      "limit_value": "292.32 EUR",
      "cost_impact": 74.25,
      "resolved": "approved",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853599"
    },
    {
      "breach_id": "PB-7377",
      "eval_id": "PE-14178",
      "period": "2026-08",
      "rule_id": "R-CAP",
      "layer": "commercial",
      "severity": "approve",
      "observed": "370.81 EUR",
      "limit_value": "326.57 EUR",
      "cost_impact": 74.24,
      "resolved": "approved",
      "station": "HKG",
      "entity": "ASL Airlines Belgium",
      "traveller_type": "staff",
      "channel": "staff_portal",
      "booking_id": "RS-8854177"
    }
  ]
}