Deliver booking
Workflow description
To create (or deliver) a booking to the airline, the client must send an IATA_ServiceDeliveryNotifRQ message. In this request the client can transmit flights, passengers and ancillaries (optional) in a single message.
This service is used to create a booking with or without ancillaries, and can replace the PNL delivery process. The same service is used to amend bookings or send updates. Delivery can be repeated at any time or multiple times without any risk of creating duplicates. On re-delivery of a booking actions will only be performed if changes are detected.
The request must contain all relevant details of the client’s booking
Flights
Fill itinerary details, including departure times and flight number
Please note: Arrival times are optional, but depending on the airline, they must be added to ensure a secure booking process. Please stay in contact with your airline partner to ensure safe and complete requests.
Passengers
Passenger type (PTC)
Passenger name
Additional information (e.g. genger, date of birth) may be required by the airline
Contacts
At least the primary contact must be provided
Optionally the client can add ancillaries to the request:
Seat
Seat number (Column + Row)
Service
Service code
For more details on the message structure and usage of the messages, please refer to the Workflow samples.
Message Flow
Additional Information
For clarification, this chapter will focus on some of the NDC specific details.
The first and most important thing, that always causes lots of confusion, is the core message from IATA “everything is a service”.
This means, that in NDC a “Service” doesn’t only represent an SSR, but everything, that is present on the booking, including flights.
This also means, that in the ServiceDeliveryNotif, there have to be OrderItems (which then include the Services) for every part of the booking. To have a sample: If there is a booking that includes inbound and outbound flight, 2 passengers and an extra Meal for each passenger, you would have 6 OrderItems (including a total of 6 Services), that link the passengers to their assigned “Services”.
So there would be:
OrderItem with 1 Service for Pax1 and Flight1
OrderItem with 1 Service for Pax2 and Flight1
OrderItem with 1 Service for Pax1 and Flight2
OrderItem with 1 Service for Pax2 and Flight2
OrderItem with 1 Service for Pax1 and his Meal on Flight1
OrderItem with 1 Service for Pax2 and his Meal on Flight1
Request parameters
Cabin Type
Inside the element “PaxSegment” of IATA_ServiceDeliveryNotifRQ, the client can specify the cabin type (compartment).
<CabinType>
<CabinTypeCode>Y</CabinTypeCode>
<CabinTypeName>Economy</CabinTypeName> <!-- optional -->
</CabinType>
Response
The API will reply with the IATA_Acknowledgement response, which includes a status code and message (optional).
The following status codes can be returned by the API:
OK
The booking was successfully created with all the provided content in the airline reservation system
ERROR
A critical error occured, which prohibited the order from being created
This status will be returned for all errors related to flights and passengers
PARTLY
A non-critical error occured (e.g. seat could not be booked), but the order has been created
This status will be returned for errors solely linked to ancillaries
When “PARTLY” is returned by the API, we recommend to retrieve the order using the IATA_OrderRetrieveRQ message (see Retrieve an existing booking).