Back to notes
Product ManagementPOSArchitecture

POS Systems for High-Volume Venues: Lessons Learned

POS Systems for High-Volume Venues: Lessons Learned

Building point-of-sale software for stadiums and arenas is a unique engineering challenge. When 40,000 fans want food and drinks during a 20-minute halftime, every millisecond counts.

The Constraints

  1. Speed — Transactions must complete in under 2 seconds
  2. Reliability — Network outages during events are common
  3. Scale — 200+ terminals processing simultaneously
  4. Compliance — PCI DSS, age verification, tax calculations

Architecture Decisions

Offline-First Design

Stadium WiFi is unreliable. The POS must work without a connection:

interface Transaction {
  id: string;
  items: LineItem[];
  total: number;
  status: 'pending' | 'synced' | 'failed';
  createdAt: Date;
  syncedAt?: Date;
}

class OfflineQueue {
  private queue: Transaction[] = [];

  async processQueue() {
    for (const tx of this.queue) {
      try {
        await this.sync(tx);
        tx.status = 'synced';
        tx.syncedAt = new Date();
      } catch {
        tx.status = 'failed';
      }
    }
  }
}

Event-Driven Inventory

Real-time inventory tracking across 50+ concession stands requires an event-driven approach. Each transaction emits inventory events that are consumed by a central aggregation service.

Multi-Tenant by Design

Different venues have different menus, pricing, tax rules, and reporting needs. The system was built multi-tenant from day one with tenant-scoped databases and configurable business logic.

Key Lessons

  1. Test with real hardware — Thermal printers, card readers, and barcode scanners all have quirks
  2. Design for the worst network — If it works offline, it works everywhere
  3. Optimize the critical path — The order flow from tap to receipt should touch minimal services
  4. Analytics matter — Venue operators love real-time dashboards showing revenue by stand, top items, and throughput

Impact

The system processed over $2M in transactions during its first major event weekend with 99.97% uptime and an average transaction time of 1.4 seconds.