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 6 Next »

Sporting Equipment

For information on Iberia’s Special Baggage Policy, please see https://www.iberia.com/es/luggage/allowance-in-hold/#!/baggages-search:~:text=some%20exceptions.-,Additional%20baggage,-If%20you%20need

Through NDC, in addition to the 23kg, 15kg and 32kg baggage weights and the Priority Boarding service, Sporting Equipment options will be offered by Ancillaries as follows:

  • Golf Equipment (GOLF_EQUIPMENT)

  • Bicycle Equipment (BICYCLE)

  • Ski Equipment (SKI_SNOW)

To purchase Sporting Equipment baggage, the ServiceFilter/GroupCode needs to be sent in the ServiceListRQ message as per the SubGroup and Group codes displayed in this table:

Sporting Equipment can ONLY be included in an OrderCreate (with payment), or added to an already paid Order.

The information regarding the price and details is included in the message response, later displayed in these examples.

ServiceListRQ Message

When new services are released, we will publish the new applicable ServiceFilters, and you can include them as and when required, as per the following examples:

<Parameters>
	<ServiceFilters>
		<ServiceFilter>
			<GroupCode>BG</GroupCode>
		</ServiceFilter>
		<ServiceFilter>
			<GroupCode>TS</GroupCode>
			<SubGroupCode>PR</SubGroupCode>
		</ServiceFilter>
		<ServiceFilter>
			<GroupCode>BG</GroupCode>
			<SubGroupCode>SP</SubGroupCode>
		</ServiceFilter>
	</ServiceFilters>
 </Parameters>

The Parameters section shows that all of the available Ancillaries have been requested.

Please, note that both GroupCode and SubGroupCode information are being taken from this table, and that the above-mentioned example combines three ancillaries (Priority Boarding and Sporting Equipment). At the moment, these are all of the Ancillaries offered through our NDC Channel.

An example of a ServiceListRQ in the prime shopping flow, following the OfferPrice could look something like the following:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
	<soapenv:Header/>
	<soapenv:Body>
		<ServiceListRQ Version="5.000" PrimaryLangID="es" xmlns="http://www.iata.org/IATA/EDIST/2017.2">
			<PointOfSale>
				<Location>
					<CountryCode>ES</CountryCode>
				</Location>
			</PointOfSale>
			<Document>
				<ReferenceVersion>1.0</ReferenceVersion>
			</Document>
			<Party>
				<Sender>
					<TravelAgencySender>
						<IATA_Number>########</IATA_Number>
						<AgencyID>firstAgency</AgencyID>
					</TravelAgencySender>
				</Sender>
				<Participants>
					<Participant>
						<AggregatorParticipant SequenceNumber="1">
							<AggregatorID>########</AggregatorID>
						</AggregatorParticipant>
					</Participant>
				</Participants>
			</Party>
			<Parameters>
				<ServiceFilters>
					<ServiceFilter>
						<GroupCode>BG</GroupCode>
					</ServiceFilter>
					<ServiceFilter>
						<GroupCode>TS</GroupCode>
						<SubGroupCode>PR</SubGroupCode>
					</ServiceFilter>
					<ServiceFilter>
						<GroupCode>BG</GroupCode>
						<SubGroupCode>SP</SubGroupCode>
					</ServiceFilter>
				</ServiceFilters>
			</Parameters>
			<ShoppingResponseID>
				<ResponseID>Qm9va2luZ0AxNjg5NTgxODI4OTI5LWFzcHd6</ResponseID>
			</ShoppingResponseID>
			<Query>
				<Offers>
					<Offer>
						<OfferID Owner="IB">IBda189b81160243a9932b7aeb1ef0d6a6OC</OfferID>
						<OfferItemIDs>
							<OfferItemID Owner="IB">IBda189b81160243a9932b7aeb1ef0d6a6OC_01  </OfferItemID>
						</OfferItemIDs>
					</Offer>
				</Offers>
			</Query>
		</ServiceListRQ>
	</soapenv:Body>
</soapenv:Envelope>

