Select a Seat


With airline suppliers it is possible to select and purchase a seat via the Travelfusion XML API. This functionality is not currently available for all suppliers, however for suppliers that do support it, the command syntax of the requests and responses is almost identical to those of the existing booking process. This function is controlled by the CustomSupplierParameter (CSP) named "SeatOptions".

Overview

SeatOptions is supported by per passenger and only if seat service is supported, SeatOptions can be found in ProcessDetails response like below:

<RequiredParameter>

    <Name>SeatOptions</Name>

    <DisplayText>Please Select Seat Options: 5477-1A(W|E|1A@12.00GBP@319),5477-1B(N|E|1A@12.00GBP@319),5477-1C(A|E|1A@12.00GBP@319),

5477-1D(A|E|1A@12.00GBP@319),5477-1E(N@12.00GBP@319),5477-1F(W@12.00GBP@319),

5477-2A(W@8.00GBP@319),5477-2B(N@8.00GBP@319),5477-2C(A@8.00GBP@319),......,

5477-26D(A|E|1A@3.00GBP@319),5477-26E(N@3.00GBP@319),5477-26F(W@3.00GBP@319);;5470-22F(W@3.00GBP@319);4550-29F(W@3.00GBP@319);;</DisplayText>

    <PerPassenger>true</PerPassenger>

    <IsOptional>true</IsOptional>

</RequiredParameter>


The above example shows 5 flight segments. This represents all segments on all legs of the journey, for example 3 segments on the outward flight and 2 on the return.
  1. The first segment's options are in blue and it has 12 different seat options
  2. The second has NO SEAT OPTIONS, and is represented by an empty string followed by a ';'
  3. The third is in green and has 1 seat option
  4. The fourth is in red and has 1 seat option
  5. The fifth has NO SEAT OPTIONS, and is represented by an empty string followed by a ';'


For example 5477-1A(W|E|1A@12.00GBP@319) is one seat where:

  • 5477 is the flight number

  • 1A is the seat number

  • W|E|1A  in the bracket are the seating attributes (find details below in Seating Attributes)

  • @12.00GBP, is the the seat price, which is after the first “@”. The price will be two decimal places, and with currency following, like @12.00EUR. It’s optional, if we can’t get the price for the seat, we will return like 5477-1A(W|E|1A@@319)

  • @319 is the Aircraft Type, which is similar to the “price”, will be returned after the second “@”

  • Please note the attribute, price and aircraft Type are optional. So the extreme case will be 5477-1A(@@)


The data within SeatOptions is the list of all selectable seats, and also contains positions within the seat map which cannot be selected, such as seats which have already been reserved or have been blocked, and positions which are not seats such as closets, lavatories, galleys, etc.

ProcessTerms request

In general, it's the same to handle the CSP in ProcessTerms, you can check here to find more details on how to handle the Custom Supplier Parameters.


Below will show you how to use this specific parameter in details:


The format for the SeatOptions parameter value should be: flight number-seat number.


A selection must be specified for every segment, followed by ';'. If there were no seat options provided for that segment, OR the user did not select a seat, an empty string should be submitted. Example:


<CustomSupplierParameter>

      <Name>SeatOptions</Name>

      <Value>5477-1A;;;4550-29F;;</Value>

</CustomSupplierParameter>


In this example, the user did not specify a seat for the 3rd segment of the flight (and was not given seat options for segments 2 and 5).


ProcessTerms response


If the selected seats are valid and are subject to charges, then the cost of the selected seats will be found in the ProcessTerms response, in a TaxItem named “Seat charge”:

<Price>

    <Amount>134.26</Amount>

    <Currency>GBP</Currency>

    <TaxItemList>

        <TaxItem>

            <Name>Seat charge</Name>

            <Amount>12.00</Amount>

            <Currency>GBP</Currency>

        </TaxItem>


If the selected seats are not valid then an error will be returned in the ProcessTerms response:

<ProcessTerms ecode="2-2460" etext="Invalid seat options" edetail="5473-2A is not available" edate="08/07/2013-09:18"/>


Seating attributes


This table gives the meaning of the seat attribute codes which can be found within SeatOptions data.


 Seat attribute Description
 W Window seat
 N Regular seat (middle)
 A Aisle seat
 C Centre section seat
 1A Seat not allowed for infant or passenger with infant
 1I Seat is not suitable for infant
 IE Seat is not suitable for a child
 16+ Seat for passenger aged sixteen or older
 B Seat with bassinet facility
 H Seat with facilities for handicapped passenger
 K Bulkhead seat
 PS Preferred seat
 F Added seat
 G Comfort seat
 E Exit row
 EL Extra legroom
 Q Quiet zone
 UF Up front
 UP Seat is on upper deck 
 WG Seat is over wing
 FR Front row
 FC Front cabin
 AC Aft cabin
 CC Centre cabin
 L3R Last three rows
 L4R Last four rows
 O Premium block seat, cannot be selected
 T Unavailable seat, cannot be selected
 CL No seat: closet
 D No seat: exit door
 EX No seat: emergency exit
 GN No seat: galley
 LA No seat: lavatory
 ST No seat: stairs

 


Comments