Preskoči na sadržaj

E9-F1: Ticket Generation with QR Code

Epic: E9: Ticket Management & Delivery

Size: S (Small)

Problem / Outcome

Generate tickets with QR codes after purchase/claiming.

Scope

In-Scope:

  • Ticket record creation
  • QR code generation with unique identifier
  • Unique ticket identifier

Out-of-Scope:

  • Physical ticket design

Acceptance Criteria

  • AC1: Ticket created with unique ID, match_id, seat_id, holder info
  • AC2: QR code generated with ticket ID encoded
  • AC3: Ticket status set to SOLD

Data Model Impact

Ticket table:
- id (UUID, PK)
- order_id (UUID, FK)
- match_id (UUID, FK)
- seat_id (UUID, FK)
- barcode (VARCHAR, UNIQUE) - encoded in QR
- qr_code_data (VARCHAR) - full QR payload
- holder_name (VARCHAR)
- holder_oib (VARCHAR, encrypted)
- holder_email (VARCHAR)
- status (ENUM: sold, attended, cancelled, transferred)
- created_at (TIMESTAMP)

Permissions/Roles

  • System (triggered by payment)

How to Verify

npm test -- --grep "ticket generation"

Expected: Ticket created with QR code.

Dependencies

Implementation Tasks

See E9: Ticket Management Tasks

Doc References


Last Updated: January 2026