The above example is in the presale flow. For a postsale flow, simply replace the OfferID within the Query section with the OrderID:

<Query>
	<OrderID Owner="IB">IB24847487859643f69318ea7fa100e3beOC</OrderID>
</Query>

ServiceListRS Message

All services offered are included within the ServiceList message response. This will evolve as more services are offered through the NDC channel.

Maintaining backward compatibility with our initial implementation, and with the new services being added, it is necessary to include the ServiceFilter if you want to sell them (as applied to Priority Boarding and Bags, and within the Parameters section). There is no need, however, to request them all since each ServiceFilter will retrieve the associated one.

AlaCarteOfferItem - in ServiceListRS

The OfferItem shows the unit price of the Service for the applicable passengers and flight segments.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<ServiceListRS Version="5.000" PrimaryLangID="es" xmlns:ns2="http://www.iberia.com/IATA/NDC/SecurePayment/2017.2" xmlns="http://www.iata.org/IATA/EDIST/2017.2">
			<Document>
				<ReferenceVersion>5.000</ReferenceVersion>
			</Document>
			<Success/>
			<ShoppingResponseID>
				<ResponseID>Qm9va2luZ0AxNjg5NTgxODI4OTI5LWFzcHd6</ResponseID>
			</ShoppingResponseID>
			<...>
				<ALaCarteOffer OfferID="ALACARTE_IBe28d6d416b76474c90fe4371da43b132" Owner="IB">
					<OfferExpirationDateTime>2023-07-17T08:47:11.797Z</OfferExpirationDateTime>
					<ALaCarteOfferItem OfferItemID="ALACARTE_SPEQUIPMENT_IBe28d6d416b76474c90fe4371da43b132_01">
						<Eligibility>
							<PassengerRefs>ADULT_01</PassengerRefs>
							<SegmentRefs>IB684520231213</SegmentRefs>
						</Eligibility>
						<UnitPriceDetail>
							<TotalAmount>
								<SimpleCurrencyPrice Code="EUR">150.00</SimpleCurrencyPrice>
							</TotalAmount>
							<BaseAmount Code="EUR">150.00</BaseAmount>
							<Taxes>
								<Total Code="EUR">0.00</Total>
							</Taxes>
						</UnitPriceDetail>
						<Service ServiceID="SPE_SERVICE_3053636e-339f-43ec-8e54-853c0b399f02">
							<ServiceDefinitionRef>SPESERVICE-BICYCLE-1</ServiceDefinitionRef>
						</Service>
					</ALaCarteOfferItem>
					<...>
						<ALaCarteOfferItem OfferItemID="ALACARTE_SPEQUIPMENT_IBe28d6d416b76474c90fe4371da43b132_05">
							<Eligibility>
								<PassengerRefs>ADULT_01</PassengerRefs>
								<SegmentRefs>IB684520231213</SegmentRefs>
							</Eligibility>
							<UnitPriceDetail>
								<TotalAmount>
									<SimpleCurrencyPrice Code="EUR">260.00</SimpleCurrencyPrice>
								</TotalAmount>
								<BaseAmount Code="EUR">260.00</BaseAmount>
								<Taxes>
									<Total Code="EUR">0.00</Total>
								</Taxes>
							</UnitPriceDetail>
							<Service ServiceID="SPE_SERVICE_3c6f750a-8247-463a-b914-3ccd2ddef6d7">
								<ServiceDefinitionRef>SPESERVICE-GOLF_EQUIPMENT-2</ServiceDefinitionRef>
							</Service>
						</ALaCarteOfferItem>
						<...>
							<ALaCarteOfferItem OfferItemID="ALACARTE_SPEQUIPMENT_IBe28d6d416b76474c90fe4371da43b132_06">
								<Eligibility>
									<PassengerRefs>ADULT_01</PassengerRefs>
									<SegmentRefs>IB684520231213</SegmentRefs>
								</Eligibility>
								<UnitPriceDetail>
									<TotalAmount>
										<SimpleCurrencyPrice Code="EUR">390.00</SimpleCurrencyPrice>
									</TotalAmount>
									<BaseAmount Code="EUR">390.00</BaseAmount>
									<Taxes>
										<Total Code="EUR">0.00</Total>
									</Taxes>
								</UnitPriceDetail>
								<Service ServiceID="SPE_SERVICE_826aa018-036a-43b5-8331-575dff5a62ce">
									<ServiceDefinitionRef>SPESERVICE-GOLF_EQUIPMENT-3</ServiceDefinitionRef>
								</Service>
							</ALaCarteOfferItem>
						</ALaCarteOffer>

