Tour operators and other external parties, for instance ground handlers, would like the ability to be notified, in near real-time, of any changes to flight data relating to movements. This information can be used to drive their digital systems and also aid on the day operations and decision making with the overall goal to improve the experience of their customers and our guests, who are using our 3 airports in MAG.
MAG's real-time flight updates offers a wealth of information on current and scheduled flights to and from our three airports. The flight updates events are published, at near real-time for Manchester, London Stansted and East Midland airports as they change throughout the day, so that the information is available for developers to subscribe to and make use of the data.
All new and updated gate information can be made available to external customers who require it, via a subscription to a Kafka topic.
Dedicated Kafka topics provided to subscribers to ensure data is provided correctly and only relevant to the subscriber.
airline:
type: object
properties:
airlineCodeIATA:
description: IATA code of the airline operating the flight.
type: string
example: EZY
airlineCode:
description: ICAO code of the airline operating the flight.
type: string
example: EZY
operatingAirlineIATA:
description: IATA code of the airline operating the flight.
type: string
example: EZY
operatingAirlineICAO:
description: ICAO code of the airline operating the flight.
type: string
example: EZY
operatingAirlineTicketed:
description: >-
The airline code which will appear on the passengers' tickets
for this flight. This can be either the IATA or ICAO code.
type: string
example: EZY
flightNumber:
description: The number of the flight.
type: string
example: '123'
operationalSuffix:
description: >-
An optional single letter suffix sometimes appended to the
flight number.
type: string
example: R
aircraft:
type: object
properties:
aircraftTypeIATA:
description: The aircraft-type information IATA.
type: string
example: '320'
aircraftId:
description: ICAO callsign
type: string
example: EZY708
aircraftType:
description: The aircraft-type information ICAO.
type: string
example: A320
aircraftRegistration:
description: The aircraft registration.
type: string
example: GEZTY
maxPax:
description: Maximum number of passengers an aircraft can carry
type: integer
example: '186'
movement:
type: object
properties:
actualInBlockTime:
description: (AIBT) Details on when an aircraft will arrive in blocks
type: string
format: date-time
example: '2023-10-23T21:03:00Z'
actualOffBlockTime:
description: >-
(AOBT) Details on when an aircraft will be ready, all doors
closed, boarding bridge removed, push back vehicle available and
ready to start up / push back immediately upon reception of
clearance from the tower.
type: string
format: date-time
example: '2023-10-23T21:03:00Z'
actualTakeOffTime:
description: (ATOT) The actual flight take-off time
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
actualLandingTime:
description: (ALDT) The actual flight touch-down time
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
actualTaxiInTime:
description: (AXIT) Details on taxi time for an aircraft
type: integer
example: '10'
actualTaxiOutTime:
description: (AXOT) Details on taxi time for an aircraft
type: integer
example: '10'
actualReadyTime:
description: >-
(ARDT) Actual Ready Time (for Movement). When the aircraft is
ready for start up/push back or taxi immediately after clearance
delivery, meeting the requirements set by the TOBT definition.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
actualStartUpRequestTime:
description: >-
(ASRT) Actual Start Up Request Time. Time the pilot requests
start up clearance.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
actualStartUpApprovalTime:
description: >-
(ASAT) Actual Start Up Approval Time. Time that an aircraft
receives its start up approval. Note - the moment the start up
approval is given can be in advance of the TSAT.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
actual:
description: Chroma actual timestamp
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
ATCActual:
description: ATC actual timestamp - Actual else Finals
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
calculatedTakeOffTime:
description: (CTOT) The calculated flight Take-Off time
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
estimatedInBlockTime:
description: (EIBT) Details on when an aircraft will arrive in blocks
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
estimatedLandingTime:
description: (ELDT) Estimated time for the aircraft to land.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
estimatedOffBlockTime:
description: >-
(EOBT) Details on when an aircraft will be ready, all doors
closed, boarding bridge removed, push back vehicle available and
ready to start up / push back immediately upon reception of
clearance from the tower.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
estimatedTaxiInTime:
description: (EXIT) Details on taxi time for an aircraft
type: integer
example: '10'
estimatedTaxiOutTime:
description: (EXOT) Details on taxi time for an aircraft
type: integer
example: '10'
estimated:
description: Chroma estimated timestamp.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
departureFlightStatus:
description: The status of the flight
type: string
enum:
- Operated
- Cancelled
example: Operated
arrivalFlightStatus:
description: The status of the flight
type: string
enum:
- InApproach
- Landed
- Operated
- Cancelled
example: Operated
minimumTurnAroundTime:
description: (MTTT) Minimum amount of time for a turnaround
type: string
example: '30'
scheduledInBlockTime:
description: (SIBT) Details on when an aircraft will arrive in blocks
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
scheduledOffBlockTime:
description: >-
(SOBT) Details on when an aircraft will be ready, all doors
closed, boarding bridge removed, push back vehicle available and
ready to start up / push back immediately upon reception of
clearance from the tower.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
scheduledInBlockDate:
description: Date of when an aircraft will arrive in blocks
type: string
format: date
example: '2023-10-23'
scheduledOffBlockDate:
description: >-
Date of when an aircraft will be ready, all doors closed,
boarding bridge removed, push back vehicle available and ready
to start up / push back immediately upon reception of clearance
from the tower.
type: string
format: date
example: '2023-10-23'
scheduledLandingTime:
description: (SLDT) The scheduled flight touch-down time
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
scheduledTakeOffTime:
description: (STOT) The scheduled flight Take-Off time
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
scheduled:
description: Chroma scheduled timestamp.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
targetOffBlockTime:
description: >-
(TOBT) Details on when an aircraft will be ready, all doors
closed, boarding bridge removed, push back vehicle available and
ready to start up / push back immediately upon reception of
clearance from the tower.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
targetTakeOffTime:
description: (TTOT) The target flight Take-Off time
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
targetStartUpApprovalTime:
description: >-
(TSAT) Target Start Up Approval Time. The time provided by ATC
taking into account TOBT, CTOT and/or the traffic situation that
an aircraft can expect start up / push back approval.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
zoningTime:
description: Zoning time for the aircraft.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
nextInformationTime:
description: UTC time when next information about the flight is expected.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
onFinalsTime:
description: >-
UTC Time at which the flight starts its approach to landing,
when the aircraft is lined up with the runway and descending for
landing. Valid for arrival flights only.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
probableTime:
description: Probable time for the aircraft.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
probableCode:
description: Probable code for the aircraft.
type: string
example: S
plan:
type: object
properties:
airportArrivalSlotTime:
description: Scheduled Datetime
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
arrivalOrDeparture:
type: string
enum:
- A
- D
example: A
flightPlanId:
type: string
example: '12234567'
turnaroundTargetTakeOffTime:
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
standardInstrumentDepartureRoute:
description: >-
Standard instrument departure (SID) routes, also known as
departure procedures
type: string
example: SANBA1Y
standardTerminalArrivalRoute:
description: >-
In aviation, a standard terminal arrival route or standard
terminal arrival (STAR)
type: string
example: SANBA1Y
flight:
type: object
properties:
departureAirport:
description: Departure Airport ICAO
type: string
example: EGCC
destinationAirport:
description: Destination Airport ICAO
type: string
example: EGAA
flightIdAODB:
description: Unique reference in Chroma
type: integer
example: '18789681'
flightTypeIATA:
description: Service Type
type: string
example: '22'
flightType:
description: CAA Flight Type
type: string
example: F
departureAirportIATA:
description: Departure Airport IATA
type: string
example: MAN
destinationAirportIATA:
description: Destination Airport IATA
type: string
example: BFS
flightIdIATA:
description: Flight number from ACDM
type: string
example: EZY708
ATCflightId:
description: Flight number from ATC
type: string
example: EZY708
sector:
description: Domestic or International Status
type: string
enum:
- D
- I
example: D
commonTravelArea:
description: >-
Flag to show if the non-MAG airport is within the CTA, is
Domestic or is non-CTA International
type: string
enum:
- CTA
- DOMESTIC
- INTERNATIONAL
example: CTA
terminal:
description: Terminal information
type: string
example: T1
stand:
description: Stand information
type: string
example: '10'
gate:
description: Uniquely defines one gate at the airport.
type: string
example: '54'
gateDescription:
description: Full name for the gate at the airport.
type: string
example: GATE 54 (T3)
gateAction:
description: The stage in the boarding process for the gate.
type: string
enum:
- P
- I
- B
- F
- E
- 'N'
- C
example: I
gateActionDescription:
description: The stage description in the boarding process for the gate.
type: string
enum:
- Pending
- Gate Open
- Boarding
- Final Call
- End Boarding
- Gate Deallocated
- Closed
example: Gate Open
gateOpen:
description: >-
The UTC time at which the gate is opened for passenger
processing.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
estimatedGateOpen:
description: >-
The estimated UTC time at which the gate is opened for passenger
processing.
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
gateStartBoardingTime:
description: Details on when boarding is started at the gate
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
gateEndBoardingTime:
description: Details on when boarding has ended at the gate
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
gateChangeIndicator:
description: Indicates if the gate has changed
type: string
example: '1'
gateRemark1:
description: Information to display on Gate screens
type: string
example: Boarding shortly
gateRemark2:
description: Information to display on Gate screens
type: string
example: Please take a seat
diversionAirportICAO:
description: >-
ICAO code of the airport to / from which the flight has been
diverted.
type: string
example: BFS
checkInDeskFrom:
description: >-
The first check in desk in a range that a single flight is
allocated to.
type: string
example: D1
checkInDeskTo:
description: >-
The first check in desk in a range that a single flight is
allocated to.
type: string
example: D9
checkInStatus:
description: >-
The check in status of a single flight that is allocated to one
or more check in desks..
type: string
example: O
checkInZone:
description: Where within the passenger terminal the desk range is located.
type: string
example: E
codeshares:
type: array
items:
type: object
properties:
codeshareAirlineIATA:
description: >-
IATA code of the airline company marketing a codeshare for
this flight. See AirlineIATA for definition of content.
type: string
example: MH
codeshareFlightNumber:
description: The FlightNumber for a specific codeshare for this flight.
type: string
example: '1234'
delays:
type: array
items:
type: object
properties:
delayCode:
description: Numeric IATA delay/diversion code.
type: string
example: PS
flightSteps:
type: array
items:
type: object
properties:
airportIATACode:
description: 3 character IATA code which uniquely defines an airport.
type: string
example: BLQ
airportICAOCode:
description: 4 character ICAO code which uniquely defines an airport.
type: string
example: LIPE
lastUpdated:
description: >-
BIGINT identifier for when a record has been updated in source
system
type: integer
example: 1078742623
passenger:
type: object
properties:
localPassengers:
description: Total passengers
type: integer
example: '125'
passengerTransferToFlightCount:
description: Count of transfer passengers
type: integer
example: '25'
bagTransferToFlightCount:
description: Count of transfer bags
type: integer
example: '25'
prmCount:
description: Count of Passengers with Reduced Mobility
type: integer
example: '5'
baggage:
type: object
properties:
beltFirstBagTarget:
description: >-
Target time for when the first passenger bag is loaded onto a
baggage belt (carousel)
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
beltLastBagTarget:
description: >-
Target time for when the last passenger bag is loaded onto
baggage a belt (carousel)
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
beltFirstBag:
description: >-
Details on when the first passenger bag was loaded onto a
baggage belt (carousel)
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
beltLastBag:
description: >-
Details on when the last passenger bag was loaded onto baggage a
belt (carousel)
type: string
format: date-time
example: '2023-10-23T21:13:00Z'
baggageClaimUnitName:
description: Details of the BaggageClaimUnit
type: string
example: 7A
baggageChutes:
description: String array of Baggage chutes
type: string
example: '["12", "13"]'
resources:
type: object
properties:
handler:
type: array
items:
type: object
properties:
handlerName:
description: Name of a Handler
type: string
example: Swissport
handlerServiceType:
description: >-
Defines the type of service that the handler provides,
e.g. Passenger, Baggage, Ramp
type: string
example: Passenger
cancelDisplay:
description: Defines if this data set is for display, or not.
type: string
example: 'true'
cancelPublicDisplay:
description: Defines if this data set is for public display, or not.
type: string
example: 'true'
remarks:
type: array
items:
type: object
properties:
remarkType:
description: >-
RemarkType indicates what area this Remark is related to.
examples include marshalling, coach, coaching, flight,
apron, generated, override, hall, porter.
type: string
example: Hall
remarkText:
description: Free text that is the actual remark.
type: string
example: Desks Open At 10:50
areaText:
type: object
properties:
area:
description: Information for displaying text on FIDS
type: string
example: '2'
lineNo:
description: Information for displaying text on FIDS
type: string
example: '1'
special:
description: Information for displaying text on FIDS
type: string
example: '3'
text:
description: Information for displaying text on FIDS
type: string
example: CHECK
inhibit:
description: Information for displaying text on FIDS
type: string
example: '3'
event:
type: object
properties:
magAirport:
description: MAG Airport Code
type: string
enum:
- MAN
- STN
- EMA
example: MAN
eventId:
description: Unique identifier for the message
type: string
example: '1923756'
eventType:
description: Field to identifiy the type of message
type: string
example: AODB Data Update
humanNarrative:
type: string
example: Data update from AODB
machineNarrative:
type: string
example: Update from flight_events topic
ruleId:
type: string
example: '1'
linkedArrival:
type: object
properties:
aircraft:
type: object
properties:
aircraftRegistration:
type: string
example: RYR
aircraftId:
description: ICAO callsign
type: string
example: RYR
flight:
type: object
properties:
flightIdAODB:
type: integer
example: '18789264'
plan:
type: object
properties:
flightPlanId:
type: string
example: '12234123'
FLIGHT_ACDM_EVENT
{
"airline": {
"airlineCodeIATA": "EZY",
"airlineCode": "EZY",
"operatingAirlineIATA": "EZY",
"operatingAirlineICAO": "EZY",
"operatingAirlineTicketed": "EZY",
"flightNumber": "123",
"operationalSuffix": "R"
},
"aircraft": {
"aircraftTypeIATA": "320",
"aircraftId": "EZY708",
"aircraftType": "A320",
"aircraftRegistration": "GEZTY",
"maxPax": "186"
},
"movement": {
"actualInBlockTime": "2023-10-23T21:03:00Z",
"actualLandingTime": "2023-10-23T21:13:00Z",
"actualTaxiInTime": "10",
"actual": "2023-10-23T21:13:00Z",
"ATCActual": "2023-10-23T21:13:00Z",
"estimatedInBlockTime": "2023-10-23T21:13:00Z",
"estimatedLandingTime": "2023-10-23T21:13:00Z",
"estimatedTaxiInTime": "10",
"estimated": "2023-10-23T21:13:00Z",
"arrivalFlightStatus": "Operated",
"minimumTurnAroundTime": "30",
"scheduledInBlockTime": "2023-10-23T21:13:00Z",
"scheduledInBlockDate": "2023-10-23",
"scheduledLandingTime": "2023-10-23T21:13:00Z",
"scheduled": "2023-10-23T21:13:00Z",
"zoningTime": "2023-10-23T21:13:00Z",
"nextInformationTime": "2023-10-23T21:13:00Z",
"onFinalsTime": "2023-10-23T21:13:00Z",
"probableTime": "2023-10-23T21:13:00Z",
"probableCode": "S"
},
"plan": {
"airportArrivalSlotTime": "2023-10-23T21:13:00Z",
"arrivalOrDeparture": "A",
"flightPlanId": "12234567",
"turnaroundTargetTakeOffTime": "2023-10-23T21:13:00Z",
"standardInstrumentDepartureRoute": "SANBA1Y",
"standardTerminalArrivalRoute": "SANBA1Y"
},
"flight": {
"departureAirport": "EGAA",
"destinationAirport": "EGCC",
"flightIdAODB": "18789681",
"flightTypeIATA": "22",
"flightType": "F",
"departureAirportIATA": "BFS",
"destinationAirportIATA": "MAN",
"flightIdIATA": "EZY708",
"ATCflightId": "EZY708",
"sector": "D",
"commonTravelArea": "CTA",
"terminal": "T1",
"stand": "10",
"gate": "54",
"gateDescription": "GATE 54 (T3)",
"diversionAirportICAO": "BFS",
"codeshares": [
{
"codeshareAirlineIATA": "MH",
"codeshareFlightNumber": "1234"
}
],
"delays": [
{
"delayCode": "PS"
}
],
"flightSteps": [
{
"airportIATACode": "BLQ",
"airportICAOCode": "LIPE"
}
],
"lastUpdated": 1078742623
},
"passenger": {
"localPassengers": "125",
"passengerTransferToFlightCount": "25",
"bagTransferToFlightCount": "25",
"prmCount": "5"
},
"baggage": {
"beltFirstBagTarget": "2023-10-23T21:13:00Z",
"beltLastBagTarget": "2023-10-23T21:13:00Z",
"beltFirstBag": "2023-10-23T21:13:00Z",
"beltLastBag": "2023-10-23T21:13:00Z",
"baggageClaimUnitName": "7A",
"baggageChutes": "[\"12\", \"13\"]"
},
"resources": {
"handler": [
{
"handlerName": "Swissport",
"handlerServiceType": "Passenger"
}
],
"cancelDisplay": "true",
"cancelPublicDisplay": "true",
"remarks": [
{
"remarkType": "Hall",
"remarkText": "Desks Open At 10:50"
}
],
"areaText": {
"area": "2",
"lineNo": "1",
"special": "3",
"text": "CHECK",
"inhibit": "3"
}
},
"event": {
"magAirport": "MAN",
"eventId": "1923756",
"eventType": "AODB Data Update",
"humanNarrative": "Data update from AODB",
"machineNarrative": "Update from flight_events topic",
"ruleId": "1"
}
}
Each integration will have a Topic created for that specific use case. All communications to the Kafka topics will be TLS via Certificate Auth and with IP Whitelisting.
Our SLA’s for this service are as follows:
Availability/Limited Resilience (Target 93.54% - Restoration 48 hrs)
Manual failover or system rebuild
Maximum data loss 60 hours
1.09 Initial Release