PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Sig

Design a supermarket checkout system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates system design competencies including domain modeling, API and service boundary definition, stateful session lifecycle, pricing and promotions modeling, and transactional consistency for point-of-sale workflows.

  • medium
  • Sig
  • System Design
  • Software Engineer

Design a supermarket checkout system

Company: Sig

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design the software for a supermarket checkout system. A grocery store has multiple checkout lanes operated by cashiers, and the design should also be extensible to self-checkout. Customers bring items to a register, where the cashier scans products and the system computes the final total. The system should support: - product lookup by barcode or PLU code - unit-based and weight-based items - quantities for the same item - taxes, discounts, promotions, and coupons - a running subtotal while items are scanned - voiding an item before payment - multiple payment methods such as cash and card - receipt generation - opening and closing a register session for a cashier Discuss: - the core objects/classes and their responsibilities - the main APIs or service boundaries - the checkout session lifecycle and state transitions - how pricing and promotions should be modeled cleanly - error handling and data consistency concerns - how to extend the design later for loyalty programs, returns, and split payments

Quick Answer: This question evaluates system design competencies including domain modeling, API and service boundary definition, stateful session lifecycle, pricing and promotions modeling, and transactional consistency for point-of-sale workflows.

Sig logo
Sig
Jan 6, 2026, 12:00 AM
Software Engineer
Onsite
System Design
9
0

Design the software for a supermarket checkout system.

A grocery store has multiple checkout lanes operated by cashiers, and the design should also be extensible to self-checkout. Customers bring items to a register, where the cashier scans products and the system computes the final total.

The system should support:

  • product lookup by barcode or PLU code
  • unit-based and weight-based items
  • quantities for the same item
  • taxes, discounts, promotions, and coupons
  • a running subtotal while items are scanned
  • voiding an item before payment
  • multiple payment methods such as cash and card
  • receipt generation
  • opening and closing a register session for a cashier

Discuss:

  • the core objects/classes and their responsibilities
  • the main APIs or service boundaries
  • the checkout session lifecycle and state transitions
  • how pricing and promotions should be modeled cleanly
  • error handling and data consistency concerns
  • how to extend the design later for loyalty programs, returns, and split payments

Solution

Show

Submit Your Answer

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Sig•More Software Engineer•Sig Software Engineer•Sig System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.