Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Modified

Table of Contents

Bags

Through NDC, you can purchase additional bags of 15kg, 23kg, and 32kg.

For information on Iberia’s Checked 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, you can purchase additional bags of Bags (15kg, 23kg, and 32kg.

Maintaining backward compatibility, the bags of 23kg can be purchased in both Pre-Sale and Servicing flows, for this no ServiceFilter/GroupCode needs to be sent in the ServiceListRQ message

To purchase bags of 15kg, 23kg or 32kg, the ServiceFilter/GroupCode needs to be sent in the ServiceListRQ message as per the following example (please, refer to the SubGroup and Group codes diplayed in this table):

Code Block
languagexml
<Parameters>
  <ServiceFilters>
    <ServiceFilter>
      <GroupCode>BG</GroupCode>
    </ServiceFilter>
  </ServiceFilters>
</Parameters>	

Presently, the purchase of bags 15kg and 32kg is only available in the Pre-Sale flow. Likewise, the purchase of Bags on Unpaid (On-Hold) Orders is not permitted.

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 examples23 kg and 32 kg) may be included in an OrderCreate (with or without payment), and held (on hold) with the flights until the Payment Time Limit (applicable to the bags) expires, which may be more restrictive than the Payment Time Limit for the flights. Please note that the absence of a payment time limit for an OfferItem signifies that the item must be paid for at time of booking.

Maintaining backward compatibility, bags can be purchased in both Pre-Sale and Servicing flows, for this no ServiceFilter/GroupCode needs to be sent in the ServiceListRQ message

To purchase bags of 15kg, 23kg or 32kg, the ServiceFilter/GroupCode needs to be sent in the ServiceListRQ message as per the following example (please, refer to the SubGroup and Group codes displayed in this table):

Code Block
languagexml
<Parameters>
  	<ServiceFilters>
 		<ServiceFilter>
			   <ServiceFilter>
      <GroupCode>BG</GroupCode>
		</ServiceFilter> 		<ServiceFilter> 			<GroupCode>TS</GroupCode> 			<SubGroupCode>PR</SubGroupCode> 		</ServiceFilter>
  </ServiceFilters>
</Parameters>

Please, note that both GroupCode and SubGroupCode information are being taken from this table, and that the above-mentioned example combines two ancillaries (Bags together with Priority Boarding).

An example of a ServiceListRQ in the prime shopping flow, following the OfferPrice could look something like the followingThe 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:

Code Block
languagexml
<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>
<Parameters>
	<ServiceFilters>
		<ServiceFilter>
			<GroupCode>BG</GroupCode>
		</ServiceFilter>
		<ServiceFilter>
			<GroupCode>TS</GroupCode>
			<SubGroupCode>PR</SubGroupCode>
		</ServiceFilter>
  </Parameters>

Please, note that both GroupCode and SubGroupCode information are being taken from this table, and that the above-mentioned example combines two ancillaries (Bags together with Priority Boarding).

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

Code Block
languagexml
<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>11112220</IATA_Number>
						<AgencyID>firstAgency</AgencyID>
					</TravelAgencySender>
				</Sender>
				<Participants>
					<Participant>
						<AggregatorParticipant SequenceNumber="1">
							<AggregatorID>00000022</AggregatorID>
						</AggregatorParticipant>
					</Participant>
				</Participants>
			</Party>
			<Parameters>
				<ServiceFilters>
					<ServiceFilter>
						<GroupCode>BG</GroupCode>
					</ServiceFilter>
				</ServiceFilters>
			</Parameters>
			<ShoppingResponseID>
				<ResponseID>Qm9va2luZ0BHVy0xNjgxNzI2NzkwMDI5LUU4TXVo</ResponseID>
			</ShoppingResponseID>
			<Query>
				<Offers>
					<Offer>
						<OfferID Owner="IB">IB1f565db470e14d5ebb4038fa101152c0OC</OfferID>
						<OfferItemIDs>
							<OfferItemID Owner="IB">IB1f565db470e14d5ebb4038fa101152c0OC_01  </OfferItemID>
						</OfferItemIDs>
					</Offer>
				</Offers>
			</Query>
		</ServiceListRQ>
	</soapenv:Body>
</soapenv:Envelope>

...

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

