Versions Compared

Key

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

Table of Contents
minLevel1
maxLevel7

Seats

Seats can be sold in both the:

  • initial Shopping and Ordering flow when the flights are going to be purchased immediately.

  • and also, the Servicing flow on those Orders that have already been paid for.

Presently, holding Seats on Unpaid (On-Hold) Orders is not permitted.

Seats can be booked on one or more flights in the Order, and can only be booked, presently, on flights included in an OrderCreate (with or without payment), and held (on hold) with the flights until the PaymentTimeLimit (applicable to the seats) expires, which may be more restrictive than the PaymentTimeLimit for the flights.

Seats can be booked for any individual flight in the Order, but only for those that are operated by Iberia, Iberia Express, AirNostrum and Level.

Validated Previously validated Iberia Plus information is used when getting the seat pricing to apply availability and any advantages or discounts applicablewould be applied.

For more information on Iberia Seating product, please see our Early Seat Booking page.

SeatAvailabilityRQ Message

The SeatAvailabilityRQ can be made in the pre-sale flow, before creating the Order with the payment, simply referencing the OfferID in the previous OfferPriceRS, or in the Servicing flow having already booked and paid for the flights, as per the following example:

xml
Code Block
language
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.iata.org/IATA/EDIST/2017.2">
	<soapenv:Header/>
	<soapenv:Body>
		<SeatAvailabilityRQ Version="5.000" PrimaryLangID="es" xmlns="http://www.iata.org/IATA/EDIST/2017.2" Version="5.000" PrimaryLangID="es">
			<PointOfSale>
				<Location>
					<CountryCode>ES</CountryCode>
				</Location>
			</PointOfSale>
			<Document>
				<ReferenceVersion>5.000</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>
			<Query>
				<Offer OfferID="IB3333b5ab4a044cbb839374f81dcb6e8eOCIBa578bdf817a94ac9b0dd653c07a0fb46OC" Owner="IB" ResponseID="Qm9va2luZ0BHVy0xNjc1MjUzODM3ODk5LW1jY0JhQm9va2luZ0AxNjg5NzU4MDAzNTQ0LWZmdzVT">
            </Offer>
			</Query>
		</SeatAvailabilityRQ>
	</soapenv:Body>
</soapenv:Envelope>

Note that, unlike other Ancillaries services, the OfferItemID is obtained once the Order has been created. Thus, in the OrderCreateRQ, as shown in the example below:

Code Block
<Order>
	<Offer OfferID="IB534dba9c3b8143e19cd453929c4f1720OC" Owner="IB" ResponseID="Qm9va2luZ0AxNjg5NzU4NjgwNjM2LUl6eHNQ">
		<OfferItem OfferItemID="IB534dba9c3b8143e19cd453929c4f1720OC_01">
			<PassengerRefs>ADULT_01 ADULT_02</PassengerRefs>
		</OfferItem>
		<OfferItem OfferItemID="IB534dba9c3b8143e19cd453929c4f1720OC_02">
			<PassengerRefs>CHILD_01</PassengerRefs>
		</OfferItem>
	</Offer>
	<Offer OfferID="ALACARTE_SEAT_IBf5c8f5977271478498c998eebe68ea26" Owner="IB" ResponseID="Qm9va2luZ0AxNjg5NzU4NjgwNjM2LUl6eHNQ">
		<OfferItem OfferItemID="ALACARTE_SEAT_IBf5c8f5977271478498c998eebe68ea26_01">
			<PassengerRefs>ADULT_01</PassengerRefs>
			<ALaCarteSelection>
				<Quantity>1</Quantity>
				<SegmentID>IB300220240215</SegmentID>
			</ALaCarteSelection>
			<SeatSelection>
				<Row>1</Row>
				<Column>C</Column>
			</SeatSelection>
		</OfferItem>
		<OfferItem OfferItemID="ALACARTE_SEAT_IBf5c8f5977271478498c998eebe68ea26_01">
			<PassengerRefs>ADULT_02</PassengerRefs>
			<ALaCarteSelection>
				<Quantity>1</Quantity>
				<SegmentID>IB300220240215</SegmentID>
			</ALaCarteSelection>
			<SeatSelection>
				<Row>3</Row>
				<Column>D</Column>
			</SeatSelection>
		</OfferItem>
		<OfferItem OfferItemID="ALACARTE_SEAT_IBf5c8f5977271478498c998eebe68ea26_04">
			<PassengerRefs>CHILD_01</PassengerRefs>
			<ALaCarteSelection>
				<Quantity>1</Quantity>
				<SegmentID>IB300220240215</SegmentID>
			</ALaCarteSelection>
			<SeatSelection>
				<Row>5</Row>
				<Column>A</Column>
			</SeatSelection>
		</OfferItem>
	</Offer>
