Service Description
asrv.aero
Inbound Passenger Information Service - IPI
Until this note is removed the documentation is a work in progress, and revisions to the documentation will not be tracked.
Namespace: http://www.asrv.aero/webservices/1.0/InboundPassengerInformationService
Document revisions
Date | Description | Author |
---|---|---|
yyyy-mm-dd | First complete version of the documentation |
1. Introduction
Inbound Passenger Information Service is a service offered by an airport to an airline. The service makes it possible for airlines to give airports information about the passengers on an incoming flight. This in turn makes it possible for the airport to offer a better passenger experience, for example by simplifying the transfer process.
The passenger related information that shall be submitted for all incoming flights consists mainly of:
-
- Passenger names
- Travel documentation
- Baggage information
1.1. Abbriviations used
Abbriviation |
Description |
---|---|
DCS | Departure Control System |
FOID | Form of Identification |
IG | Implementation Guide |
IPI |
Inbound Passenger Information |
PCI DSS |
Payment Card Industry, Data Security Standard |
PRL | Passenger Reconcile List |
1.2. Overview
The service consist of two different operations:
-
-
- SetIPI - which is the preferred operation that should be used, as it forms a well defined and structured interface.
- SetIIPIFromPRL - which is an alternative operation than can be used by the airline. This operation allows the airline to submit the "PRL-string(s)" to the airport. However, this requires that the airline adheres to any implementaion guide for the PRL format used by the airport. Any implementation guide should clarify elements in RP1719b, restrict which options that may be used and define any optional elements in RP1719b as mandatory.
-
1.3. Design guidelines and requirements
1.3.1. PCI DSS must be fulfilled
Description:
It is a requirement that the interface makes it possible to fulfill the PCI DSS. Basically this means that masked credit card numbers must be used.
Considerd
Yes. The interface has support for masked credit card numbers.
1.3.2. Support for all relevant travel documentation
Description:
The interface must have support for validation of all relevant travel documentation. The following is used and must be supported:
-
-
-
- 2D bar code.
- Credit card (number)
- Other cards (feequent flier, co-branded, military)
- NFC
-
-
Considerd
Yes. All these types of travel documentation have been considered. Currently NFC can't be validated using this interface.
1.3.3. Interface must be general and support all airlines and all airports
Description:
The interface must be generic in a way so it can be used by any airline and be used to support all Avinor airports, and not only OSL.
Considerd
Yes. The SetIPI operation is generic and are not relying on any specific ailrine booking- or DCS-system. However, the operation SetIPIFromPRL and the reated Implementation Guide, has only been verified towards the Amadeus Altea DCS-system.
1.3.4. Interface should be simple to understand and use
Description:
The interface should be defined and documented in a way that as much as possible uses current airline nomenclature.
Considered:
Yes. The main elements and naming is taken from the set og IATA recommendation and recommended practices. However, when naming has been found unambigious, calrification have been introduced.
1.4. 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 to decide which data elements to actually update. As clients vary wildly in their capabilities most elements are optional
Any service provider should make available documentation about the actual implementation, including:
-
-
- the address of the service.
- any limitations in the implementation.
- any limitations on how often a client can use the service.
-
1.5. 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.6. 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 Inbound Passenger Information Service. The operations are described in detail in Service operations.
3. Service operations
3.1.1. SetIPI (TransData, InboundPassengerInformation): ResponseStatus
Sets information about inbound passengers on the arriving flight.
Parameters:
- TransData: Metadata about the transaction (this operation).
- InboundPassengerInformation: Contains:
- FlightLegIdentifier: Identifies the arriving flight
- InboundPassengerData [1..*]: Information about at least one passengers on the arriving flight and any checked baggage. All boarded passengers should be included.
Returns: ResponseStatus - See definition under "Data entities".
3.1.2. SetIPIFromPRL (TransData, prlData: String): ResponseStatus
Sets information about inbound passengers on the arriving flight.
Parameters:
- TransData: Metadata about the transaction (this operation).
-
prlData: String
XML string containing the PRL (Passenger Reconciliation List) data. The exact format of this string must be defined as part of the contract between the airport (server side) and the airline (client side), typically in a separate document.
Returns: ResponseStatus - See definition under "Data entities".
4. Data entities
4.1. BaggagePoolData
|
|
4.2. Bagtag
|
|
4.3. CardInfo
|
|
4.4. CheckedBaggageData
|
|
4.5. FlightLegIdentifier
|
|
4.6. InboundPassengerData
|
|
4.7. InboundPassengerInformation
|
|
4.8. PassengerData
|
|
4.9. PassengerName
|
|
4.10. ResponseStatus
|
|
4.11. TransData
|
|
4.12. TravelDocIdentifier
|
|
4.13. UnconformingBaggageIndicator
|
|
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.