I 74 Add support for change, remove and add reservations and ancillaries on a confirmed bookedOffer - UnionInternationalCheminsdeFer/OSDM GitHub Wiki


Description

Add support for change, remove and add reservations and ancillaries on a confirmed bookedOffer.

Use cases:

  • i. As a passenger I want to add (buy) meal to my already confirmed booked offer.
  • ii. As a passenger I want to change meal in my already confirmed booked offer.
  • iii. As a passenger I want to remove (refund) the meal from my already confirmed booked offer.
  • iv. As a passenger I want to add a seat reservation to my already confirmed booked offer.
  • v. As a passenger I want to remove a seat reservation to my already confirmed booked offer.
  • vi. As a passenger I want to change my seat reservation to another place in my already confirmed booked offer.

Owner

Linus Johansson (Turnit)

Business Value

Possibility to do up sales for the provider until departure. The passenger has a more flexible experience where it is possible to customize the booking until departure. Business Outcomes The functionality is currently available in various inventory systems and should probably be supported by the OSDM specification as well.

Leading Indicators

Nonfunctional Requirements

Before a change is confirmed. Dangling offerParts are in the booking and must be handed by a clean-up process.

Specification Effort

MEDIUM

Initial Analysis

One way to achieve this with current solution is to search for a new admission for the same trip in the exchange flow. But there are some problems with that.

  • With dynamic pricing, the price for the new admission will probably not be the same as in the original booking
  • The seat reservation will probably return another place number.
    • All already bought ancillaries must be re-referenced to the new place number.
    • A travel party will be spited over the transport.
  • If admissions or reservations are sold out, no exchange-offers will be return with the consequence that is not possible add new ancillaries.

Probably we need a new resource like /exchange-offerParts

The changes end up in economical transactions (refund for removed/cheaper offer parts, additional payments for new and changed offerParts to a more expensive product). Try to follow the existing exchange flow. Suggested flow.

  • Get lists of possible changes (exchangeOperations for reservations, ancillaries) on a confirmed offer/or fulfillment. Possible actions are CHANGE, REMOVE and ADD for each offer part type.
  • Update the booking with the changes. Notice: the provider must have the capacity to rollback the change until confirmation of the change is done in step 3. exchangeOperation status is PREBOOKED. Offer part status is EXCHANGE_ONGOING
  • To confirm the change
    • Confirm the modification. exchangeOperation status is moved from PREBOOKED -> CONFIRMED. Offer part status is moved from EXCHANGE_ONGOING -> COMFIRMED
    • Ordinary fulfillment the modified booked offer part. ExchangeOperation status is moved from CONFIRMED -> FULFILLED. Offer part status is moved from CONFIRMED -> FULFILLED
  • Else
    • Rollback the change