OrderCreate

1.1 Functional Description

version:  2.38

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. If you do not have payment, the reservation will have a TimeLimit.

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:

Add = New

1.2 Request Body

NAME

DESCRIPTION

FORMAT

ALLOWED VALUES

MANDATORY FOR

PrimaryLangID

Specifies the agent’s preferred language

2 alphabetic

any


Version

The IATA version of the message

numeric

any

Schema

<PointOfSale>

CountryCode

Country code

alphabetic

any

If toggle feature for market validation is activated.

<Document>

ReferenceVersion

The IATA Schema version.

alphanumeric

any

Schema

<Party> (Schema)

Sender / IATA_Number

Sender  IATA number  (if you have one)

numeric

7 numbers

NDC Mandatory

Sender  non-IATA number  (if you don't have an IATA number)

numeric

7 numbers


Sender / AgencyID

Agency ID

alphanumeric

any

Schema
Sender / Name   Agency Name Alphanumeric any

Participant / AggregatorID

Aggregator ID

numeric

any

Mandatory for schema if 'Participants' tag is indicated
<Sender / 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 Phone Number to contact the agency numeric any
Name / Given Reference Agency contact name alphanumeric any
Name / Surname Reference Agency Contact Surname alphanumeric any Mandatory for schema if 'Name' tag is indicated.

<Query> (Schema)

< Query / Passengers >  (NDC Mandatory)

Passenger

Attribute

 
ObjectKey

Passenger Object Key. This value is used as the passenger identifier passenger references within the message.

alphanumeric

any

NDC Mandatory

Passenger/PTC

Passenger Type Code

3 alpha

Passenger Types


/Passenger/Name/Passenger Association Reference to the asociated passenger alphanumeric any

Age / Birthdate

Birthdate of the passenger

Date

Date depends of the PTC

Mandatory for schema if 'Age' tag is indicated.

/Passenger/Name/Surname

Surname of the passenger

alphanumeric

any

Mandatory for schema if 'Name' tag is indicated.

/Passenger/Name/Given

Name of the passenger

alphanumeric

any


/Passenger/Name/SurnameSuffix

Passenger suffix for duplicate names 
***It must necessarily be predefined as text***

                    <SurnameSuffix xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">JR</SurnameSuffix>
                
alphabetic
  • SR
  • JR

Title

Title of the passenger

alpha

  • MR
  • MRS
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

PassengerIDInfo / FOID / Gender

Gender of the passenger

alphabetic

  • Male
  • Female
Mandatory for Infants
  < Query / Passengers / Passenger / Contacts / Contact(ContactType ="Emergency") >       NDC Mandatory
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
Passenger / Contacts / Contact (Other ContactType) /EmailContact / Address  Email to contact the passenger. alphanumeric any Mandatory if the current passenger has been marked as the main contact.
Passenger / Contacts / Contact / PhoneContact / Number  Phone to contact the passenger. alphanumeric any Mandatory if the current passenger has been marked as the main contact.
Passenger/Remarks/Remark    Relationship emergency contact of passenger alphanumeric any Mandatory for schema if 'Remarks' tag is indicated.
Passenger / AdditionalRoles 

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

empty

Activated PrimaryContactInd attributed.

<AdditionalRoles PrimaryContactInd="true"/>


<Passengers / PassengerIDInfo / FOID>

Type

Type of the passenger ID Info

2 alpha

  • NI - National ID

or

  • PP - Passport
Mandatory for schema if 'FOID' tag is indicated.

ID

ID of the passenger

alphanumeric

any

Mandatory for schema if 'FOID' tag is indicated.

<Passengers / PassengerIDInfo / PassengerDocument>  

Type

Type of document

2 alpha

  • F1 (Resident Discount)
  • AI (Additional information, Large Family Discount)
Mandatory for schema if 'PassengerDocument' tag is indicated.

ID

Residence certificate number / Large Family certificate number

alphanumeric

any

Mandatory for schema if 'PassengerDocument' tag is indicated.

ApplicabilityLocation

Municipality of residence / Community code for large family

alphanumeric

any


< Query / Order Items/ ShoppingResponse>  

Owner

Owner of the offer

2 alpha

IB

Schema

Response ID

Response ID

alphanumeric

any

Schema

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>

Passengers / Passenger Reference

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 for IATA Entities and Credit Card for non IATA .

In case of credit card payment the following elements are required:

  • TicketDocInfo / TravelerInfo / EmailContact / Address
  • TicketDocInfo / TravelerInfo / PhoneContact / Number

Payment

format

  • 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 (2 min)

any

Schema

Payer / Name / Given

Payer's name

alphabetic (2 min)

any


Contacts / Contact / PhoneContact / Number

telephone number

numeric (20 Max)

any


Contacts / Contact / EmailContact / Address

Email adress

alphanumeric (1-40)

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


Seats / Location / Column

Number of column

character

A,B,C...


Seat / Locaction / Row / Number

Number of row

numerical

....flight size


< Query / MetaData>
Other / OtherMetadata / CurrencyMetadatas / CurrencyMetadata / MetadataKey  Type of currency Alphabetical Any available currency Mandatory for schema if 'CurrencyMetadata' tag is indicated.
Other / OtherMetadata / CurrencyMetadatas / CurrencyMetadata / Decimals  Decimals of currency Numeric Decimals currency should have

1.3 Response Body

NAME

DESCRIPTION

FORMAT

Nullable

<Party>

Sender / IATA_Number

Sender   IATA number   (if you have one) 

numeric

False

 

alphanumeric

False

Sender / AgencyID

Agency ID 

alphanumeric

False

Sender / Name Agency Name Alphanumeric False
<Sender / TravelAgencySender / Contacts / Contact>
EmailContact/ Address Email to contact the agency alphanumeric False
PhoneContact / Application Agency Phone Type alphabetic

False

PhoneContact / Number Phone Number to contact the agency numeric False
Name / Given Reference Agency contact name alphanumeric False
Name / Surname Reference Agency Contact Surname alphanumeric False
<Response / OrderViewProcessing>Add
Remarks / Remark DisplayInd boolean
False
Remarks / Remarks
Information indicating whether or not passengers should present residence documentation at the airport. alphanumeric True

<Passengers>

Passenger

Passenger Object Key

alphanumeric

False

PTC

Passenger Type Code

3 alpha

False

Birthdate

Birthdate of the passenger

Date

False

Surname

Surname of the passenger and     surnamesuffix concatenated if present

alpha

False

Given

Name of the passenger

alphanumeric

False

Title

Title of the passenger (Mandatory for secure flights)

alpha

True

Number

Number of the phone contact

alphanumeric

True

Address

Email address

alphanumeric

True

Gender

Gender of the passenger (Mandatory for Infants)

alphabetic

True

Passenger / Contacts / Contact (ContactType ="Emergency") / PhoneContact/Number  Phone to emergency contact the passenger. alphanumeric False
Passenger / Contacts / Contact (ContactType ="Emergency") / Name/Surname  Surname of the emergency contact alphanumeric False
Passenger / Contacts / Contact (ContactType ="Emergency") / Name/Given   Name
Name of the emergency contact   False

Type

Type of the passenger ID Info

2 alpha

False

ID

ID of the passenger

alphanumeric

False

PassengerDocument/Type

Type of document

2 alpha

  • NI - National ID
  • PP - Passport
  • F1 - Other documents, resident discount
  • AI - Additional information, large family discount

PassengerDocument/ID 

Residence certificate number / Large Family certificate number

alphanumeric

any

PassengerDocument/ApplicabilityLocation 

Municipality of residence / Community code for large family

alphanumeric

any

PassengerAssociation  Reference to PassengerID Alphanumeric False
Passenger/Remarks/Remark   Relationship emergency contact of passenger alphanumeric any

< Order >

OrderID

Order ID

alphanumeric

False

ID

Order's Locator

alphanumeric

False

Airline ID

Airline ID

2 alpha

False

Total

Total amount of the order

numeric

False

Taxes

Taxes amount

numeric

False

< Order / OrderItem >

OrderItemID

OrderItem ID

alphanumeric

False

BaseAmount

Amount of the OrderItem

numeric

False

Taxes

Total amount of taxes and breakdown

numeric

False

OriginDestinatioKey

OriginDestination Key

alphanumeric

False

SegmentKey

Segment Key

alphanumeric

False

AirportCode

Departure airport code

3 alpha

False

Date

Departure date

date

False

Time

Departure time

time

False

Terminal

Departure Terminal number

number

True

AirportCode

Arrival airport code

3 alpha

False

Date

Arrival date

date

False

Time

Arrival time

time

False

ChangeOfDay

Days between the departure and the arrival

numeric

True

Terminal

Arrival Terminal number

number

False

AirlineID

Airline ID of marketing carrier

2 alpha

False

Name

Airline name of marketing carrier

alphabetic

False

Flight number

Flight Number of marketing carrier

numeric

False

Airline ID

Airline ID of operating carrier

2 alpha

False

Name

Airline name of operating carrier

alphabetic

False

Flight number

Flight Number of marketing carrier

numeric

False

Text

Disclosures text

2 alpha

False

Payment TimeLimit

Payment time limit expired

date

True

PassengerReferences

Passenger references of OrderItem

alphanumeric

False

< TicketDocInfos >

TicketDocNbr

Ticket number

numeric

True

Code

Ticket code

3 alpha

True

NumberofBooklets

Number of tickets

numeric

True

DateofIssue

Date of issue

date

True

TimeOfIssue

Time of issue

time

True

Passenger Reference

Ticket Passenger Reference

alphanumeric

True

<Commisions> 

Percentage

Percentage of commision

Numeric

True

Amount

Amount of commision

Numeric

False

Remarks

Detail for more than one commission

AlphaNumeric

True

<DataLists / ServiceList > 
Service Service with mandatory ObjectKey alphabetic any
ServiceID Service ID with mandatory owner alphanumeric any
Name Service's name alphanumeric any
Total Total amount of the service numeric any
Taxes Total taxes of the service numeric any
SSRCode SSR code alphabetic special needs

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.

Creates 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 Cash payment.