Seats |
---|
Free Seats can be included in an OrderCreate without payment, and held 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.
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.
Previously validated Iberia Plus information is used when getting the seat availability and any advantages or discounts would 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:
<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 below:
<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.
In addition it contains the cabin layout, which tells you how many rows and columns of seats the aircraft has, together with status/occupancy and characteristics of each individual seat linked to the applicable OfferItem with its price.
(The only difference between the messages in Pre-Sale and Post-Sale is that the latter refers to Orders instead of Offers)
The following is a Seats purchase scenario.
There is an OfferItem for each different Seat price applicable to the passenger(s) and flight(s) referenced.
<ShoppingResponseID> <ResponseID>Qm9va2luZ0AxNjg5NzU4MDAzNTQ0LWZmdzVT</ResponseID> </ShoppingResponseID> <ALaCarteOffer OfferID="ALACARTE_SEAT_IBe096f281254f4231be0be6f4664482c2" Owner="IB"> <OfferExpirationDateTime>2023-07-19T09:43:31.466Z</OfferExpirationDateTime> <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
.
<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 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.
<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"
).
<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>
OrderViewRS Message |
---|
The Ancillaries will then be returned in the OrderViewRS as OrderItems with their prices
<OrderItems> <OrderItem OrderItemID="IBa578bdf817a94ac9b0dd653c07a0fb46OC_01"> <PriceDetail> <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> </PriceDetail> <Service ServiceID="FLIGHT_IB301220230919_ADULT_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> </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.
<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.
<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.