If the ServiceFilter is ommitedomite, then only the 23Kgs bags will be returned, maintaining backward compatibility with our initial implementation. However, with the new services being added, it is necessary to include the ServiceFilter if you want to sell them.

...

Code Block
languagexml
<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>Qm9va2luZ0BHVy0xNjgxNzI2NzkwMDI5LUU4TXVo</ResponseID>
			</ShoppingResponseID>
			<ALaCarteOffer OfferID="ALACARTE_IB81c6d3ee302c470fa571d241500a9256" Owner="IB">
				<OfferExpirationDateTime>2023-04-17T10:49:51.411Z</OfferExpirationDateTime>
				<ALaCarteOfferItem OfferItemID="ALACARTE<TimeLimits>
                    <Payment DateTime="2023-04-20T22:59:00.000Z"/>
                </TimeLimits>
				<ALaCarteOfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_01">
					<Eligibility>
						<PassengerRefs>ADULT_01 ADULT_02 ADULT_03 ADULT_04</PassengerRefs>
						<SegmentRefs>IB044020230712</SegmentRefs>
					</Eligibility>
					<UnitPriceDetail>
						<TotalAmount>
							<SimpleCurrencyPrice Code="EUR">18.00</SimpleCurrencyPrice>
						</TotalAmount>
						<BaseAmount Code="EUR">18.00</BaseAmount>
						<Taxes>
							<Total Code="EUR">0.00</Total>
						</Taxes>
					</UnitPriceDetail>
					<Service ServiceID="BAG_SERVICE_fcc6f633-71f9-45a5-ac43-2e36f80ebe10">
						<ServiceDefinitionRef>BAGSERVICE-15-1</ServiceDefinitionRef>
					</Service>
				</ALaCarteOfferItem>
				
			<...>
			
			<ALaCarteOfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_15">
               <Eligibility>
                  <PassengerRefs>ADULT_01 ADULT_02 ADULT_03 ADULT_04</PassengerRefs>
                  <SegmentRefs>IB044020230712</SegmentRefs>
               </Eligibility>
               <UnitPriceDetail>
                  <TotalAmount>
                     <SimpleCurrencyPrice Code="EUR">40.00</SimpleCurrencyPrice>
                  </TotalAmount>
                  <BaseAmount Code="EUR">40.00</BaseAmount>
                  <Taxes>
                     <Total Code="EUR">0.00</Total>
                  </Taxes>
               </UnitPriceDetail>
               <Service ServiceID="BAG_SERVICE_b4d1279b-1586-481b-81ec-7343a351cae5">
                  <ServiceDefinitionRef>BAGSERVICE-32-1</ServiceDefinitionRef>
               </Service>
            </ALaCarteOfferItem>

...

Code Block
languagexml
<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>
		<Detail>
			<ServiceCombinations>
				<Combination>
					<Rule>NotPermitted</Rule>
					<ServiceReference>BAGSERVICE-15-2</ServiceReference>
					<ServiceReference>BAGSERVICE-15-3</ServiceReference>
					<ServiceReference>BAGSERVICE-15-4</ServiceReference>
					<ServiceReference>BAGSERVICE-15-5</ServiceReference>
					<ServiceReference>BAGSERVICE-15-6</ServiceReference>
					<ServiceReference>BAGSERVICE-15-7</ServiceReference>
				</Combination>
			</ServiceCombinations>
			<ServiceItemQuantityRules>
				<MaximumQuantity>1</MaximumQuantity>
			</ServiceItemQuantityRules>
		</Detail>
	</ServiceDefinition>
	
	<...>
	
	<ServiceDefinition ServiceDefinitionID="BAGSERVICE-23-1">
	<Name>1 EXTRA BAG 23</Name>
	<Encoding>
		<RFIC>C</RFIC>
		<SubCode>0GO</SubCode>
	</Encoding>
	<Descriptions>
		<Description>
			<Text>1 Additional Bag up to 23 KG each</Text>
		</Description>
	</Descriptions>
	<BookingInstructions>
		<SSRCode>XBAG</SSRCode>
		<Method>SSR</Method>
	</BookingInstructions>
	<Detail>
		<ServiceCombinations>
			<Combination>
				<Rule>NotPermitted</Rule>
				<ServiceReference>BAGSERVICE-23-2</ServiceReference>
				<ServiceReference>BAGSERVICE-23-3</ServiceReference>
				<ServiceReference>BAGSERVICE-23-4</ServiceReference>
				<ServiceReference>BAGSERVICE-23-5</ServiceReference>
				<ServiceReference>BAGSERVICE-23-6</ServiceReference>
				<ServiceReference>BAGSERVICE-23-7</ServiceReference>
			</Combination>
		</ServiceCombinations>
		<ServiceItemQuantityRules>
			<MaximumQuantity>1</MaximumQuantity>
		</ServiceItemQuantityRules>
	</Detail>
