OrderCreate

1.1 Functional Description

version 2.55 - R2019.13

The OrderCreate service generates a booking for the supplied itinerary and passenger details, returning an OrderID.

Subject to the offers conditions a time limit may be offered or instant purchase may be required.

The payment methods available are Card (Visa and MasterCard) payment and Cash payment.

Although the Order Create service is stateless it is assumed that in most cases it will be called as part of a specific sequence such as:

  • AirShopping
  • FlightPrice
    • SeatAvailability (if Seat selection is required)
    • BaggageList (if pre-purchased excess baggage is required)
  • OrderCreate

Advanced Passenger Information System ( APIS ) is in development.

Functionality: 

OrderCreate.zip message examples

Basic:

The reservation can be made with or without payment subject to the Offer rule (the OfferPrice/FlightPrice will indicate this). If a payment is not included, and the rule permits it, you will have the PaymentTimeLimit returned in the OrderViewRS.

Resident Discount:

It will give the possibility to create orders with Resident Discount, also applicable to the Large Family Discount. It is implemented for Canary Islands, Balearic Islands and Melilla and only with POINT OF SALE SPAIN.

To obtain the discount, the flight has to have an Origin/Destination airport included in this modality.

The types of residents are:

  • RC (Residente Canarias).
  • BP (Residente Baleares).
  • RM (Residente Melilla).
  • BI (Para en interior de Baleares).
  • DC (Para el interior de Canarias).

There are some restrictions in resident discount.

All the resident discount must been selling in spain market.  
Can't be two types of resident discount in the same reserve.  
The routes of the trip must have the departure or arrival in once of the cities of the resident discount.

Large Family Discount:  

It will give the possibility to create orders with Large Family Discount, also applicable to the Resident Discount. Implemented to National flights only in SPAIN.

The types of residents are:

  • F1 (General Discount - 3 children).
  • F2 (Special Discount - More than 3 children).

There are some restrictions in large family discount:

All the large familydiscount must been selling in spain market.  
Can't be two types of large familydiscount in the same reserve.

Payments Methods:

Reservations can be made with this payment methods:

  • Cash
  • Credit Card

Also, it is possible to create an order without payment. To issue the tickets and EMDs, we need to call AirDocIssue service to pay the order we created without payment.

Special Needs

It will give the possibility to obtain flights with Special Needs. It is implemented for:

  • BLND (Blind)
  • DEAF (Deaf Passenger)
  • DPNA (Disabled Passenger)
  • ESAN (Emotional Support Animal)
  • SVAN (Service Animal)
  • WCHR (Wheelchair for Ramp)
  • WCHS (Wheelchair for Steps)

Phone Contact

It will give you the possibility to accept telephone numbers of less than 9 characters with the country code separately. It is implemented to:

  • Several passengers with / without country code.

  • Several passengers with emergency contact with / without country code.

  • Agency contact with / without country code.

  • Payer data with / without country code

 

Restrictions for the baggages’ selection:
The maximum quantity of selected baggages can't be greater than indicated in the response of the BaggageList service.The baggage can't be selected for passengers whose references have not been returned in the BaggageList service.

Restrictions for the seats’ selection:
The seat can't be selected for passengers whose references have not been returned in the ServiceAvailability service. 


(version 2.38) Bug fixes and Performance Improvements.

(version 2.23)Example validation of the currency we sell with the point of sale currency. This information will be optional.

    
    <Metadata>
        <Other>
            <OtherMetadata>
                <CurrencyMetadatas>
                    <CurrencyMetadata MetadataKey="EUR">
                    <Decimals>2</Decimals>
                    </CurrencyMetadata>
                </CurrencyMetadatas>
            </OtherMetadata>
        </Other>
    </Metadata>
        
    

( version 2.20)Associate infants to any adult passenger.

(version 2.19)Emergency Contact.

The emergency contact can be informed in contacts of each passenger. In the case that we don't want informed, this tag <Contact ContactType="Emergency" /> must be filled empty. 

    
<Passengers>
    <Passenger ObjectKey="ADULT_01">
    <PTC>PassengerType (ADT)</PTC>
    <Age>
        <BirthDate>PassengerBirthDate(AAAA-MM-DD)</BirthDate>
    </Age>
    <Name>
        <Surname>PassengerName</Surname>
        <Given>PassengerSurname</Given>
    </Name>
    <Contacts>
        <Contact ContactType="Emergency">
            <PhoneContact>
                <Number>612345678</Number>
            </PhoneContact>
            <Name>
                <Surname>Surname</Surname>
                <Given>Name</Given>
            </Name>
        </Contact>
    </Contacts>
    <Remarks>
        <Remark>RelationshipContact</Remark>
    </Remarks>
    </Passenger>