The ServiceDefinitionList contains a list of the different Services each defined as necessary.

When there are more than one service then the number of <ServiceDefinitionRef> elements gives you the number of those services. We do not recommend you use the numbers in the Name or the Description Text to discern the number of services.

Using the RFIC together with the Subcode together with the ATPCo Optional Services Industry Sub Codes., the Grouping and SubGrouping of the services can be achieved.

<ServiceDefinitionList>
	<ServiceDefinition ServiceDefinitionID="SPESERVICE-BICYCLE-1">
		<Name>1 BICYCLE</Name>
		<Encoding>
			<RFIC>C</RFIC>
			<SubCode>0EC</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>1 BI - Bicycle</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
			<SSRCode>BIKE</SSRCode>
			<Method>SSR</Method>
		</BookingInstructions>
		<Detail>
			<ServiceCombinations>
				<Combination>
					<Rule>NotPermitted</Rule>
					<ServiceReference>SPESERVICE-BICYCLE-2</ServiceReference>
					<ServiceReference>SPESERVICE-BICYCLE-3</ServiceReference>
				</Combination>
			</ServiceCombinations>
			<ServiceItemQuantityRules>
				<MaximumQuantity>1</MaximumQuantity>
			</ServiceItemQuantityRules>
		</Detail>
	</ServiceDefinition>
	<ServiceDefinition ServiceDefinitionID="SPESERVICE-BICYCLE-2">
		<Name>2 BICYCLE</Name>
		<ServiceBundle>
			<ServiceDefinitionRef>SPESERVICE-BICYCLE-1</ServiceDefinitionRef>
			<ServiceDefinitionRef>SPESERVICE-BICYCLE-1</ServiceDefinitionRef>
		</ServiceBundle>
		<Encoding>
			<RFIC>C</RFIC>
			<SubCode>0EC</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>2 BI - Bicycle</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
			<SSRCode>BIKE</SSRCode>
			<Method>SSR</Method>
		</BookingInstructions>
		<Detail>
			<ServiceCombinations>
				<Combination>
					<Rule>NotPermitted</Rule>
					<ServiceReference>SPESERVICE-BICYCLE-1</ServiceReference>
					<ServiceReference>SPESERVICE-BICYCLE-3</ServiceReference>
				</Combination>
			</ServiceCombinations>
			<ServiceItemQuantityRules>
				<MaximumQuantity>1</MaximumQuantity>
			</ServiceItemQuantityRules>
		</Detail>
	</ServiceDefinition>
	<ServiceDefinition ServiceDefinitionID="SPESERVICE-BICYCLE-3">
		<Name>3 BICYCLE</Name>
		<ServiceBundle>
			<ServiceDefinitionRef>SPESERVICE-BICYCLE-1</ServiceDefinitionRef>
			<ServiceDefinitionRef>SPESERVICE-BICYCLE-1</ServiceDefinitionRef>
			<ServiceDefinitionRef>SPESERVICE-BICYCLE-1</ServiceDefinitionRef>
		</ServiceBundle>
		<Encoding>
			<RFIC>C</RFIC>
			<SubCode>0EC</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>3 BI - Bicycle</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
			<SSRCode>BIKE</SSRCode>
			<Method>SSR</Method>
		</BookingInstructions>
		<Detail>
			<ServiceCombinations>
				<Combination>
					<Rule>NotPermitted</Rule>
					<ServiceReference>SPESERVICE-BICYCLE-1</ServiceReference>
					<ServiceReference>SPESERVICE-BICYCLE-2</ServiceReference>
				</Combination>
			</ServiceCombinations>
			<ServiceItemQuantityRules>
				<MaximumQuantity>1</MaximumQuantity>
			</ServiceItemQuantityRules>
		</Detail>
	</ServiceDefinition>
