Skip to main content

NDC IT OrderCreate

Air
Booking
REST API
Airline Carrier
Travel Agency
Try Now

What is it?

The OrderCreate API is used to book flights returned within a New Distribution Capability (NDC) offer. It performs the final booking for the chosen offer and triggers creating a new order.

This service can be used to create an order for

  • single or multiple passengers
  • one way, roundtrip, or multi-city flights
  • open jaw itineraries
  • codeshare, and/or interline flights

Sellers can create an order and pay either instantly in the OrderCreate flow or choose to pay later.

Why use it?

The OrderCreate API is used after the seller completes an offer search and confirms the real-time price and availability with the offer services. Along with passenger information, a list containing the Offer ID and Offer Item IDs is sent to create an order.

This service ensures booking, payment, and fulfillment of the selected traveler services.

It enables the booking capability of New Distribution Capability (NDC) offers.

How it works

The OrderCreate service is used to create an order for single and multiple passengers for one way, return, multi-destinations, codeshare, interlines, and open-jaw itineraries.

Once an OrderCreate request is sent, an order including all fares, prices, services, restrictions, disclosures, and penalty details available in the selected offer along with the passenger details (i.e. name (mandatory), contact details (if provided), identity document details (if provided)) is created.

OrderCreate is dependent on a sellable offer in the OfferPriceRS. The response to an OrderCreate request is an OrderView response.

To create an order, complete the following steps:

  1. Perform a mandatory air offer booking using the AirShopping and OfferPrice services.

  2. Include the OfferRefID in the OrderCreate request, along with the passenger’s name. Other passenger information can be added to the order during creation, with the following supported data elements:

    • Telephone numbers
    • Email address
    • Identity document (Passport, driver’s license etc.)
    • Postal address
  3. Provide the payment information if the airline requires an instant payment or if the travel buyer wishes to pay right away.

  4. Receive a response to the OrderCreate request in the form of an OrderView response with the OrderID and order details.

How to use

POST /v21_3/orders/create

Request: IATA_OrderCreateRQ

Response: IATA_OrderViewRS

The following code snippet demonstrates a sample order create request, with the mandatory OfferRefID, OfferItemRefID, OwnerCode, and Individual details.`

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IATA_OrderCreateRQ xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage"
                    xmlns:ns2="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"
                    xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
  <!-- Distribution Chain -->
  <Request>
    <ns2:CreateOrder>
      <ns2:AcceptSelectedQuotedOfferList>
        <ns2:SelectedPricedOffer>
          <ns2:OfferRefID>offerReferenceID</ns2:OfferRefID>
          <ns2:OwnerCode>X0</ns2:OwnerCode>
          <ns2:SelectedOfferItem>
            <ns2:OfferItemRefID>offerItemReferenceID</ns2:OfferItemRefID>
            <ns2:PaxRefID>passengerReferenceID</ns2:PaxRefID>
          </ns2:SelectedOfferItem>
        </ns2:SelectedPricedOffer>
      </ns2:AcceptSelectedQuotedOfferList>
    </ns2:CreateOrder>
    <ns2:DataLists>
      <ns2:PaxList>
        <ns2:Pax>
          <ns2:ContactInfoRefID>PAX1</ns2:ContactInfoRefID>
          <ns2:Individual>
            <ns2:Birthdate>Birthdate</ns2:Birthdate>
            <ns2:GenderCode>M</ns2:GenderCode>
            <ns2:GivenName>givenName</ns2:GivenName>
            <ns2:MiddleName>middleName</ns2:MiddleName>
            <ns2:Surname>surName</ns2:Surname>
            <ns2:TitleName>Mr</ns2:TitleName>
          </ns2:Individual>
          <ns2:PaxID>passengerID</ns2:PaxID>
          <ns2:PTC>passengerTypeCode</ns2:PTC>
        </ns2:Pax>
      </ns2:PaxList>
    </ns2:DataLists>
  </Request>
</IATA_OrderCreateRQ>

Additionally, we can add the contact details such as email address, phone number, and postal address while creating an order.

<ns2:ContactInfoList>
  <ns2:ContactInfo>
    <ns2:ContactInfoID>contactID</ns2:ContactInfoID>
    <ns2:EmailAddress>
      <ns2:ContactTypeText>EmailAddress</ns2:ContactTypeText>
      <ns2:EmailAddressText>passenger@email.com</ns2:EmailAddressText>
    </ns2:EmailAddress>
    <ns2:Phone>
      <ns2:AreaCodeNumber>areaCode</ns2:AreaCodeNumber>
      <ns2:ContactTypeText>HomePhone</ns2:ContactTypeText>
      <ns2:CountryDialingCode>countryCode</ns2:CountryDialingCode>
      <ns2:ExtensionNumber>012</ns2:ExtensionNumber>
      <ns2:PhoneNumber>123456789</ns2:PhoneNumber>
    </ns2:Phone>
    <ns2:PostalAddress>
      <ns2:BuildingRoomText>addressDetails</ns2:BuildingRoomText>
      <ns2:CityName>cityName</ns2:CityName>
      <ns2:ContactTypeText>HomeAddress</ns2:ContactTypeText>
      <ns2:CountryCode>countryText</ns2:CountryCode>
      <ns2:CountryName>countryName</ns2:CountryName>
      <ns2:CountrySubDivisionName>SubDivision</ns2:CountrySubDivisionName>
      <ns2:PO_BoxCode>postOfficeCode</ns2:PO_BoxCode>
      <ns2:PostalCode>postalCode</ns2:PostalCode>
      <ns2:StreetText>streetDetails</ns2:StreetText>
    </ns2:PostalAddress>
  </ns2:ContactInfo>
</ns2:ContactInfoList>

Also, details of the identity document(s) of the passenger can be added.

<ns2:IdentityDoc>
  <ns2:Birthdate>birthdate</ns2:Birthdate>
  <ns2:BirthplaceText>birthplace</ns2:BirthplaceText>
  <ns2:CitizenshipCountryCode>citizenshipCountryCode</ns2:CitizenshipCountryCode>
  <ns2:ExpiryDate>documentExpiryDate</ns2:ExpiryDate>
  <ns2:GenderCode>M</ns2:GenderCode>
  <ns2:IdentityDocID>documentID</ns2:IdentityDocID>
  <ns2:IdentityDocTypeCode>documentTypeCode</ns2:IdentityDocTypeCode>
  <ns2:IssueDate>issueDateofDocument</ns2:IssueDate>
  <ns2:ResidenceCountryCode>residenceCountryCode</ns2:ResidenceCountryCode>
  <ns2:SuffixName>firstName</ns2:SuffixName>
  <ns2:Surname>surName</ns2:Surname>
  <ns2:TitleName>Mr</ns2:TitleName>
</ns2:IdentityDoc>

Note: All endpoints accept NDC XML format.