AirShopping

You can try our latest version 17.2 in BETA: AirShoppingVersion 17.2

1.1 Functional Description

version: 2.57

The  AirShopping  service returns priced availability offers for requested origin and destination, cabin and date. It returns the cheapest available offer together with higher classes of service and their product descriptions.

Before sending this request the Airline Profile (list of Origins & Destinations) supplied by Iberia should be checked, ensuring shopping is only done for IB marketed routes.

Functionality:

AirShopping.zip message examples

New

  • (version 2.42) AirShopping response not returns MarketingName, Disclosures and DisclosureList when new BestPricingOption preference is filled with "C" value.
  • (version 2.42) A new preference has been added to the AirShopping Request , specifically BestPricingOption "C". 

Basic

Returns one-way, return and open-jaw priced availability.

It returns the cheapest available offer together with higher classes of service and their product disclosures.

Iberia operates 3 cabins on our aircraft (Business, Premium Economy and Economy) with some code-share partners having a fourth (First).

Resident Discount (Point of sale Spain ONLY):

Obtain offers with Resident Discount  for customers whos place of residence is Canary Islands, Balearic Islands and Melilla.

To obtain the discount, the flight has to have an Origin/Destination airport in one of these places of residence.

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 (Point of sale Spain ONLY):

It will give the possibility to obtain 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 family discount must been selling in spain market. 
Can't be two types of large familydiscount in the same reserve.

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>
    

 

Private Fares:

It will give the possibility to request private fares that the seller owns. it will return an error in case that the Seller does not have any private fares associated.

Request:

    
    <Preferences>
        <Preference>
            <FarePreferences>
                <Types>
                    <Type>
                    <Code>758</Code>
                    <Definition>TO</Definition>
                    </Type>
                </Types>
            </FarePreferences>
        </Preference>
    </Preferences>
    

Currency Metadata:

Gives the possibility to obtain orders in a currency different from the one marked by default in BBDD for the market. The relationship between the currency introduced in Currency Metadata and the market must exist in BBDD

EndPoint:

 

1.2 Request Body

NAME

DESCRIPTION

FORMAT

ALLOWED VALUES

MANDATORY FOR
PrimaryLangID Two character ISO Language Code, for the agent’s preferred language. This is for error messages and some other data such as legal waivers. 2 alpha
  • EN
  • ES

Version

The IATA version of the message

numeric any Schema
<PointOfSale>

Location / CountryCode

Country code

2 alpha

List of countries

If toggle feature for market validation is activated.
<Document> Schema

ReferenceVersion

The IATA Schema version.

numeric

any


<Party> Schema

Sender / IATA_Number

Sender unique identifier such as:

IATA number (if you have one)

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

Pseudo IATA(assigned by Iberia)

7 numeric

7 numbers

NDC Mandatory

Sender / AgencyID

Name of the Sender / Agency

alphanumeric

any

Schema
Participant / AggregatorID

Participant / Aggregator unique identifier:

IATA number (if you have one)

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

Pseudo IATA(assigned by Iberia)

 

7 numeric 7 numbers Mandatory for schema if 'Participants' tag is indicated.
<Traverlers> Schema

TravelerCount (PTC)

Attribute Passenger Type Code

  • TravelerCount (numeric)
  • PaxType (3 alpha)

Passenger Types

Schema
<CoreQuery> Schema

Departure / AirportCode

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

3 alpha

any valid departure point listed in the AirlineProfile

Schema

Arrival / AirportCode

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

3 alpha

any valid arrival point listed in the AirlineProfile.

Schema

Departure / Date

Date of departure

Date(yyyy-MM-dd)

any future date

Schema
<Preferences>

Preference / CabinPreferences / CabinType / Code

IATA PADIS Cabin code

1 numeric

  • 1 First
  • 2 Business
  • 4 Premium Tourist
  • 5 Economy

Preference / FlightPreferences / Characteristic / NonStopPreferences

Number of stops (With PreferencesContext="maxStops") numeric any Mandatory for schema if 'Preferences' tag is indicated and dont have other preference inside

Preference / FarePreferences / Types / Type / Definition

Type of product selected. Needed with:

Preference / FarePreferences / Types / Type / Code

alphabetical any available product Mandatory for schema if 'Preferences' tag is indicated and don't have other preference inside

Preference / FarePreferences / Types / Type / Code 

