Skip to content

Till Session Lifecycle

Models the lifecycle of a physical or virtual till (cash register) session from opening through trading to end-of-day reconciliation and closure. Covers cash float management, X-report (mid-day), Z-report (end-of-day), discrepancy handling, and safe drops.

Object: till-session · States: 6 · Transitions: 8


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 ───────────────────────────────────────────────
    closed(["Closed"])
    open["Open"]
    suspended>"Suspended"]
    closing["Closing"]
    discrepancy["Discrepancy"]
    reconciled[["Reconciled"]]

    %% ── transitions ─────────────────────────────────
    closed -->|"store-day-opened"| open
    open -->|"store-task-assigned"| suspended
    suspended -->|"store-task-completed"| open
    open -->|"store-day-closed"| closing
    suspended -->|"store-day-closed"| closing
    closing -->|"store-day-closed"| reconciled
    closing -->|"store-day-closed"| discrepancy
    discrepancy -->|"store-day-closed"| reconciled

    %% ── class assignments ───────────────────────────
    class closed stInit
    class open,closing,discrepancy stNorm
    class suspended stHold
    class reconciled stOk

States

State Label Description Initial Terminal
closed Closed Till is not active. Cash drawer locked. No transactions permitted.
open Open Till is active and accepting transactions (sales, returns, exchanges, voids).
suspended Suspended Till temporarily inactive (break, meal, shift change). No new transactions. Cash drawer locked.
closing Closing End-of-day process in progress. Cash count and reconciliation underway.
discrepancy Discrepancy Cash count does not match system totals. Supervisor review required before final close.
reconciled Reconciled Discrepancy accepted or resolved. Z-report generated. Cash transferred to safe. Session permanently closed.

Transitions

From To Trigger Guards
closed open store-day-opened Operator authenticated; Cash float counted and confirmed; Till assigned to operator and shift
open suspended store-task-assigned No transaction in progress; Cash drawer closed
suspended open store-task-completed Operator re-authenticated
open closing store-day-closed All in-flight transactions completed or voided; End-of-day trigger initiated by manager
suspended closing store-day-closed Manager authorises close without resuming
closing reconciled store-day-closed Physical cash count equals system expected amount (within tolerance); Z-report printed and signed
closing discrepancy store-day-closed Physical cash count differs from system total beyond tolerance
discrepancy reconciled store-day-closed Supervisor has reviewed and approved variance; Variance reason recorded