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 |