Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Release 2024.06

Examples of messages with complete flows can be downloaded from here.

This service is used to request priced availability for flights for the requested origin and destination, date and cabin. The service also returns priced availability for the next higher cabins (normally the next 2 higher cabins). Example, if the availability is requested for Economy, service will return priced availability for Economy, Premium Economy and Business (assuming these cabins are offered on the route requested).

The V1 version which uses the Fare Family concept, and the FareDetail information is limited to certain pricing information. We strongly recommend you migrate to use the V2 version based on Branded Fares.

The V2 version, takes advantage of ATPCo Branded Fares, which includes product attributes filed with the fares. This version of our AirShopping message also includes various improvements in quality of information, such as: Penalty attributes indicating whether there is a penalty charged for either a change, refund or cancel of the booking; and Baggage Allowance information; and cabin information for each flight segment.

The AirShoppingRQ message is made up of the following sections:

 New or modified element

To be removed/deprecated

Unique to v2 - Branded Fares

Unique to V1 - Fare Families

Common Sections

 HTTP Header

HTTP Header

NAME

DESCRIPTION

FORMAT

ALLOWED/POSSIBLE VALUES

api_key

Your unique key used to authorize access to the API. update source

Alphanumeric

N/A

 Language, Version and Name Space

Language, Version and Name Space

NAME

DESCRIPTION

FORMAT

ALLOWED/POSSIBLE VALUES

NDC SERVICES

Version

The IATA version of the message

Mandatory for Schema

Numeric

Any

All Services

PrimaryLangID

Two character ISO Language Code, for the agent’s preferred language.

This is used for error messages and some other data such as legal waivers.

2 Alphabetical

  • EN

  • ES

All Services

(except in the OrderChangeNotification)

xmlns

IATA official website

Mandatory for Schema

Alphanumeric

Any

All Services

 Point of Sale

Point of Sale

HEADER NAME

DESCRIPTION

FORMAT

ALLOWED/POSSIBLE VALUES

NDC SERVICES

<PointOfSale>

Location / CountryCode

The point of sale country code.

2 letter country code

List of countries

All request messages

 Document

Document

NAME

DESCRIPTION

FORMAT

ALLOWED/POSSIBLE VALUES

NDC SERVICES

<Document>

ReferenceVersion

The IATA Schema version.

Numeric

Any

 All Services

 Party

Party

Sender Section

NAME

DESCRIPTION

FORMAT

ALLOWED/POSSIBLE VALUES

NDC SERVICES

<Party>

Sender / TravelAgencySender / Name

Agency Name

Iberia will always use the Name stored in our system when the Seller/Sender registered to use our NDC.

Alphanumeric

Any

All Request messages and OrderViewRS

Sender / TravelAgencySender / Contacts / Contact

Attribute

ContactType

Used to indicate to whom to send email confirmation emails and what information to include.

More information can be found here

Only as per allowed values

"itin_only"

or

"itin_and_price"

All Request messages and OrderViewRS

Sender / TravelAgencySender / Contacts / Contact / EmailContact / Address

Email to contact the Travel Agency

Mandatory for schema if 'EmailContact' tag is indicated.

Alphanumeric

Any

All Request messages and OrderViewRS

Sender / TravelAgencySender / Contacts / Contact / PhoneContact / Application

To indicate whether the Travel Agency phone is a fixed line or mobile.

Only as per allowed values

"BUSINESS"

or

"MOBILE"

All Request messages and OrderViewRS

Sender / TravelAgencySender / Contacts / Contact / PhoneContact / Number

Attribute

CountryCode

Phone number to contact the Travel Agency, with CountryCode.

<Number CountryCode="+34">666666666</Number>

Numeric

Any valid telephone number with Country code.

All Request messages and OrderViewRS

Sender / TravelAgencySender / Contacts / Contact / Name / Surname

The surname of the person to contact in the Travel Agency.

Mandatory for schema if 'Name' tag is indicated.

Alphanumeric

Any

All Request messages and OrderViewRS

Sender / TravelAgencySender / Contacts / Contact / Name / Given

The given name of the person to contact in the Travel Agency

Alphanumeric

