An order reserves inventory, charges payment, then times out waiting for reservation confirmation. Cancellation begins. A late inventory success arrives after the refund. Without a state model, stock remains held or payment is refunded twice.

Define events and invariants

OrderCreated -> InventoryReserved -> PaymentCharged -> Confirmed

| timeout

v