Skip to main content
 

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:

  1. What is the status of a specific flight?
  2. At what time will the boarding start for a flight?
  3. What are the gate and terminal number of a specific flight?
  4. 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

DateDocument VersionDescription

10 May 2022

1.0

Initial version

22 August 2022

1.1

Service Type Codes Added

13 October 2022

1.2

Add showCargo filter

24 January 2023

1.3

Add groupMarketingCarriers filter

14 August 2023

1.4

Added rate limit and OAuth

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

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

PathTypeDescription

errors

Object

Object that holds the error information

errors.error[]

Array

Array of errors

errors.error[].code

Number

API Internal Error Code

errors.error[].description

String

Error Description

errors.error[].invalidParam

String

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:

HeaderDescription

X-RateLimit-Limit

The total number of requests allowed in the current time window

X-RateLimit-Remaining

The number of requests left for the current time window

X-RateLimit-Policy

The policy describing how many request per time window are allowed

X-RateLimit-Reset

The number of seconds remaining in the current time window. Header not displayed after rate limit has been exceeded

retry-after

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
NameOptionalDescription

Content-Type

false

Content type of this request. Required value is 'application/json'

Authorization

false

Authorization header that contains the access token.

Request fields
PathTypeDescription

airlineCode

String

2-character airline IATA code.

airportCode

String

3-character airport IATA code.

arrivalDeparture

String

1-character direction indicator (A/D).

batch

Boolean

Batches notifications into fewer requests containing an array of notifications. Notifications are grouped based on the notifyEndpoint and API Key. Default is false.

flightNumber

String

Flight number.

groupMarketingCarriers

Boolean

Group marketing and operating carrier flights into a single record. Should be used in conjunction with the sendCurrentStatus param. Default is false..

notifyEndpoint

String

Notification endpoint to send the Notification to.

operationDate

String

Local date of operation (yyyy-MM-dd) defaults to current UTC date.

sendCurrentStatus

Boolean

Specify if a user wishes to have a copy of the current flight record(s) issued to them upon subscription.

showCargo

Boolean

Specify if you wish to have cargo flights included in your notifications. Default is false.

view

String

View 'full' or 'local' leg, based on direction. Default value is local. See notes for further details..

Response fields
PathTypeDescription

adi

String

1-character direction indicator (A/D)

airlineCode

String

IATA/ICAO code for the airline in the subscription request

airportCode

String

IATA/ICAO code for the airport in the subscription request

batch

Boolean

Batches notifications into fewer requests containing an array of notifications.

flightDate

String

Local operation date of the flight

flightNumber

String

Flight number used in the subscription request

groupMarketingCarriers

Boolean

Group marketing and operating carrier flights into a single record. Should be used in conjunction with the sendCurrentStatus param. Default is false.

sendCurrentStatus

Boolean

Specify if a user wishes to have a copy of the current flight record(s) issued to them upon subscription

showCargo

Boolean

Specify if you wish to have cargo flights included in your notifications. Default is false

subscribedForUpdates

Boolean

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
NameOptionalDescription

Content-Type

false

Content type of this request. Required value is 'application/json'

Authorization

false

Authorization header that contains the access token.

Request fields
PathTypeDescription

airlineCode

String

2-character airline IATA code.

airportCode

String

3-character airport IATA code.

arrivalDeparture

String

1-character direction indicator (A/D).

batch

Boolean

Batches notifications into fewer requests containing an array of notifications. Notifications are grouped based on the notifyEndpoint and API Key. Default is false.

flightNumber

String

Flight number.

groupMarketingCarriers

Boolean

Group marketing and operating carrier flights into a single record. Should be used in conjunction with the sendCurrentStatus param. Default is false..

notifyEndpoint

String

Notification endpoint to send the Notification to.

operationDate

String

Local date of operation (yyyy-MM-dd) defaults to current UTC date.

sendCurrentStatus

Boolean

Specify if a user wishes to have a copy of the current flight record(s) issued to them upon subscription.

showCargo

Boolean

Specify if you wish to have cargo flights included in your notifications. Default is false.

view

String

View 'full' or 'local' leg, based on direction. Default value is local. See notes for further details..

Response fields
PathTypeDescription

adi

String

1-character direction indicator (A/D)

airlineCode

String

IATA/ICAO code for the airline in the subscription request

airportCode

String

IATA/ICAO code for the airport in the subscription request

batch

Boolean

Batches notifications into fewer requests containing an array of notifications.

flightDate

String

Local operation date of the flight

flightNumber

String

Flight number used in the subscription request

groupMarketingCarriers

Boolean

Group marketing and operating carrier flights into a single record. Should be used in conjunction with the sendCurrentStatus param. Default is false.

sendCurrentStatus

Boolean

Specify if a user wishes to have a copy of the current flight record(s) issued to them upon subscription

showCargo

Boolean

Specify if you wish to have cargo flights included in your notifications. Default is false

subscribedForUpdates

Boolean

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

CodeDescriptionStatus DescriptionDeparture StatusArrival StatusCan 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

FieldDescription

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

CodeApplicationTypeofOperationDescription

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

Version 2.2.0-SNAPSHOT
 

 

Contact Us

For subscription and sales queries, please contact:

Product Inquiries

Contact Us

 

For SITA Flight Status Notification API related queries, please contact:

Technical Support Team

Contact Us

 

contact-icon

Do you have a question? We are here, ready to help

Get in touch

About us

We are the world's leading specialist in air transport communications and IT solutions. 

 

bottom navigation SITA logo