E2-F4: Match Stadium Configuration¶
Epic: E2: Match & Stadium Management
Size: M (Medium)
Problem / Outcome¶
Admins configure stadium for specific match (sector availability, pricing).
Scope¶
In-Scope:
- Configure sectors for match (active/closed/maintenance)
- Price category assignment per sector
- Sterile zones configuration
Out-of-Scope:
- Seat-level blocking (covered in E3)
Acceptance Criteria¶
- AC1: Given match, when admin sets sector to "Closed", then sector excluded from sellable capacity
- AC2: Given sector, when admin assigns price category, then all seats in sector inherit price
- AC3: Given configuration complete, when admin saves, then configuration is versioned and locked
Data Model Impact¶
MatchStadiumConfig table:
- id (UUID, PK)
- match_id (UUID, FK)
- stadium_id (UUID, FK)
- version (INTEGER)
- locked (BOOLEAN)
- created_at (TIMESTAMP)
MatchSector table:
- id (UUID, PK)
- match_id (UUID, FK)
- sector_id (UUID, FK)
- status (ENUM: active, closed, maintenance)
- price_category_id (UUID, FK)
Permissions/Roles¶
- Admin (Match Manager)
How to Verify¶
npm test -- --grep "match stadium config"
Expected: Sectors configurable, pricing applies, versioning works.
Dependencies¶
Implementation Tasks¶
See E2: Match ## Doc References Stadium Tasks
Doc References¶
Last Updated: January 2026