Versions Compared

Key

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

Table of Contents
minLevel1
maxLevel7

Seats

Free Seats can be included in an OrderCreate (with or without payment), and held (on hold) with the flights until the PaymentTimeLimit expires.Paid Seats can only be included in an OrderCreate that includes payment (Instant Purchase), or added to a previously Paid/Issued order(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.

...

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:

language
Code Block
xml
<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">
			<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="IBa578bdf817a94ac9b0dd653c07a0fb46OC" Owner="IB" ResponseID="Qm9va2luZ0AxNjg5NzU4MDAzNTQ0LWZmdzVT">
            </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 exmaple example below:

language
Code Block
xml
<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_IBe096f281254f4231be0be6f4664482c2" Owner="IB">
	<OfferExpirationDateTime>2024-01-23T09:43:31.466Z</OfferExpirationDateTime>
	    <TimeLimits>
            <Payment DateTime="2024-01-24T15:53:00.000Z"/>
        </TimeLimits>
	<ALaCarteOfferItem OfferItemID="ALACARTE_SEAT_IBe096f281254f4231be0be6f4664482c2_01">
		<Eligibility>
			<PassengerRefs>ADULT_01</PassengerRefs>
			<SegmentRefs>IB301220230919</SegmentRefs>
		</Eligibility>
		<UnitPriceDetail>
			<TotalAmount>
				<SimpleCurrencyPrice Code="EUR">7.00</SimpleCurrencyPrice>
			</TotalAmount>
			<BaseAmount Code="EUR">7.00</BaseAmount>
			<Taxes>
				<Total Code="EUR">0.00</Total>
			</Taxes>
		</UnitPriceDetail>
		<Service ServiceID="SEAT_SERVICE_19916e62-d101-4ce4-a519-393e29a24991">
			<ServiceDefinitionRef>SEAT</ServiceDefinitionRef>
		</Service>
	</ALaCarteOfferItem>

Within the SeatMap section you have the CabinType and CabinLayout.

xml
Code Block
language
<SeatMap>
	<SegmentRef>IB301220230919</SegmentRef>
	<Cabin UpperDeckInd="false">
		<CabinType>
			<Code>J</Code>
			<Definition>BUSINESS</Definition>
		</CabinType>
		<CabinLayout>
			<Columns>A</Columns>
			<Columns>B</Columns>
			<Columns>C</Columns>
			<Columns>D</Columns>
			<Columns>E</Columns>
			<Columns>F</Columns>
			<Rows>
				<First>1</First>
				<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.

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").

...

languagexml

...

the OrderCreateRQ (OfferID="IB534dba9c3b8143e19cd453929c4f1720OC"), and so is the OfferItemID (OfferItemID="IB534dba9c3b8143e19cd453929c4f1720OC_01").

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

...

OrderViewRS Message

The Ancillaries will then be returned in the OrderViewRS as OrderItems with their prices

Code Block
languagexml
<OrderItems>
	<OrderItem OrderItemID="IBa578bdf817a94ac9b0dd653c07a0fb46OC_01">
		<PriceDetail>
			<TotalAmount>	<OfferItem OfferItemID="ALACARTE_SEAT_IBf5c8f5977271478498c998eebe68ea26_04">
			<PassengerRefs>CHILD_01</PassengerRefs>
			<ALaCarteSelection>
				<Quantity>1</Quantity>
				<SegmentID>IB300220240215</SegmentID>
			</ALaCarteSelection>
			<SeatSelection>
				<SimpleCurrencyPrice Code="EUR">170.22</SimpleCurrencyPrice><Row>5</Row>
				<Column>A</Column>
			</TotalAmount>SeatSelection>
			<BaseAmount Code="EUR">150.00</BaseAmount>
			<Taxes>
				<Total Code="EUR">20.22</Total>
				<Breakdown>
					<Tax>
						<Amount Code="EUR">3.60</Amount>
						<Nation>ES</Nation>
						<TaxCode>QV</TaxCode>
						<TaxType>003</TaxType>
					</Tax>
					<Tax>
						<Amount</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.

Code Block
<OrderItem OrderItemID="IB774f5106c32a449289ee73425d46fe3dOC_02">
    <PriceDetail>
      <TotalAmount>
          <SimpleCurrencyPrice Code="EUR">15>11.93</Amount>
						<Nation>ES</Nation>
						<TaxCode>JD</TaxCode>
						<TaxType>003</TaxType>
					</Tax>
					<Tax>
						<Amount00</SimpleCurrencyPrice>
      </TotalAmount>
      <BaseAmount Code="EUR">0>11.69</Amount>
						<Nation>ES</Nation>
						<TaxCode>OG</TaxCode>
						<TaxType>001</TaxType>
					</Tax>
				</Breakdown>
			</Taxes>
		</PriceDetail>
		00</BaseAmount>
      <Taxes>
          <Total Code="EUR">0.00</Total>
      </Taxes>
    </PriceDetail>
    <Service ServiceID="FLIGHTSEAT_IB301220230919_ADULTIB310620240319_01" ServiceStatus="HK">
			
      <PassengerRef>ADULT_01</PassengerRef>
			<SegmentRef>IB301220230919</SegmentRef>
		</Service>
		<FareDetail>
			<PassengerRefs>ADULT_01</PassengerRefs>
			<Price>
				<TotalAmount>
					<SimpleCurrencyPrice Code="EUR">170.22</SimpleCurrencyPrice>
				</TotalAmount>
				<BaseAmount Code="EUR">150.00</BaseAmount>
				<Taxes>
					<Total Code="EUR">20.22</Total>
					<Breakdown>
						<Tax>
							<Amount Code="EUR">3.60</Amount>
							<Nation>ES</Nation>
							<TaxCode>QV</TaxCode>
							<TaxType>003</TaxType>
						</Tax>
						<Tax>
							<Amount Code="EUR">15.93</Amount>
							<Nation>ES</Nation>
							<TaxCode>JD</TaxCode>
							<TaxType>003</TaxType>
						</Tax>
						<Tax>
							<Amount Code="EUR">0.69</Amount>
							<Nation>ES</Nation>
							<TaxCode>OG</TaxCode>
							<TaxType>001</TaxType>
						</Tax>
					</Breakdown>
				</Taxes>
			</Price>
			<FareComponent>
				<FareBasis>
					<FareBasisCode>
						<Code>IDN0S4</Code>
					</FareBasisCode>
					<RBD>I</RBD>
					<CabinType>
						<CabinTypeCode>B</CabinTypeCode>
						<CabinTypeName>BUSINESS</CabinTypeName>
					</CabinType>
				</FareBasis>
				<SegmentRefs>IB301220230919</SegmentRefs>
			</FareComponent>
		</FareDetail>
	
      <SelectedSeat>
          <Seat>
            <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>
</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.

xml
Code Block
language
<ServiceDefinitionList>
	<ServiceDefinition ServiceDefinitionID="SEAT">
		<Name>SEAT</Name>
		<Encoding>
			<RFIC>A</RFIC>
			<SubCode>0B5</SubCode>
		</Encoding>
		<Descriptions>
			<Description>
				<Text>SEAT</Text>
			</Description>
		</Descriptions>
		<BookingInstructions>
			<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.

...