-
Notifications
You must be signed in to change notification settings - Fork 26
I 46 Change of seat after booking
The purpose of this change request is to add the support of seat change after booking is confirmed. Currently in OSDM, it is possible to specify seat preferences at provisional booking time. This change request will the extent the API to include the possible to request a change of seat after the booking is confirmed and fulfilled. As some providers will charge the customer for a seat change, the API will provide the possibility to request the price to be paid for a seat change. We can have the following scenario.
- Specific seat and coach requested. Optionally, a seat map can be requested, so that the user knows which seat is available. The user can then select a specific coach and seat number.
- Near to a given seat. The user provides in the request a seat number he wishes to be seated next to.
- Seat preferences. The user provides seat arrangement such as window, aisle etc…
It was noted that some providers give the possibility to upsell to a better seat after booking. This is an adjacent but not equivalent case, as the change of seat should not affect allocation or update the inventory.
- Roland Klapwijk (Sqills)
- Koffi Frederic Konan (ETT/Amadeus)
- Stina Carlstedt (SJ)
The provider can get additional revenue by taking a fee when the customer requests a seat change. The traveler gets more flexibility as he can change his/her seat to be next to a travelling companion or to have a better seating arrangement.
Increased revenue for the provider and increase customer satisfaction and retention.
N/A
Nonfunctional requirements (NFRs) associated with the epic.
N/A
A seat change impacts the allocation but does not impact the booked offer or underlying tariff. Therefore, is not regarded as an exchange operation where the original offers is replaced by a new offer.
The reservation contains a place selection, which the passenger is able to provisionally change. This can lead to a fee or unrefereed seat and must require a confirmation prior to the take the change into effect. Provisional changes must be able to be reverted, if the passenger is not willing to pursue the change.
Introducing a reservation resource in booking context enables methods to change the place selection (e.g. patch
) or revert the provisional change (e.g. delete
/ specific endpoint to revert the provisional change).
The result of the provisional seat change fee must be exposed in either:
- in the response of the patch operation
- if the patch operation returns no json response, a
get booking
request must be made
The confirmation of the seat change implies an agreement of the fee.
Confirmation of the seat change can result in new fulfillment(s) with new ticket control numbers (TCN). The OSDM consumer should retrieve the new fulfillment using the dedicated resource.
To support the seat change, a seat map function should be introduced that returns:
- coach(es) of the itinerary (based on e.g.
tripId
andlegId
) - for each returned coach the seat(s) and its details including information to render on the floor map like
- sequence number
- dimensions in pixels
- facing direction
- attributes
- etc
- status of each seat preventing passengers selecting a seat that is already occupied
- ability to render/display floor map
In extension of the seat map introduction, OSDM consumers can introduce functionality to upgrade (or downgrade) using the seat map by selecting a seat in a different inventory class, as currently supported by Turnit. E.g. a passenger having a second class ticket could select a seat in the first class coach.
This requires client logic to perform a trip-offer-collection
request in the background and display the offer, followed by an exchange operation. This exchange follows the conditions of the original product and is not inventory neutral as the seat change functionality itself is.
We propose to see all changes as exchange, but use dedicated structure for non-trip-related changes
- Uniform, easy for consumer as everything is an exchange flow
- financial impact guaranteed to be taken into account through the existing exchange structure
- Because we use another structure in the exchangeOffer request (a changeRequest instead of a tripofferRequest),we are not held by the constraints specific to an exchange, and for the OSDM provider, it is easy to see the intent of the consumer (= change something on the existing trip, not the trip itself)
- In some cases the offer step may seem useless.
- add a "changeRequest" next to tripOfferRequest, describing the change. Using this implicitly means you do not want to change trains, only seats (or potentially fares) or even just passenger details
- add an attribute in the exchangeTRipOffer to indicate whether it is an operation considered an exchange or a change to an existing booking
- add a passengers section in the exchangeOperation, to later hold potential provisional passanger data changes (which will be copied in teh booking itself once confirmed, as the exchange offers already are)
- PlaceSelection on the patch booking must be an array
- booking state model to be updated (exchange ongoing is not represented)
OSDM Wiki