Any

All Request messages and OrderViewRS

Sender / TravelAgencySender / IATA_Number

Sender IATA identifier:

IATA number (used by IATA accredited Travel Agents)

TIDs number  (recommended if you are not an IATA Accredited agent)

If using the IATA Delegation functionality for Servicing orders, and no CorporateSender information is included in the message, then the Servicing IATA's number is included here.

Numeric

7/8 Numbers

All Request messages and OrderViewRS

Sender / TravelAgencySender / OtherIDs / OtherID

Pseudo IATA (assigned by Iberia)

NDC Mandatory

Numeric

7/8 Numbers

All Request messages and OrderViewRS

Sender / TravelAgencySender / AgencyID

Presently, Iberia does not make use of this field.

Mandatory for Schema.

Alphanumeric

Any

All Request messages and OrderViewRS

Sender / CorporateSender / ID

ID for the Corporate. These are issued by Iberia and British Airways, and are sometimes referred to as a “JBID”.

Not applicable to OrderList.

NDC Mandatory

Alphanumeric

Identifier assigned by Iberia.

All Request messages and OrderViewRS

Sender / ORA_Sender / AirlineID

Code of the Offer/Order Responsible Airline sending the message. Used in the OCN message.

Two Alphabetical Letters

IB

OrderChangeNotif

Sender / ORA_Sender / Name

Name of the Offer/Order Responsible Airline sending the message. Used in the OCN message.

Alphabetical

Iberia

OrderChangeNotif

Participant Section

NAME

DESCRIPTION

FORMAT

ALLOWED/POSSIBLE VALUES

NDC SERVICES

<Party>

Participants / Participant / TravelAgencyParticipant / Name

Travel Agency Name.

This is the Travel Agent who is registered with Iberia and British Airways as managing travel for the above Corporate. A validation check is run against our Sales database.

Alphanumeric

Any

All Request messages, and OrderView when using CorporateSender.

All Servicing Request messages (except OrderListRQ), and OrderView when using IATA Delegation.

Participants / Participant / TravelAgencyParticipant / Type

Only when using IATA Delegation functionality.

Mandatory for IATA Delegation when CorporateSender is used.

This is used to indicate whether the TravelAgencyParticipant is the agency undertaking the Servicing or the agency that created or paid for the order.

see example: Party Elements

Only as per allowed values

"SERVICING_IATA"

or

"RESPONSIBLE_IATA"

This element is returned in all services except:

AirShopping

OfferPrice

OrderCreate

OrderList

Participants / Participant / TravelAgencyParticipant / Contacts / Contact

Attribute

ContactType

Used to indicate to whom to send email confirmation emails and what information to include

Only as per allowed values

"itin_only"

or

"itin_and_price"

All Request messages, and OrderView when using CorporateSender.

All Servicing Request messages (except OrderListRQ), and OrderView when using IATA Delegation.

Participants / Participant / TravelAgencyParticipant / Contacts / Contact / EmailContact / Address

 Email to contact the Agency

 Alphanumeric

Any

All Request messages, and OrderView when using CorporateSender.

All Servicing Request messages (except OrderListRQ), and OrderView when using IATA Delegation.

Participants / Participant / TravelAgencyParticipant / Contacts / Contact / PhoneContact / Application

To indicate whether the Travel Agency phone is a fixed line or mobile.

Only as per allowed values

"BUSINESS"

or

"MOBILE"

All Request messages, and OrderView when using CorporateSender.

All Servicing Request messages (except OrderListRQ), and OrderView when using IATA Delegation.

Participants / Participant / TravelAgencyParticipant / Contacts / Contact / PhoneContact / Number

Phone number to contact the Travel Agency

 Numeric

Any

All Request messages, and OrderView when using CorporateSender.

All Servicing Request messages (except OrderListRQ), and OrderView when using IATA Delegation.

Participants / Participant / TravelAgencyParticipant / Contacts / Contact / Name / Surname

The surname of the person to contact in the Travel Agency.

Mandatory for schema if 'Name' tag is indicated.

  Alphanumeric

Any

All Request messages, and OrderView when using CorporateSender.

