Skip to content

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 activechecked-out
terminal Self-checkout device active, type: self-checkout
order Completed sale createdconfirmedclosed (atomic)
payment In-store payment authorizedcaptured
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

  • Process: self-checkout
  • Validation Rules: self-checkout-requires-active-terminal