Service Description
asrv.aero
Flight Data Request Service
Until this note is removed the documentation is a work in progress, and revisions to the documentation will not be tracked.
This space will always be the latest version, and will often be work in progress. Previous, stable versions, are listed below.
Namespace: http://www.asrv.aero/webservices/2.0/flightdatarequestservice
Document revisions
Date | Description | Author |
---|---|---|
yyyy-mm-dd | First complete version of the documentation |
Previous versions
Table of content
1. Introduction
1.1. Overview
This service description defines one service with a set of operations to request flight 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 arrival and departure data for display on docking systems (GetBasicFlightDataInbound, GetBasicFlightDataOutbound).
- Get turnaround data to enable third party A-CDM clients (GetTurnaroundData).
- Get flight leg data to display in a mobile app to passengers (GetFlightLegData).
- Get airport oriented data to display on the airports web pages (GetFlightDataInbound, GetFlightDataOutbound).
While the entity definitions stay the same, the data they contain related to one flight 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.
1.2. Implementation considerations
Any implementation of this service MUST use the WSDL and XSD files provided here: WSDL and 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.
1.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 WSDL and 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.
-
1.4. Intended readership
-
- IT architects
- Developers
- Business architects
- Interested parties in the aviation community
2. Service overview
The figure below shows the available operations on the FlightDataRequestService. The operations are described in detail in Service operations. All operations, apart from GetAlerts, have a basic and a full version. The "basic" version return a simplified data set and should be used where suitable to save processing power and bandwidth.
The operations can retrieve the following types of data:
- Arriving flights
- Departing flights
- Turnarounds (arriving and departing flights connected)
- Flight leg (departure and arrival)
- Alerts
3. Service operations
4. Data entities
5. XML Usage
5.1. Nil Values in Schema
For any particular data element, there is an important distinction between the following cases:
(a) the element is missing
(b) the element is present but has a 'nil' attribute assigned to it
In the first case, this means that the sender is supplying no information about the element. This would typically be because no information is available, or because there has been no change in the value of the element. A recipient would not be expected to take any action as a result of this. In particular, it would not be expected to clear any existing value.
In the second case, this means that the sender has explicitly cleared the element. As a result of this, a recipient would typically clear any value that it had previously stored for this element.
The following table shows an example sequence of messages, and the expected actions taken by the data recipient. It should be noted, however, that the action is up to the recipient. The message from the sender is a notification, and not a command for the recipient to take action.
Message contents |
Expected action by recipient |
---|---|
aircraftRegistration element missing |
Does not set or change aircraft registration value |
<aircraftRegistration>ABC123</aircraftRegistration> |
Sets the value to ABC123 |
aircraftRegistration element missing |
Does not change the value |
<aircraftRegistration xs:nil=’true’> |
Clears the aircraftRegistration value |
Note that the sender should not use blank data elements such as <aircraftRegistration/> or <aircraftRegistration></aircraftRegistration> as these may cause validation errors. For example, if the schema specifies a format or a minimum length for an element, then a zero-length element will be invalid. This problem does not occur if using the nil attribute.
Note - Where a field is defined as mandatory in the schema, it must not contain a nil value.