Seats |
---|
Seats can be included in an OrderCreate (with or without payment), and held 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.
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 example 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.
Please note the TimeLimits section that contains the PaymentTimeLimit for any seats booked. 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).
<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
.
<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 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.
<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, and with a PaymentTimeLimit when applicable.
<OrderItem OrderItemID="IB774f5106c32a449289ee73425d46fe3dOC_02"> <PriceDetail> <TotalAmount> <SimpleCurrencyPrice Code="EUR">11.00</SimpleCurrencyPrice> </TotalAmount> <BaseAmount Code="EUR">11.00</BaseAmount> <Taxes> <Total Code="EUR">0.00</Total> </Taxes> </PriceDetail> <Service ServiceID="SEAT_IB310620240319_01" ServiceStatus="HK"> <PassengerRef>ADULT_01</PassengerRef> <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.
<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.