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

../_images/Deliver_booking.png

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:

  1. OrderItem with 1 Service for Pax1 and Flight1

  2. OrderItem with 1 Service for Pax2 and Flight1

  3. OrderItem with 1 Service for Pax1 and Flight2

  4. OrderItem with 1 Service for Pax2 and Flight2

  5. OrderItem with 1 Service for Pax1 and his Meal on Flight1

  6. 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).