</Order>

 

SeatAvailabilityRS Message

The SeatAvailabilityRS contains the OfferItems with the price for the referenced passengers and flight segment.

...

There is an OfferItem for each different Seat price applicable to the passenger(s) and flight(s) referenced.

...

languagexml

...

Please note the TimeLimits section that contains the PaymentTimeLimit for any seats booked (on hold). Remember this is independent for the PaymentTimeLimit for the flights. If there is no PaymentTimeLimit for any ALaCarteOfferItem then all of the OfferItems in the Order must be paid for at time of reservation (instant purchase).

Code Block
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <SeatAvailabilityRS 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>Qm9va2luZ0AxNjg5NzU4MDAzNTQ0LWZmdzVT</ResponseID>
</ShoppingResponseID>
<ALaCarteOffer OfferID="ALACARTE_SEAT_IB564024384aa349dcb9bfc94258fe1ba5IBe096f281254f4231be0be6f4664482c2" Owner="IB">
	<OfferExpirationDateTime>2023<OfferExpirationDateTime>2024-0201-01T1223T09:4743:2131.749Z</OfferExpirationDateTime>
466Z</OfferExpirationDateTime>
	    <TimeLimits>
            <Payment DateTime="2024-01-24T15:53:00.000Z"/>
        </TimeLimits>
	<ALaCarteOfferItem OfferItemID="ALACARTE_SEAT_IB564024384aa349dcb9bfc94258fe1ba5IBe096f281254f4231be0be6f4664482c2_01">
		<Eligibility>
			<PassengerRefs>ADULT_01 ADULT_02 CHILD_01</PassengerRefs>
			<SegmentRefs>IB042320230514<<SegmentRefs>IB301220230919</SegmentRefs>
		</Eligibility>
		<UnitPriceDetail>
			<TotalAmount>
				<SimpleCurrencyPrice Code="EUR">0>7.00</SimpleCurrencyPrice>
			</TotalAmount>
			<BaseAmount Code="EUR">0>7.00</BaseAmount>
			<Taxes>
				<Total Code="EUR">0.00</Total>
			</Taxes>
		</UnitPriceDetail>
		<Service ServiceID="SEAT_SERVICE_dca13d1219916e62-abc5d101-4cf34ce4-bc1aa519-9d5a7f6691f5393e29a24991">
			<ServiceDefinitionRef>SEAT</ServiceDefinitionRef>
		</Service>
	</ALaCarteOfferItem>

Within the SeatMap section you have the CabinType and CabinLayout.

xml
Code Block
language
<SeatMap>
	<SegmentRef>IB658520230514<<SegmentRef>IB301220230919</SegmentRef>
	<Cabin UpperDeckInd="false">
		<CabinType>
			<Code>J</Code>
			<Definition>BUSINESS</Definition>
		</CabinType>
		<CabinLayout>
			<Columns>A</Columns>
			<Columns>C<<Columns>B</Columns>
			<Columns>D<<Columns>C</Columns>
			<Columns>E<<Columns>D</Columns>
			<Columns>G<<Columns>E</Columns>
			<Columns>H<<Columns>F</Columns>
			<Columns>J</Columns>
			<Columns>L</Columns>
			<Rows>
				<First>1</First>
				<Last>8<<Last>5</Last>
			</Rows>
		</CabinLayout>

And the Row information with the Status/Occupancy and charateristics characteristics of each seat. This references the seats applicable price in the above OfferItem.

For a comprehensive source of codes from the SeatAvailability Messages section, please see the Seat Codes - IATA PADIS Codeset page.

xml
Code Block
language
<Row>
	<Number>2</Number>
	<Seat>
		<Column>A</Column>
		<SeatStatus>F</SeatStatus>
		<SeatCharacteristics>
			<Code>Q</Code>
			<Code>O</Code>
			<Code>CH</Code>
			<Code>W</Code>
		</SeatCharacteristics>
		<OfferItemRefs>ALACARTE_SEAT_IB564024384aa349dcb9bfc94258fe1ba5_02</OfferItemRefs>
	</Seat>
	<Seat>
		<Column>C</Column>
		<SeatStatus>Q</SeatStatus>
		<SeatCharacteristics>
			<Code>8</Code>
			<Code>A</Code>
		</SeatCharacteristics>
	</Seat>