All Servicing Request messages (except OrderListRQ), and OrderView when using IATA Delegation.

Participants / Participant / TravelAgencyParticipant / Contacts / Contact / Name / Given

The given name of the person to contact in the Travel Agency

 Alphanumeric

Any

All Request messages, and OrderView when using CorporateSender.

All Servicing Request messages (except OrderListRQ), and OrderView when using IATA Delegation.

Participants / Participant / TravelAgencyParticipant

Attribute

SequenceNumber

Sequence number related to the Participants, irrespective of their type (TravelAgency, Aggregator, etc…), sent in the request.

The order of the sequence number must follow the order in which the parties are connecting to our API. With the highest number being the party whose API key is being used to connect to us, and the lowest number (1) being the party in contact with the travelling passenger.

See example 5 below.

Numeric

All messages when there are more than one Participant.

Participants / Participant / TravelAgencyParticipant / IATA_Number

The Travel Agency’s unique identifier:

IATA number (if you have one)

TIDs number  (recommended if you do not have an IATA)

If using the IATA Delegation functionality for Servicing orders:

  • If no CorporateSender information is included in the message, then the Responsible IATA's number must be included here.

  • If CorporateSender information is included in the message, then the Servicing IATA’s number and the Responsible IATA's number must both be included here with their SequenceNumber and their applicable Type. The Servicing IATA must have the lowest SequenceNumber and the Responsible IATA must be the next number in the sequence. In both cases.

See examples below

7/8 Numeric

The identifier registered with Iberia.

All Request messages, and OrderView when using CorporateSender.

All Servicing Request messages (except OrderListRQ), and OrderView when using IATA Delegation.

 Participants / Participant / TravelAgencyParticipant / AgencyID

Iberia do not presently use this field, although it is mandatory as per the schema.

 Alphanumeric

Any

All Request messages.

 Participants / Participant / AggregatorParticipant

Attribute

SequenceNumber

Sequence number related to the Participants irrespective of their type (TravelAgency, Aggregator, etc…), sent in the request.

The order of the sequence number must follow the order in which the parties are connecting to our API. With the highest number being the party whose API key is being used to connect to us, and the lowest number (1) being the party in contact with the travelling passenger.

See example 5 below.

Numeric

All Request messages.

 Participants / Participant / AggregatorParticipant / AggregatorID

The unique identifier of the Aggregator. This can be any of the following:

IATA number (if you have one)

TIDs number  (recommended if you do not have an IATA)

Pseudo IATA(assigned by Iberia and British Airways)

7/8 Numeric

The identifier registered with Iberia.

This element is returned in all services except:

OrderViewRS

 Participants / Participant / AggregatorParticipant / Name

The name of the Aggregator as stored in our database associated to the AggregatorID. following:

Alphanumeric

The name registered with Iberia.

This element is ONLY used and returned in the:

OrderChangeNotification

In addition to the Common Sections, this service is called with the following data:

CoreQuery

This is the principal part of the AirShoppingRQ, whose main elements are the Origin (Departure) and Destination(Arrival) Cities/Airports and departure date.

 CoreQuery

NAME

DESCRIPTION

FORMAT

ALLOWED/POSSIBLE VALUES

<CoreQuery / OriginDestinations> (see footnote *)

OriginDestination

Attribute

OriginDestinationKey

ID for the Origin/Destination

Alphanumeric

This attribute can be filled with any value, but first character cannot be a number digit or a special character.

OriginDestination / Departure / AirportCode

IATA 3 character code for the departure city/airport/station

3 Alphanumeric

Any valid departure point listed in the AirlineProfile.

OriginDestination / Departure / Date

Date of departure

Date (yyyy-MM-dd)

Any future date

OriginDestination / Arrival / AirportCode

IATA 3 character code for the arrival city/airport/station

3 Alphanumeric

Any valid arrival point listed in the AirlineProfile.

*Round trip on same day - The order of the OriginDestinations will be inferred from the order they are received in the AirShoppingRQ when the dates are the same.

Preferences

Can, optionally, indicate flight, fare and cabin preferences.

 Preferences

Error rendering macro 'excerpt-include' : No link could be created for 'Preferences'.