</ServiceDefinitionList>

The same principle as in our Bags ServiceDefinitionList is applied here. The purchase of multiple baggage is solved using the ServiceBundle, made up of various individual bag services, the NotPermitted combinations are shown to prevent the purchase of a number of bags that would exceed the maximum quantity allowed (which, for Sporting Equipment, is three).

Please, note that the ServiceDefinition BookingInstructions section for Golf and Ski baggage type the SSRCode looks like the following:

<BookingInstructions>
     <SSRCode>SPEQ</SSRCode>
     <Method>SSR</Method>
</BookingInstructions>

And for the Bike baggage type is:

<BookingInstructions>
     <SSRCode>BIKE</SSRCode>
     <Method>SSR</Method>
</BookingInstructions>

OrderCreateRQ Message

Service Bundle

From the OrderCreate Request (and as an example of the various combinations) the following code shows that Sporting Equipment baggage is being assigned to different passengers, following the same process as in Bags with different weights.

As shown in the previous section, the Sporting Equipment requested is three bicycles.

Since these samples are being extracted from the same Flow, we can see that the OfferID is the same reported in the ServiceListRQ (<OfferID Owner="IB">IBda189b81160243a9932b7aeb1ef0d6a6OC</OfferID>), and so is the OfferItemID (<OfferItemID Owner="IB">IBda189b81160243a9932b7aeb1ef0d6a6OC_01 </OfferItemID>).

<Query>
	<Order>
		<Offer OfferID="IBda189b81160243a9932b7aeb1ef0d6a6OC" Owner="IB" ResponseID="Qm9va2luZ0AxNjg5NTgxODI4OTI5LWFzcHd6">
			<OfferItem OfferItemID="IBda189b81160243a9932b7aeb1ef0d6a6OC_01">
				<PassengerRefs>ADULT_01</PassengerRefs>
			</OfferItem>
		</Offer>
		<Offer OfferID="ALACARTE_IBe28d6d416b76474c90fe4371da43b132" Owner="IB" ResponseID="Qm9va2luZ0AxNjg5NTgxODI4OTI5LWFzcHd6">
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IBe28d6d416b76474c90fe4371da43b132_01">
				<PassengerRefs>ADULT_01</PassengerRefs>
			</OfferItem>
			<OfferItem OfferItemID="ALACARTE_SPEQUIPMENT_IBe28d6d416b76474c90fe4371da43b132_03">
				<PassengerRefs>ADULT_01</PassengerRefs>
			</OfferItem>
			<OfferItem OfferItemID="ALACARTE_PRIORITY_IBe28d6d416b76474c90fe4371da43b132_01">
				<PassengerRefs>ADULT_01</PassengerRefs>
			</OfferItem>
		</Offer>
	</Order>

If you are adding the ancillary to an already existing, and paid for, Order then the OrderChangeRQ is used as per the following:

OderChangeRQ Message

When adding ancillaries to an existing Order, you reference the existing OrderID and the OfferItem’s that you wish to purchase from the previous ServiceListRQ.

Remember:

  1. Ancillaries cannot be added to an unpaid Order.

  2. Payment for the ancillaries must be included, as you cannot add an unpaid ancillary to a paid Order.

<Query>
	<OrderID>IB24847487859643f69318ea7fa100e3beOC</OrderID>
	<OrderServicing>
		<AcceptOffer>
			<Offer OfferID="ALACARTE_IBe28d6d416b76474c90fe4371da43b132" Owner="IB" ResponseID="Qm9va2luZ0AxNjg5NTgxODI4OTI5LWFzcHd6">
				<OfferItem OfferItemID="ALACARTE_SPEQUIPMENT_IBe28d6d416b76474c90fe4371da43b132_03">
					<PassengerRefs>ADULT_01</PassengerRefs>
				</OfferItem>
			</Offer>
		</AcceptOffer>
	</OrderServicing>
	<Payments>
		<Payment>
			<Type>CA</Type>
			<Method>
				<Cash CashInd="true"/>
			</Method>
			<Amount Code="EUR">80.0</Amount>
			<Payer>
				<ContactInfoRefs>Payer</ContactInfoRefs>
			</Payer>
		</Payment>
	</Payments>
