Self-Checkout¶
Also known as: Scan and Pay | Classification:
commerce-pattern
Context¶
A customer wants to complete a purchase in-store without waiting for an associate. The store wants to reduce queue times and labour cost at peak periods while maintaining payment security and promotion accuracy.
Forces¶
| Force | Tension |
|---|---|
| Customer wants speed | Staffed checkout queues during peak periods |
| Store wants to reduce labour cost | Self-checkout terminals require investment |
| Promotions must be applied correctly | Customer may not know about active promotions |
| Payment must be fraud-safe | Self-checkout is a higher-risk fraud environment |
Solution¶
The customer scans items at a self-checkout terminal (or via mobile scan-and-go). The basket is evaluated against promotions in real-time. Payment is taken via the payment hub. A receipt is issued digitally. Suspicious weight anomalies or age-restricted items trigger an associate intervention.
Sequence¶
sequenceDiagram
participant C as Customer
participant SCO as Self-Checkout Terminal
participant PromEng as Promotion Engine
participant PayHub as Payment Hub
participant OMS
C->>SCO: Start session (scan loyalty card optional)
loop For each item
C->>SCO: Scan barcode
SCO->>SCO: Add to basket + weight check
end
SCO->>PromEng: Evaluate promotions on basket
PromEng-->>SCO: Applied discounts + loyalty points preview
SCO-->>C: Show basket total
C->>SCO: Select payment method
SCO->>PayHub: Authorise + capture payment
PayHub-->>SCO: Payment confirmed
SCO->>OMS: Create + close order
SCO-->>C: Print/send digital receipt
Business Objects¶
| Object | Role | State Change |
|---|---|---|
basket |
Scanned items accumulation | active → checked-out |
terminal |
Self-checkout device | active, type: self-checkout |
order |
Completed sale | created → confirmed → closed (atomic) |
payment |
In-store payment | authorized → captured |
promotion |
Applied discounts | evaluated at basket level |
Capabilities Required¶
| Capability | Minimum Level | Why |
|---|---|---|
basket-management |
🟨 3 — Integrated | Real-time basket with scan input |
checkout |
🟨 3 — Integrated | Consistent checkout including promotions and payment |
payment-processing |
🟨 3 — Integrated | Multiple tender types at terminal |
store-operations |
🟨 3 — Integrated | Terminal management + exception handling |
promotions |
🟧 2 — Fragmented | Real-time promotion evaluation at SCO |
Trade-offs¶
- Reduces checkout queue time by 30–50% at peak
- Reduces cashier labour cost
- Consistent promotion application (no human error)
- Optional loyalty integration at point of payment
- Higher shrinkage rate than staffed checkout (scan avoidance)
- Age-restricted items require associate intervention — breaks self-serve flow
- Technical failures cause significant queuing if machine density is low
- Scan avoidance: typically adds 1–3% shrinkage vs. staffed checkout; requires weight verification and random audits
- Minimum viable machine count: customer satisfaction drops sharply if fewer than 1 SCO per 50 customers/hour is available
- Accessibility: customers with disabilities may require associate assistance
Related¶
- Process:
self-checkout - Validation Rules:
self-checkout-requires-active-terminal