Service Description
asrv.aero
Flight Data Request Service v 2.0
Namespace: http://www.asrv.aero/webservices/2.0/FlightDataRequestService/
Document revisions
Date | Description | Author |
---|---|---|
2022-06-14 | Corrected operation list in "Service facts" | |
2022-04-18 | Added LastUpdatedTimestamp to FlightLegMetadata. | |
2022-02-04 | First complete version of the documentation. |
1. Service facts
-
Name: FlightDataRequestService
-
Operations:
-
Service is accessed using HTTPS GET
-
Service security: Decided by implementation
-
Standard return codes are described here: Service Return Codes
2. Introduction
2.1. Overview
This service description defines one service with a set of operations to request flight leg oriented data. All flight related data elements are defined by the Airport Data Dictionary.
The service is primarily designed to meet the need of airport partners, but availability is the decision of the service provider.
There are a set of use cases that can be realized using the operations and data available, for example:
-
- Get basic flight leg data for arriving or departing flights for display on docking systems (GetBasicFlightDataInbound, GetBasicFlightDataOutbound).
- Get basic flight leg data to display in a mobile app to passengers (GetBasicFlightLegData).
- Get detailed flight leg data display on an operational web page (GetFlightLegData).
All operations use the same set of parameters to select the relevant flight legs. See Standard parameters for the request operations for a description. The data return is specific for the operations.
While the return data definition for one operation stay the same, the data returned related to one flight leg will change as time goes by. Initially only schedule data will be available. The data content should then steadily increase as the flight progresses, until it is as complete as the service provider can make it.
Version 2.n of FDRS is meant to be implemented as a REST service. Previous versions were SOAP based.
2.2. Implementation considerations
Any implementation of this service MUST use the XSD files provided here: XSDs
It is however up to the service provider which data elements to support, and how much data to return for requests spanning a long time period. To enable this most elements are optional. The reason for a service provider to not support all elements might be business rules related to data distribution, that it doesn't have the information, or that it wants to provide information in other (more restricted) ways.
Any service provider should make available documentation about the actual implementation, including:
-
- the address of the service.
- any limitations in the implementation.
- recommended and allowed polling intervals.
2.3. Purpose of this service description
This service description has the following purpose:
-
-
- Describe of service in enough detail for a service provider to implement it.
- Describe the service so that a client (of this service) developer can use it.
- Make available the XSD files necessary to implement and use the service.
- Make it possible for relevant people at airports, airlines, handlers and other aviation partners to understand the available functionality and then to decide if to implement/use it or not.
-
2.4. Intended readership
-
- IT architects
- Developers
- Business architects
- Interested parties in the aviation community
3. Service overview
The operations can retrieve the following types of data:
- Arriving flights
- Departing flights
- Flight leg (departure and arrival)
3.1. Standard parameters for the request operations
All request operations use the same parameters, only the results are different.
All parameters are optional.
All operations follow the same pattern: GetXXX( UniqueFlightLegId, FlightId, OperatingAirlineIATA, AirportIATA, hoursBefore, hoursAfter, startTime, endTime, onlyUpdatedAfter): YYYY
The semantics of each parameter are described in the table below.
Parameter | Comments |
---|---|
uniqueFlightLegId : UniqueFlightLegId |
Invalidates all other parameters if used. |
flightId : FlightId |
Ignored if UniqueFlightLegId is used. Return flight leg data with matching FlightId. |
operatingAirlineIATA : OperatingAirlineIATA |
Ignored if UniqueFlightLegId is used. Return flight leg data with matching OperatingAirlineIATA. |
airportIATA : AirportIATA |
Ignored if UniqueFlightLegId is used. Return flight leg data where
If missing, indicates that flight leg data for all airports supported by the provider should be returned. NB! Airports the flight leg was diverted from is included in the list of airports that is searched when trying to find relevant flight legs. This applies to flight leg and inbound operations. |
aircraftParkingPosition : AircraftParkingPosition |
Only return data for flight legs with this parking position.
|
hoursBefore : Count |
Ignored if UniqueFlightLegId or startTime/endTime is used. The number of hours before the current time for which data is wanted. What is compared to the current time can vary with implementations. It will typically be:
Default: 1 |
hoursAfter : Count |
The number of hours after the current time for which data is wanted. Default: 7 |
startTime : DateTimeUTC |
Ignored if UniqueFlightLegId is used. Invalidates hoursBefore/hoursAfter. Only flight leg data for flights with SOBT/SIBT or EOBT/EIBT after startTime is returned. Other times might be used depending on the implementation. See also "hoursBefore". |
endTime : DateTimeUTC |
Ignored if UniqueFlightLegId is used. Invalidates hoursBefore/hoursAfter. Default: startTime +24h Error if used without startTime. |
onlyUpdatedAfter : DateTimeUTC |
Only flight legs that have been updated after "onlyUpdatedAfter" is returned. |
- 200 OK - the request has succeeded.
- 400 Bad Request - The server will not process the request due to XML-schema validation error.
- 401 Unauthorized - The request has not been applied because it lacks valid authentication credentials.
- 403 Forbidden - The access is permanently forbidden and tied to the application logic, such as insufficient rights to a resource.
- 405 Method Not Allowed - The request method is known by the server but is not supported by the target resource (we only support HTTP POST).
- 500 Internal Server Error - The server encountered an unexpected condition that prevented it from fulfilling the request.
- 503 Service Unavailable - The server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded.
Different implementations might extend the set of return codes.
4. Service operations
4.1. GetBasicFlightLegData ( parameter list ) : BasicFlightLegDataResponse
Returns basic data (a simplified data set) about the set of flights legs that fit the parameter list.
Parameters:
See Standard parameters for the request operations for the possible parameters.
Returns:
4.2. GetBasicFlightDataOutbound( parameter list) : BasicFlightLegDataResponse
Returns basic data (a simplified data set) about the set of outbound flights that fit the parameter list.
Parameters:
See Standard parameters for the request operations for the possible parameters.
Returns:
4.3. GetBasicFlightDataInbound ( parameter list ) : BasicFlightLegDataResponse
Returns basic data (a simplified data set) about the set of inbound flights that fit the parameter list.
Parameters:
See Standard parameters for the request operations for the possible parameters.
Returns:
4.4. GetFlightLegData ( parameter list ) : FlightLegDataResponse
Returns data about the set of flights legs that fit the parameter list.
Parameters:
See Standard parameters for the request operations for the possible parameters.
Returns:
5. Data entities
5.1. BasicFlightLegData
BasicFlightLegData has basic information about the departure and the arrival of one flight leg. For more data, see FlightLegData.
|
5.2. BasicFlightLegDataResponse
|
|
5.3. BasicDepartureData
5.4. BasicArrivalData
|
|
5.5. BasicAircraftData
5.6. FlightLegData
FlightLegData has information about the departure and the arrival of one flight leg.
5.7. FlightLegDataResponse
|
|
5.8. AircraftData
5.9. ArrivalData
|
|
5.10. BaggageBinData
|
|
5.11. BaggageArrivalData
|
|
5.12. CheckInData
|
|
5.13. CodeshareData
|
|
5.14. DeIceData
5.15. DelayData
|
|
5.16. DepartureData
|
|
5.17. DisplayData
|
|
5.18. DiversionFromData
|
|
5.19. FlightLegMetadata
|
|
5.20. GateData
|
|
5.21. HandlerData
|
|
5.22. LinkedArrival
|
|
5.23. LinkedDeparture
|
|
5.24. RemarkData
|
|