</Passengers>
    

Agency Contact:

Added agency contact data in Order Create. Agency contact data is mandatory

    
<Party>
<Sender>
    <TravelAgencySender>
        <Name>Agency Name</Name>
        <Contacts>
            <Contact>
            <EmailContact>
                <Address>agencymail@example.com</Address>
            </EmailContact>
            <PhoneContact>
                <Application>MOBILE</Application>
                <Number>123456789</Number>
            </PhoneContact>
            <Name>
                <Surname>Surname</Surname>
                <Given>John</Given>
            </Name>
            </Contact>
        </Contacts>
        <IATA_Number>78224285</IATA_Number>
        <AgencyID>logitravel</AgencyID>
    </TravelAgencySender>
</Sender>
</Party>
    

ServiceFee:   
 

The associated Service Fee to Resident and Large Family reserves must be provided as a special payment method. To identify this situation the payment method is of Other type with a Remarks with the ServiceFee value. The ServiceFee amount given to us is passed directly to Fomento.

    
<Payment>
    <Method>
    <Other>
        <!-- The suitable type is Other. -->
        <Remarks>
            <Remark>ServiceFee</Remark>
            <!-- As a remark information we must provide the ServiceFee value. -->
        </Remarks>
    </Other>
    </Method>
    <Amount Code="EUR">10.00</Amount>
    <Associations>
    <Passengers>
        <PassengerReference>CHILD_01</PassengerReference>
    </Passengers>
    </Associations>
</Payment>
    

 

EndPoints:

 

HTTP Headers

api_key Your unique key used to authorize access to the API. Yes n/a
Legend

(plus) New or modify field

1.2 Request Body

NAME

DESCRIPTION

FORMAT

ALLOWED VALUES

MANDATORY FOR
PrimaryLangID Specifies preferred language by the agency 2 alphabetic any
Version The IATA version of the message numeric any Schema
<PointOfSale>

Location / CountryCode

Country code

alphabetic

List of countries

NDC Mandatory if toggle feature for market validation is activated.
<Document> Schema

ReferenceVersion 

The IATA Schema version.

alphanumeric

any


<Party / Sender / TravelAgencySender> Schema

IATA_Number

Sender IATA or Pseudo IATA number

numeric

7/8 numbers

NDC Mandatory

AgencyID

Agency identification

alphanumeric

any

Schema
Name Agency Name alphanumeric any
<Party / Sender / TravelAgencySender / Contacts / Contact>Mandatory for schema if 'Contacts' tag is indicated.
EmailContact / Address Email to contact the Agency alphanumeric any Mandatory for schema if 'EmailContact' tag is indicated.
PhoneContact / Application Agency phone type alphabetic
  • BUSINESS
  • MOBILE

PhoneContact / Number

Attribute

CountryCode

Country code phone number to contact the Agency alphanumeric any
Name / Surname Reference Agency contact surname alphanumeric any Mandatory for schema if 'Name' tag is indicated.
Name / Given Reference Agency contact given alphanumeric any
<Party / Participants>

Participants / Participant

Attribute

SequenceNumber

Number of aggregator secuency connection numeric any
Participant / AggregatorID Aggregator ID of the participant which is connecting numeric 7/8 numbers Mandatory for schema if 'Participants' tag is indicated.
<Query> Schema
< Query / Passengers / Passenger > NDC Mandatory

Passenger

Attribute

ObjectKey

Passenger Object Key. This value is used as the passenger identifier passenger references as example:

  • ADULT_01
  • ADULT_02
  • CHIILD_01
  • INFANT_01

alphanumeric

any

NDC Mandatory
PTC Passenger Type Code 3 alpha Passenger Types
PassengerAssociation Reference to the associated passenger alphanumeric any
Age / Birthdate

Birthdate of the passenger (Mandatory for secure flights for all passengers)

Birthdate of the passenger (Always mandatory for CHD and INF Passengers)

Date Date depends of the PTC Mandatory for schema if 'Age' tag is indicated.
Name / Surname Surname of the passenger alphanumeric any Mandatory for schema if 'Name' tag is indicated (2 characters minimun for NDC)
Name / SurnameSuffix

Passenger suffix for duplicate names

It must necessarily be predefined as text (see example)

*<SurnameSuffix xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">MR</SurnameSuffix>*

alphanumeric

any

  • JR
  • SR

Name / Given Name of the passenger alphanumeric any NDC Mandatory (2 characters minimun)
Name / Title

Title of the passenger (Mandatory for secure flights)

NDC supports followings fields (MR, MRS, MS, MSS, MISS). If another field is introduced no error is shown, only this field is ignored.

alpha
  • MR
  • MRS
  • MS
  • MSS
  • MISS
