PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Amazon

Design an extensible ticketing system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates software architecture and system-design competencies, covering extensibility patterns, concurrency control for high-throughput ticketing, transactional and idempotency guarantees, persistence/schema modeling, API design, and pluggable pricing strategies.

  • hard
  • Amazon
  • System Design
  • Software Engineer

Design an extensible ticketing system

Company: Amazon

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design an extensible EventTicketSystem for selling tickets to concerts, movies, and sports events. Support creating events, listing inventory, holding/reserving seats, purchasing with idempotency, and refunds. Show a class/interface design that allows adding new ticket types without modifying existing code (e.g., a factory or registration mechanism). Prices should be determined by pluggable strategies so each ticket type can have distinct pricing rules (e.g., dynamic pricing, fees, discounts). Discuss concurrency control for seat contention, persistence schema, transactions and rollback, error handling, and core REST/gRPC APIs. Provide complexity considerations, test strategy (unit/integration), and how you would evolve the system as new ticket types and pricing policies are introduced.

Quick Answer: This question evaluates software architecture and system-design competencies, covering extensibility patterns, concurrency control for high-throughput ticketing, transactional and idempotency guarantees, persistence/schema modeling, API design, and pluggable pricing strategies.

Related Interview Questions

  • Design a Log Collection System - Amazon (medium)
  • Design Human Avoidance for Warehouse Robots - Amazon (medium)
  • Design a High-Availability Load Balancer - Amazon (hard)
  • Design a Ride-Hailing Matching System - Amazon (medium)
  • Design a cloud database write path and recovery - Amazon (hard)
Amazon logo
Amazon
Sep 6, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
5
0

System Design: Extensible EventTicketSystem

Context

Design a ticketing platform that sells tickets for concerts, movies, and sports. The system must support both reserved seating and general admission. It should be easy to extend with new ticket types and pricing policies without modifying core code.

Assume web/mobile clients, high read/write concurrency during popular on-sales, and integration with a payment provider.

Requirements

  1. Core features
    • Create/list events and venue inventory.
    • Show inventory by event (seats, sections, GA counts).
    • Hold/reserve seats with TTL and automatic expiry.
    • Purchase tickets with idempotency guarantees.
    • Refunds (full/partial) with proper accounting.
  2. Extensibility and pricing
    • New ticket types can be added via a factory/registration mechanism without code changes to core services.
    • Pluggable pricing strategies per ticket type (dynamic pricing, fees, discounts).
  3. Concurrency and reliability
    • Concurrency control for seat contention (avoid oversell; high throughput during on-sale).
    • Transactions, rollback behavior, and idempotency for purchases.
    • Persistence/schema design for events, inventory, holds, orders, payments, refunds.
    • Error handling strategy and API error semantics.
  4. Interfaces and APIs
    • Propose core REST and/or gRPC APIs.
  5. Engineering considerations
    • Complexity considerations and scalability.
    • Test strategy (unit, integration, concurrency tests).
    • Evolution path for new ticket types and pricing policies.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Amazon•More Software Engineer•Amazon Software Engineer•Amazon System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ 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.