There are two versions of our API, both using the IATA 17.2 standard.

We recommend that V2 is used from now on. We will continue to support V1 with bug fixes and new functionality when and where possible.

Please note that some functionalities and come message elements will only be released in V2. For example the BaggageAllowanceList, PenaltyList , together with various parts of the FareComponent are only included in V2.

The differences between V1 and V2 are highlighted in the tables that explain the message elements, and are identified as per the following legend:

 New or modified element

To be removed/deprecated

Unique to v2 - Branded Fares

Unique to V1 - Fare Families

Both versions include Fare/Product information in the PriceClassList section of the AirShoppingRS and OfferPriceRS messages.

The big difference is that the V1 information is free text maintained in an external database, whereas the V2 information is loaded in the Fares Distribution System (ATPCo) and is standard. This is clearly seen in the following examples:

V1 Fare Families

V2 Branded Fares

<PriceClassList>
<PriceClass PriceClassID="BFLROES">
	<Name>Business Flexible</Name>
	<Code>BFLROES</Code>
	<Descriptions>
		<Description ObjectKey="CABINABUSINESSFLEXIBLE">
			<Text>Cabina: Business</Text>
		</Description>
		<Description ObjectKey="EQMANOBUSINESSFLEXIBLE">
			<Text>Equipaje de mano: 1 bulto (56x40x25cm)</Text>
		</Description>
		<Description ObjectKey="EQBODEGABUSINESSFLEXIBLE">
			<Text>Equipaje en bodega: 2 piezas</Text>
		</Description>
		<Description ObjectKey="COMIDABUSINESSFLEXIBLE">
			<Text>Comida: Incluido</Text>
		</Description>
		<Description ObjectKey="ASIENTOBUSINESSFLEXIBLE">
			<Text>Selección de asiento: Incluido</Text>
		</Description>
		<Description ObjectKey="ASIENTODELANTEROBUSINESSFLEXIBLE">
			<Text>Asiento delantero: No aplica</Text>
		</Description>
		<Description ObjectKey="ASIENTOPREFERENTEBUSINESSFLEXIBLE">
			<Text>Asiento preferente: Incluido</Text>
		</Description>
		<Description ObjectKey="ASIENTOXLBUSINESSFLEXIBLE">
			<Text>Asiento espacio extra: No aplica</Text>
		</Description>
		<Description ObjectKey="EMBARQUEBUSINESSFLEXIBLE">
			<Text>Prioridad de Embarque: Sí, grupo 1</Text>
		</Description>
		<Description ObjectKey="CAMBIOBUSINESSFLEXIBLE">
			<Text>Cambios: Permitido sin coste, salvo excepciones.</Text>
		</Description>
		<Description ObjectKey="REEMBOLSOBUSINESSFLEXIBLE">
			<Text>Reembolso (por sentido): Permitido sin penalización, excepto en caso de no presentarse al vuelo (no show), que no tendrá reembolso</Text>
		</Description>
		<Description ObjectKey="CHECKINDESKBUSINESSFLEXIBLE">
			<Text>Mostrador check-in exclusivo: Sí</Text>
		</Description>
		<Description ObjectKey="SALAVIPBUSINESSFLEXIBLE">
			<Text>Acceso a salas VIP: Si</Text>
		</Description>
		<Description ObjectKey="FASTTRACKBUSINESSFLEXIBLE">
			<Text>Fast Track: Sí</Text>
		</Description>
		<Description ObjectKey="EQPPRIORBUSINESSFLEXIBLE">
			<Text>Entrega prioritaria equipaje: Si</Text>
		</Description>
		<Description ObjectKey="AVIOBUSINESSFLEXIBLE">
			<Text>AVIOS: Si</Text>
		</Description>
		<Description ObjectKey="WIFIBUSINESSFLEXIBLE">
			<Text>WiFi: De pago</Text>
		</Description>
	</Descriptions>
	<ClassOfService refs="IB385220240107MADACE IDNOY2">
		<Code SeatsLeft="7">I</Code>
		<MarketingName>BUSINESS</MarketingName>
	</ClassOfService>
	<ClassOfService refs="IB385420240107MADACE IDNOY2">
		<Code SeatsLeft="4">I</Code>
		<MarketingName>BUSINESS</MarketingName>
	</ClassOfService>
	<ClassOfService refs="IB385820240107MADACE RDNOY2">
		<Code SeatsLeft="4">R</Code>
		<MarketingName>BUSINESS</MarketingName>
	</ClassOfService>
