Capture an apparel order, trigger fulfillment, create a carrier shipment, and print the label — asserting the business milestone on each system.
Scenario Catalog
The library of multi-system scenario flows. Browse by sector, assess last-run health, then run, clone, or author a new flow.
Capture an online apparel order, reserve and confirm it (OrderCaptured), then authorise and capture the card payment (PaymentAuthorised → PaymentCaptured). CONDITIONAL ENUM: each order-PATCH `$.state` is constrained to the forward lifecycle set (the cancel pseudo-state is rejected here), and `category` is captured so a downstream return/cancel step legitimately accepts a different enum set. Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
Reverse logistics for a returned jacket: check eligibility, issue the RMA (ReturnAuthorised), receive the goods (ReturnReceived), then inspect to restock sellable stock and trigger the refund (RestockedToInventory). CONDITIONAL ENUM (headline): the inspection `disposition` is constrained simultaneously by the captured `receivedCondition` (SEALED ⇒ any; DAMAGED ⇒ write-off only, fatal) AND by `category` (apparel ⇒ restock allowed; electronics/B2B ⇒ no restock, fatal); the return `reason` is constrained by `deliveryOutcome` (change-of-mind ⇒ customer-fault reasons). A different run legitimately accepts a different enum set on the SAME fields. Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
In-store channel: hard-commit store stock (StockReserved), take card-present payment (PaymentAuthorised → PaymentCaptured), and record the omni-channel retail order. ENUM: request-side guards on reservationType (SOFT|HARD), the payment simulate hook, and the order category/action; response-side guards on reservation/payment/order state. Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
Start a 1000-unit Pilsner batch: create the production order, start it (BOM resolve + raw-material reservation), pass the four quality checkpoints to complete the batch (ProductionCompleted), and notify the brewmaster. ENUM: production state is constrained to the MES lifecycle on each hop, and the notification channel ($[0].type ∈ EMAIL|SMS|PUSH) is guarded on the request (the QC checkpoints use a boolean `pass`, so they carry no enum rule). Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
A bottling-line filler breaks down: raise a corrective work order, procure the spare valve (requisition → PurchaseOrderApproved → GoodsReceived), then schedule, start and complete the repair (WorkOrderScheduled → WorkOrderCompleted). CONDITIONAL ENUM: the work-order `priority` set narrows by `type` — a type=repair order forbids 'low', while a planned install/inspection/maintenance order takes the full range (same field, different allowed set). Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
Wholesale order-to-cash: capture a reseller order, reserve and confirm it (OrderCaptured), open the billing account, raise the invoice, and complete the handover only after both ship and invoice. ENUM: every order-PATCH `$.state` is constrained to the forward lifecycle set (request-side), and billing-account/invoice state are checked against their real lifecycles (active|suspended|closed, issued|reversed). Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
Raise a staffing placement order, confirm fulfillment, and read it back — a 3-step business-state check across the order system.
Order workforce for specific workdays and skills: raise the workforce order, schedule a skilled worker (WorkOrderScheduled), start the assignment, and book the worked hours (TimeBooked). ENUM: the work-order type/priority and the timesheet labourType (standard|overtime|travel|callout) are guarded on the request; work-order + timeEntry state on the response. Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
The customer cancels a workforce request that was scheduled but not yet started: raise the order, schedule it (WorkOrderScheduled), then cancel cleanly before the point-of-no-return (state → cancelled). CONDITIONAL ENUM: gated on action=cancel, the cancel `reason` is constrained to the order-cancellation vocabulary (a DIFFERENT set than a return would accept on the same field), and the response state is the cancel-only terminal pseudo-state. Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
The hardest billing gate: a delivered service may only be invoiced after it completes. Raise + schedule the service, complete it (WorkOrderCompleted), book the delivered hours (TimeBooked), then open the account and invoice at completion. ENUM: work-order type/priority + timesheet labourType guarded on the request; work-order/timeEntry/billing-account/invoice state checked against their real lifecycles on the response. Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
Receive inbound goods and put them away: read the pre-receipt stock, book a restock adjustment for the out-of-stock SKU (RestockedToInventory), and confirm via a read-back that the SKU is AVAILABLE again. ENUM: the adjustment `type` (RETURN_RESTOCK|QUARANTINE_HOLD|WRITE_OFF) is guarded on the request; the stock `status` (AVAILABLE|INSUFFICIENT|OUT_OF_STOCK) is checked on each read. Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
Full warehouse fulfilment with a hard reservation: reserve (StockReserved), pick (PickCompleted), pack (PackCompleted), goods-issue (GoodsIssueCompleted), create the carrier shipment (ShipmentCreated), then depart it from the carrier (ShipmentDispatched) — the clean carrier handoff (CARRIER_ACCEPTED → DISPATCHED) that ends the warehouse's forward-fulfilment responsibility. ENUM: reservationType (SOFT|HARD) guarded on the request; every WMS hop status (HELD→ASSIGNED→PICKED→PACKED→ISSUED) and the shipment status are checked on the response (a short pick would legitimately land on SHORT_PICKED instead of PICKED). Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).
A last-mile parcel proves undeliverable and routes into reverse logistics: create the shipment (ShipmentCreated), depart it from the carrier (ShipmentDispatched), send it out for delivery, record a FAILED delivery attempt (DeliveryFailed), then triage the exception RETURN_TO_ORIGIN — the terminal hop driving the shipment to EXCEPTION_HANDLED, the reverse-logistics entry. CONDITIONAL ENUM (headline): the exception `decision` set is gated on the captured `deliveryStatus` — after a DELIVERY_FAILED both REATTEMPT and RETURN_TO_ORIGIN are valid (this run), but while still OUT_FOR_DELIVERY only REATTEMPT is (RETURN_TO_ORIGIN there is fatally rejected). The event step's eventType/outcome are also guarded on the request. Run against the Companion Sandbox (Scenario Lab → Companion Sandbox → Connect).