DataLists / PassengerList

This is where you specify the number of passengers and their type

 PassengerList

NAME

DESCRIPTION

FORMAT

ALLOWED/ POSSIBLE VALUES

NDC SERVICES

<DataLists / PassengerList>

Passenger

Attribute

PassengerID

A unique ID for each passenger.

Alphanumeric (Maximum → 20 characters)

This attribute can be filled with any value, but first character cannot be a number digit or a special character.

AirShoppingRQ/RS

OfferPriceRQ/RS

SeatAvailabilityRS

ServiceListRS

OrderCreateRQ

OrderViewRS

OrderChangeRQ

OrderReshopRQ/RS

Passenger / PTC

Passenger Type Code

3 Alphabetical 

Type of Passengers

AirShoppingRQ/RS

OfferPriceRQ/RS

SeatAvailabilityRS

ServiceListRS

OrderCreateRQ

OrderReshopRQ

OrderChangeRQ

OrderViewRS

Passenger / BirthDate

Birthdate of the passenger

Mandatory for secure flights for all passengers.

Mandatory for CHD and INF Passengers

Date (yyyy-mm-dd)

Date depends of the PTC

OrderChangeRQ

OrderCreateRQ

OrderViewRS

Passenger / Individual

Attribute

IndividualID

ID of the passenger (within this specific message), for internal use only.

Must be unique for each passenger in the message and can be referenced in Query / DataLists / ContactList / ContactInformation / IndividualRef

Alphanumeric (Maximum → 20 characters)

This attribute can be filled with any value, but first character cannot be a number digit or a special character.

OrderChangeRQ

OrderCreateRQ

Passenger / Individual / Gender

Gender of the passenger.

In secure flight:

  • Mandatory for infant passengers

  • Mandatory for all other passengers if the title is not indicated

  • Mandatory for secure flights and infant passengers in the OrderCreate message.

Alphabetical

  • Male

  • Female

  • Unspecified

OrderCreateRQ

OrderViewRS

OrderChangeRQ

Passenger / Individual / NameTitle

Title of the passenger
NDC supports followings fields (MR, MRS, MS, MISS).

If another value is introduced no error is shown, it is ignored unless the Secure Flight is involved.

In secure flight:

  • Optional for infant passengers

  • Mandatory for all other passengers if the gender is not indicated.

  • NDC Mandatory for secure flights

Alphabetical

  • MR

  • MRS

  • MS

  • MSS

  • MISS

OrderCreateRQ

OrderViewRS

OrderChangeRQ

Passenger / Individual / GivenName

Name of the passenger (which includes all given names, including first and second names).

Alphabetical

Any

OfferPriceRQ/RS

SeatAvailabilityRS

ServiceListRS

OrderCreateRQ

OrderViewRS

OrderChangeRQ

Passenger / Individual / Surname

Surname of the passenger.

If the name and surnames exceed the maximum number of characters allowed, the original name will be displayed, without trimming.

If agency has specified separated by a special character "@" first and second surname, it will be displayed as introduced with separator → e.g.: De la Morena@López)

Mandatory for schema if 'GivenName' tag is indicated.

Alphabetical

Any

OfferPriceRQ/RS

SeatAvailabilityRS

ServiceListRS

OrderCreateRQ

OrderViewRS

OrderChangeRQ

Passenger / Individual / SurnameSuffix

Can be used to indicate that the individual holds a position, educational degree, accreditation, office, or honor.

Can be used to distinguish between two passengers with exactly the same NameTitle, GivenName and Surname (i.e. John Smith, and John Smith Jr.)

Mandatory if NameTitle, GivenName and Surname are the same for two passengers.

Alphabetical

Any

  • JR

  • SR

OrderCreateRQ

OrderViewRS

OrderChangeRQ

Passenger / LoyaltyProgramAccount / Airline / AirlineDesignator

Frequent Flyer Airline ID

Mandatory if 'LoyaltyProgramAccount' tag is indicated

Alphanumeric

Any

OfferPriceRQ/RS

SeatAvailabilityRS

ServiceListRS

OrderCreateRQ

OrderViewRS

