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:

  • Until 5 hours before kick-off: virtual ticket with seat details and gate, no barcode or QR (HNSTIK-327)
  • From 5 hours before kick-off: full ticket with QR code visible, and the PDF

Out-of-Scope:

  • Custom timing per match

Acceptance Criteria

  • AC1: 10 days before match: virtual ticket with seat details and gate, no QR
  • AC2: 4 hours before match: full ticket with QR code visible

Data Model Impact

No new tables required (display logic).

Visibility tiers:
- TIER_VIRTUAL_TICKET: more than 5 hours before kick-off
- TIER_FULL_TICKET: 5 hours or less
- (order info only remains for a ticket whose match cannot be timed)

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