E9-F2: Tiered Ticket Visibility¶
Epic: E9: Ticket Management & Delivery
Size: S (Small)
Problem / Outcome¶
Show different ticket details based on time before match.
Scope¶
In-Scope:
-
4 days: basic order info only
- 4 days to 5 hours: virtual ticket with seat details, no QR
- <5 hours: full ticket with QR code visible
Out-of-Scope:
- Custom timing per match
Acceptance Criteria¶
- AC1: >4 days before match: only order info, no seat details or QR
- AC2: 4 days to 5 hours: virtual ticket with seat details, no QR
- AC3: <5 hours: full ticket with QR code visible
Data Model Impact¶
No new tables required (display logic).
Visibility tiers:
- TIER_ORDER_ONLY: > 4 days (96 hours)
- TIER_VIRTUAL_TICKET: 4 days to 5 hours
- TIER_FULL_TICKET: < 5 hours
Response includes:
- visibility_tier (ENUM)
- show_qr (BOOLEAN)
- show_seat_details (BOOLEAN)
- qr_available_at (TIMESTAMP)
Permissions/Roles¶
- Ticket holder
How to Verify¶
npm test -- --grep "tiered visibility"
Expected: Correct content shown based on time.
Dependencies¶
Implementation Tasks¶
See E9: Ticket Management Tasks
Doc References¶
Last Updated: January 2026