</PriceClass>
			<PriceClassList>
				<PriceClass PriceClassID="BASICHTiqZA4er2V">
					<Name>BASIC</Name>
					<Code>BASIC</Code>
					<Descriptions>
						<Description ObjectKey="CFFIB210EG210EGBASIC050">
							<Text>BF/SE/050/BS//STANDARD SEAT SELECTION/CHARGE</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASICIB5">
							<Text>BF/SE/IB5///XL SEAT SELECTION/CHARGE</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASIC05Z">
							<Text>BF/SE/05Z/Premium//EMERGENCY SEAT SELECTION/CHARGE</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASICIB3">
							<Text>BF/SE/IB3///FRONT SEAT SELECTION/CHARGE</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASICIB4">
							<Text>BF/SE/IB4///STD SEAT SEL 24H BEFORE DEPART/CHARGE</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASIC0B3">
							<Text>ML//0B3///MEAL/DISPLAYED-BUT-NOT-OFFERED</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASICIC3">
							<Text>ML//IC3///SNACK OR DRINK/CHARGE</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASIC0BX">
							<Text>LG//0BX///LOUNGE ACCESS/DISPLAYED-BUT-NOT-OFFERED</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASIC0LW">
							<Text>TS/SY/0LW/Priority//PRIORITY SECURITY/DISPLAYED-BUT-NOT-OFFERED</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASIC0LF">
							<Text>TS/PY/0LF///PRIORITY BAGGAGE/DISPLAYED-BUT-NOT-OFFERED</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASIC0G6">
							<Text>TS/PR/0G6///PRIORITY BOARDING GROUP 1/DISPLAYED-BUT-NOT-OFFERED</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASICIC2">
							<Text>TS/PR/IC2///PRIORITY BOARDING GROUP 2/DISPLAYED-BUT-NOT-OFFERED</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASIC03P">
							<Text>TS/PO/03P///PRIORITY CHECK IN/DISPLAYED-BUT-NOT-OFFERED</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASIC09A">
							<Text>TS/DE/09A/WW/LV/WIFI CONNECTION/CHARGE</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASICIB0">
							<Text>BF//IB0///AVIOS/FREE</Text>
						</Description>
						<Description ObjectKey="CFFIB210EG210EGBASICIB1">
							<Text>BF//IB1///AVIOS ELITE/FREE</Text>
						</Description>
					</Descriptions>
					<ClassOfService refs="IB053020230829MADVGO AAUOB5">
						<Code SeatsLeft="9">A</Code>
						<MarketingName CabinDesignator="5">Economy</MarketingName>
					</ClassOfService>
					<ClassOfService refs="IB891420230829MADVGO ADNOB4">
						<Code SeatsLeft="2">A</Code>
						<MarketingName CabinDesignator="5">Economy</MarketingName>
					</ClassOfService>
					<ClassOfService refs="IB053820230829MADVGO ADNOB4">
						<Code SeatsLeft="9">A</Code>
						<MarketingName CabinDesignator="5">Economy</MarketingName>
					</ClassOfService>
					<ClassOfService refs="IB053220230829MADVGO ODNOB4">
						<Code SeatsLeft="5">O</Code>
						<MarketingName CabinDesignator="5">Economy</MarketingName>
					</ClassOfService>
				</PriceClass>

What are Branded Fares

Branded Fares are an industry standard way for airlines to clearly identify the Features and Attributes available as part of a fare product, some of which may be included in the price, and others that may be purchasable for an additional fee. It is also an industry wide solution, that allows Fares/Brands with similar features and attributes to be grouped together for comparison.

This allows us to promote Features and Attributes that differentiate one fare product from another, and gives travellers the opportunity to select the product that best fits their preferences and the purpose of their journey.

We use the the ATPCo Optional Services Industry Sub Codes, together with Iberia specific ones, to be able to offer products in a more structured and informative way.

This list of Attributes is dynamic and can and will change and grow over time, and includes things such as:

Elements and how to use them

The Branded Fares Fields that we return group each Brand/Product by a PriceClassID, this information is returned in the PriceClassList, and which represents the following elements: 

The following two elements identify the Branded Fare/Product

The following are used to identify and group together the various Features and Attributes of the Product:

Example 1:

                 <Description ObjectKey="CFFIB210210COMFORT0LF">
                    <Text>TS/PY/0LF///PRIORITY BAGGAGE/DISPLAYED-BUT-NOT-OFFERED</Text>
                 </Description>

The above example is for:

TS - is the attributeGroup, which as per the ATPCo Optional Services Industry Sub Codes is “Travel Services”

PY - is the attributeSubGroup, which as per the ATPCo Optional Services Industry Sub Codes is “Priority Baggage”

0LF - is the RFISC (Reason for Issuance Sub Code) used to identify the individual attribute. If the service required the issue of an EMD this would be used for its issue.

Both Description1 and Description2 are empty

PRIORITY BAGGAG - is the ComercialName as per the ATPCo Optional Services Industry Sub Codes

DISPLAYED-BUT-NOT-OFFERED - is the tierApplication. In this case the feature could be diplayed greyed out as it is not offered with this product.

Example 2:

                 <Description ObjectKey="CFFIB210210NOBAGIC3">
                    <Text>ML//IC3///SNACK OR DRINK/CHARGE</Text>
                 </Description>

The above example is for:

ML - is the attributeGroup, which as per the ATPCo Optional Services Industry Sub Codes is “Meal”

There is no attributeSubGroup for this feature.

IC3- is the RFISC (Reason for Issuance Sub Code) used to identify the individual attribute. If the service required the issue of an EMD this would be used for its issue. In this case the RFISC is specific to Iberia.

Both Description1 and Description2 are empty in this example.

SNACK OR DRINK - is the ComercialName given by Iberia to this feature.

CHARGE - is the tierApplication. In this case the feature is purchasable for a fee. As the service is not in our ServiceList API this is only purchasable at place of delivery.

In the following pages you have all the messages with the functionality our API supports with the message structure.

There are many examples with full end to end message flows that will help you. Messages for the same Order must be processed sequentially, the next message should not be sent until after receipt of the response to the previous message.

3-D Secure payment is being mandated in many markets and is ONLY supported in our 17.2 version using an augmentation point.