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.

FQTV
Supported in OrderCreateRQ:
/OrderCreateRQ/DataLists/PassengerList/Passenger/LoyaltyProgramAccount

Language Code
Provide 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 Code
Provide the country code in /OrderCreateRQ/PointOfSale/Location/CountryCode.

Currency Code
Provide the currency code in /OrderCreateRQ/Parameters/CurrCodes/FiledInCurrency/CurrCode.

Cabin Type
The below cabin types are supported:

  • M = Economy
  • W = Premium Economy
  • C = Business

Number of Passengers
A 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 Code
ADT, 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 Emails
NDC 2017.2 OrderCreateRQ supports a single email ID.

OrderCreateRQ has various use cases with/without seat and ancillaries options:

  1. To submit a flight booking request in OrderCreateRQ (take OfferID and OfferItemID 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)
Copy
Copied
<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>
  1. 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)
Copy
Copied
<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>
  1. 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)
Copy
Copied
<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

Copy
Copied
<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)

Copy
Copied
<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:

  1. Flight OrderItemID – for 2ADT
  2. Flight OrderItemID – for 2CHD
  3. Flight OrderItemID – for INF (price may be only taxes as defined by carriers)
  4. Seat OrderItemID – for first ADT (free seat price maybe 0 amount as defined by carriers)
  5. Seat OrderItemID – for second ADT
  6. Seat OrderItemID – for first CHD
  7. Seat OrderItemID – for the second CHD
  8. NO SEAT for INF
  9. Meal OrderItemID – for first ADT
  10. Meal OrderItemID – for the second ADT
  11. Meal OrderItemID – for first CHD
  12. Meal OrderItemID – for second CHD
  13. NO MEAL for INF
  14. Lounge OrderItemID – for first ADT
  15. Lounge OrderItemID – for second ADT
  16. Lounge OrderItemID – for first CHD
  17. Lounge OrderItemID – for second CHD
  18. 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