{
  "p": {
    "provider_id": "TP-100",
    "name": "Dublin Executive Cars",
    "station": "DUB",
    "country": "IE",
    "contract_id": "TC-100",
    "contract_start": "2026-01-01",
    "contract_end": "2026-11-30",
    "status": "expiring",
    "rate_model": "per_transfer",
    "base_rate": 148.26,
    "currency": "EUR",
    "vehicle_types": "Minibus 8, Coach 16, Sedan 3",
    "capacity_max": 16,
    "meet_and_greet": 0,
    "flight_tracking": 0,
    "sla_minutes": 18,
    "contact_name": "Chloe Laurent",
    "contact_email": "ops@dublintransfers.com",
    "contact_phone": "+36 4119740",
    "notes": "No flight tracking — crew have waited on delayed inbounds."
  },
  "contract": {
    "contract_id": "TC-100",
    "provider_id": "TP-100",
    "station": "DUB",
    "entity_scope": "ALL",
    "start_date": "2026-01-01",
    "end_date": "2026-11-30",
    "currency": "EUR",
    "sla_minutes": 18,
    "waiting_time_included_minutes": 45,
    "waiting_time_rate": 55.16,
    "night_surcharge_pct": 10,
    "airport_access_fee": 0,
    "cancellation_hours": 2,
    "no_show_charge_pct": 50,
    "payment_terms": "Net 14, invoice",
    "payment_terms_days": 45,
    "flight_tracking_required": 0,
    "meet_and_greet_included": 0,
    "sla_penalty_pct": 0,
    "auto_renew": 0,
    "renewal_notice_days": 30,
    "signed_on": "2025-11-26",
    "signed_by": "P. Costa",
    "status": "expiring"
  },
  "contacts": [
    {
      "contact_id": "TCT-1",
      "provider_id": "TP-100",
      "role": "account_manager",
      "name": "Niall Faber",
      "email": "account@dublinexecutivec.example",
      "phone": "+34 45 8570461",
      "hours": "Mon–Fri 09:00–17:00",
      "primary_contact": 1
    },
    {
      "contact_id": "TCT-4",
      "provider_id": "TP-100",
      "role": "billing",
      "name": "Karl Silva",
      "email": "billing@dublinexecutivec.example",
      "phone": "+40 71 1351563",
      "hours": "Mon–Fri 09:00–17:00",
      "primary_contact": 0
    },
    {
      "contact_id": "TCT-2",
      "provider_id": "TP-100",
      "role": "dispatch",
      "name": "Ines Hendricks",
      "email": "dispatch@dublinexecutivec.example",
      "phone": "+35 53 6448010",
      "hours": "24/7",
      "primary_contact": 0
    },
    {
      "contact_id": "TCT-3",
      "provider_id": "TP-100",
      "role": "night_desk",
      "name": "Karl Dolan",
      "email": "night@dublinexecutivec.example",
      "phone": "+34 60 9183369",
      "hours": "22:00–06:00",
      "primary_contact": 0
    },
    {
      "contact_id": "TCT-5",
      "provider_id": "TP-100",
      "role": "operations",
      "name": "Tomas Dolan",
      "email": "operations@dublinexecutivec.example",
      "phone": "+37 14 7507545",
      "hours": "Mon–Sun 06:00–22:00",
      "primary_contact": 0
    }
  ],
  "tariffs": [
    {
      "tariff_id": "TT-1",
      "contract_id": "TC-100",
      "provider_id": "TP-100",
      "vehicle_class": "sedan",
      "seats_max": 3,
      "rate_basis": "per_transfer",
      "rate": 105.78,
      "currency": "EUR",
      "applies_from": "06:00",
      "applies_to": "22:00",
      "min_charge": 84.62,
      "note": null
    },
    {
      "tariff_id": "TT-2",
      "contract_id": "TC-100",
      "provider_id": "TP-100",
      "vehicle_class": "sedan",
      "seats_max": 3,
      "rate_basis": "per_transfer",
      "rate": 128.78,
      "currency": "EUR",
      "applies_from": "22:00",
      "applies_to": "06:00",
      "min_charge": 95.2,
      "note": "Night tariff. Most crew transfers fall in this window."
    },
    {
      "tariff_id": "TT-3",
      "contract_id": "TC-100",
      "provider_id": "TP-100",
      "vehicle_class": "mpv",
      "seats_max": 6,
      "rate_basis": "per_transfer",
      "rate": 147.84,
      "currency": "EUR",
      "applies_from": "06:00",
      "applies_to": "22:00",
      "min_charge": 118.27,
      "note": null
    },
    {
      "tariff_id": "TT-4",
      "contract_id": "TC-100",
      "provider_id": "TP-100",
      "vehicle_class": "mpv",
      "seats_max": 6,
      "rate_basis": "per_transfer",
      "rate": 173.69,
      "currency": "EUR",
      "applies_from": "22:00",
      "applies_to": "06:00",
      "min_charge": 133.06,
      "note": "Night tariff. Most crew transfers fall in this window."
    },
    {
      "tariff_id": "TT-5",
      "contract_id": "TC-100",
      "provider_id": "TP-100",
      "vehicle_class": "minibus",
      "seats_max": 12,
      "rate_basis": "per_transfer",
      "rate": 225.62,
      "currency": "EUR",
      "applies_from": "06:00",
      "applies_to": "22:00",
      "min_charge": 180.5,
      "note": null
    },
    {
      "tariff_id": "TT-6",
      "contract_id": "TC-100",
      "provider_id": "TP-100",
      "vehicle_class": "minibus",
      "seats_max": 12,
      "rate_basis": "per_transfer",
      "rate": 277.95,
      "currency": "EUR",
      "applies_from": "22:00",
      "applies_to": "06:00",
      "min_charge": 203.06,
      "note": "Night tariff. Most crew transfers fall in this window."
    }
  ],
  "fleet": [
    {
      "fleet_id": "TF-1",
      "provider_id": "TP-100",
      "vehicle_class": "sedan",
      "seats": 3,
      "count_total": 7,
      "count_dedicated": 0,
      "wheelchair_accessible": 0,
      "luggage_capacity": "2 cases",
      "avg_age_years": 6.58,
      "note": null
    },
    {
      "fleet_id": "TF-2",
      "provider_id": "TP-100",
      "vehicle_class": "mpv",
      "seats": 6,
      "count_total": 10,
      "count_dedicated": 4,
      "wheelchair_accessible": 0,
      "luggage_capacity": "6 cases",
      "avg_age_years": 3.66,
      "note": null
    },
    {
      "fleet_id": "TF-3",
      "provider_id": "TP-100",
      "vehicle_class": "minibus",
      "seats": 12,
      "count_total": 10,
      "count_dedicated": 3,
      "wheelchair_accessible": 0,
      "luggage_capacity": "14 cases",
      "avg_age_years": 7.08,
      "note": null
    },
    {
      "fleet_id": "TF-4",
      "provider_id": "TP-100",
      "vehicle_class": "coach",
      "seats": 30,
      "count_total": 3,
      "count_dedicated": 0,
      "wheelchair_accessible": 1,
      "luggage_capacity": "34 cases",
      "avg_age_years": 6.43,
      "note": null
    }
  ],
  "audits": [
    {
      "audit_id": "TAU-1",
      "provider_id": "TP-100",
      "audited_on": "2026-01-02",
      "auditor": "SGS (contracted)",
      "operator_licence_ref": "IE-PSV-54054",
      "licence_expiry": "2026-11-02",
      "insurance_ref": "INS-468572",
      "insurance_expiry": "2026-05-18",
      "insured_value": 13000000,
      "driver_vetting_ok": 1,
      "drug_alcohol_policy_ok": 1,
      "vehicle_inspection_ok": 1,
      "gps_tracking_ok": 0,
      "score": 4.66,
      "outcome": "pass",
      "actions": null,
      "reinspect_due": "2027-01-02"
    }
  ],
  "use": {
    "legs": 390,
    "cost": 61966.24,
    "cost_per_leg": 158.88779487179485,
    "seats": 1160,
    "late_pct": 26.923076923076923,
    "delay_total": 3989,
    "rest_impact": 1923,
    "failures": 9,
    "pooled": 44
  },
  "byPeriod": [
    {
      "period": "2026-03",
      "legs": 360,
      "cost": 56904.08,
      "late_pct": 26.944444444444443
    },
    {
      "period": "2026-04",
      "legs": 332,
      "cost": 52889.49,
      "late_pct": 26.80722891566265
    },
    {
      "period": "2026-05",
      "legs": 432,
      "cost": 67731.16,
      "late_pct": 27.314814814814813
    },
    {
      "period": "2026-06",
      "legs": 336,
      "cost": 53345.94,
      "late_pct": 29.166666666666668
    },
    {
      "period": "2026-07",
      "legs": 342,
      "cost": 54421.99,
      "late_pct": 27.485380116959064
    },
    {
      "period": "2026-08",
      "legs": 390,
      "cost": 61966.24,
      "late_pct": 26.923076923076923
    }
  ]
}