Type of code for the fare selected. Needed with:

Preference / FarePreferences / Types / Type / Definition

numeric any valid code for a fare Mandatory for schema if 'Preferences' tag is indicated and don't have other preference inside
Preference / FarePreferences / TicketDesigs / TicketDesig Resident discount code alphabetical
  • RC (Residente Canarias)
  • BP (Residente Baleares)
  • RM (Residente Melilla)
  • BI (Para en interior de Baleares)
  • DC (Para el interior de Canarias)
Mandatory for schema if 'Preferences' tag is indicated and don't have other preference inside
Preference / FarePreferences / TicketDesigs / TicketDesig Large Family discount code alphabetical
  • F1 (General discount)
  • F2 (Special discount)
Mandatory for schema if 'Preferences' tag is indicated and don't have other preference inside
(plus) Preference / PricingMethodPreference/ BestPricingOption List of pricing preferences alphabetical
  • C (cheapestByItinerary)
  • Y (Return the cheapest offers available for a specific cabin type)
Optional and just for NDC
<Metadata>

Other / OtherMetadata / CurrencyMetadatas / CurrencyMetadata / MetadataKey

Attribute

MetadataKey

Type of currency alphabetical any available currency Mandatory for schema if 'Metadata' tag is indicated
Other / OtherMetadata / CurrencyMetadatas / CurrencyMetadata / Decimals Decimals of currency numeric any Mandatory for schema if 'MetadataKey' tag is indicated

1.3 Response Body


NAME

DESCRIPTION

FORMAT

Nullable

<ShoppingResponseIDs>

ResponseID

Id of the response alphabetical False
<OffersGroup>
AirlineOffers List of available AirlineOffers. List True

AirlineOffers / TotalOfferQuantity

Number of offers returned in the response Numerical False
AirlineOffers / AirlineOffer Object containing the properties for an Offer. List True
<OffersGroup / AirlineOffers / AirlineOffer>
OfferID Id of a returned offer alphabetical False
TimeLimits / OfferExpiration Expiration time limit of the offer Date / Time False
TotalPrice Price of the offer Numerical False
TotalPrice / DetailCurrencyPrice / Total Total price (with taxes) of the offer Numerical False
TotalPrice / DetailCurrencyPrice / Taxes / Total Taxes price of the offer Numerical False
Disclosure / Description Code related to the fare alphabetical False
PricedOffer Price breakdown from the offer returned List False
<AirlineOffers / AirlineOffer / PricedOffer >
OfferPrice Offer price for each passenger type List False
OfferPrice / RequestedDate / PriceDetail Price detail for each passenger type List False
OfferPrice / RequestedDate / PriceDetail / TotalAmount / SimpleCurrencyPrice Total price with taxes for passenger type Numerical False
OfferPrice / RequestedDate / PriceDetail / BaseAmount Total price without taxes for passenger type Numerical False
OfferPrice / RequestedDate / PriceDetail / Taxes / Total Taxes price for passenger type Numerical False
OfferPrice / RequestedDate / Associations / AssociatedTraveler / TravelerReferences Reference of each passenger for the same passenger type Alphanumeric False
OfferPrice / FareDetail List of fare (public or private) components for the offer List False

OfferPrice / FareDetail / FareComponent

Attribute

refs

Reference that contains the segment identificator and a code related to FareBasis element in FareList. This reference code can be any alphanumeric code equal or not equal to FareBasis code in FareList. Alphanumeric False
Associations Flight segment information associated to the offer List False
Associations / ApplicableFlight / OriginDestinationReferences Flight segment reference with origin/destination airports code alphabetical False
Associations / ApplicableFlight / FlightReferences Flight reference code Alphanumeric False
Associations / ApplicableFlight / FlightSegmentReference Contains flight segment reference code composed by flight number and date of the flight Alphanumeric False
Associations / ApplicableFlight / FlightSegmentReference / ClassOfService / Code Class of service code Numerical False
Associations / ApplicableFlight /FlightSegmentReference / ClassOfService / MarketingName Class of service marketing name alphabetical False
<Commission>

Percentage

Percentage of commission Numeric True
<DataList>
AnonymousTravelerList / AnonymousTraveler Anonymous Passenger key alphabetical False
AnonymousTravelerList / AnonymousTraveler / PTC Anonymous Passeger Code alphabetical False
<DisclosuresList / Disclosures>

