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.
Related Documentation¶
Last Updated: January 2026