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 |
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 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 | | All Services (except in the OrderChangeNotification) | xmlns | IATA official website Mandatory for Schema | Alphanumeric | Any | All Services |
|
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 NAME | DESCRIPTION | FORMAT | ALLOWED/POSSIBLE VALUES | NDC SERVICES |
---|
<Document> | ReferenceVersion | The IATA Schema version. | Numeric | Any | All Services |
|
Party 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 | 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 | 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 |
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 | 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 | 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 | 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:
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 | 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. |
Can, optionally, indicate flight, fare and cabin preferences.
Preference NAME | DESCRIPTION | FORMAT | ALLOWED/POSSIBLE VALUES | NDC SERVICES |
---|
<Preference> If the Preference tag is included in the request, one or more of the following must be included. If more that one is used, then they must be sent in the same order as listed below. | FarePreferences / Types / Type | Type of product selected. | Alphanumeric | For the Products currently available through our NDC channel, and the codes required to request them please see the information in Private Leisure Fares. | AirShoppingRQ OfferPriceRQ OrderReshopRQ | FarePreferences / TicketDesigs / TicketDesig | Spanish Resident discount code. | Alphanumeric | | AirShoppingRQ OfferPriceRQ | Spanish Large Family discount code | F1 (General discount) F2 (Special discount)
| FlightPreferences / Characteristic / DirectPreferences | Maximum number of stops. | Numeric | 0 or Empty - Direct Flights (Default) n (1, 2, 3...) - Maximum number
| AirShoppingRQ OfferPriceRQ OrderReshopRQ | CabinPreferences / CabinType / Code | IATA PADIS Cabin code (This info will be applied as a preference, so other offers will also be returned). | 1 Numeric | PADIS → 9873 Cabin class of service, coded 1 → First class, Highest class of service (First Class Category) 2 → Second class, Medium class of service (Business Class Category) 3 → Third class, lowest class of service (all economy/coach class categories) 4 → Economy/coach premium 5 → Economy/coach | AirShoppingRQ OfferPriceRQ OrderReshopRQ | PricingMethodPreference / BestPricingOption | To obtain all available flight combinations with the cheapest available fare. The results can be used to display a scheduled driven request. Only for unpaid Orders when used in OrderReshopRQ | 1 Alphabetical | | AirShoppingRQ OfferPriceRQ OrderReshopRQ |
|
---|
This is where you specify the number of passengers and their type
PassengerList NAME | DESCRIPTION | FORMAT | ALLOWED/ POSSIBLE VALUES | NDC SERVICES |
---|
<DataLists / PassengerList> | Passenger | 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 | 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 | | 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 | | 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 | 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 | | OrderChangeRQ | OrderCreateRQ OrderViewRS |
| 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: (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. 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 | | 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:
<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 |
INE - Relación de municipios y códigos por provincias | OrderChangeRQ | OrderCreateRQ OrderViewRS |
|
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>Martinez</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>
</AirShoppingRQ>
</soapenv:Body>
</soapenv:Envelope>
For further information about all kind of error messages, please go to the following link:
Errors