<...>
<Seat>
		<Column>J</Column>
		<SeatStatus>F</SeatStatus>
		<SeatCharacteristics>
			<Code>Q</Code>
			<Code>CH</Code>
			<Code>A</Code>
		</SeatCharacteristics>
		<OfferItemRefs>ALACARTE_SEAT_IB564024384aa349dcb9bfc94258fe1ba5_02</OfferItemRefs>
	</Seat>
	<Seat>
		<Column>L</Column>
		<SeatStatus>Q</SeatStatus>
		<SeatCharacteristics>
			<Code>8</Code>
			<Code>W</Code>
		</SeatCharacteristics>
	</Seat>
</Row>

 

OrderCreateRQ Message

The Ancillaries are included in the OrderCreate using their OfferItemIDs from the previous messages. In this case, two Seats have been booked.

...

languagexml

...

Since these samples are being extracted from the same Flow, we can see that the OfferID is the same reported in the SeatAvailabilityRQ section but related to the OrderCreateRQ (OfferID="IB534dba9c3b8143e19cd453929c4f1720OC"), and so is the OfferItemID (OfferItemID="IB534dba9c3b8143e19cd453929c4f1720OC_01").

Code Block
<Order>
	<Offer OfferID="IB534dba9c3b8143e19cd453929c4f1720OC" Owner="IB" ResponseID="Qm9va2luZ0AxNjg5NzU4NjgwNjM2LUl6eHNQ">
		<OfferItem OfferItemID="IB534dba9c3b8143e19cd453929c4f1720OC_01">
			<PassengerRefs>ADULT_01 ADULT_02</PassengerRefs>
		</OfferItem>
		<OfferItem OfferItemID="IB534dba9c3b8143e19cd453929c4f1720OC_02">
			<PassengerRefs>CHILD_01</PassengerRefs>
		</OfferItem>
	</Offer>
	<Offer OfferID="ALACARTE_SEAT_IB5c6a225db10042a6899f69f45d83eacaIBf5c8f5977271478498c998eebe68ea26" Owner="IB" ResponseID="Qm9va2luZ0BHVy0xNjc2OTA1NDM5MjM3LWFpOUMzQm9va2luZ0AxNjg5NzU4NjgwNjM2LUl6eHNQ">
			<OfferItem OfferItemID="ALACARTE_BAGGAGESEAT_IB5c6a225db10042a6899f69f45d83eacaIBf5c8f5977271478498c998eebe68ea26_0301">
				<PassengerRefs>ADULT_01</PassengerRefs>
			<ALaCarteSelection>
				<Quantity>1</Quantity>
				<SegmentID>IB300220240215</SegmentID>
			</OfferItem>ALaCarteSelection>
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB5c6a225db10042a6899f69f45d83eaca_03"><SeatSelection>
				<Row>1</Row>
				<PassengerRefs>ADULT_02<<Column>C</PassengerRefs>Column>
			</SeatSelection>
		</OfferItem>
			<OfferItem OfferItemID="ALACARTE_BAGGAGESEAT_IB5c6a225db10042a6899f69f45d83eacaIBf5c8f5977271478498c998eebe68ea26_0301">
				<PassengerRefs>ADULT_03<02</PassengerRefs>
			<ALaCarteSelection>
				<Quantity>1</Quantity>
				<SegmentID>IB300220240215</SegmentID>
			</OfferItem>ALaCarteSelection>
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB5c6a225db10042a6899f69f45d83eaca_11"><SeatSelection>
				<Row>3</Row>
				<PassengerRefs>ADULT_02<<Column>D</PassengerRefs>Column>
			</SeatSelection>
		</OfferItem>
			<OfferItem OfferItemID="ALACARTE_BAGGAGESEAT_IB5c6a225db10042a6899f69f45d83eacaIBf5c8f5977271478498c998eebe68ea26_1104">
				<PassengerRefs>ADULT<PassengerRefs>CHILD_03<01</PassengerRefs>
			<ALaCarteSelection>
				<Quantity>1</Quantity>
				<SegmentID>IB300220240215</SegmentID>
			</OfferItem>ALaCarteSelection>
			<OfferItem OfferItemID="ALACARTE_BAGGAGE_IB5c6a225db10042a6899f69f45d83eaca_19"><SeatSelection>
				<Row>5</Row>
				<PassengerRefs>ADULT_03<<Column>A</PassengerRefs>Column>
			</SeatSelection>
		</OfferItem>
		</Offer>
	</Order>

 

