Changes and refunds
A customer-initiated change that removes something from a trip is previewed and applied with one contract. The order engine computes the impact per passenger and per line, applies it to the purchase orders, re-runs allocation and refunds what is no longer needed.
| Kind | Removes | Required field |
|---|---|---|
remove_passengers | The named passengers from every line they travel on. | passengers |
cancel_cabin | One cabin line; its passengers leave the trip. | lineId |
cancel_purchase_order | One whole purchase order; the trip's other orders stay. | poId |
POST /api/journeys/v1/oms-ops/changes/preview
POST /api/journeys/v1/oms-ops/changes
Both take the same body: tripId, kind, the field the kind requires, reason, actor, and optionally asOf (the date the cancellation tier is read at; default now). The preview writes nothing. Applying is idempotent on the Idempotency-Key header (or body idempotencyKey), and a preview and an apply of the same request give the same figures.
Fees
Fees come from the tenant's cancellation policies: tiers by days before departure, each with a percentage of the unit price and an optional fixed fee per passenger. The policy for a line is chosen by its cancellationPolicyId, then by product type, then the default. For example, a cruise fare with 10% from 90 days, 25% from 60, 50% from 30 and 100% inside 30 days; drinks and excursions refundable until departure.
What the impact contains
| Part | Content |
|---|---|
passengers | Per passenger leaving: price, paid, fee, retained, refund, held and still-open amounts, unit by unit with the policy applied. |
reappliedTo | Other passengers' units that receive money released by the change. |
lines, purchaseOrders | Old and new amounts; whether each order is cancelled. |
payments, refunds | Per payment: released, re-applied, refunded and held amounts; the refund records created. |
reconciliation | Paid, fees retained, refunded, held and re-applied totals, with balanced: true when every cent is accounted for at unit and trip level. |
What applying does
- Each affected purchase order receives an order change (a revision with the new line amounts and the passenger shares). An order whose lines all fall to zero is cancelled. The owning systems receive modify or cancel requests.
- Allocation is re-run for the trip.
- Money no longer needed is refunded to the payments it came from (or held as credit, by policy), and
oms.refund.requestedis published for the payment owner. oms.change.appliedis published with the full impact.
In the end-to-end example, cancelling the excursion order refunds the €247.00 paid for it, while the booking order is unchanged.
Other changes
| Change | How |
|---|---|
| Change cabin, fare or sailing (repricing) | A repricing proposal applied with POST /order-orchestration/purchase-orders/{poId}/changes. |
| Add products | A new purchase order on the trip. |
| Move many bookings after a disruption | A mass change. |
| A refund not caused by a change (goodwill, price match) | POST /oms-ops/payments with kind: refund. |
A name change or a passenger substitution as a single operation is not available on individual trips (group agreements support substitution between trips). Model it as removing the passenger and adding a purchase order for the new one. See Availability.
See the reference for Changes and cancellations.