Mandatory for secure flights
Contacts / Contact / PhoneContact / Number Number of the phone contact alphanumeric any Mandatory for at least one Adult.
Contacts / Contact / EmailContact / Address Email address alphanumeric any Mandatory for schema if 'EmailContact' tag is indicated. Mandatory for at least one Adult

For emergency contact information.

Attribute

ContactType="Emergency"

Emergency contact information is identified throught the Contact attribute ContactType with the "Emergency" value. alphanumeric "Emergency"
PhoneContact / Number Phone to emergency contact the passenger. alphanumeric any
Name / Surname Surname of the emergency contact alphanumeric any Mandatory for schema if 'Name' tag is indicated.
Name / Given Name of the emergency contact alphanumeric any

EmailContact / Address

Email to contact the passenger. alphanumeric
any
Mandatory if the current passenger has been marked as the main contact.

PhoneContact / Number

Phone to contact the passenger. alphanumeric any Mandatory if the current passenger has been marked as the main contact.
Remarks / Remark Relationship emergency contact of passenger alphanumeric any Mandatory for schema if 'Remarks' tag is indicated.
Gender Gender of the passenger (Mandatory for infant passengers in secure flights) alphabetic
  • Male
  • Female
NDC Mandatory for Secure Flights
(plus)FQTVs / TravelerFQTV_Information / AirlineID Airline for the frequent flyer Aphabetic Any Manndatory for schmea if "FQTVs" tag is indicated
(plus)FQTVs / TravelerFQTV_Information / Account / Number Number for the frequent flyer Numeric Any Manndatory for schmea if "FQTVs" tag is indicated
Passenger / PassengerIDInfo / FOID / Type  Type of the passenger ID Info 2 alpha
  • PP (Not valid for resident/large family discounts)
  • NI (DNI or NIE)
Mandatory for schema if 'FOID' tag is indicated.
Passenger / PassengerIDInfo / FOID / ID

ID of the passenger.

  • Two different passengers can only introduce the same document identification if market is different from ES.
  • Mandatory for resident adults flights unless they are between 12 and 14 years.
alphanumeric any Mandatory for schema if 'FOID' tag is indicated.
Passenger / PassengerIDInfo / PassengerDocument / Type 

Type of document

(plus)It's not necessary to send it to INF since it inherits the Fiscal ID of the ADT to which it is associated. In case of sending it will be ignored

2 alpha
  • F1 (Resident Discount)
  • AI (Additional information, Large Family Discount)
  • (plus)F (FiscalId)

Mandatory for schema if 'PassengerDocument' tag is indicated.

NDC Mandatory for Special Discounts Orders (Residente & large Family)

(plus)NDC Mandatory for POS PE & EC (FiscalId)

Passenger / PassengerIDInfo / PassengerDocument / ID

Residence certificate number / Large Family certificate number/Fiscal ID

(plus)It's not necessary to send it to INF since it inherits the Fiscal ID of the ADT to which it is associated. In case of sending it will be ignored

alphanumeric
  • 12 fields maximum for residence document only if DNI/NIE is not informed.
  • 20 fields maximum for large family document
  • (plus)80 fields maximum for FiscalId

Mandatory for schema if 'PassengerDocument' tag is indicated.

NDC Mandatory for Special Discounts Orders (Residente & large Family)

(plus)NDC Mandatory for POS PE & EC (FiscalId)

Passenger / PassengerIDInfo / PassengerDocument / ApplicabilityLocation

Municipality of residence / Community code for large family alphanumeric ApplicabilityLocationCodes - Resident & Large Family Discounts.xls NDC Mandatory for Special Discounts Orders (Residente & large Family)

AdditionalRoles

Attribute

PrimaryContactInd

Use to flag the current passenger as the primary contact. If none is marked the first passenger who provides contact information is considered the primary contact.

When a passenger is explicitly marked as the primary contact, its contact information is required

true

Activated PrimaryContactInd attributed.

<AdditionalRoles PrimaryContactInd="true"/>


< Query / Order Items / ShoppingResponse> Schema
Owner Owner of the offer 2 alpha IB Schema
Response ID Response ID alphanumeric any Schema
Offers / Offer / OfferID Offer ID with mandatory attribute Owner alphanumeric any Schema
Offers / Offer / OfferItems / OfferItem / OfferItemID Offer Item ID of the Offer ID with mandatory attribute Owner alphanumeric any Schema
< Query / Order Items / ShoppingResponse / Offers / Offer / OfferItems / OfferItem> Schema
Passengers / PassengerReference Passeger reference of the Offer Item alphanumeric any Mandatory for schema if 'Passengers' tag is indicated.
AssociatedServices / AssociatedService Associated service, can be baggage, seat o special need alphanumeric any Mandatory for schema if 'AssociatedServices' tag is indicated.
AssociatedServices / AssociatedService / Service ID Service ID alphanumeric any
AssociatedServices / AssociatedService / Passengers / PassengerReference Passenger reference of the associated service alphanumeric any Mandatory for schema if 'Passengers' tag is indicated.
<Query / Payments / Payment > Mandatory for schema if 'Payments' tag is indicated.
Method Payment Method, can be Cash payment, Card payment or Other payment (for service fee). alphabetic
  • Credit Card
  • Cash
  • Other: Added in 2.16. The Service Fee associated to Resident and Large Family booking must be provided as a special payment method. To identify this situation the payment method is of Other type with a Remarks with the ServiceFee value.
