I 80 Make it possible to refund booking parts of a fulfillment - UnionInternationalCheminsdeFer/OSDM GitHub Wiki
Business Need
One fulfillment consisting of multiple booking parts and a subset of the booking parts need to be refunded.
Example:
Initial Analysis
Approach: Perform an partial refund by indicating which booking parts should be refunded.
Thus, the system needs to price the remaining booking parts and generate a new fulfillment and invalidate invalidate the existing ones.
Initial Design
Model new endpoints similar to exchange called partial-refund
. A partial refund request does not contain trip information but information about what part of the booking should be refunded.
Part of a booking that can be refunded are:
- Passenger(s)
- Optional reservation(s) or ancillarie(s)
Returned will be PartialRefundOffer
exactly like a ExchangeOffer
POST /bookings/{bookingId}/partial-refund-offers
containing a PartialRefundOfferCollectionRequest
like:
PartialRefundOfferCollectionRequest
overRuleCode
refundDate
passengerIdsToBeRemoved: [
passengerId
]
admissionsToBeRemoved: [
bookingPartId
]
reservationsToBeRemoved: [
bookingPartId
]
ancillariesToBeRemoved: [
bookingPartId
]
requestedFulfillmentOptions: [
..
]
embed