</Query>

OrderViewRS Message

In the OrderViewRS the Sporting Equipment Ancillary is shown in the following way.

First, the OrderItem:

<OrderItem OrderItemID="IBda189b81160243a9932b7aeb1ef0d6a6OC_04">
	<PriceDetail>
		<TotalAmount>
			<SimpleCurrencyPrice Code="EUR">450.00</SimpleCurrencyPrice>
		</TotalAmount>
		<BaseAmount Code="EUR">450.00</BaseAmount>
		<Taxes>
			<Total Code="EUR">0.00</Total>
		</Taxes>
	</PriceDetail>
	<Service ServiceID="SPE_SERVICE_IB684520231213_01" ServiceStatus="HK">
		<PassengerRef>ADULT_01</PassengerRef>
		<ServiceDefinitionRef SegmentRef="IB684520231213">SPESERVICE-BICYCLE-3</ServiceDefinitionRef>
	</Service>
</OrderItem>

And the ServiceDefinition, where we can observe all Ancillaries that are included in this specific example, according to their ServiceDefinitionID (Bags, Priority Boarding, and Sporting Equipment services).

<ServiceDefinitionList>
	<ServiceDefinition ServiceDefinitionID="BAGSERVICE-15-1">
		<Name>1 EXTRA BAG 15</Name>
		<Encoding>
			<RFIC>C</RFIC>
			<SubCode>0LM</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>1 Additional Bag up to 15 KG each</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
			<SSRCode>XBAG</SSRCode>
			<Method>SSR</Method>
		</BookingInstructions>
	</ServiceDefinition>
	<ServiceDefinition ServiceDefinitionID="PRIOBOARDINGSERVICE">
		<Name>PRIORITY BOARDING</Name>
		<Encoding>
			<RFIC>E</RFIC>
			<SubCode>0G6</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>PRIORITY BOARDING</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
			<SSRCode>BDPR</SSRCode>
			<Method>SSR</Method>
		</BookingInstructions>
		<Detail>
			<ServiceItemQuantityRules>
				<MaximumQuantity>1</MaximumQuantity>
			</ServiceItemQuantityRules>
		</Detail>
	</ServiceDefinition>
	<ServiceDefinition ServiceDefinitionID="SPESERVICE-BICYCLE-1">
		<Name>1 - BICYCLE</Name>
		<Encoding>
			<RFIC>C</RFIC>
			<SubCode>0EC</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>1 - BI - Bicycle</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
			<SSRCode>BIKE</SSRCode>
			<Method>SSR</Method>
		</BookingInstructions>
	</ServiceDefinition>
	<ServiceDefinition ServiceDefinitionID="SPESERVICE-BICYCLE-3">
		<Name>3 - BICYCLE</Name>
		<ServiceBundle>
			<ServiceDefinitionRef>SPESERVICE-BICYCLE-1</ServiceDefinitionRef>
			<ServiceDefinitionRef>SPESERVICE-BICYCLE-1</ServiceDefinitionRef>
			<ServiceDefinitionRef>SPESERVICE-BICYCLE-1</ServiceDefinitionRef>
		</ServiceBundle>
		<Encoding>
			<RFIC>C</RFIC>
			<SubCode>0EC</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>3 - BI - Bicycle</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
			<SSRCode>BIKE</SSRCode>
			<Method>SSR</Method>
		</BookingInstructions>
	</ServiceDefinition>
</ServiceDefinitionList>

MediaList

Here is where we put URLs that can be used to link to additional information such as rich media and other useful information for the customer.

<Media ListKey="Media-Checked-Baggage">
	<MediaLink>https://www.iberia.com/es/equipajes/especiales/</MediaLink>
</Media>

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

  • No labels