Skip to content

E4: Ticket Purchase Flow

Overview

Bounded Context / Service: Ticket Service, Payment Service, Mobile App

Goal: Enable fans to browse matches, select zones, and purchase tickets with automatic seat assignment.

Priority: High

Primary User Roles

  • Fan (public user with OIB)

Scope

In-Scope

  • Match browsing and details
  • Zone selection with pricing (pre-sale discount)
  • Quantity selection (max 4)
  • Snake algorithm for automatic seat assignment
  • Cart management with 20-minute TTL (from queue entry)
  • Ticket holder information capture (default profile + saved profiles + manual)
  • Email assignment for ticket delivery
  • Minor ticket holder restrictions
  • Blacklist validation at checkout
  • Payment via Stripe
  • Order confirmation and email notification
  • Ticket delivery to app

Out-of-Scope

  • Seat selection by user (only zone selection)
  • Multiple payment methods (only card)
  • Gift cards or vouchers

Features

ID Feature Size Description
E4-F1 Match Listing API S Browse available matches
E4-F2 Zone Selection and Availability S Select zone and see pricing
E4-F3 Snake Algorithm Seat Assignment M Auto-assign adjacent seats
E4-F4 Cart Management with TTL S 20-minute cart reservation
E4-F5 Checkout Ticket Holder Entry M Enter ticket holder information
E4-F6 Blacklist Validation at Checkout S Block blacklisted purchasers
E4-F7 Payment Processing (Stripe) M Process card payments
E4-F8 Order Confirmation and Ticket Generation M Complete order and generate tickets

Dependencies

  • User profile service for ticket holder data
  • Blacklist service for validation
  • Payment gateway (Stripe)
  • Queue service for high-demand matches

Risks & Open Questions

Snake Algorithm Configuration

What are the specific configuration parameters for the snake algorithm (starting position, direction, obstacle handling)?

Risk: Cart TTL Coordination

Cart TTL must be coordinated with queue purchase window to avoid conflicts.


Last Updated: January 2026