</ServiceDefinition>

As the purchase of multiple bags is solved here 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.

...

OrderCreateRQ Message

Service Bundle

From the OrderCreate Request (and as an example of the various combinations) the following code shows that bags with different weights are being assigned to different passengers.

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">IB1f565db470e14d5ebb4038fa101152c0OC</OfferID>), and so is the OfferItemID (<OfferItemID Owner="IB">IB1f565db470e14d5ebb4038fa101152c0OC_01 </OfferItemID>).

Code Block
languagexml
<Query>
	<Order>
		<Offer OfferID="IB1f565db470e14d5ebb4038fa101152c0OC" Owner="IB" ResponseID="Qm9va2luZ0BHVy0xNjgxNzI2NzkwMDI5LUU4TXVo">
			<OfferItem OfferItemID="IB1f565db470e14d5ebb4038fa101152c0OC_01">
				<PassengerRefs>ADULT_01 ADULT_02 ADULT_03 ADULT_04</PassengerRefs>
			</OfferItem>
		</Offer>
		<Offer OfferID="ALACARTE_IB81c6d3ee302c470fa571d241500a9256" Owner="IB" ResponseID="Qm9va2luZ0BHVy0xNjgxNzI2NzkwMDI5LUU4TXVo">
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_01">
				<PassengerRefs>ADULT_01 ADULT_02 ADULT_03</PassengerRefs>
			</OfferItem>
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_08">
				<PassengerRefs>ADULT_01 ADULT_02</PassengerRefs>
			</OfferItem>
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_15">
				<PassengerRefs>ADULT_01</PassengerRefs>
			</OfferItem>
		</Offer>
	</ServiceDefinition>
	
	<...>
	
	<ServiceDefinition ServiceDefinitionID="BAGSERVICE-23-1">
	<Name>1 EXTRA BAG 23</Name>
	<Encoding>
		<RFIC>C</RFIC>
		<SubCode>0GO</SubCode>
	</Encoding>
	<Descriptions>
		<Description>
			<Text>1 Additional Bag up to 23 KG each</Text>
		</Description>
	</Descriptions>
	<BookingInstructions>
		<SSRCode>XBAG</SSRCode>
		<Method>SSR</Method>
	</BookingInstructions>
	<Detail>
		<ServiceCombinations>
			<Combination>
				<Rule>NotPermitted</Rule>
				<ServiceReference>BAGSERVICE-23-2</ServiceReference>
				<ServiceReference>BAGSERVICE-23-3</ServiceReference>
				<ServiceReference>BAGSERVICE-23-4</ServiceReference>
				<ServiceReference>BAGSERVICE-23-5</ServiceReference>
				<ServiceReference>BAGSERVICE-23-6</ServiceReference>
				<ServiceReference>BAGSERVICE-23-7</ServiceReference>
			</Combination>
		</ServiceCombinations>
		<ServiceItemQuantityRules>
			<MaximumQuantity>1</MaximumQuantity>
		</ServiceItemQuantityRules>
	</Detail>
</ServiceDefinition>

As the purchase of multiple bags is solved here 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. To purchase multiple bags at the same weight, you must select the ALaCarteOfferItemfor the amount of bags you want, and not select multiple ALaCarteOfferItem.

OrderCreateRQ Message

Service Bundle

From the OrderCreate Request (and as an example of the various combinations) the following code shows that bags with different weights are being assigned to different passengers.

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">IB1f565db470e14d5ebb4038fa101152c0OC</OfferID>), and so is the OfferItemID (<OfferItemID Owner="IB">IB1f565db470e14d5ebb4038fa101152c0OC_01 </OfferItemID>).

