{
  "rule": {
    "rule_id": "R-TRANSFER",
    "ruleset": "2026.2",
    "version": 3,
    "layer": "regulatory",
    "authority": "ASL",
    "reference": "ASL OM-A 7.6",
    "name": "Maximum transfer time",
    "description": "Airport to accommodation must not exceed the station limit; transfer time counts against the rest window both ways.",
    "severity": "block",
    "applies_to": "crew",
    "applies_ranks": "CPT,FO,CC,ENG",
    "applies_entities": "ALL",
    "applies_regions": "ALL",
    "applies_duty": "ALL",
    "applies_channel": "ALL",
    "expression": "{\"field\":\"property.transfer_minutes\",\"op\":\"<=\",\"param\":\"max_transfer_minutes\"}",
    "threshold": "45 minutes (60 at long-haul stations)",
    "approve_role": "none",
    "second_approver_above": null,
    "suspends_on_disruption": 0,
    "effective_from": "2026-01-01",
    "effective_to": null,
    "owner": "Flight Safety",
    "enabled": 1
  },
  "params": [
    {
      "param_id": "PRP-5",
      "rule_id": "R-TRANSFER",
      "scope_type": "global",
      "scope_value": "ALL",
      "param_name": "max_transfer_minutes",
      "param_value": "45",
      "unit": "minutes",
      "note": "ASL OM-A 7.6"
    },
    {
      "param_id": "PRP-7",
      "rule_id": "R-TRANSFER",
      "scope_type": "station",
      "scope_value": "DXB",
      "param_name": "max_transfer_minutes",
      "param_value": "60",
      "unit": "minutes",
      "note": "long-haul station, agreed exception"
    },
    {
      "param_id": "PRP-6",
      "rule_id": "R-TRANSFER",
      "scope_type": "station",
      "scope_value": "HKG",
      "param_name": "max_transfer_minutes",
      "param_value": "60",
      "unit": "minutes",
      "note": "long-haul station, agreed exception"
    },
    {
      "param_id": "PRP-8",
      "rule_id": "R-TRANSFER",
      "scope_type": "station",
      "scope_value": "JNB",
      "param_name": "max_transfer_minutes",
      "param_value": "60",
      "unit": "minutes",
      "note": "long-haul station, agreed exception"
    }
  ],
  "byPeriod": [
    {
      "period": "2026-03",
      "n": 15,
      "cost": 0,
      "refused": 15
    },
    {
      "period": "2026-04",
      "n": 12,
      "cost": 0,
      "refused": 12
    },
    {
      "period": "2026-05",
      "n": 11,
      "cost": 0,
      "refused": 11
    },
    {
      "period": "2026-06",
      "n": 5,
      "cost": 0,
      "refused": 5
    },
    {
      "period": "2026-07",
      "n": 7,
      "cost": 0,
      "refused": 7
    },
    {
      "period": "2026-08",
      "n": 8,
      "cost": 0,
      "refused": 8
    }
  ],
  "recent": [
    {
      "breach_id": "PB-D8221",
      "eval_id": "PE-12871",
      "period": "2026-08",
      "rule_id": "R-TRANSFER",
      "layer": "regulatory",
      "severity": "block",
      "observed": "51 minutes",
      "limit_value": "45 minutes",
      "cost_impact": 0,
      "resolved": "refused",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8852870"
    },
    {
      "breach_id": "PB-D8227",
      "eval_id": "PE-12948",
      "period": "2026-08",
      "rule_id": "R-TRANSFER",
      "layer": "regulatory",
      "severity": "block",
      "observed": "51 minutes",
      "limit_value": "45 minutes",
      "cost_impact": 0,
      "resolved": "refused",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8852947"
    },
    {
      "breach_id": "PB-D8252",
      "eval_id": "PE-13199",
      "period": "2026-08",
      "rule_id": "R-TRANSFER",
      "layer": "regulatory",
      "severity": "block",
      "observed": "51 minutes",
      "limit_value": "45 minutes",
      "cost_impact": 0,
      "resolved": "refused",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853198"
    },
    {
      "breach_id": "PB-D8253",
      "eval_id": "PE-13209",
      "period": "2026-08",
      "rule_id": "R-TRANSFER",
      "layer": "regulatory",
      "severity": "block",
      "observed": "51 minutes",
      "limit_value": "45 minutes",
      "cost_impact": 0,
      "resolved": "refused",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853208"
    },
    {
      "breach_id": "PB-D8259",
      "eval_id": "PE-13262",
      "period": "2026-08",
      "rule_id": "R-TRANSFER",
      "layer": "regulatory",
      "severity": "block",
      "observed": "51 minutes",
      "limit_value": "45 minutes",
      "cost_impact": 0,
      "resolved": "refused",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "automation",
      "booking_id": "RS-8853261"
    },
    {
      "breach_id": "PB-D8260",
      "eval_id": "PE-13278",
      "period": "2026-08",
      "rule_id": "R-TRANSFER",
      "layer": "regulatory",
      "severity": "block",
      "observed": "51 minutes",
      "limit_value": "45 minutes",
      "cost_impact": 0,
      "resolved": "refused",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "staff",
      "channel": "staff_portal",
      "booking_id": "RS-8853277"
    },
    {
      "breach_id": "PB-D8288",
      "eval_id": "PE-13606",
      "period": "2026-08",
      "rule_id": "R-TRANSFER",
      "layer": "regulatory",
      "severity": "block",
      "observed": "51 minutes",
      "limit_value": "45 minutes",
      "cost_impact": 0,
      "resolved": "refused",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "crew_app",
      "booking_id": "RS-8853605"
    },
    {
      "breach_id": "PB-D8301",
      "eval_id": "PE-13740",
      "period": "2026-08",
      "rule_id": "R-TRANSFER",
      "layer": "regulatory",
      "severity": "block",
      "observed": "51 minutes",
      "limit_value": "45 minutes",
      "cost_impact": 0,
      "resolved": "refused",
      "station": "DUB",
      "entity": "ASL Airlines Ireland",
      "traveller_type": "crew",
      "channel": "travel_desk",
      "booking_id": "RS-8853739"
    }
  ]
}