OrderCreate Functional Capabilities
OrderCreate Request
The OrderCreateRQ web service provides the ability to book flights and seats as selected by the user. This service enables you to pay and create an Order for the selected flight offer or/and seat or/and ancillaries. The OrderID with other details are returned in the OrderViewRS.
The OrderCreate service can be used in below two scenarios:
- Instant purchase: The ability for users to pay and confirm in the OrderCreateRQ transaction. The service accepts payment (card or cash or other FOPs as supported by carriers), creates a booking, and issues e-tickets. The service can also be used to purchase seats or other available ancillaries.
- Hold booking: The ability for users to create a booking without making a payment in the OrderCreateRQ transaction. The service checks if the user is eligible to create a held booking and if eligible it creates a booking.
OrderCreateRQ Input and Details
Corporate Contract Number (CCN)It is not required to pass this in the request. This is processed internally and applied during itinerary pricing.
Normal Tariff Passenger (NTP)It is not required to pass this in the request. This is processed internally and applied during itinerary pricing.
FQTVSupported in OrderCreateRQ:/OrderCreateRQ/DataLists/PassengerList/Passenger/LoyaltyProgramAccount
Language CodeProvide the language code in /OrderCreateRQ/Parameters/Languages/LanguageCode. If the language code is not provided in the request, then English is the default language.
Country CodeProvide the country code in /OrderCreateRQ/PointOfSale/Location/CountryCode.
Currency CodeProvide the currency code in /OrderCreateRQ/Parameters/CurrCodes/FiledInCurrency/CurrCode.
Cabin TypeThe below cabin types are supported:
- M = Economy
- W = Premium Economy
- C = Business
Number of PassengersA maximum of 9 passengers is supported, and the request needs at least 1 ADT passenger. The number of infants cannot be greater than adult passengers.
Passenger Type CodeADT, CHD, YTH, and INF are supported.
Form Of Payment
- NDC 2017.2 OrderCreateRQ supports Credit Card and Cash
- XPath to pass payment is /OrderCreateRQ/Query/Payments/Payment
- Cash (CA) FOP is supported
Multiple EmailsNDC 2017.2 OrderCreateRQ supports a single email ID.
OrderCreateRQ has various use cases with/without seat and ancillaries options:
-
To submit a flight booking request in OrderCreateRQ (take
OfferID
andOfferItemID
for flights only from OfferPriceRS):- /OrderCreateRQ/Query/Offer/@OfferID (retrieved from the previous OfferPriceRS)
- /OrderCreateRQ/Query/Offer/@Owner (retrieved from the previous OfferPriceRS)
- /OrderCreateRQ/Query/Offer/@ResponseID (retrieved from the previous OfferPriceRS)
- /OrderCreateRQ/Query/Offer/TotalOfferPrice (retrieved from the previous OfferPriceRS)
- /OrderCreateRQ/Query/Offer/TotalOfferPrice/@Code (retrieved from the previous OfferPriceRS)
- /OrderCreateRQ/Query/Offer/OfferItem/@OfferItemID (retrieved from previous OfferPriceRS)
- /OrderCreateRQ/Query/Offer/OfferItem/PassengerRefs (retrieved from the previous OfferPriceRS)
<Query>
<Offer OfferID="R1QG1VYDKP-OfferID" Owner="YY" ResponseID="YY-2985803686064207509">
<TotalOfferPrice Code="USD">537.60</TotalOfferPrice>
<OfferItem OfferItemID="HZPY0W2D92-OfferItemID-1">
<PassengerRefs>Pax01 Pax02</PassengerRefs>
</OfferItem>
<OfferItem OfferItemID="P9L5CC2T6Z-OfferItemID-2">
<PassengerRefs>Pax03</PassengerRefs>
</OfferItem>
</Offer>
-
To submit an ancillary, purchase request in OrderCreateRQ:
- /OrderCreateRQ/Query/Offer/@OfferID (retrieved from ServiceListRS)
- /OrderCreateRQ/Query/Offer/@Owner (retrieved from ServiceListRS)
- /OrderCreateRQ/Query/Offer/@ResponseID (retrieved from ServiceListRS)
- /OrderCreateRQ/Query/Offer/OfferItem/@OfferItemID (retrieved from ServiceListRS)
- /OrderCreateRQ/Query/Offer/OfferItem/PassengerRefs (retrieved from ServiceListRS)
<Offer OfferID="J7IR8KXGT4-OfferID-23" Owner="YY" ResponseID="YY-2985803686064207509">
<!--This is only for Ancillaries. This offer details are from ServiceList RS.-->
<OfferItem OfferItemID="RISJQRR3QP-OfferItemID-45">
<PassengerRefs>Pax01 Pax02</PassengerRefs>
</OfferItem>
<OfferItem OfferItemID="H3Q6S4Y6PE-OfferItemID-46">
<PassengerRefs>Pax03</PassengerRefs>
</OfferItem>
<OfferItem OfferItemID="RISJQRR3QP-OfferItemID-45">
<PassengerRefs>Pax01 Pax02</PassengerRefs>
</OfferItem>
<OfferItem OfferItemID="H3Q6S4Y6PE-OfferItemID-46">
<PassengerRefs>Pax03</PassengerRefs>
</OfferItem>
</Offer>
-
To submit a seat purchase request in OrderCreateRQ:
- /OrderCreateRQ/Query/Offer/@OfferID (retrieved from SeatAvailabilityRS)
- /OrderCreateRQ/Query/Offer/@Owner (retrieved from SeatAvailabilityRS)
- /OrderCreateRQ/Query/Offer/@ResponseID (retrieved from SeatAvailabilityRS)
- /OrderCreateRQ/Query/Offer/OfferItem/@OfferItemID (retrieved from SeatAvailabilityRS)
- /OrderCreateRQ/Query/Offer/OfferItem/PassengerRefs (retrieved from SeatAvailabilityRS)
- /OrderCreateRQ/Query/Offer/OfferItem/SeatSelection/Row (retrieved from SeatAvailabilityRS)
- /OrderCreateRQ/Query/Offer/OfferItem/SeatSelection/Column (retrieved from SeatAvailabilityRS)
<Offer OfferID="J7IR8KXGT4-OfferID-23" Owner="YY" ResponseID="YY-2985803686064207509">
<!--Outbound Seat. This is only for Seat Request. This offer details are from SeatAvailability RS.-->
<OfferItem OfferItemID="RISJQRR3QP-OfferItemID-45">
<PassengerRefs>Pax01</PassengerRefs>
<SeatSelection>
<Row>12</Row>
<Column>A</Column>
</SeatSelection>
</OfferItem>
<OfferItem OfferItemID="RISJQRR3QP-OfferItemID-55">
<PassengerRefs>Pax01</PassengerRefs>
</OfferItem>
<OfferItem OfferItemID="H3Q6S4Y6PE-OfferItemID-46">
<PassengerRefs>Pax03</PassengerRefs>
<SeatSelection>
<Row>12</Row>
<Column>B</Column>
</SeatSelection>
</OfferItem>
</Offer>
<Offer OfferID="J7IR8KXGT4-OfferID-33" Owner="YY" ResponseID="YY-2985803686064207509">
<!--Inbound Seat. This is only for Seat Request. This offer details are from SeatAvailability RS.-->
<OfferItem OfferItemID="RISJQRR3QP-OfferItemID-47">
<PassengerRefs>Pax01</PassengerRefs>
<SeatSelection>
<Row>23</Row>
<Column>A</Column>
</SeatSelection>
</OfferItem>
<OfferItem OfferItemID="H3Q6S4Y6PE-OfferItemID-48">
<PassengerRefs>Pax03</PassengerRefs>
<SeatSelection>
<Row>23</Row>
<Column>B</Column>
</SeatSelection>
</OfferItem>
</Offer>
Specific seat assignment The user can select specific (i.e., 18A, 33C) for each passenger in the Seat Selection section.
Generic seat assignment The user can select specific (i.e., ASPW Preferred window, ASPA Preferred aisle) for each passenger.
Identity Document This is used for passing Passport, Redress Number, US Alien Card, CA Resident Card, Nexus, Identity Card, VISA, and KnownTraveler Number information:/OrderCreateRQ/DataLists/PassengerList/Passenger/IdentityDocument
<IdentityDocument>
<IdentityDocumentNumber>CF12345w</IdentityDocumentNumber>
<IdentityDocumentType>Passport</IdentityDocumentType>
<IssuingCountryCode>US</IssuingCountryCode>
<CitizenshipCountryCode>US</CitizenshipCountryCode>
<ExpiryDate>2030-01-01</ExpiryDate>
<Birthdate>1988-05-05</Birthdate>
<Gender>Male</Gender>
<NameTitle>Mr</NameTitle>
<GivenName>John</GivenName>
<MiddleName>M</MiddleName>
<Surname>Smith</Surname>
<SurnameSuffix>Mister</SurnameSuffix>
</IdentityDocument>
<LoyaltyProgramAccount>...</LoyaltyProgramAccount>
<IdentityDocument>
<IdentityDocumentNumber>CF123456789</IdentityDocumentNumber>
<IdentityDocumentType>Redress Number</IdentityDocumentType>
</IdentityDocument>
<IdentityDocument>
<IdentityDocumentNumber>CF123456789</IdentityDocumentNumber>
<IdentityDocumentType>US Passport</IdentityDocumentType>
</IdentityDocument>
<IdentityDocument>
<IdentityDocumentNumber>CF123456789</IdentityDocumentNumber>
<IdentityDocumentType>US Alien Card</IdentityDocumentType>
</IdentityDocument>
<IdentityDocument>
<IdentityDocumentNumber>CF123456789</IdentityDocumentNumber>
<IdentityDocumentType>CA Resident Card</IdentityDocumentType>
</IdentityDocument>
<IdentityDocument>
<IdentityDocumentNumber>CF123456789</IdentityDocumentNumber>
<IdentityDocumentType>Nexus</IdentityDocumentType>
</IdentityDocument>
<IdentityDocument>
<IdentityDocumentNumber>CF123456789</IdentityDocumentNumber>
<IdentityDocumentType>Identity Card</IdentityDocumentType>
</IdentityDocument>
<IdentityDocument>
<IdentityDocumentNumber>CF123456789</IdentityDocumentNumber>
<IdentityDocumentType>Visa</IdentityDocumentType>
</IdentityDocument>
<IdentityDocument>
<IdentityDocumentNumber>987654321</IdentityDocumentNumber>
<IdentityDocumentType>Known Traveler Number</IdentityDocumentType>
</IdentityDocument>
Loyalty/Frequent Flyer Number – FQTV number/OrderCreateRQ/DataLists/PassengerList/Passenger/LoyaltyProgramAccount (to pass FQTV information)
<LoyaltyProgramAccount>
<Airline>
<AirlineDesignator>YY</AirlineDesignator>
</Airline>
<AccountNumber>456789012</AccountNumber>
</LoyaltyProgramAccount>
Other mandatory information should be included in the following XPaths:
- /OrderCreateRQ/Query/Payments/Payment
- /OrderCreateRQ/Query/DataLists/PassengerList/Passenger
- /OrderCreateRQ/Query/DataLists/ContactList/ContactInformation
OrderView Response
The OrderViewRS service includes a complete detail about created order for the requested offer:
- /OrderViewRS/Response/Order/@OrderID
- /OrderViewRS/Response/Order/BookingReferences/BookingReference/Type (displays Type like PNR)
- /OrderViewRS/Response/Order/BookingReferences/BookingReference/ID (displays the carrier PNR number)
The OrderItemID is created for each PTC type. If there are 2 ADT, 2 CHD, and 1 INF in the created order, then there should be one OderItemID for 2 ADT PTC, one OderItemID for 2 CHD PTC, and 1 OderItemID for INF (not seat occupied, infant on lap category) PTC. The INF PTC is always associated with an ADT PTC type.
The separate OrderItemIDs are created for flights, seats, and other ancillaries.
Example
2ADT, 2CHD, and 1INF on lap. Meal and lounge access for 2 ADT and 2 CHD. Seat assigned for 2 ADT and 2 CHD, but no seat for INF. The below OrderItemIds should be created for this example:
- Flight OrderItemID – for 2ADT
- Flight OrderItemID – for 2CHD
- Flight OrderItemID – for INF (price may be only taxes as defined by carriers)
- Seat OrderItemID – for first ADT (free seat price maybe 0 amount as defined by carriers)
- Seat OrderItemID – for second ADT
- Seat OrderItemID – for first CHD
- Seat OrderItemID – for the second CHD
- NO SEAT for INF
- Meal OrderItemID – for first ADT
- Meal OrderItemID – for the second ADT
- Meal OrderItemID – for first CHD
- Meal OrderItemID – for second CHD
- NO MEAL for INF
- Lounge OrderItemID – for first ADT
- Lounge OrderItemID – for second ADT
- Lounge OrderItemID – for first CHD
- Lounge OrderItemID – for second CHD
- NO Lounge for INF
The total price for the order and payment details displays in the below section:
- /OrderViewRS/Response/Order/TotalOrderPrice
- /OrderViewRS/Response/Order/Payments/Payment
The complete order details and ticket numbers display in the below section:
- /OrderViewRS/Response/Order/OrderItems/OrderItem
- /OrderViewRS/Response/TicketDocInfos
The DataLists
section displays other information which is linked to the order:
- /OrderViewRS/Response/DataLists/PassengerList
- /OrderViewRS/Response/DataLists/ContactList
- /OrderViewRS/Response/DataLists/BaggageAllowanceList
- /OrderViewRS/Response/DataLists/DisclosureList/Disclosures
- /OrderViewRS/Response/DataLists/FlightSegmentList
- /OrderViewRS/Response/DataLists/OriginDestinationList
- /OrderViewRS/Response/DataLists/PriceClassList/PriceClass
- /OrderViewRS/Response/DataLists/ServiceDefinitionList
- /OrderViewRS/Response/DataLists/TermsList
- /OrderViewRS/Response/Metadata/Other/OtherMetadata/CurrencyMetadatas/CurrencyMetadata