Skip to content
BlueNova Virtual Airlines Plugins Partner Portal smartCARS · VA Flight Ops

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.

Auth

Send the pilot smartCARS session as Bearer token. Same auth model as other community script calls.

Scope

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.

Bearer = smartCARS session token from the pilot login.

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" }

Statuses: on_time (green), updated (amber), delayed (red), cancelled (red), arrived (ATA; bollotje follows departure colour). eta is useful/required for updated/delayed/arrived (new ETA or ATA).

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": [...] }

GET /flights/parkings/airports returns all catalog airports + stats (explicit vs generated). Unknown ICAOs receive a regional MSFS profile (Europe = Gate A/B/C/D, US = terminals, etc.).

BlueNova reference: api/smartcars.php + includes/va-flight-status.php.

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.

/main>