Skip to main content

Mass change and operations

When a departure is cancelled, an itinerary changes or a service becomes unavailable, many trips change at once. The order engine handles this as a disruption and one or more mass changes, with a plan you review before anything is applied, a commit token, per-trip results, retries and rollback.

The flow​

StepCallResult
Record the disruptionPOST /oms-ops/disruptionsKind (itinerary_change, service_unavailable, departure_cancelled, transport_change, other), reason, description and scope (departures, products, product kinds, trips, line statuses).
See the impactGET /oms-ops/disruptions/{id}/impactAffected trips, guests, orders, lines and revenue by market, channel and category.
PlanPOST /oms-ops/disruptions/{id}/mass-changesA planned change with a preview item per trip, the population, and a commitToken. Nothing is applied.
Dry-runPOST /oms-ops/mass-changes/{id}/dry-runWhat a commit would do to the pending items: will apply, needs a person, will fail, skipped. Writes nothing.
CommitPOST /oms-ops/mass-changes/{id}/commit with the commitTokenApplied trip by trip, in batches. Each item ends applied, failed, needs_person or skipped.
Follow upGET /oms-ops/mass-changes/{id}/itemsPer-trip outcome with filters and facets (status, outcome, market, channel).
RetryPOST /oms-ops/mass-changes/{id}/retryRe-runs failed items.
Roll backPOST /oms-ops/mass-changes/{id}/rollback with a reasonReverses the applied items. A line changed since the change was applied is reported as rollback_conflict rather than overwritten.
Close the disruptionPOST /oms-ops/disruptions/{id}/statusresolved or superseded.

Kinds of mass change​

KindDoes
line_updateSets status, departure, attributes, or adjusts prices by a percentage on every affected line.
re_accommodationMoves affected trips to another departure or product, maps categories, and prices the new booking under a price-protection rule.

Price-protection rules (tenant configuration, listed with GET /oms-ops/protection-rules):

RulePrice on the new departure
same_priceThe guest keeps the original price.
new_price_with_discountThe new price less a percentage or amount, optionally capped at the original.
new_price_with_upgradeThe new price, with an upgrade along the category ladder.

A re-accommodation can offer the guest a choice: accept the alternative or take a refund (POST /oms-ops/mass-changes/{id}/items/{tripId}/guest-choice), within a choice window.

Safety​

  • Plan before commit. The plan records each affected line's version. If a line changes between plan and commit, its item fails as drifted instead of overwriting the newer change.
  • Commit token. A commit must present the plan's token, so a change cannot be committed twice or by mistake.
  • Exceptions go to people. The tenant's operations policy can route trips that match exception rules to a team (needs_person) instead of applying them; they appear as work items.
  • Every step is an event. oms.disruption.recorded, oms.mass_change.planned, oms.mass_change.completed, oms.mass_change.rolled_back, oms.order.changed per trip and oms.notification.requested for customer communications.

Operations work​

Read or actCall
Work items (exceptions to handle) by team, status, reason or changeGET /oms-ops/work-items
Queues and their countsGET /oms-ops/work-queues
Assign, resolve or reopen a work itemPOST /oms-ops/mass-changes/{id}/items/{tripId}/work-item
Trips carrying a mark (for example re-accommodated)GET /oms-ops/reports/marks?mark= and GET /oms-ops/trips/{tripId}/marks

The disruption list, impact, dry-run, mass-change list, work items and protection rules require the tenant's operations policy (otherwise 404 order_operations_not_enabled).

See the mass change guide and the reference for Disruption and mass change and Operations.