E13-F1: Pre-Match Barcode Export¶
Epic: E13: Access Control Integration
Size: S (Small)
Problem / Outcome¶
Export ticket barcodes for offline gate validation.
Scope¶
In-Scope:
- Excel export with barcodes only (no PII)
- Extra codes (~1000) for post-export changes
- Standardized file format
Out-of-Scope:
- Real-time integration
Acceptance Criteria¶
- AC1: Export includes all valid ticket barcodes
- AC2: Export includes ~1000 extra codes for late changes
- AC3: File format: Excel with barcode, ticket status columns
Data Model Impact¶
No new tables required (read-only export).
Export columns:
- barcode (VARCHAR)
- ticket_status (ENUM)
- sector (VARCHAR)
- row (VARCHAR, nullable)
- seat (VARCHAR, nullable)
- is_numbered (BOOLEAN)
ExtraBarcode table:
- id (UUID, PK)
- match_id (UUID, FK)
- barcode (VARCHAR, UNIQUE)
- is_used (BOOLEAN)
- used_at (TIMESTAMP, nullable)
- assigned_ticket_id (UUID, FK, nullable)
BarcodeExportLog table:
- id (UUID, PK)
- match_id (UUID, FK)
- file_name (VARCHAR)
- total_barcodes (INTEGER)
- extra_barcodes (INTEGER)
- exported_by (UUID, FK)
- exported_at (TIMESTAMP)
Permissions/Roles¶
- Admin (Match Manager)
How to Verify¶
npm test -- --grep "barcode export"
Expected: Excel generated with correct format.
Dependencies¶
Implementation Tasks¶
Doc References¶
Last Updated: January 2026