Disclosures

Attribute

ListKey

IATA Disclosure values alphabetical False
Description / MetaDataToken Key for the value inside Metadata Item alphabetical True
Description / Text Value of the MetaData Item Alphanumeric True
<FareList / FareGroup>

FareGroup

Attribute

ListKey

Unique identificator for the fare group related to FareComponent reference. alphanumerical False
Fare / FareCode / Code

Code for fare: 

70J - Public Fares

758 - Private Fares

alphanumerical False
Fare / FareBasisCode / Code Fare basis identification code alphanumerical False
Fare / FareBasisCode / Definition Fare definition only for private fares alphanumerical True
<FlightSegmentList / FlightSegment>

FlightSegment

Attribute

SegmentKey

Flight Segment Code containing FlightId and date alphanumerical False
<FlightSegmentList / FlightSegment / Departure>
AirportCode IATA Airport Code alphabetical False
Date Departure Date Date False
Time Departure Time Time False
AirportName Full Airport Name alphabetical False
Terminal / Name Terminal name or number. Real world name for terminal alphabetical/numerical false
<FlightSegmentList / FlightSegment / Arrival>
AirportCode IATA Airport Code alphabetical False
Date Departure Date Date False
Time Departure Time Time False
ChangeOfDay Shows how many days after departure date flight will arrive. numerical False
AirportName Full Airport Name alphabetical False
Terminal / Name Terminal name or number. Real world name for terminal alphabetical/numerical false
<FlightSegmentList / FlightSegment / MarketingCarrier>
AirlineID IATA airline code alphabetical False
Name Full Airline name. alphabetical False
FlightNumber The flight number numerical False

<FlightSegmentList / FlightSegment / OperatingCarrier>

AirlineID IATA airline code alphabetical False
Name Full Airline name. alphabetical False
FlightNumber The flight number numerical False
Disclosures / Description / Text Text showing the disclosure alphabetical False
<FlightSegmentList / FlightSegment / Equipment>
AircraftCode Aircraft Code numerical False
Name Full Aircraft model name alphanumerical False
<FlightSegmentList / FlightSegment / FlightDetail>
FlightDuration / Value Flight duration time (Hours and minutes) alphanumerical False
<FlightList>

Flight

Attribute

FlightKey

Id for the flight alphanumerical

False

 

Flight / Journey / Time Time for the journey Date False
Flight / SegmentReferences Id referencing a FlightSegment alphanumerical False
<OriginDestinationList>

OriginDestination

Attribute

OriginDestinationKey 

IATA Code referencing departure city and arrival city alphabetical False
OriginDestination / DepartureCode IATA Code for Departure City alphabetical False
OriginDestination / ArrivalCode IATA Code for Arrival City alphabetical False
OriginDestination / FlightReferences Id Referencing a Flight. alphanumerical False
<MediaList>

Media

Attribute

ListKey 

Id for the Media Item alphabetical False
Media / MediaLink Http link referring to the Media Item alphanumerical False

1.4 Error messages

Error responses have been expanded and improved.

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

324

Can not be more infants than adults

More infants than adults

68

Max accepted non-infant passengers is 9

Number of passengers incorrect

913

There are not available flights for the requested query

No available flights

1

Please check the dates of your Shopping request

Bad Dates in the requeset

68

Number of passengers

Max number of passenger per request exceeded

913

No flights

Item/data not found or data not existing in processing host

1

Departure date is before Origin date

Please check the flight dates and try again. If the issue persists, please contact us.

486

More than one resident code

Only one Resident Discount may be selected

486

Incorrect resident or large family code

Incorrect resident or large family code

486

Point of sale different from España

Los descuentos de residentes no están disponible.

486

Incorrect origin or arrival

El descuento de residente no es aplicable a los trayectos seleccionados.

324

More infant than adults

You cannot book more babies than adults. Please check the booking or contact us.

75G

Agency not authorized for Indicated Private Fare

Agency not allowed to use the selected private fare

73Y

Incorrect Private Fare code

No eligible fare found for requested fare type

143

Incorrect type of passenger

Invalid or Ineligible Passenger Type Code

486

Passenger code not implemented for private fare

Invalid action code

486

More than one large family code

Only one Large Family Discount may be selected
486 Point of sale different from España El descuento de familia numerosa no está disponible.