Code Block
languagexml
<Query>
	<Order>
		<Offer OfferID="IB1f565db470e14d5ebb4038fa101152c0OC" Owner="IB" ResponseID="Qm9va2luZ0BHVy0xNjgxNzI2NzkwMDI5LUU4TXVo">
			<OfferItem OfferItemID="IB1f565db470e14d5ebb4038fa101152c0OC_01">
				<PassengerRefs>ADULT_01 ADULT_02 ADULT_03 ADULT_04</PassengerRefs>
			</OfferItem>
		</Offer>
		<Offer OfferID="ALACARTE_IB81c6d3ee302c470fa571d241500a9256" Owner="IB" ResponseID="Qm9va2luZ0BHVy0xNjgxNzI2NzkwMDI5LUU4TXVo">
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_01">
				<PassengerRefs>ADULT_01 ADULT_02 ADULT_03</PassengerRefs>
			</OfferItem>
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_08">
				<PassengerRefs>ADULT_01 ADULT_02</PassengerRefs>
			</OfferItem>
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_15">
				<PassengerRefs>ADULT_01</PassengerRefs>
			</OfferItem>
		</Offer>

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.

Code Block
languagexml
<Query>
	<OrderID>IB1f565db470e14d5ebb4038fa101152c0OC</OrderID>
	<OrderServicing>
		<AcceptOffer>
			<Offer OfferID="ALACARTE_IB81c6d3ee302c470fa571d241500a9256" Owner="IB" ResponseID="Qm9va2luZ0BHVy0xNjgxNzI2NzkwMDI5LUU4TXVo">
				<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_01">
					<PassengerRefs>ADULT_03</PassengerRefs>
			    </OfferItem>
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_08">
					<PassengerRefs>ADULT_02</PassengerRefs>
			    </OfferItem>
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB81c6d3ee302c470fa571d241500a9256_15">
					<PassengerRefs>ADULT_01</PassengerRefs>
				</OfferItem>
			</Offer>
		</AcceptOffer>
	</OrderServicing>
	<Payments>
		<Payment>
			<Type>CA</Type>
			<Method>
				<Cash CashInd="true"/>
			</Method>
			<Amount Code="EUR">20.0</Amount>
			<Payer>
				<ContactInfoRefs>Payer</ContactInfoRefs>
			</Payer>
		</Payment>
	</Payments>
</Query>

OrderViewRS Message

In the OrderViewRS the Bag Ancillary is shown in the following way.

...

Code Block
languagexml
<OrderItem OrderItemID="IB1f565db470e14d5ebb4038fa101152c0OC_09">
	<PriceDetail>
		<TotalAmount>
			<SimpleCurrencyPrice Code="EUR">33.00</SimpleCurrencyPrice>
		</TotalAmount>
		<BaseAmount Code="EUR">33.00</BaseAmount>
		<Taxes>
			<Total Code="EUR">0.00</Total>
		</Taxes>
	</PriceDetail>
	<Service ServiceID="BAG_SERVICE_IB044020230712_05" ServiceStatus="HK">
		<PassengerRef>ADULT_02</PassengerRef>
		<ServiceDefinitionRef SegmentRef="IB044020230712">BAGSERVICE-23-1</ServiceDefinitionRef>
	</Service> SegmentRef="IB044020230712">BAGSERVICE-23-1</ServiceDefinitionRef>
	</Service>
    <TimeLimits>
        <Payment DateTime="2023-04-20T22:59:00.000Z"/>
    </TimeLimits>
</OrderItem>
<OrderItem OrderItemID="IB1f565db470e14d5ebb4038fa101152c0OC_10">
	<PriceDetail>
		<TotalAmount>
			<SimpleCurrencyPrice Code="EUR">40.00</SimpleCurrencyPrice>
		</TotalAmount>
		<BaseAmount Code="EUR">40.00</BaseAmount>
		<Taxes>
			<Total Code="EUR">0.00</Total>
		</Taxes>
	</PriceDetail>
	<Service ServiceID="BAG_SERVICE_IB044020230712_06" ServiceStatus="HK">
		<PassengerRef>ADULT_01</PassengerRef>
		<ServiceDefinitionRef SegmentRef="IB044020230712">BAGSERVICE-32-1</ServiceDefinitionRef>
	</Service>
	<TimeLimits>
        <PaymentTimeLimit Timestamp="2023-04-20T22:59:00.000Z"/>
    </TimeLimits>
</OrderItem>

And the ServiceDefinition:

...

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