Passenger / LoyaltyProgramAccount / AccountNumber

Frequent Flyer number

On Business number

Mandatory if 'LoyaltyProgramAccount' tag is indicated in OrderCreate or OrderChange

Alphanumeric

Alphanumeric

Any

Any

OfferPriceRQ/RS

SeatAvailabilityRS

ServiceListRS

OrderCreateRQ

OrderViewRS

Passenger / FOID / FOID_Number

Number for the document

Mandatory for schema if 'FOID' tag is indicated.

Alphanumeric

PP (Passport): Any sequence of alpha numeric characters, also "-" and "." characters are accepted.

Valid examples: 1234-ABC, G.12345

NI (National ID): Only alpha numeric characters are allowed

Valid examples:

X1234567S

123456789012A

OrderChangeRQ

OrderCreateRQ

OrderViewRS

Passenger / FOID / FOID_Type

Type of the passenger ID Info

Mandatory for schema if 'FOID' tag is indicated.

2 Alphanumeric

  • PP (Passport) - Not valid for Spanish Resident and Large Family discounts

  • NI (National ID)

OrderChangeRQ

OrderCreateRQ

OrderViewRS

Passenger / InfantRef

Indicates the infant in lap associated to this adult.

If this tag is not indicated in the OrderCreateRQ, the infant in lap will be associated to the first adult in the Order automatically.

Recommended to ensure infant in lap is with correct adult.

Alphanumeric

Reference to infant PassengerID tag

OrderCreateRQ

OrderViewRS

Passenger / IdentityDocument / IdentityDocumentNumber

If Type of document is:

  • F1 - this will be the Spanish Resident certificate number 

(Optional if Spanish DNI/NIE is sent. Validated only if sent without Spanish DNI/NIE)

  • AI - this will be the Large Family certificate number

  • F - this should be the relevant fiscal information for the country.

    • The information should be sent using the following two or three elements separated by obliques "/":

      • Document Type

      • Document Number/ID

      • Company Name (optional)

    • examples:

      • "RUC/12345678X/BIG COMPANY"

      • “CUIL/9393933333

    • This fiscal information will be included on the tickets as required by local laws.

  • If any unacceptable information is sent and not included in the reservation/tickets, a warning message will be returned in the OrderViewRS.

  • Mandatory for schema if 'IdentityDocument' tag is indicated 

    NDC Mandatory for POS: PE, EC, AR and GT (FiscalID). For Infant passengers is not mandatory, so case that this document doesn’t come it will be assign the fiscal documentation from one of the Adults passengers.

Alphanumeric

  • 12 characters maximum for residence document

  • 20 characters maximum for large family document

  • 70 characters maximum for FiscalId

OrderChangeRQ

OrderCreateRQ

OrderViewRS

Passenger / IdentityDocument / IdentityDocumentType

Type of document

Mandatory for schema if 'IdentityDocument' tag is indicated  NDC Mandatory for POS: PE, EC, AR and GT (FiscalID)

2 Alphanumeric

  • F1 (Resident Discount)

  • AI (Additional information, Large Family Discount)

  • F (FiscalId)

  • Any other document

OrderChangeRQ

OrderCreateRQ

OrderViewRS

Passenger / ContactInfoRef

Reference for passenger contact info

Alphanumeric

Any

OrderChangeRQ

OrderCreateRQ

OrderViewRS

Passenger / Remark / Remark

In OrderCreate it is used to communicate the:

Municipality of residence / Community code for large family

<Remark>
  <!--Resident Discount Location Code-->
  <Remark>RESIDENT-380380</Remark>
</Remark>
<Remark>
  <!--Large Family Discount Community Code-->
  <Remark>LARGEFAMILY-380380</Remark>
</Remark>

In OrderView is is used to communicate the:

  • Type of discount applied and the Municipality/Community code for the passenger

  • Verified or not verified resident discount for passenger

<Remark>
  <Remark>RESIDENT-380380</Remark>
</Remark>
<Remark>
  <Remark>LARGEFAMILY-380380</Remark>
</Remark>
<Remark>
  <Remark>UNVERIFIED RESIDENT STATUS</Remark>
</Remark>

