AirShopping 15.2

1.1 Functional Description

version: 2.37

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

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 including:

  • Baggage Allowance
  • Order Change penalties/fee
  • Cancelation/refund penalties/fees

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:

It will give 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

Add = New

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

Shema

<PointOfSale>

CountryCode

Country code

2 alpha

List of countries

If toggle feature for market validation is activated.

<Document>

ReferenceVersion

The IATA Schema version.

numeric

any


<Party>

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>

TravelerCount

Attribute Passenger Type Code

TravelerCount (numeric)

PaxType (3 alpha)

Passenger Types

Schema

<CoreQuery>

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

Date

Date of travel

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 Name of the requested Private Fare Alphabetical Valid private fare name Mandatory for schema if 'Preferences' tag is indicated and don't have other preference inside
Preference / FarePreferences / Types / Type / Code
Fare Code to request alphanumerical Example (758 : Private Fares Mandatory for schema if 'Preferences' tag is indicated and don't have other preference inside

Preference / FarePreferences / TicketDesigs / TicketDesig

Resident discount code

alphabetical

RC (Canary Resident)

BP (Balearic Resident)

RM (Melilla Resident)

BI (Inside Balearic territory)

DC (Inside Canary territory)

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
<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 / OfferExpirationAdd Expiration time limit of the offer Date / Time False

Total Price

Price of the offer

Numerical

False

TotalPrice / DetailCurrencyPrice / TotalAdd Total price (with taxes) of the offer Numerical False
TotalPrice / DetailCurrencyPrice / Taxes / TotalAdd 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 >Add
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
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

<Commisions>

Percentage

Percentage of commision

Numeric

True

Amount

Amount of commision

Numeric

False

Remarks

Detail for more than one commission

AlphaNumeric

True

<DataList>

AnonymousTraveler

Anonymous Passenger key

alphabetical

False

PTC

Anonymous Passeger Code

alphabetical

False

<DisclosuresList/Disclosures>

ListKey (attribute)

IATA Disclosure values

alphanumerical False

Description / MetaDataToken

Key for the value inside Metadata Item

alphabetical

True

Description / Text

Value of the MetaData Item

alphanumerical false

FlightSegmentList/FlightSegment

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

AirportName

Full Airport Name

alphabetical

False

ChangeOfDay

Shows how many days after departure date flight will arrive.

numerical

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

Disclosure/Text

Text showing the disclosure

alphabetical

False

Equipment

AircraftCode

Aircraft Code

alphabetical False

Name

Full Aircraft model name

alphanumerical False
FlightSegmentList / FlightSegment / FlightDetail Add
FlightDuration / Value Flight duration time (Hours and minutes) alphanumerical False

FlightList

Flight/FlightKey

Id for the flight

alphanumerical

False

Journey/Time

Time for the journey

Date

False

SegmentReferences

Id referencing a FlightSegment

alphanumerical

False

OriginDestinationList

OriginDestinationKey

IATA Code referencing departure city and arrival city

alphabetical

False

DepartureCode

IATA Code for Departure City

alphabetical

False

ArrivalCode

IATA Code for Arrival City

alphabetical

False

FlightReferences

Id Referencing a Flight.

alphanumerical

False

Media List

ListKey

Id for the Media Item

alphabetical

False

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.