{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"QueryResponseType": {
"type": "object",
"title": "Top level object",
"description": "Top level object",
"additionalProperties": false,
"properties": {
"Result": {
"type": "object",
"title": "",
"description": "",
"additionalProperties": false,
"properties": {
"ProcessingTimeUtc": {
"type": "string",
"title": "",
"description": "The UTC processing time of this request, formatted as YYYY-MM-DDTHH:MM:SS"
},
"Version": {
"type": "string",
"title": "",
"description": "Current version of OAG Flight Status for JSON/XML",
"format": "ipv4"
},
"Host": {
"type": "string",
"title": "",
"description": ""
},
"Code": {
"type": "string",
"title": "",
"description": "Code returned from server. '0' indicates no error"
},
"Message": {
"type": "string",
"title": "",
"description": "Message from server; either # of flights returned, or details of error message."
},
"Flights": {
"type": "number",
"title": "",
"description": "Number of flights returned by the query."
}
},
"required": [
"ProcessingTimeUtc",
"Version",
"Host",
"Code",
"Message",
"Flights"
]
},
"Flights": {
"type": "array",
"title": "",
"description": "Flight data returned as an array.",
"items": {
"$ref": "#/definitions/FlightLegType"
}
}
},
"required": [
"Result"
]
},
"FlightLegType": {
"type": "object",
"title": "",
"description": "Top-level element describing a single flight",
"additionalProperties": false,
"properties": {
"FlightGuid": {
"type": [
"string",
"null"
]
},
"Acid": {
"$ref": "#/definitions/FlightAcidType"
},
"DepartureAirport": {
"title": "",
"description": "Departure airport of flight",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/AirportType"
}
]
},
"ArrivalAirport": {
"title": "",
"description": "Arrival airport of flight",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/AirportType"
}
]
},
"OriginationDate": {
"$ref": "#/definitions/DateTimeType"
},
"ScheduledDeparture": {
"$ref": "#/definitions/DateTimeType"
},
"ScheduledArrival": {
"$ref": "#/definitions/DateTimeType"
},
"Scheduled": {
"type": "boolean",
"title": "",
"description": "Boolean flag indicating whether or not this flight was scheduled."
},
"GeneralAviation": {
"type": "boolean",
"title": "",
"description": "Boolean flag indicating if this is a general aviation flight or not."
},
"Status": {
"type": "string",
"title": "",
"description": "Status of flight. For possible values see integration guide."
},
"DepartureScheduleStatus": {
"type": [
"string",
"null"
],
"title": "",
"description": "Departure schedule status as provided by the airline."
},
"ArrivalScheduleStatus": {
"type": [
"string",
"null"
],
"title": "",
"description": "Arrival schedule status as provided by the airline."
},
"DiversionStatus": {
"type": [
"string",
"null"
],
"title": "",
"description": "Indicator whether or not this flight was diverted. Reads as Diverted or Recovery. Original flight reads as empty string."
},
"DepDelayReason": {
"title": "",
"description": "Reason for departure delay as provided by the airline.",
"oneOf": [
{
"$ref": "#/definitions/DelayReasonCodes"
},
{
"type": "null"
}
]
},
"ArrDelayReason": {
"title": "",
"description": "Reason for departure delay as provided by the airline.",
"oneOf": [
{
"$ref": "#/definitions/DelayReasonCodes"
},
{
"type": "null"
}
]
},
"OperatingAcId": {
"$ref": "#/definitions/FlightAcidType"
},
"RegionalCarrier": {
"$ref": "#/definitions/AirlineType"
},
"FaaId": {
"title": "",
"description": "FAA Flight ID",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/FaaIdType"
}
]
},
"Codeshares": {
"type": [
"array",
"null"
],
"title": "",
"description": "Codeshare details for the flight, if any.",
"items": {
"$ref": "#/definitions/FlightAcidType"
}
},
"OutGate": {
"title": "",
"description": "Details about the OutGate time for this flight.",
"oneOf": [
{
"$ref": "#/definitions/OooiTimeType"
},
{
"type": "null"
}
]
},
"InAir": {
"title": "",
"description": "Details about the InGate time for this flight.",
"oneOf": [
{
"$ref": "#/definitions/OooiTimeType"
},
{
"type": "null"
}
]
},
"Landed": {
"title": "",
"description": "Details about the Landed time for this flight.",
"oneOf": [
{
"$ref": "#/definitions/OooiTimeType"
},
{
"type": "null"
}
]
},
"InGate": {
"title": "",
"description": "Details about the InGate time for this flight.",
"oneOf": [
{
"$ref": "#/definitions/OooiTimeType"
},
{
"type": "null"
}
]
},
"DepartureTerminal": {
"type": [
"string",
"null"
],
"title": "",
"description": "The departure terminal for this flight."
},
"DepartureGate": {
"type": [
"string",
"null"
],
"title": "",
"description": "The depature gate for this flight."
},
"CheckinCounter": {
"type": [
"string",
"null"
],
"title": "",
"description": "The check-in counter for this flight."
},
"ArrivalTerminal": {
"type": [
"string",
"null"
],
"title": "",
"description": "The arrival terminal for this flight."
},
"ArrivalGate": {
"type": [
"string",
"null"
],
"title": "",
"description": "The arrival gate for this flight."
},
"Baggage": {
"type": [
"string",
"null"
],
"title": "",
"description": "The baggage carousel identifier for this flight."
},
"ServiceType": {
"type": [
"string",
"null"
],
"title": "",
"description": "The IATA-defined service type for this flight."
},
"LegSequenceNumber": {
"type": "number",
"title": "",
"description": "Identifies which leg of a flight this is."
},
"NumLegs": {
"type": "number",
"title": "",
"description": "Number of legs for this flight."
},
"Aircraft": {
"type": [
"object",
"null"
],
"title": "",
"description": "Details on the aircraft for this flight.",
"additionalProperties": false,
"properties": {
"Code": {
"type": [
"string",
"null"
],
"title": "",
"description": "Equipment type for this flight."
},
"CodeNamespace": {
"$ref": "#/definitions/AircraftCodeNamespaceType"
},
"OptionalEquipment": {
"type": [
"string",
"null"
],
"title": "",
"description": "Optional description of aircraft."
},
"WeightClass": {
"type": [
"string",
"null"
],
"title": "",
"description": "Weight class for the aircraft."
},
"TailNumber": {
"type": [
"string",
"null"
],
"title": "",
"description": "Tail number for this flight."
}
},
"required": [
"Code",
"CodeNamespace"
]
},
"AlternateArrivalAirport": {
"title": "",
"description": "Alternate arrival airport for this flight, if diverted.",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/AirportType"
}
]
},
"AlternateDepartureAirport": {
"title": "",
"description": "Alternate departure airport for this flight, if this is the recovery leg.",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/AirportType"
}
]
},
"UplineInfo": {
"title": "",
"description": "Airport codes for previous flight legs of a multi-leg flight",
"oneOf": [
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/AirportPairType"
}
}
]
},
"DownlineInfo": {
"title": "",
"description": "Airport code for next flight legs of a multi-leg flight",
"oneOf": [
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/AirportPairType"
}
}
]
},
"AircraftPreviousFlightLeg": {
"title": "",
"description": "Details of the previous flight for this aircraft.",
"oneOf": [
{
"$ref": "#/definitions/PrevAcLegType"
},
{
"type": "null"
}
]
},
"RemainingTime": {
"type": [
"string",
"null"
],
"title": "",
"description": "Remaining time for this flight, as HH:MM:SS."
},
"ElapsedTime": {
"type": [
"string",
"null"
],
"title": "",
"description": "Elapsed time for this flight, as HH:MM:SS."
},
"ScheduledDuration": {
"type": [
"string",
"null"
],
"title": "",
"description": "Scheduled duration for this flight, as HH:MM:SS."
},
"Position": {
"$ref": "#/definitions/PlanePositionType"
},
"Map": {
"type": [
"string",
"null"
],
"title": "",
"description": "URL that will display a map of this flight."
},
"Route": {
"$ref": "#/definitions/RouteType"
}
},
"required": [
"FlightGuid",
"Acid",
"DepartureAirport",
"ArrivalAirport",
"OriginationDate",
"ScheduledDeparture",
"ScheduledArrival",
"Scheduled",
"GeneralAviation",
"Status",
"DepartureScheduleStatus",
"ArrivalScheduleStatus",
"DiversionStatus",
"DepDelayReason",
"ArrDelayReason",
"FaaId",
"Codeshares",
"OutGate",
"InAir",
"Landed",
"InGate",
"DepartureTerminal",
"DepartureGate",
"CheckinCounter",
"ArrivalTerminal",
"ArrivalGate",
"Baggage",
"ServiceType",
"LegSequenceNumber",
"NumLegs",
"Aircraft",
"AlternateDepartureAirport",
"AlternateArrivalAirport",
"UplineInfo",
"DownlineInfo",
"AircraftPreviousFlightLeg"
]
},
"FlightAcidType": {
"type": "object",
"title": "Flight ACID",
"description": "Aircraft identifier",
"additionalProperties": false,
"properties": {
"Airline": {
"$ref": "#/definitions/AirlineType"
},
"FlightNumber": {
"type": "string",
"title": "",
"description": "Flight number for commercial flight or tail # for GA flight"
},
"Suffix": {
"type": "string",
"title": "",
"description": "Scheduled flight ACID suffix. Only applicable to commercial flights."
}
},
"required": [
"FlightNumber"
]
},
"AircraftCodeNamespaceType": {
"type": "string",
"title": "",
"description": "",
"enum": [
"Iata",
"Icao"
]
},
"AirlineCodeNamespaceType": {
"type": "string",
"title": "",
"description": "Commercial flights only: operating airline code namespace as IATA or ICAO.",
"enum": [
"Iata",
"Icao"
]
},
"FaaIdType": {
"type": "object",
"title": "",
"description": "",
"properties": {
"Code": {
"type": "string",
"title": "",
"description": "Commercial flights only: operating airline code"
},
"CodeNamespace": {
"$ref": "#/definitions/AirlineCodeNamespaceType"
},
"FlightId": {
"type": "string",
"title": "",
"description": "Commercial flights: part of the call sign that follows operating airline code. General aviation: tail number"
}
}
},
"AirlineType": {
"type": "object",
"title": "",
"description": "",
"additionalProperties": false,
"properties": {
"Code": {
"type": "string",
"title": "",
"description": "Airline code namespace as IATA or ICAO."
},
"CodeNamespace": {
"$ref": "#/definitions/AirlineCodeNamespaceType"
},
"Name": {
"type": [
"string",
"null"
],
"title": "",
"description": "Airline name."
}
},
"required": [
"Code",
"CodeNamespace",
"Name"
]
},
"AirportLocationType": {
"type": "object",
"title": "",
"description": "",
"properties": {
"CityName": {
"type": "string",
"title": "",
"description": "Airport city."
},
"StateId": {
"type": "string",
"title": "",
"description": "Airport state"
},
"CountryId": {
"type": "string",
"title": "",
"description": "Airport country, as 2-letter ISO code."
}
}
},
"AirportCodeNamespaceType": {
"type": "string",
"title": "",
"description": "Airport code namespace as FAA, IATA or ICAO.",
"enum": [
"Faa",
"Iata",
"Icao"
]
},
"AirportType": {
"type": "object",
"title": "",
"description": "Description of the airport.",
"additionalProperties": false,
"properties": {
"Code": {
"type": "string",
"title": "",
"description": "Airport code."
},
"CodeNamespace": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/AirportCodeNamespaceType"
}
]
},
"Name": {
"type": "string",
"title": "",
"description": "Verbose name of airport."
},
"Location": {
"$ref": "#/definitions/AirportLocationType"
}
},
"required": [
"Code",
"CodeNamespace"
]
},
"AirportPairType": {
"type": "object",
"title": "",
"description": "",
"additionalProperties": false,
"properties": {
"DepAirportCode": {
"type": "string",
"title": "",
"description": "Departure airport code."
},
"DepCodeNS": {
"$ref": "#/definitions/AirportCodeNamespaceType"
},
"ArrAirportCode": {
"type": "string",
"title": "",
"description": "Arrival airport code."
},
"ArrCodeNS": {
"$ref": "#/definitions/AirportCodeNamespaceType"
}
},
"required": [
"DepAirportCode",
"DepCodeNS",
"ArrAirportCode",
"ArrCodeNS"
]
},
"DateTimeType": {
"type": "object",
"title": "",
"description": "Identifier of time stamp, either UTC or local.",
"additionalProperties": false,
"properties": {
"Utc": {
"type": [
"string",
"null"
],
"title": "",
"description": "UTC date time."
},
"Local": {
"type": [
"string",
"null"
],
"title": "",
"description": "Local date time."
}
}
},
"PrevAcLegType": {
"type": "object",
"title": "AircraftPreviousFlightLeg",
"description": "The sequence of the previous aircraft's flight leg.",
"additionalProperties": false,
"properties": {
"FlightId": {
"$ref": "#/definitions/FlightAcidType"
},
"ScheduledArrival": {
"$ref": "#/definitions/DateTimeType"
}
},
"required": [
"FlightId",
"ScheduledArrival"
]
},
"PlaneCoordinatesType": {
"type": "object",
"title": "Coordinates",
"description": "Coordinates of the plane in-flight.",
"additionalProperties": false,
"properties": {
"Latitude": {
"type": "object",
"title": "",
"description": "Latitude of plane as DD:MM.",
"additionalProperties": false,
"properties": {
"Angle": {
"type": "string",
"title": "",
"description": ""
},
"Direction": {
"type": "string",
"title": "",
"description": "Cardinal direction of latitude of plane, as North South East or West"
}
},
"required": [
"Angle",
"Direction"
]
},
"Longitude": {
"type": "object",
"title": "",
"description": "Longitude of plane as DD:MM.",
"additionalProperties": false,
"properties": {
"Angle": {
"type": "string",
"title": "",
"description": "Angle of flight in DD:MM:SS."
},
"Direction": {
"type": "string",
"title": "",
"description": "Cardinal direction of longitude of plane, as North South East or West"
}
},
"required": [
"Angle",
"Direction"
]
}
},
"required": [
"Latitude",
"Longitude"
]
},
"PlanePositionType": {
"type": [
"object",
"null"
],
"title": "",
"description": "",
"additionalProperties": false,
"properties": {
"Altitude": {
"type": [
"string",
"null"
],
"title": "",
"description": ""
},
"Speed": {
"type": [
"string",
"null"
],
"title": "",
"description": "Speed of flight in MPH."
},
"Heading": {
"type": [
"string",
"null"
],
"title": "",
"description": "Heading of flight in degrees."
},
"Coordinates": {
"$ref": "#/definitions/PlaneCoordinatesType"
}
}
},
"RouteType": {
"type": [
"object",
"null"
],
"title": "",
"description": "Description of flight path.",
"additionalProperties": false,
"properties": {
"OriginalFlightPlan": {
"type": "string",
"title": "",
"description": "Flight plan reported by airline, as ICAO designators and fixes"
},
"AmendedFlightPlan": {
"type": "string",
"title": "",
"description": "Amended flight plan."
},
"Coordinates": {
"type": "array",
"title": "",
"description": "Coordinates of flight.",
"items": {
"$ref": "#/definitions/PlaneCoordinatesType"
}
}
}
},
"DelayReasonCodes": {
"type": "array",
"title": "",
"description": "Delay reason code as reported by airline.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"Code": {
"type": "number",
"title": "",
"description": "IATA delay reason code."
},
"Subcode": {
"type": "string",
"title": "",
"description": "IATA-defined delay reason subcode."
}
},
"required": [
"Code"
]
}
},
"OooiTimeType": {
"type": "object",
"title": "",
"description": "Set of components for each of the OOOI times: OutGate, InAir, Landed and InGate.",
"additionalProperties": false,
"properties": {
"Accuracy": {
"type": "string",
"title": "",
"description": "Descriptor of the precision of the time, estimated or actual",
"enum": [
"Estimated",
"Actual"
]
},
"DateTimeUtc": {
"type": "string",
"title": "",
"description": "UTC DateTime stamp as YYYY-MM-DDTHH:MMz, wth time in 24-hour format."
},
"DateTimeLocal": {
"type": "string",
"title": "",
"description": "Local DateTime stamp as YYYY-MM-DDTHH:MMz, with time in 24-hour format."
},
"SourceType": {
"type": "string",
"title": "",
"description": "Origin of DateTime data.",
"enum": [
"AirlineData",
"FlightViewData"
]
}
},
"required": [
"Accuracy",
"DateTimeUtc",
"DateTimeLocal",
"SourceType"
]
}
}
}
C:\LocalFv\Fv\Doc\JSON\FlightStatus.schema.json (1:2)