- Publish Flight Information - ACRIS API
- Publish Flight Information - AIDX API
- Publish Flight Information - SITA API
- SITA Flight Connection API
- SITA Flight Duration API
- SITA Flight Follower API
- SITA Flight Schedule API
- SITA Flight Status API
- SITA Flight Status Notification API
- Overview
- 1 Revision History
- 2 Flight Status Notification API
- 3 Appendix A Status Codes
- 4 Appendix B Flight Status Notification Request Examples
- 5 Appendix C Flight Status Notification Response Examples
- 6 Appendix D Flight Status Notification Response Schema
- 7 Appendix E Diverted Flights
- 8 Appendix F Flight Status Notification Fields
- 9 Appendix G - Flight Service Type Codes
- Contact Us
- SITA Historical Flight Status API
- SITA On Time Performance API
Overview
The Flight Information Notification service can provide users with real-time flight update information which is pushed over https directly to end users. Using the Flight Info v2 spec users can subscribe for a flight with an operation date between 2 days prior and 14 days in advance of current UTC scheduled departure date.
This API service complements Flight Status API which allows users to poll our service for updates rather than subscribe.
A subscription can be at the individual flight level or at the airline\airport levels. Real-time flight status updates help keep you and your customers informed on any delays or disruptions allowing you to plan accordingly.
This API answers below questions with latest updates:
- What is the status of a specific flight?
- At what time will the boarding start for a flight?
- What are the gate and terminal number of a specific flight?
- What is the baggage claim number to collect baggage from a specific flight?
With the Flight Status Notification Service you will receive instant flight status updates as they happen.
SITA Flight Status Notification API Service
1 Revision History
Date | Document Version | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 Flight Status Notification API
2.1 Introduction
The SITA Flight Status Notification API is a REST based subscription service which provides pushed updates for flights around the world.
A user may
- Create flight update subscriptions in order to have real time flight updates issued to an endpoint of their choice
- Delete subscriptions which they have previously created
Flight Update notifications may be requested by issuing a POST with the relevant body payload to https://{env.url}/flifo/flightinfo/v2/notifications
For example:
https://flifo.api.aero/flifo/flightinfo/v2/notifications
https://flifo-qa.api.aero/flifo/flightinfo/v2/notifications
A user may subscribe for flight update notifications using any combination of airport, airline, flight number, arrival or departure and operation date.
Subscriptions may be made for flights with an operation date between 2 days prior and 14 days in advance of current UTC date.
If ‘operationDate’ is not provided the system will default to the current UTC date.
Example scenarios
Scenario 1
User issues the below POST body. 'operationDate' is provided so the system will create a subscription for AA1 departing JFK on 2022-05-10 (local JFK date)
{
"operationDate":"2022-05-10",
"airlineCode":"AA",
"flightNumber":"1",
"airportCode":"JFK",
"arrivalDeparture":"D",
"notifyEndpoint":"https://dummy.endpoint/updates",
"view":"local",
"sendCurrentStatus":true
}
Scenario 2
User issues the below POST body on 2022-05-17 UTC. 'operationDate' is NOT provided so the system will use the 2022-05-17 UTC date as the operation date of the flight in the subscription.
The end result is that a subscription will have been created for this user for AA1 departing JFK on 2022-05-17 (local JFK date)
{
"airlineCode":"AA",
"flightNumber":"1",
"airportCode":"JFK",
"arrivalDeparture":"D",
"notifyEndpoint":"https://dummy.endpoint/updates",
"view":"local",
"sendCurrentStatus":true
}
The user may also toggle the value of the ‘view’ parameter depending on their use case. Please see the notes section for further details of the ‘view’ parameter.
The ‘sendCurrentStatus’ parameter can be set to true if a user wishes to be issued the current flight details at the time of subscription for any flights which match their subscription criteria.
Each update pushed to the subscribers notifyEndpoint will contain exactly one status change.
The changed status is reflected in the updateField element. Additionally, both the previous (if available) and current (new) data is reflected.
The following table enumerates the list of possible changed status fields.
Update types produced are dependent on the permissions associated with the apikey used in the initial flight notification subscription request.
Please see 'Appendix F - Flight Status Notification Fields' for details of fields for which notification update messages may be issued.
2.1.1 Registration and API Sign Up
To access the APIs you will need a registration key, also known as an API key. These can be obtained by creating an account on https://www.developer.aero/ and registering your interest for access to the API.
2.1.2 Authentication
To access the APIs an OAuth access token must be supplied. To obtain an OAuth token a request must be sent to the https://sitaopen.api.aero/flifo/flightinfo/oauth/token
endpoint using the OAuth2 Client Credential flow, using your API key as the client_id
, and your consumer secret as the client_secret
.
Once an access token has been obtained, it can be placed in the Authorization
HTTP header as a bearer token, for example:
Authorization: Bearer eyJ92dNw9dka...
2.1.3 Security
- All incoming requests will be REST over HTTPS.
- Users are authenticated using their API key.
- Certain response payload elements will be filtered based on permissions associated with the x-apikey value used.
- The API key used in the initial Flight Status Notification REST call will be included as the response header 'X-apikey' in the pushed update message returned to the end user.
2.1.4 Error Response
Response fields
Path | Type | Description |
---|---|---|
|
| Object that holds the error information |
|
| Array of errors |
|
| API Internal Error Code |
|
| Error Description |
|
| Indicates the invalid query parameter |
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 159
{
"errors":{
"error":[
{
"description":"Error Description",
"code":9999,
"invalidParam":"parameterName"
}
]
}
}
2.1.5 Rate Limiting
All incoming requests are subject to a rate limiting restriction. The following headers are included in HTTP responses:
Header | Description |
---|---|
| The total number of requests allowed in the current time window |
| The number of requests left for the current time window |
| The policy describing how many request per time window are allowed |
| The number of seconds remaining in the current time window. Header not displayed after rate limit has been exceeded |
| The epoch timestamp at which the current rate limit window resets. Header only displayed after rate limit has been exceeded |
2.2 Resources
This section describes the Flight Status Notification API service.
Detailed API structure, example requests and responses, JSON schema for request (where appropriate) and responses, and error response codes and formats are included.
2.2.1 FlightInfo Notifications V2
2.2.1.1 POST Subscribe to Flight Updates
This resource enables users to subscribe to flight update notifications for any combination of airport, airline, flight number, arrival or departure and operation date.
operationDate
In this scenario the operationDate is considered to be the local date on which the flight departed/arrived.
sendCurrentStatus
A user can set the sendCurrentStatus value to 'true' in order to request that they are issued with flight update message(s) at the time they issue the subscription request.
The messages issued will be for the current flight status of any flights which match the users subscription criteria.
groupMarketingCarriers
If sendCurrentStatus is true and groupMarketingCarriers is set, marketing and operating carriers will be grouped into a single record.
showCargo
Set 'showCargo' to true if you wish to have cargo flights included in your notifications. Default is false.
batch
If batch is true, individual notifications will grouped together and sent as one array of updates.
POST /flifo/flightinfo/v2/notifications
Request headers
Name | Optional | Description |
---|---|---|
Content-Type | false | Content type of this request. Required value is 'application/json' |
Authorization | false | Authorization header that contains the access token. |
Request fields
Path | Type | Description |
---|---|---|
|
| 2-character airline IATA code. |
|
| 3-character airport IATA code. |
|
| 1-character direction indicator (A/D). |
|
| Batches notifications into fewer requests containing an array of notifications. Notifications are grouped based on the notifyEndpoint and API Key. Default is false. |
|
| Flight number. |
|
| Group marketing and operating carrier flights into a single record. Should be used in conjunction with the sendCurrentStatus param. Default is false.. |
|
| Notification endpoint to send the Notification to. |
|
| Local date of operation (yyyy-MM-dd) defaults to current UTC date. |
|
| Specify if a user wishes to have a copy of the current flight record(s) issued to them upon subscription. |
|
| Specify if you wish to have cargo flights included in your notifications. Default is false. |
|
| View 'full' or 'local' leg, based on direction. Default value is local. See notes for further details.. |
Response fields
Path | Type | Description |
---|---|---|
|
| 1-character direction indicator (A/D) |
|
| IATA/ICAO code for the airline in the subscription request |
|
| IATA/ICAO code for the airport in the subscription request |
|
| Batches notifications into fewer requests containing an array of notifications. |
|
| Local operation date of the flight |
|
| Flight number used in the subscription request |
|
| Group marketing and operating carrier flights into a single record. Should be used in conjunction with the sendCurrentStatus param. Default is false. |
|
| Specify if a user wishes to have a copy of the current flight record(s) issued to them upon subscription |
|
| Specify if you wish to have cargo flights included in your notifications. Default is false |
|
| Indicates whether or not the subscription request was successful |
Curl request
$ curl 'https://flifo.api.aero/flifo/flightinfo/v2/notifications' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...' \
-d '{
"airportCode":"AMS",
"airlineCode":"KL",
"flightNumber":"1352",
"notifyEndpoint":"http://endpoint.com",
"view":"full",
"sendCurrentStatus":false,
"showCargo":false,
"groupMarketingCarriers":false
}'
Request body
{
"airportCode":"AMS",
"airlineCode":"KL",
"flightNumber":"1352",
"notifyEndpoint":"http://endpoint.com",
"view":"full",
"sendCurrentStatus":false,
"showCargo":false,
"groupMarketingCarriers":false
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 208
{
"subscribedForUpdates":true,
"airportCode":"AMS",
"airlineCode":"KL",
"flightNumber":"1352",
"sendCurrentStatus":false,
"showCargo":true,
"groupMarketingCarriers":false
}
When a flight update is received for a flight for which a user subscription exists, a flight update notification message will be issued to the user.
Please see 'Appendix C - Flight Status Notification Response Examples' for update message examples and 'Appendix D - Flight Status Notification Response Schema' for the full notification message schema.
2.2.1.2 DELETE Unsubscribe from Flight Updates
This resource provides the user with the ability to remove a flight update subscription from the system.
This will result in the user receiving no further flight updates for the relevant airport/airline/flightNumber/operationDate combination.
operationDate
In this scenario the operationDate is considered to be the local date on which the flight departed/arrived.
The body of the DELETE request made must match exactly with the corresponding POST message body which was used to create the subscription
DELETE /flifo/flightinfo/v2/notifications
Request headers
Name | Optional | Description |
---|---|---|
Content-Type | false | Content type of this request. Required value is 'application/json' |
Authorization | false | Authorization header that contains the access token. |
Request fields
Path | Type | Description |
---|---|---|
|
| 2-character airline IATA code. |
|
| 3-character airport IATA code. |
|
| 1-character direction indicator (A/D). |
|
| Batches notifications into fewer requests containing an array of notifications. Notifications are grouped based on the notifyEndpoint and API Key. Default is false. |
|
| Flight number. |
|
| Group marketing and operating carrier flights into a single record. Should be used in conjunction with the sendCurrentStatus param. Default is false.. |
|
| Notification endpoint to send the Notification to. |
|
| Local date of operation (yyyy-MM-dd) defaults to current UTC date. |
|
| Specify if a user wishes to have a copy of the current flight record(s) issued to them upon subscription. |
|
| Specify if you wish to have cargo flights included in your notifications. Default is false. |
|
| View 'full' or 'local' leg, based on direction. Default value is local. See notes for further details.. |
Response fields
Path | Type | Description |
---|---|---|
|
| 1-character direction indicator (A/D) |
|
| IATA/ICAO code for the airline in the subscription request |
|
| IATA/ICAO code for the airport in the subscription request |
|
| Batches notifications into fewer requests containing an array of notifications. |
|
| Local operation date of the flight |
|
| Flight number used in the subscription request |
|
| Group marketing and operating carrier flights into a single record. Should be used in conjunction with the sendCurrentStatus param. Default is false. |
|
| Specify if a user wishes to have a copy of the current flight record(s) issued to them upon subscription |
|
| Specify if you wish to have cargo flights included in your notifications. Default is false |
|
| Indicates whether or not the subscription request was successful |
Curl request
$ curl 'https://flifo.api.aero/flifo/flightinfo/v2/notifications' -i -X DELETE \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...' \
-d '{
"airportCode":"AMS",
"airlineCode":"KL",
"flightNumber":"1352",
"notifyEndpoint":"http://endpoint.com",
"view":"full",
"sendCurrentStatus":false,
"showCargo":false,
"groupMarketingCarriers":false
}'
Request body
{
"airportCode":"AMS",
"airlineCode":"KL",
"flightNumber":"1352",
"notifyEndpoint":"http://endpoint.com",
"view":"full",
"sendCurrentStatus":false,
"showCargo":false,
"groupMarketingCarriers":false
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 241
{
"subscribedForUpdates":false,
"airportCode":"AMS",
"airlineCode":"KL",
"flightNumber":"1352",
"flightDate":"2020-01-22",
"sendCurrentStatus":false,
"showCargo":true,
"groupMarketingCarriers":false
}
2.3 Notes
2.3.1 'view' parameter
'view' parameter
The 'view' query parameter can have the value 'local' or 'full' (default value is 'local').
The purpose of this parameter is to enable the user to decide if they wish to see just the 'local' view of the flight (e.g only the
departure details if 'direction' parameter provided was 'D') or the 'full' view which will return both departure and arrival details for the flight(s) if 'direction' parameter provided was 'D'.
See 'Appendix C - Flight Status Notification Response Examples' for sample 'local' and 'full' response payloads
3 Appendix A Status Codes
Code | Description | Status Description | Departure Status | Arrival Status | Can Be Both? |
---|---|---|---|---|---|
AD | Arrived-Diverted | Flight has arrived at gate at diversion airport |
|
| ✔ |
AP | Approach | Flight is approaching destination airport |
| ✔ |
|
AR | Arrived | Flight has arrived at destination airport |
|
| ✔ |
AT | See Agent | Indicator of a see flight agent |
|
| ✔ |
BC | Boarding Complete | Boarding process has completed | ✔ |
|
|
BD | Boarding | Flight is open for boarding | ✔ |
|
|
BO | Boarded | Boarding process has completed | ✔ |
|
|
CD | Baggage Delay | Indicator of possible baggage delay |
| ✔ |
|
CO | Closed | Gate has closed | ✔ |
|
|
CL | Closed | Gate has closed | ✔ |
|
|
CX | Cancelled | Flight has been cancelled |
|
| ✔ |
DE | Deleted | Flight has been deleted |
|
| ✔ |
DL | Delayed | Flight has been delayed |
|
| ✔ |
DP | Departed | Flight has departed gate/pushed back |
|
| ✔ |
DV | Diverted | Flight has been diverted to another location |
|
| ✔ |
EN | Enroute | Flight is enroute |
| ✔ |
|
EX | Expected | Flight expected time of departure/arrival |
|
| ✔ |
FB | First Bag Unloaded | First bag has been unloaded |
| ✔ |
|
FC | Final Call | Final call to gate | ✔ |
|
|
GC | Gate Closed | Gate has closed | ✔ |
|
|
GG | Go To Gate | Passengers call to gate | ✔ |
|
|
GT | Gate Time (Gate Time HH:MM can be found in gateInfo field) | Gate information will be available at specified time |
|
| ✔ |
IA | In Air | Flight is in-air/taken off |
|
| ✔ |
ID | In Air-Diverted | Flight has been diverted to another location while in-air |
|
| ✔ |
IR | In Range | Flight is within the operational range of the airport’s navigation and communication systems |
|
| ✔ |
LB | Last Bag Unloaded | Last bag has been unloaded |
| ✔ |
|
LD | Landed-Diverted | Flight has landed at diversion airport |
|
| ✔ |
LN | Landed | Flight has landed at destination airport |
|
| ✔ |
LR | Landed-Recovered | Flight from diversion airport has landed at original destination airport |
|
| ✔ |
OG | Landed (On Ground) | Flight has landed at destination airport |
|
| ✔ |
ON | On Time | Flight is on-time |
|
| ✔ |
TX | Taxiing | Aircraft is taxiing |
|
| ✔ |
PD | Possible Delay | Indicator of a possible flight delay |
|
| ✔ |
RA | Arrived-Recovered | Flight from diversion airport has arrived at gate at original destination airport |
|
| ✔ |
RE | In Air-Recovered | Flight from diversion airport to original destination airport has taken off |
|
| ✔ |
RG | Return To Gate | Flight has attempted to take-off but has turned back-around to the gate | ✔ |
|
|
SC | Scheduled | Flight scheduled time of departure/arrival |
|
| ✔ |
UN | Unknown | Flight status is unknown or unavailable |
|
| ✔ |
VN | TEST | Test flight in system |
|
| ✔ |
WX | Weather | Indicated weather may have an impact of the flight operation |
|
| ✔ |
4 Appendix B Flight Status Notification Request Examples
Example Flight Status Notification request payloads
Request updates for KL1417 arriving AMS on 2020-01-01
{
"airportCode":"AMS",
"airlineCode":"KL",
"flightNumber":"1417",
"arrivalDeparture":"A",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local"
}
Request updates for all KL flights arriving AMS on 2020-01-01
{
"airportCode":"AMS",
"airlineCode":"KL",
"arrivalDeparture":"A",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local"
}
Request updates for all KL flights (except cargo) either departing/arriving AMS on 2020-01-01
{
"airportCode":"AMS",
"airlineCode":"KL",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local"
}
Request updates for all AMS flights (except cargo) either departing/arriving on 2020-01-01
{
"airportCode":"AMS",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local"
}
Request updates for all AMS flights (except cargo) either departing/arriving on 2020-01-01 using 'batch' mode
{
"airportCode":"AMS",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"batch":true
}
Request updates for all AMS flights (including cargo) either departing/arriving on 2020-01-01
{
"airportCode":"AMS",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"showCargo":true
}
Request updates for all KL flights (except cargo) worldwide arriving on 2020-01-01
{
"airlineCode":"KL",
"arrivalDeparture":"A",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local"
}
Request updates for all KL flights (except cargo) worldwide either departing/arriving on 2020-01-01
{
"airlineCode":"KL",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local"
}
Request updates for KL1417 arriving AMS on 2020-01-01 and request the current flight details at the time of subscription be issued to the ‘notifyEndpoint’
{
"airportCode":"AMS",
"airlineCode":"KL",
"flightNumber":"1417",
"arrivalDeparture":"A",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":true
}
Request updates for all KL flight arriving AMS on 2020-01-01 and request the current flight details at the time of subscription be issued to the ‘notifyEndpoint’
{
"airportCode":"AMS",
"airlineCode":"KL",
"arrivalDeparture":"A",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":true
}
Request updates for all KL flights (except cargo) either departing/arriving AMS on 2020-01-01 and request the current flight details at the time of subscription be issued to the ‘notifyEndpoint’
{
"airportCode":"AMS",
"airlineCode":"KL",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":true
}
Request updates for all AMS flights (except cargo) either departing/arriving on 2020-01-01 and request the current flight details at the time of subscription be issued to the ‘notifyEndpoint’
{
"airportCode":"AMS",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":true
}
Request updates for all AMS flights (except cargo) either departing/arriving on 2020-01-01 and request the current flight details at the time of subscription be issued to the ‘notifyEndpoint’, grouping marketing and operating carriers into a single record.
{
"airportCode":"AMS",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":true,
"groupMarketingCarriers":true
}
Request updates for all KL flights (except cargo) worldwide arriving on 2020-01-01 and request the current flight details at the time of subscription be issued to the ‘notifyEndpoint’
{
"airlineCode":"KL",
"arrivalDeparture":"A",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":true
}
Request updates for all KL flights (except cargo) worldwide either departing/arriving on 2020-01-01 and request the current flight details at the time of subscription be issued to the ‘notifyEndpoint’
{
"airlineCode":"KL",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":true
}
Request updates for all KL flights (except cargo) worldwide either departing/arriving on 2020-01-01 and request the current flight details at the time of subscription be issued to the ‘notifyEndpoint’ using 'batch' mode
{
"airlineCode":"KL",
"operationDate":"2020-01-01",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":true,
"batch":true
}
5 Appendix C Flight Status Notification Response Examples
5.1 ‘Local’ view Format
User has subscribed as below for all LHR departures (except cargo) on 2021-07-28 with ‘view=local’:
{
"airportCode":"LHR",
"arrivalDeparture":"D",
"operationDate":"2021-07-28",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":false
}
User has subscribed as below for all LHR departures (including cargo) on 2021-07-28 with ‘view=local’:
{
"airportCode":"LHR",
"arrivalDeparture":"D",
"operationDate":"2021-07-28",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":false,
"showCargo":true
}
An example STATUS update payload follows:
[
{
"airportCode":"LHR",
"adi":"D",
"updateField":"STATUS",
"previous":"DP",
"current":"IA",
"timestamp":"2021-07-28T09:03:00.000Z",
"flightRecord":[
{
"flightIdentifier":{
"operatingCarrier":{
"iataCode":"UA",
"flightNumber":"928",
"name":"United Airlines"
},
"marketingCarriers":[
{
"iataCode":"AC",
"flightNumber":"5357",
"name":"Air Canada"
},
{
"iataCode":"LX",
"flightNumber":"3044",
"name":"Swiss International Air Lines"
},
{
"iataCode":"SN",
"flightNumber":"9089",
"name":"Brussels Airlines"
},
{
"iataCode":"LH",
"flightNumber":"9354",
"name":"Lufthansa"
},
{
"iataCode":"OS",
"flightNumber":"7851",
"name":"Austrian Airlines"
}
],
"aircraft":{
"iataCode":"787",
"registration":"N26966"
}
},
"departure":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T10:00:00+01:00",
"estimated":"2021-07-28T10:13:00+01:00",
"actual":"2021-07-28T10:04:00+01:00",
"status":"IA",
"statusText":"In Air",
"terminal":"2",
"gate":"B31"
},
"serviceType":"J",
"duration":"510",
"status":"IA",
"statusText":"In Air"
}
]
}
]
An example DIVERSION update payload follows:
[
{
"airportCode":"LHR",
"adi":"D",
"updateField":"DIVERSION",
"previous":"{\"recovery\":{\"airport\":{\"iataCode\":\"DUB\",\"icaoCode\":\"EIDW\",\"cityText\":\"Dublin\"}}}",
"current":"{\"recovery\":{\"iataCode\":\"UA\",\"icaoCode\":\"UAL\",\"flightNumber\":\"928\",\"name\":\"United Airlines\",\"airport\":{\"iataCode\":\"DUB\",\"icaoCode\":\"EIDW\",\"cityText\":\"Dublin\"},\"scheduled\":\"2021-07-28T10:00:00+01:00\"}}",
"timestamp":"2021-07-28T09:03:00.000Z",
"flightRecord":[
{
"flightIdentifier":{
"operatingCarrier":{
"iataCode":"UA",
"flightNumber":"928",
"name":"United Airlines"
},
"marketingCarriers":[
{
"iataCode":"AC",
"flightNumber":"5357",
"name":"Air Canada"
},
{
"iataCode":"LX",
"flightNumber":"3044",
"name":"Swiss International Air Lines"
},
{
"iataCode":"SN",
"flightNumber":"9089",
"name":"Brussels Airlines"
},
{
"iataCode":"LH",
"flightNumber":"9354",
"name":"Lufthansa"
},
{
"iataCode":"OS",
"flightNumber":"7851",
"name":"Austrian Airlines"
}
],
"aircraft":{
"iataCode":"787",
"registration":"N26966"
}
},
"departure":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T10:00:00+01:00",
"estimated":"2021-07-28T10:13:00+01:00",
"actual":"2021-07-28T10:04:00+01:00",
"status":"DV",
"statusText":"Diverted",
"terminal":"2",
"gate":"B31",
"diversion":{
"recovery":{
"airport":{
"iataCode":"DUB",
"icaoCode":"EIDW",
"cityText":"Dublin"
},
"flightNumber":"928",
"iataCode":"UA",
"icaoCode":"UAL",
"name":"United Airlines",
"scheduled":"2021-07-28T10:00:00+01:00"
}
}
},
"serviceType":"J",
"duration":"510",
"status":"DV",
"statusText":"Diverted"
}
]
}
]
User has subscribed as below for all LHR departures (excluding cargo) on 2021-07-28 with ‘view=local’ and 'batch' mode selected:
{
"airportCode":"LHR",
"arrivalDeparture":"D",
"operationDate":"2021-07-28",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"local",
"sendCurrentStatus":false,
"showCargo":false,
"batch":true
}
An example batch response follows containing two updates for this flight:
[
{
"airportCode":"LHR",
"adi":"D",
"updateField":"STATUS",
"previous":"DP",
"current":"IA",
"timestamp":"2021-07-28T09:03:00.000Z",
"flightRecord":[
{
"flightIdentifier":{
"operatingCarrier":{
"iataCode":"UA",
"flightNumber":"928",
"name":"United Airlines"
},
"marketingCarriers":[
{
"iataCode":"AC",
"flightNumber":"5357",
"name":"Air Canada"
},
{
"iataCode":"LX",
"flightNumber":"3044",
"name":"Swiss International Air Lines"
},
{
"iataCode":"SN",
"flightNumber":"9089",
"name":"Brussels Airlines"
},
{
"iataCode":"LH",
"flightNumber":"9354",
"name":"Lufthansa"
},
{
"iataCode":"OS",
"flightNumber":"7851",
"name":"Austrian Airlines"
}
],
"aircraft":{
"iataCode":"787",
"registration":"N26966"
}
},
"departure":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T10:00:00+01:00",
"estimated":"2021-07-28T10:13:00+01:00",
"actual":"2021-07-28T10:04:00+01:00",
"status":"IA",
"statusText":"In Air",
"terminal":"2",
"gate":"B31"
},
"serviceType":"J",
"duration":"510",
"status":"IA",
"statusText":"In Air"
}
]
},
{
"airportCode":"LHR",
"adi":"D",
"updateField":"ACTUAL",
"current":"2021-07-28T10:04:00+01:00",
"timestamp":"2021-07-28T09:03:05.000Z",
"flightRecord":[
{
"flightIdentifier":{
"operatingCarrier":{
"iataCode":"UA",
"flightNumber":"928",
"name":"United Airlines"
},
"marketingCarriers":[
{
"iataCode":"AC",
"flightNumber":"5357",
"name":"Air Canada"
},
{
"iataCode":"LX",
"flightNumber":"3044",
"name":"Swiss International Air Lines"
},
{
"iataCode":"SN",
"flightNumber":"9089",
"name":"Brussels Airlines"
},
{
"iataCode":"LH",
"flightNumber":"9354",
"name":"Lufthansa"
},
{
"iataCode":"OS",
"flightNumber":"7851",
"name":"Austrian Airlines"
}
],
"aircraft":{
"iataCode":"787",
"registration":"N26966"
}
},
"departure":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T10:00:00+01:00",
"estimated":"2021-07-28T10:13:00+01:00",
"actual":"2021-07-28T10:04:00+01:00",
"status":"IA",
"statusText":"In Air",
"terminal":"2",
"gate":"B31"
},
"serviceType":"J",
"duration":"510",
"status":"IA",
"statusText":"In Air"
}
]
}
]
Note: As the user has requested ‘view=local’ only the departure details of this flight are returned. Fields not available will be omitted from the payload (no nulls or 0 length strings).
5.2 ‘Full’ view Format
User has subscribed as below for all LHR departures (except cargo) on 2021-07-28 with ‘view=full’:
{
"airportCode":"LHR",
"arrivalDeparture":"D",
"operationDate":"2021-07-28",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"full"
}
User has subscribed as below for all LHR departures (including cargo) on 2021-07-28 with ‘view=full’:
{
"airportCode":"LHR",
"arrivalDeparture":"D",
"operationDate":"2021-07-28",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"full",
"showCargo":true
}
An example STATUS update payload follows:
[
{
"airportCode":"LHR",
"adi":"D",
"updateField":"STATUS",
"previous":"DP",
"current":"IA",
"timestamp":"2021-07-28T09:03:00.000Z",
"flightRecord":[
{
"flightIdentifier":{
"operatingCarrier":{
"iataCode":"UA",
"flightNumber":"928",
"name":"United Airlines"
},
"marketingCarriers":[
{
"iataCode":"AC",
"flightNumber":"5357",
"name":"Air Canada"
},
{
"iataCode":"LX",
"flightNumber":"3044",
"name":"Swiss International Air Lines"
},
{
"iataCode":"SN",
"flightNumber":"9089",
"name":"Brussels Airlines"
},
{
"iataCode":"LH",
"flightNumber":"9354",
"name":"Lufthansa"
},
{
"iataCode":"OS",
"flightNumber":"7851",
"name":"Austrian Airlines"
}
],
"aircraft":{
"iataCode":"787",
"registration":"N26966"
}
},
"departure":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T10:00:00+01:00",
"estimated":"2021-07-28T10:13:00+01:00",
"actual":"2021-07-28T10:04:00+01:00",
"status":"DV",
"statusText":"Diverted",
"terminal":"2",
"gate":"B31"
},
"arrival":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T12:30:00-05:00",
"estimated":"2021-07-28T11:34:00-05:00",
"status":"ON",
"statusText":"On time",
"terminal":"5",
"gate":"M11",
"carousel":"IT"
},
"serviceType":"J",
"duration":"510",
"status":"IA",
"statusText":"In Air"
}
]
}
]
User has subscribed as below for all LHR departures (excluding cargo) on 2021-07-28 with ‘view=full’ and 'batch' mode selected:
{
"airportCode":"LHR",
"arrivalDeparture":"D",
"operationDate":"2021-07-28",
"notifyEndpoint":"https://myendpoint.notification/flights",
"view":"full",
"showCargo":false,
"batch":true
}
An example batch response follows containing two updates for this flight:
[
{
"airportCode":"LHR",
"adi":"D",
"updateField":"STATUS",
"previous":"DP",
"current":"IA",
"timestamp":"2021-07-28T09:03:00.000Z",
"flightRecord":[
{
"flightIdentifier":{
"operatingCarrier":{
"iataCode":"UA",
"flightNumber":"928",
"name":"United Airlines"
},
"marketingCarriers":[
{
"iataCode":"AC",
"flightNumber":"5357",
"name":"Air Canada"
},
{
"iataCode":"LX",
"flightNumber":"3044",
"name":"Swiss International Air Lines"
},
{
"iataCode":"SN",
"flightNumber":"9089",
"name":"Brussels Airlines"
},
{
"iataCode":"LH",
"flightNumber":"9354",
"name":"Lufthansa"
},
{
"iataCode":"OS",
"flightNumber":"7851",
"name":"Austrian Airlines"
}
],
"aircraft":{
"iataCode":"787",
"registration":"N26966"
}
},
"departure":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T10:00:00+01:00",
"estimated":"2021-07-28T10:13:00+01:00",
"actual":"2021-07-28T10:04:00+01:00",
"status":"DV",
"statusText":"Diverted",
"terminal":"2",
"gate":"B31"
},
"arrival":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T12:30:00-05:00",
"estimated":"2021-07-28T11:34:00-05:00",
"status":"ON",
"statusText":"On time",
"terminal":"5",
"gate":"M11",
"carousel":"IT"
},
"serviceType":"J",
"duration":"510",
"status":"IA",
"statusText":"In Air"
}
]
},
{
"airportCode":"LHR",
"adi":"D",
"updateField":"ACTUAL",
"current":"2021-07-28T10:04:00+01:00",
"timestamp":"2021-07-28T09:03:05.000Z",
"flightRecord":[
{
"flightIdentifier":{
"operatingCarrier":{
"iataCode":"UA",
"flightNumber":"928",
"name":"United Airlines"
},
"marketingCarriers":[
{
"iataCode":"AC",
"flightNumber":"5357",
"name":"Air Canada"
},
{
"iataCode":"LX",
"flightNumber":"3044",
"name":"Swiss International Air Lines"
},
{
"iataCode":"SN",
"flightNumber":"9089",
"name":"Brussels Airlines"
},
{
"iataCode":"LH",
"flightNumber":"9354",
"name":"Lufthansa"
},
{
"iataCode":"OS",
"flightNumber":"7851",
"name":"Austrian Airlines"
}
],
"aircraft":{
"iataCode":"787",
"registration":"N26966"
}
},
"departure":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T10:00:00+01:00",
"estimated":"2021-07-28T10:13:00+01:00",
"actual":"2021-07-28T10:04:00+01:00",
"status":"DV",
"statusText":"Diverted",
"terminal":"2",
"gate":"B31"
},
"arrival":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T12:30:00-05:00",
"estimated":"2021-07-28T11:34:00-05:00",
"status":"ON",
"statusText":"On time",
"terminal":"5",
"gate":"M11",
"carousel":"IT"
},
"serviceType":"J",
"duration":"510",
"status":"IA",
"statusText":"In Air"
}
]
}
]
An example DIVERSION update payload follows:
[
{
"airportCode":"LHR",
"adi":"D",
"updateField":"DIVERSION",
"previous":"{\"recovery\":{\"airport\":{\"iataCode\":\"DUB\",\"icaoCode\":\"EIDW\",\"cityText\":\"Dublin\"}}}",
"current":"{\"recovery\":{\"iataCode\":\"UA\",\"icaoCode\":\"UAL\",\"flightNumber\":\"928\",\"name\":\"United Airlines\",\"airport\":{\"iataCode\":\"DUB\",\"icaoCode\":\"EIDW\",\"cityText\":\"Dublin\"},\"scheduled\":\"2021-07-28T10:00:00+01:00\"}}",
"timestamp":"2021-07-28T09:03:00.000Z",
"flightRecord":[
{
"flightIdentifier":{
"operatingCarrier":{
"iataCode":"UA",
"flightNumber":"928",
"name":"United Airlines"
},
"marketingCarriers":[
{
"iataCode":"AC",
"flightNumber":"5357",
"name":"Air Canada"
},
{
"iataCode":"LX",
"flightNumber":"3044",
"name":"Swiss International Air Lines"
},
{
"iataCode":"SN",
"flightNumber":"9089",
"name":"Brussels Airlines"
},
{
"iataCode":"LH",
"flightNumber":"9354",
"name":"Lufthansa"
},
{
"iataCode":"OS",
"flightNumber":"7851",
"name":"Austrian Airlines"
}
],
"aircraft":{
"iataCode":"787",
"registration":"N26966"
}
},
"departure":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T10:00:00+01:00",
"estimated":"2021-07-28T10:13:00+01:00",
"actual":"2021-07-28T10:04:00+01:00",
"status":"DV",
"statusText":"Diverted",
"terminal":"2",
"gate":"B31",
"diversion":{
"recovery":{
"airport":{
"iataCode":"DUB",
"icaoCode":"EIDW",
"cityText":"Dublin"
},
"flightNumber":"928",
"iataCode":"UA",
"icaoCode":"UAL",
"name":"United Airlines",
"scheduled":"2021-07-28T10:00:00+01:00"
}
}
},
"arrival":{
"airport":{
"iataCode":"ORD",
"cityText":"Chicago"
},
"scheduled":"2021-07-28T12:30:00-05:00",
"estimated":"2021-07-28T11:34:00-05:00",
"status":"DV",
"statusText":"Diverted",
"terminal":"5",
"gate":"M11",
"carousel":"IT",
"diversion":{
"recovery":{
"airport":{
"iataCode":"DUB",
"icaoCode":"EIDW",
"cityText":"Dublin"
},
"flightNumber":"928",
"iataCode":"UA",
"icaoCode":"UAL",
"name":"United Airlines",
"scheduled":"2021-07-28T10:00:00+01:00"
}
}
},
"serviceType":"J",
"duration":"510",
"status":"DV",
"statusText":"Diverted"
}
]
}
]
Note: As the user has requested ‘view=full’ both the departure and arrival details of this flight are returned. Fields not available will be omitted from the payload (no nulls or 0 length strings).
6 Appendix D Flight Status Notification Response Schema
[
{
"type":"object",
"properties":{
"airportCode":{
"type":"string"
},
"adi":{
"type":"string"
},
"updateField":{
"type":"string"
},
"previous":{
"type":"string"
},
"current":{
"type":"string"
},
"timestamp":{
"type":"string"
},
"flightRecord":{
"type":"array",
"items":{
"type":"object",
"properties":{
"flightIdentifier":{
"type":"object",
"properties":{
"operatingCarrier":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"flightNumber":{
"type":"string"
},
"name":{
"type":"string"
}
}
},
"marketingCarriers":{
"type":"array",
"items":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"flightNumber":{
"type":"string"
},
"name":{
"type":"string"
}
}
}
},
"aircraft":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"model":{
"type":"string"
},
"registration":{
"type":"string"
},
"callSign":{
"type":"string"
}
}
}
}
},
"departure":{
"type":"object",
"properties":{
"airport":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"name":{
"type":"string"
},
"city":{
"type":"string"
},
"cityText":{
"type":"string"
}
}
},
"scheduled":{
"type":"string"
},
"estimated":{
"type":"string"
},
"actual":{
"type":"string"
},
"status":{
"type":"string"
},
"statusText":{
"type":"string"
},
"terminal":{
"type":"string"
},
"gate":{
"type":"string"
},
"gateRemark":{
"type":"string"
},
"gateRemarkText":{
"type":"string"
},
"carousel":{
"type":"string"
},
"flightKindIndicator":{
"type":"string"
},
"stand":{
"type":"string"
},
"checkIn":{
"type":"string"
},
"chute":{
"type":"string"
},
"standSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"checkInSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"carouselSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"gateSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"chuteSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"route":{
"type":"array",
"items":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"sequenceNumber":{
"type":"string"
}
}
}
},
"flightStats":{
"type":"object",
"properties":{
"passengers":{
"type":"object",
"properties":{
"bookedTotal":{
"type":"string"
},
"bookedFirst":{
"type":"string"
},
"bookedBusiness":{
"type":"string"
},
"bookedEconomy":{
"type":"string"
},
"actualTotal":{
"type":"string"
},
"actualFirst":{
"type":"string"
},
"actualBusiness":{
"type":"string"
},
"actualEconomy":{
"type":"string"
},
"actualTransfer":{
"type":"string"
},
"actualTransit":{
"type":"string"
},
"reducedMobility":{
"type":"string"
},
"adult":{
"type":"string"
},
"child":{
"type":"string"
},
"infant":{
"type":"string"
}
}
},
"baggage":{
"type":"object",
"properties":{
"count":{
"type":"string"
},
"load":{
"type":"string"
},
"totalWeight":{
"type":"string"
},
"cargo":{
"type":"string"
},
"mail":{
"type":"string"
}
}
}
}
},
"customProperties":{
"type":"array",
"items":{
"type":"object",
"properties":{
"key":{
"type":"string"
},
"value":{
"type":"string"
}
}
}
},
"events":{
"type":"object",
"properties":{
"ALDT":{
"type":"string"
},
"AIBT":{
"type":"string"
},
"AOBT":{
"type":"string"
},
"ATOT":{
"type":"string"
},
"ELDT":{
"type":"string"
},
"EIBT":{
"type":"string"
},
"EOBT":{
"type":"string"
},
"ETOT":{
"type":"string"
},
"TOBT":{
"type":"string"
},
"TTOT":{
"type":"string"
}
}
},
"version":{
"type":"integer"
},
"diversion":{
"type":"object",
"properties":{
"original":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"flightNumber":{
"type":"string"
},
"name":{
"type":"string"
},
"airport":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"name":{
"type":"string"
},
"city":{
"type":"string"
},
"cityText":{
"type":"string"
}
}
},
"scheduled":{
"type":"string"
}
}
},
"recovery":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"flightNumber":{
"type":"string"
},
"name":{
"type":"string"
},
"airport":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"name":{
"type":"string"
},
"city":{
"type":"string"
},
"cityText":{
"type":"string"
}
}
},
"scheduled":{
"type":"string"
}
}
}
}
}
}
},
"arrival":{
"type":"object",
"properties":{
"airport":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"name":{
"type":"string"
},
"city":{
"type":"string"
},
"cityText":{
"type":"string"
}
}
},
"scheduled":{
"type":"string"
},
"estimated":{
"type":"string"
},
"actual":{
"type":"string"
},
"status":{
"type":"string"
},
"statusText":{
"type":"string"
},
"terminal":{
"type":"string"
},
"gate":{
"type":"string"
},
"gateRemark":{
"type":"string"
},
"gateRemarkText":{
"type":"string"
},
"carousel":{
"type":"string"
},
"flightKindIndicator":{
"type":"string"
},
"stand":{
"type":"string"
},
"checkIn":{
"type":"string"
},
"chute":{
"type":"string"
},
"standSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"checkInSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"carouselSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"gateSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"chuteSlots":{
"type":"array",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"externalName":{
"type":"string"
},
"startTime":{
"type":"string"
},
"endTime":{
"type":"string"
},
"area":{
"type":"string"
}
}
}
},
"route":{
"type":"array",
"items":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"sequenceNumber":{
"type":"string"
}
}
}
},
"flightStats":{
"type":"object",
"properties":{
"passengers":{
"type":"object",
"properties":{
"bookedTotal":{
"type":"string"
},
"bookedFirst":{
"type":"string"
},
"bookedBusiness":{
"type":"string"
},
"bookedEconomy":{
"type":"string"
},
"actualTotal":{
"type":"string"
},
"actualFirst":{
"type":"string"
},
"actualBusiness":{
"type":"string"
},
"actualEconomy":{
"type":"string"
},
"actualTransfer":{
"type":"string"
},
"actualTransit":{
"type":"string"
},
"reducedMobility":{
"type":"string"
},
"adult":{
"type":"string"
},
"child":{
"type":"string"
},
"infant":{
"type":"string"
}
}
},
"baggage":{
"type":"object",
"properties":{
"count":{
"type":"string"
},
"load":{
"type":"string"
},
"totalWeight":{
"type":"string"
},
"cargo":{
"type":"string"
},
"mail":{
"type":"string"
}
}
}
}
},
"customProperties":{
"type":"array",
"items":{
"type":"object",
"properties":{
"key":{
"type":"string"
},
"value":{
"type":"string"
}
}
}
},
"events":{
"type":"object",
"properties":{
"ALDT":{
"type":"string"
},
"AIBT":{
"type":"string"
},
"AOBT":{
"type":"string"
},
"ATOT":{
"type":"string"
},
"ELDT":{
"type":"string"
},
"EIBT":{
"type":"string"
},
"EOBT":{
"type":"string"
},
"ETOT":{
"type":"string"
},
"TOBT":{
"type":"string"
},
"TTOT":{
"type":"string"
}
}
},
"version":{
"type":"integer"
},
"diversion":{
"type":"object",
"properties":{
"original":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"flightNumber":{
"type":"string"
},
"name":{
"type":"string"
},
"airport":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"name":{
"type":"string"
},
"city":{
"type":"string"
},
"cityText":{
"type":"string"
}
}
},
"scheduled":{
"type":"string"
}
}
},
"recovery":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"flightNumber":{
"type":"string"
},
"name":{
"type":"string"
},
"airport":{
"type":"object",
"properties":{
"iataCode":{
"type":"string"
},
"icaoCode":{
"type":"string"
},
"name":{
"type":"string"
},
"city":{
"type":"string"
},
"cityText":{
"type":"string"
}
}
},
"scheduled":{
"type":"string"
}
}
}
}
}
}
},
"serviceType":{
"type":"string"
},
"duration":{
"type":"string"
},
"status":{
"type":"string"
},
"statusText":{
"type":"string"
},
"subscribedForUpdates":{
"type":"boolean"
}
}
}
}
}
}
]
7 Appendix E Diverted Flights
A diverted flight is a flight that has been re-routed from its original arrival destination to a new arrival destination.
Flight diversions are unforeseen events which can be caused by factors such as:
- Aircraft emergency
- Passenger emergency
- Mechanical failure
- Poor weather conditions
A recovery flight is a flight that is created to route the aircraft/passengers from the diversion airport to their original arrival destination.
When the Flight Status Notification API service has been notified that a flight has been diverted a 'diversion' element is added to the departure flight record.
The diversion element contains a 'recovery' element which contains details of the airport where the flight has been diverted and also details of the recovery flight if/when it has been confirmed.
Diverted flight notification scenario
Customer has subscribed for updates for flight UA 745 10MAY FLL → DEN with 'view=FULL'.
Flight was diverted after departure and now has routing of FLL → COS → DEN.
Departure/Arrival flight records will be updated with details of the diversion/recovery flight. +
First 'DIVERSION' update notification issued to customer will inform them that the flight has been diverted and details of the diversion airport.
{
"airportCode":"FLL",
"adi":"D",
"updateField":"DIVERSION",
"previous":"null",
"current":"{\"recovery\":{\"airport\":{\"iataCode\":\"COS\",\"icaoCode\":\"KCOS\",\"cityText\":\"Colorado Springs\"},\"mappedToParent\":false}}",
"flightRecord":[
{
"flightIdentifier":{
"operatingCarrier":{
"iataCode":"UA",
"flightNumber":"745",
"name":"United Airlines"
},
"aircraft":{
"iataCode":"739",
"icaoCode":"B739",
"model":"Boeing 737-900 pax",
"registration":"N62894"
}
},
"departure":{
"airport":{
"iataCode":"FLL",
"icaoCode":"KFLL",
"name":"Fort Lauderdale Hollywood International Airport",
"city":"Fort Lauderdale",
"cityText":"Fort Lauderdale"
},
"scheduled":"2022-05-10T15:34:00-04:00",
"status":"ID",
"statusText":"In Air-Diverted",
"terminal":"1",
"gate":"C3",
"diversion":{
"recovery":{
"airport":{
"iataCode":"COS",
"icaoCode":"KCOS",
"cityText":"Colorado Springs"
}
}
}
},
"arrival":{
"airport":{
"iataCode":"DEN",
"icaoCode":"KDEN",
"name":"Denver International Airport",
"city":"Denver",
"cityText":"Denver"
},
"scheduled":"2022-05-10T18:00:00-06:00",
"status":"ID",
"statusText":"In Air-Diverted",
"gate":"B46",
"carousel":"10",
"diversion":{
"recovery":{
"airport":{
"iataCode":"COS",
"icaoCode":"KCOS",
"cityText":"Colorado Springs"
}
}
}
},
"serviceType":"J",
"duration":"266",
"status":"ID",
"statusText":"In Air-Diverted"
}
]
}
The next 'DIVERSION' update notification which may be issued to customer will inform them of the recovery flight details e.g. UA 745 COS → DEN
{
"airportCode": "FLL",
"adi": "D",
"updateField": "DIVERSION",
"previous": "{\"recovery\":{\"airport\":{\"iataCode\":\"COS\",\"icaoCode\":\"KCOS\",\"cityText\":\"Colorado Springs\"},\"mappedToParent\":false}}",
"current": "{\"recovery\":{\"iataCode\":\"UA\",\"icaoCode\":\"UAL\",\"flightNumber\":\"745\",\"name\":\"United Airlines\",\"airport\":{\"iataCode\":\"COS\",\"icaoCode\":\"KCOS\",\"cityText\":\"Colorado Springs\"},\"mappedToParent\":false,\"scheduled\":\"2022-05-10T13:34:00-0600\"}}",
"flightRecord": [
{
"flightIdentifier": {
"operatingCarrier": {
"iataCode": "UA",
"flightNumber": "745",
"name": "United Airlines"
},
"aircraft": {
"iataCode": "739",
"icaoCode": "B739",
"model": "Boeing 737-900 pax",
"registration": "N62894"
}
},
"departure": {
"airport": {
"iataCode": "FLL",
"icaoCode": "KFLL",
"name": "Fort Lauderdale Hollywood International Airport",
"city": "Fort Lauderdale",
"cityText": "Fort Lauderdale"
},
"scheduled": "2022-05-10T15:34:00-04:00",
"status": "ID",
"statusText": "In Air-Diverted",
"terminal": "1",
"gate": "C3",
"diversion": {
"recovery": {
"iataCode": "UA",
"icaoCode": "UAL",
"flightNumber": "745",
"name": "United Airlines",
"airport": {
"iataCode": "COS",
"icaoCode": "KCOS",
"cityText": "Colorado Springs"
},
"scheduled": "2022-05-10T13:34:00-06:00"
}
}
},
"arrival": {
"airport": {
"iataCode": "DEN",
"icaoCode": "KDEN",
"name": "Denver International Airport",
"city": "Denver",
"cityText": "Denver"
},
"scheduled": "2022-05-10T18:00:00-06:00",
"status": "ID",
"statusText": "In Air-Diverted",
"gate": "B46",
"carousel": "10",
"diversion": {
"recovery": {
"iataCode": "UA",
"icaoCode": "UAL",
"flightNumber": "745",
"name": "United Airlines",
"airport": {
"iataCode": "COS",
"icaoCode": "KCOS",
"cityText": "Colorado Springs"
},
"scheduled": "2022-05-10T18:00:00-06:00"
}
}
},
"serviceType": "J",
"duration": "266",
"status": "ID",
"statusText": "In Air-Diverted"
}
]
}
8 Appendix F Flight Status Notification Fields
Field | Description |
---|---|
NEW_FLIGHT | Identifies a new flight created within FLIFO. This is the first possible notification which can be generated for a flight |
GATE | Gate change |
CLAIM | Baggage Claim/Carousel |
ACTUAL | Actual time of departure or arrival |
ESTIMATED | Estimated time of departure or arrival |
AIRCRAFT | Aircraft type change |
TERMINAL | Terminal change |
DURATION | Flight duration change |
TAILNO | Tail number change |
STATUS | Flight status change. |
SCHEDULED | Scheduled departure/arrival time change |
SERVICE_TYPE | Change of flight service type |
STAND | Stand allocation change |
STAND_SLOT | Sand slot change |
CHECK_IN | Check in desk allocation |
CHECK_IN_SLOT | Check in slot change |
AIRCRAFT_OBJECT | Aircraft object change |
CAROUSEL_SLOT | Carousel slot change |
GATE_SLOT | Gate slot change |
CHUTE_SLOT | Baggage chute slot change |
ROUTE | Route change |
FLIGHT_STATS | Flight Stats change i.e. passenger counts/baggage counts |
EVENTS | Events change i.e. updates to off/on block times |
MARKETING_CARRIER | Change to listed marketing/codeshare flight details |
CUSTOM_PROPERTIES | Change to details contained within the custom properties key value mappings |
DIVERSION | Diversion details change |
CURRENT_STATUS_RESPONSE | Identifies a one time notification message which is generated as a result of a flight subscription request containing 'sendCurrentStatus=true' |
9 Appendix G - Flight Service Type Codes
Code | Application | TypeofOperation | Description |
---|---|---|---|
A | Additional Flights | Cargo/Mail | Cargo/Mail |
B | Additional Flights | Passenger | Shuttle Mode |
C | Charter | Passenger | Passenger Only |
D | Others | Not specific | General Aviation |
E | Others | Not specific | Special (FAA/Government) |
F | Scheduled | Cargo/Mail | Loose Loaded cargo and/or preloaded devices |
G | AdditionalFlights | Passenger | Normal Service |
H | Charter | Cargo/Mail | Cargo and/or preloaded devices |
I | Others | Non specific | State/Diplomatic/Air Ambulance (Chapter 6 only) |
J | Scheduled | Passenger | Normal Service |
K | Others | Non specific | Training(School/Crew check) |
L | Charter | Passenger/Cargo/Mail | Passenger and Cargo and/or Mail |
M | Scheduled | Cargo/Mail | Mail only |
N | Others | Non specific | Business Aviation/Air Taxi |
O | Charter | Specific Handling | Charter requiring special handling (e.g. Migrants/immigrant Flights) |
P | Others | Non specific | Non-revenue (Positioning/Ferry/Delivery/Demo) |
Q | Scheduled | Passenger/Cargo | Passenger/Cargo in Cabin (mixed configuration aircraft) |
R | AdditionalFlights | Passenger/Cargo | Passenger/Cargo in Cabin (mixed configuration aircraft) |
S | Scheduled | Passenger | Shuttle Mode |
T | Others | Non specific | Technical Test |
U | Scheduled | Passenger | Service operated by Surface Vehicle |
V | Scheduled | Cargo/Mail | Service operated by Surface Vehicle |
W | Others | Not specific | Military |
X | Others | Not specific | Technical Stop(for Chapter 6 applications only) |
Y | Others | Not specific | Internal code |
Z | Others | Not specific | Internal code |
Contact Us
For subscription and sales queries, please contact:
Product Inquiries
For SITA Flight Status Notification API related queries, please contact:
Technical Support Team