Schema
Amount Total amount of the offer numeric any Schema
Payer / Name / Surname Payer's surname alphabetic any Schema
Payer / Name / Given Payer's surname alphabetic any
Contacts / Contact / PhoneContact / Number telephone number numeric

any


Contacts / Contact / EmailContact / Address Email adress alphanumeric any Mandatory for schema if 'EmailContact' tag is indicated.
< Query / Datalist >
< Query / Datalist / ServicetList>
Service Service with mandatory ObjectKey alphabetic any
Service / ServiceID Service ID with mandatory owner alphanumeric any Mandatory for schema if 'Service' tag is indicated.
Service / Name Service's name alphanumeric any Mandatory for schema if 'Service' tag is indicated.
Service / BookingInstructions / SSRCode SSR code alphabetic DisabilityAssistance
Text Information text of the special needs alphanumeric any
< Query / Datalist / SeatList>
Seats Seat ID with mandatory ListKey alphanumeric any Mandatory for schema if 'SeatList' tag is indicated.
Seats / Location / Column Number of column character A,B,C...
Seats / Location / Row / Number Number of row numerical ....flight size
<Query / Metadata>

Other / OtherMetadata / CurrencyMetadatas / CurrencyMetadata / MetadataKey

Attribute

MetadataKey

Type of Currency alphanumeric any available currency Mandatory for schema if 'CurrencyMetadata' tag is indicated.
Other / OtherMetadata / CurrencyMetadatas / CurrencyMetadata / Decimals Decimals of Currency numeric any
<Query / BookingReferences>
BookingReference / ID External reference ID character XRef Mandatory for Sender External Reference
BookingReference / OtherID  Sender's external reference alphanumeric any (strings exceeding 30 chars will be truncated) Mandatory for Sender External Reference

BookingReference / OtherID

Attribute

Name

This attribute must contain the senders IATA Number and will be matched against the Senders IATANumber from TravelAgencySender numeric 7/8 numbers Mandatory for Sender External Reference

1.3 Response Body

OrderView RS

1.4 Error messages

NDC Standard allow errors and warnings to be returned inside a 200 OK response. Errors returned with 200 OK will always be controlled errors result of external limitations as "Max accepted non-infant passengers is 9".

HTTP STATUS CODE

EXAMPLE MESSAGE ERROR

REASON

911 Booking error: selected flight/cabin is not available Not available
486 Additional services only available with instant purchase Order create with baggage and without payment
466 Form of payment missing or invalid for ticket/document Order create without timelimit and without payment
795 Passenger titles are required Secure flight without passenger's title
795 Passenger genders are required Secure flight without passenger's gender
795 Passenger dates of birth are required Secure flight without passenger's date of birth
Warning There's a mismatch between payment amount and total offer prices. Mismatch between payment amount and total offer prices.
399 Duplicate Name Order created with duplicate passenger names.
486 Required dni or resident certificate number Resident discount eithout DNI or certificate number
911 A minor exceeds the allowed age.Please check dates of birth. Erroneus date of birth
144 Invalid Requestor Identification Invalidad agency
486 We remind you that you must present your credit card at the check-in desk for verification. PMT Error
486 Street of Address Payer must have between 1 and 40 characters Incorrect format of street in payment section
486 City of Address Payer must have between 1 and 24 characters Incorrect format of city in payment section
486 State prov of Address Payer must have between 1 and 40 characters Incorrect format of state prov in payment section
486 Postal code of Address Payer must have between 2 and 10 characters Incorrect format of postal code in payment section
486 Name of payer must have betweeen 2 and 45 characters Incorrect format of payer name in payment section
486 Phone number of payer not match the expected pattern Incorrect format of phone number in payment section
486 Phone number must have less than 20 characters Incorrect format of phone number in payment section
486 Email of payer not match the expected pattern Incorrect format of email in payment section
486 Surname of payer must have betweeen 2 and 25 Incorrect format of surname in payment section
486 Country code of Address Payer must have 2 characters Incorrect format of country code in payment section
75F Fare expired for reservation. When the offer to be booked has been expired.