Event catalogue
Outbox events
Published by the order engine and read with GET /oms-ops/events. The list of types is generated from the service's event type definition.
| Type | Subject | Published when | Payload fields |
|---|---|---|---|
oms.group.created | group | A group is created. | groupId, name, agreementRef, status |
oms.group.updated | group | A group's status or agreement changes. | groupId, version, status, agreementChanged |
oms.group.trip_linked | group | A trip joins a group. | groupId, tripId, status |
oms.group.member_status_changed | group | A member trip's status changes. | groupId, tripId, from, to, source |
oms.payment.recorded | trip, purchase order or group | A payment or refund is recorded. | paymentId, kind, anchor, scenario, payer, amountMinor, currency, refundOf |
oms.payment.allocated | trip, purchase order or group | A payment's allocation to order lines is written. | paymentId, runId, method, ruleId, legs, unallocatedMinor |
oms.payment.reallocated | trip, purchase order or group | Allocation is re-run after lines changed. | runId, releasedMinor, appliedMinor, actor, tripIds |
oms.disruption.recorded | disruption | A disruption is recorded. | disruptionId, kind, reasonCode, description, scope |
oms.disruption.status_changed | disruption | A disruption is resolved, superseded or reopened. | disruptionId, from, to, reason, supersededBy, actor |
oms.work_item.updated | mass change item | An exception work item is assigned, resolved or reopened. | changeId, tripId, action, status, team, reason, assignee, resolution, actor |
oms.mass_change.planned | mass change | A mass change is planned. | changeId, disruptionId, kind, population |
oms.mass_change.completed | mass change | A committed mass change finishes. | changeId, status, counts, throughputPerSecond |
oms.mass_change.rolled_back | mass change | A mass change is rolled back. | changeId, rollbackId, counts, reason, actor |
oms.mass_change.offer_accepted | trip | A guest accepts the alternative offered by a mass change. | changeId, disruptionId, tripId, choice, refundMinor |
oms.mass_change.offer_refunded | trip | A guest chooses a refund instead of the alternative. | changeId, disruptionId, tripId, choice, refundMinor |
oms.refund.requested | trip | Money is due back to the customer, for the payment owner to pay out. | refundId, refundOf, changeId, disruptionId, tripId, amountMinor, currency, origin |
oms.order.changed | trip | A change or mass change alters a purchase order. | changeId, kind, tripId, poId, cancelOrder, lines, reason |
oms.change.applied | trip | A passenger-level change is applied. | idempotencyKey, actor, impact |
oms.notification.requested | trip | A customer communication is due (for example after a mass change). | template, tripId, changeId, recipient, facts |
oms.recovery.case_opened | customer | A service-recovery case is opened. | caseId, customerRef, tripId, benefit, reasonCode, approvalRequired |
oms.recovery.approval_requested | customer | A case above the approval threshold is sent for approval. | caseId, approvalId, queue, amountMinor |
oms.recovery.issued | customer | A voucher or onboard credit is issued. | caseId, grant, approvalId, interactionRef |
oms.recovery.rejected | customer | A case is rejected. | caseId, approvalId, reasonCode |
party.member_changed | travel party | A trip joins or leaves a travel party. | partyId, tripId, change, actor |
group_agreement.changed | group agreement | An agreement is created or changed (any action). | agreementId, agreementRef, action, state, version |
Inbound status events
The types a specialist system can send to POST /order-orchestration/events, and the status change each applies to the matched order lines. This is the built-in catalogue; a tenant can add types or change mappings in the event_catalogue section of its orchestration configuration. Read the effective catalogue with GET /order-orchestration/event-types.
The Expected after and Missing-feedback alert columns come from the configuration used for the examples in this documentation (the reservation system must confirm within 5 minutes, other systems within 60). Each tenant sets its own.
| Type | Applies to | Status change | Expected after | Missing-feedback alert |
|---|---|---|---|---|
booking.accepted | line | fulfilment → requested | — | — |
booking.confirmed | line | commercial → booked, fulfilment → confirmed | reservation create | critical after 5 min |
booking.optioned | line | commercial → option | — | — |
booking.rejected | line | fulfilment → not_fulfilled | reservation create | critical after 5 min |
booking.modified | line | fulfilment → confirmed | reservation modify | critical after 5 min |
booking.cancelled | line | commercial → cancelled, fulfilment → cancelled | reservation cancel | critical after 5 min |
onboard.posted | line | commercial → booked, fulfilment → fulfilled | onboard create | warning after 60 min |
onboard.voided | line | commercial → cancelled, fulfilment → cancelled | — | — |
service.confirmed | line | fulfilment → confirmed | excursions create | warning after 60 min |
service.fulfilled | line | fulfilment → fulfilled | — | — |
service.not_fulfilled | line | fulfilment → not_fulfilled | — | — |
payment.authorised | purchase_order | payment → authorised | — | — |
payment.partially_paid | purchase_order | payment → partially_paid | — | — |
payment.captured | purchase_order | payment → paid | — | — |
payment.failed | purchase_order | payment → failed | — | — |
payment.refunded | purchase_order | payment → refunded | — | — |
billing.invoiced | line | billing → invoiced | — | — |
billing.credited | line | billing → credited | — | — |
billing.closed | line | billing → closed | — | — |
customer.linked | purchase_order | — | — | — |
communication.delivered | purchase_order | — | — | — |
Outbound requests
The order engine sends create.requested, modify.requested and cancel.requested to the system that owns each line, as decided by the execution-ownership rules. These appear in the integration log with direction outbound. A tenant can declare further outbound types in outbound_events.