Mandatory for schema if 'IdentityDocument' tag is indicated.

Alphanumeric

  • RESIDENT-Code of Location

  • LARGEFAMILY-Code of Community

INE - Relación de municipios y códigos por provincias

OrderChangeRQ

OrderCreateRQ

OrderViewRS

Metadata / Currency

 Currency

NAME

DESCRIPTION

FORMAT

ALLOWED/POSSIBLE VALUES

NDC SERVICES

<Metadata / Other / OtherMetadata / CurrencyMetadatas>

CurrencyMetadata

Attribute

MetadataKey

ID of the Metadata using the currency code

Alphanumeric

Any available currency for the defined market

All Services

CurrencyMetadata / Decimals

Number of decimals for the currency

Numeric

Any

All Services

CurrencyMetadata / Name

The name of the currency

Alphabetical

Any

All Services

Example AirShoppingRQ:

 XML Sample
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <AirShoppingRQ Version="5.000" PrimaryLangID="es" xmlns="http://www.iata.org/IATA/EDIST/2017.2">
         <PointOfSale>
            <Location>
               <CountryCode>ES</CountryCode>
            </Location>
         </PointOfSale>
         <Document>
            <ReferenceVersion>5.000</ReferenceVersion>
         </Document>
         <Party>
            <Sender>
               <CorporateSender>
                  <ID>XXXXXXXX</ID>
               </CorporateSender>
            </Sender>
            <Participants>
               <Participant>
                  <TravelAgencyParticipant SequenceNumber="1">
                     <Name>NDC Agency Name</Name>
                     <Contacts>
                        <Contact>
                           <EmailContact>
                              <Address>email@email.com</Address>
                           </EmailContact>
                           <PhoneContact>
                              <Application>BUSINESS</Application>
                              <Number>#########</Number>
                           </PhoneContact>
                           <Name>
                              <Surname>MartÌnez</Surname>
                              <Given>Pepe</Given>
                           </Name>
                        </Contact>
                     </Contacts>
                     <IATA_Number>XXXXXXXX</IATA_Number>
                     <AgencyID>XXXXXXXX</AgencyID>
                  </TravelAgencyParticipant>
               </Participant>
            </Participants>
         </Party>
         <CoreQuery>
            <OriginDestinations>
               <OriginDestination OriginDestinationKey="IDA">
                  <Departure>
                     <AirportCode>MAD</AirportCode>
                     <Date>2022-04-25</Date>
                  </Departure>
                  <Arrival>
                     <AirportCode>PAR</AirportCode>
                  </Arrival>
               </OriginDestination>
               <OriginDestination OriginDestinationKey="VUELTA">
                  <Departure>
                     <AirportCode>PAR</AirportCode>
                     <Date>2022-04-30</Date>
                  </Departure>
                  <Arrival>
                     <AirportCode>MAD</AirportCode>
                  </Arrival>
               </OriginDestination>
            </OriginDestinations>
         </CoreQuery>
         <Preference>
            <FlightPreferences>
               <Characteristic>
                  <DirectPreferences>0</DirectPreferences>
               </Characteristic>
            </FlightPreferences>
            <PricingMethodPreference>
               <BestPricingOption>C</BestPricingOption>
            </PricingMethodPreference>
         </Preference>
         <DataLists>
            <PassengerList>
               <Passenger PassengerID="Pasajero1">
                  <PTC>ADT</PTC>
               </Passenger>
               <Passenger PassengerID="Pasajero2">
                  <PTC>ADT</PTC>
               </Passenger>
               <Passenger PassengerID="Pasajero3">
                  <PTC>ADT</PTC>
               </Passenger>
            </PassengerList>
         </DataLists>
         <Metadata>
            <Other>
               <OtherMetadata>
                  <CurrencyMetadatas>
                     <CurrencyMetadata MetadataKey="EUR"/>
                  </CurrencyMetadatas>
               </OtherMetadata>
            </Other>
         </Metadata>
      </AirShoppingRQ>
   </soapenv:Body>
</soapenv:Envelope>

Error messages

For further information about all kind of error messages, please go to the following link:

Error Codes

  • No labels