Skip to content

Reservation Lifecycle

Models the lifecycle of a Reservation — a time-bounded commitment of a resource (delivery slot, store appointment, click-and-collect slot, or product hold) from creation through confirmation and fulfilment or release.

Object: reservation · States: 6 · Transitions: 7


State Diagram

flowchart LR

    %% ── classDef palette ─────────────────────────────────────
    classDef stInit  fill:#0d9488,stroke:#0f766e,color:#fff,font-weight:bold
    classDef stNorm  fill:#3b82f6,stroke:#2563eb,color:#fff
    classDef stOk    fill:#16a34a,stroke:#15803d,color:#fff,font-weight:bold
    classDef stFail  fill:#dc2626,stroke:#b91c1c,color:#fff,font-weight:bold
    classDef stHold  fill:#d97706,stroke:#b45309,color:#fff

    %% ── nodes ───────────────────────────────────────────────
    requested(["Requested"])
    confirmed["Confirmed"]
    fulfilled[["Fulfilled"]]
    expired[["Expired"]]
    cancelled[["Cancelled"]]
    released[["Released"]]

    %% ── transitions ─────────────────────────────────
    requested -->|"reservation-confirmed"| confirmed
    requested -->|"reservation-expired"| expired
    confirmed -->|"reservation-released"| fulfilled
    confirmed -->|"reservation-expired"| expired
    requested -->|"reservation-released"| cancelled
    confirmed -->|"reservation-released"| cancelled
    confirmed -->|"reservation-released"| released

    %% ── class assignments ───────────────────────────
    class requested stInit
    class confirmed stNorm
    class fulfilled,released stOk
    class expired,cancelled stFail

States

State Label Description Initial Terminal
requested Requested Reservation request initiated. Slot or item hold pending availability check.
confirmed Confirmed Slot or item hold confirmed. Resource locked for the customer within the reservation window.
fulfilled Fulfilled Customer arrived and used the reservation (collected item, attended slot). Resource released.
expired Expired Reservation window elapsed without customer action. Resource automatically released.
cancelled Cancelled Reservation cancelled by customer or retailer before expiry.
released Released Resource hold released early (e.g. order cancelled, slot freed by system).

Transitions

From To Trigger Guards
requested confirmed reservation-confirmed Resource available at requested time/location; Customer eligibility verified (loyalty tier, etc.)
requested expired reservation-expired No confirmation received within timeout window
confirmed fulfilled reservation-released Customer checked in or item collected
confirmed expired reservation-expired Reservation window elapsed without customer action
requested cancelled reservation-released Customer or retailer cancels before confirmation
confirmed cancelled reservation-released Customer cancels confirmed reservation
confirmed released reservation-released Linked order cancelled or system-triggered release