Skip to content

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