OrderViewRS Message

The Ancillaries will then be returned in the OrderViewRS as OrderItems with their prices, and with a PaymentTimeLimit when applicable.

xml
Code Block
language
<OrderItem OrderItemID="IBb5fce81aa5b548f79086259d216c3181OCIB774f5106c32a449289ee73425d46fe3dOC_0502">
    	<PriceDetail>
		<TotalAmount>
			
      <TotalAmount>
          <SimpleCurrencyPrice Code="EUR">84>11.00</SimpleCurrencyPrice>
		
      </TotalAmount>
		      <BaseAmount Code="EUR">84>11.00</BaseAmount>
		<Taxes>
			
      <Taxes>
          <Total Code="EUR">0.00</Total>
		
      </Taxes>
 	   </PriceDetail>
   	 <Service ServiceID="BAGSEAT_SERVICE_IB343620230911IB310620240319_01" ServiceStatus="HK">
		
      <PassengerRef>ADULT_01</PassengerRef>
		<ServiceDefinitionRef SegmentRef="IB343620230911">BAGSERVICE-15-3</ServiceDefinitionRef>
	</Service>
</OrderItem>
<...>      <SelectedSeat>
          <Seat>
       <OrderItem OrderItemID="IBb5fce81aa5b548f79086259d216c3181OC_10"> 	<PriceDetail> 		<TotalAmount> 			<SimpleCurrencyPrice Code="EUR">50.00</SimpleCurrencyPrice>
		</TotalAmount>
		<BaseAmount Code="EUR">50.00</BaseAmount>
		<Taxes>
			<Total Code="EUR">0.00</Total>
		</Taxes>
	</PriceDetail>
	<Service ServiceID="BAG_SERVICE_IB343620230911_06" ServiceStatus="HK">
		<PassengerRef>ADULT_03</PassengerRef>
		<ServiceDefinitionRef SegmentRef="IB343620230911">BAGSERVICE-32-1</ServiceDefinitionRef>
	</Service>
</OrderItem>

And the OrderItem is linked to the ServiceDefinition where you can find the details of the Ancillary.

Code Block
languagexml
<ServiceDefinitionList>
	<ServiceDefinition ServiceDefinitionID="BAGSERVICE-15-3">
		<Name>3 EXTRA BAG 15</Name>
		<ServiceBundle>
			<ServiceDefinitionRef>BAGSERVICE-15-1</ServiceDefinitionRef>
			<ServiceDefinitionRef>BAGSERVICE-15-1</ServiceDefinitionRef>
			<ServiceDefinitionRef>BAGSERVICE-15-1</ServiceDefinitionRef>
		</ServiceBundle>
		<Encoding>
			<RFIC>C</RFIC>
			<SubCode>0LM</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>3 Additional Bags up to 15 KG each</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
			<SSRCode>XBAG</SSRCode>
			<Method>SSR</Method>
		</BookingInstructions>
	</ServiceDefinition>
<...>
   <Row>7</Row>
            <Column>A</Column>
          </Seat>
          <SegmentRef>IB310620240319</SegmentRef>
          <ServiceDefinitionRef>SEAT</ServiceDefinitionRef>
      </SelectedSeat>
    </Service>
    <TimeLimits>
      <PaymentTimeLimit Timestamp="2024-01-24T15:53:00.000Z"/>
    </TimeLimits>
</ServiceDefinition>
OrderItem>

And the ServiceDefinition, where we can observe all Ancillaries that are included in this specific example, according to their ServiceDefinitionID, where you can find the details of the Ancillary.

Code Block
<ServiceDefinitionList>
	<ServiceDefinition ServiceDefinitionID="BAGSERVICE-32-1SEAT">
	<Name>1 EXTRA BAG 32<		<Name>SEAT</Name>
		<Encoding>
		<RFIC>C<	<RFIC>A</RFIC>
			<SubCode>0FM<<SubCode>0B5</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>1 Additional Bag up to 32 KG each<<Text>SEAT</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
		<SSRCode>XBAG<	<SSRCode>RQST</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.

language
Code Block
xml
<MediaList>
	<Media ListKey="Legal-Information">
		<MediaLink>http://www.iberia.com/es/informacion-legal/</MediaLink>
	</Media>
	<Media ListKey="Cabin-features">
		<MediaLink>https://www.iberia.com/es/un-nuevo-concepto-de-volar/</MediaLink>
	</Media>
</MediaList>

 

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

...