API docs
Website API contract
Only needed if your VA still has to build the flight-status API. The plugin itself is free; this is docs / a bridge sample.
Send the pilot smartCARS session as Bearer token. Same auth model as other community script calls.
Status updates apply to booked schedule/charter flights for the logged-in pilot (and your VA rules). Plugin 1.6+ also sends arrived + mid-flight ETA. Plugin 1.11+ shows departure/arrival gates (MSFS) with searchable parking lists.
Endpoints
GET /flights/status/bookings
GET /flights/status?kind=schedule|charter&id={id}
GET /flights/status/history?kind=...&id=...&limit=12
GET /flights/parkings?icao={ICAO|hub}&q={optional search}
GET /flights/parkings/airports
POST /flights/status
{
"kind": "schedule",
"id": 123,
"status": "on_time|updated|delayed|cancelled|arrived",
"etd": "14:30",
"eta": "16:05",
"depParking": "Gate D 45",
"arrParking": "Gate E 9"
}
Gates / parking (plugin 1.11+)
Bookings must return origin, destination, originIcao and destinationIcao (IATA hub or ICAO). Resolve 3-letter codes via your airport registry — do not default unknown codes to a single hub. POST /flights/status accepts depParking and arrParking (empty = auto hint).
GET /flights/status/bookings → flights[]:
{
"origin": "AMS",
"destination": "LHR",
"originIcao": "EHAM",
"destinationIcao": "EGLL",
"depParking": "Gate D 45",
"arrParking": "Gate E 9",
"depParkingHint": "Gate D 45",
"arrParkingHint": "Gate E 9"
}
Parking catalog
Recommended for gate search fields in the plugin. Catalog includes passenger gates, cargo/freight, GA/FBO/private ramps — no helipads. ~90+ network airports + regional profiles for any ICAO.
GET /flights/parkings?icao=EGLL
→ { "icao": "EGLL", "known": true, "count": 100, "parkings": ["Gate A 1", "Gate B 1", "..."] }
GET /flights/parkings/airports
→ { "stats": { "airports": 95, "explicit": 80, "network": 90 }, "airports": [...] }
PHP bridge sample
Drop-in example you can adapt on your VA website if you do not have BlueNova’s full stack.
Quick test
Book a flight → open VA Flight Ops in smartCARS → Refresh → change ETD/status → Save. Uses your community script URL once the API exists.