Each mock shows the screen / form side-by-side with FIFA World Cup and Olympics data so you can see how the same component adapts. Yellow = client-editable · Dashed border = read-only display. Focus is structure, not final visual design.
Setup · one-time per event
Create Event
The form adapts based on eventType. FIFA tournaments default to a match-only structure; Olympics enables sub-event (sport) hierarchy automatically.
super_adminevent_admin1× per event
FIFA WORLD CUP 2026 SPORTS_TOURNAMENT
New Event
DRAFT
FIFA World Cup 2026
FIFA-WC-2026
SPORTS_TOURNAMENT
→ Match hierarchy, placeholder teams supported
USD
11 Jun 2026
19 Jul 2026
48
14
☐
LOS ANGELES 2028 OLYMPICS_MULTI_SPORT
New Event
DRAFT
Los Angeles 2028 Olympics
LA-2028
OLYMPICS_MULTI_SPORT
→ 3-level hierarchy: Sport → Session → Category
USD
14 Jul 2028
30 Jul 2028
72
21
☑
Medal sessions get earlier deadline
Behavioural difference: once eventType is saved, the Event Detail page reorganises the navigation — FIFA events show "Matches", Olympics events show "Sports → Sessions". Sub-event grouping appears in dropdowns across Sales / Purchases / Reports.
Setup · one-time per event
Bulk schedule upload
Drag-drop the full season / tournament schedule. Column mapper auto-detects common layouts (FIFA 10-col, Olympics 12-col flat). Creates all matches, sub-games, categories, venues in one commit.
Single match editor — typable fields where they matter (venue, teams). Used after import for manual tweaks, placeholder resolution, and one-off additions.
FIFA · M64 Final (placeholder teams)
Edit match
M64
Final (derived from M64)
Winner SF1
Placeholder · resolves when M61 completes
Winner SF2
Placeholder · resolves when M62 completes
19 Jul 2026
18:00
MetLife Stadium, New York
82,500
17 Jul 2026 18:00
= matchDate − dispatchBufferHours(48)
Olympics · ATH15 100m Finals
Edit session
ATH15
Athletics (ATH)
M - 100m Final · Gold Medal Session
Parsed from S.Desc
04 Aug 2028
Fri (auto)
20:50
21:30
LA Memorial Coliseum
77,500
☑ Yes
Drives priority on dispatch
A · B · C · D · First
No E for this session
Rare · tournament-progress
Placeholder team resolution
Enter a match result → system cascades to all downstream matches that referenced it. Affected clients get notified.
Enter result · M61 Semi-Final 1
Brazil
France
Brazil
2 – 1
Cascade preview:
M63 (3rd place) · away team Loser SF1 → France · 42 affected clients
M64 (Final) · home team Winner SF1 → Brazil · 184 affected clients
Setup · once per venue/match
Seat map upload + category paint
Upload the stadium grid, paint category zones, confirm category coverage matches capacity. Unlocks visual allocation on Distribution.
Seat map · Estadio Azteca (v2 · 2026 layout)
Venue-level
Or per-match override
CSV · Block · Row · Seat · X · Y
estadio-azteca-v2.csv · 87,523 seats · checksum OK
Bulk buy from one vendor for one match (or session). Multi-line, auto-expands to unit inventory on save.
FIFA · M28 purchase from TicketVault
New Purchase · FIFA WC 2026
TicketVault
2025-100129 (auto-filled)
M28 — MEX vs KOR
18 Jun 2026
USD
e-ticket
☐ No
Line items2 lines · 55 units
Top Cat 1
43
1,893 USD
81,399
Cat 2
12
850 USD
10,200
+ Add line
91,599 USD · 55 units will generate (P00045–P00099)
Olympics · ATH15 purchase (medal session)
New Purchase · Los Angeles 2028
Olympic Ticket Partner
OLY-2028-014
ATH15 — 100m Finals (medal)
12 Apr 2028
USD
mobile transfer
☑ early deadline
Line items3 lines · 58 units
First
8
4,800 USD
38,400
A
20
1,950 USD
39,000
C
30
650 USD
19,500
+ Add line
96,900 USD · 58 units will generate · 3 sets
Post-save: system expands to _PURCHASE_UNITS (UnitID P00045..P00099 FIFA · P00200..P00257 Olympics), assigns SetID = PR<sourceRow>-S01 per line, stamps status AVAILABLE, ready for allocation.
Daily · sales · REVISED layout
New Sale (revised per latest brief)
Client field typable with autocomplete at the top · Match field moves into each line · USD/EUR only · FX removed. Supports one-sale-many-matches (common for travel agencies).
FIFA · travel agency buys across 3 matches
New Sale · FIFA WC 2026
Meridian Travel
Typable · best-match autocomplete
240739 (auto-filled)
15 Apr 2026
EUR
USD or EUR only
PENDING
PO-2026-0042
Consecutive seats for Final · wheelchair access row for M01
Ticket lines · match per line3 lines · 10 tickets
M06 AUS vs POC
Cat 3
4
450 EUR
M32 USA vs AUS
Cat 3
4
450 EUR
M64 Final
Top Cat 1
2
2,950 EUR
+ Add another match line
Checks: Credit 480k / 500k available · no oversell · 2 tickets for Final flagged amber (close to Top Cat 1 limit).
9,500 EUR · 10 tickets · 3 matches
Olympics · agency buys multi-sport hospitality
New Sale · Los Angeles 2028
Al Habtoor Group
VIP flag · policy may apply
OLY-2028-SL-0017
20 Apr 2028
USD
INVOICED
Hospitality access required · group of 4 attends all 4 sessions
Ticket lines · session per line4 lines · 16 tickets
OOC01 Opening Ceremony
First
4
7,500 USD
ATH15 100m Finals
First
4
4,800 USD
FBL58 Gold Medal Match
A
4
2,800 USD
OCC01 Closing Ceremony
A
4
3,900 USD
+ Add another session line
VIP policy note: Al Habtoor is VIP · allocation policy may exclude from FULLY_AUTO runs.
76,000 USD · 16 tickets · 4 sessions
Daily · allocator hub
Distribution — the allocation control table
Central operational table. Each row = one ticket (child DistRow). Filters to find unallocated items; Side drawer opens Allocation Preview; Special Handling panel for unallocate / override / reset.
Distribution · FIFA WC 2026 · 1,420 rows
Status: unallocated×Match: M28×Category: Cat 3×+ Add filterShowing 24 of 1,420
ID
Match
Cat
Company
Status
Unit
Block/Row/Seat
Delivery
Guest
S140-1
M28
Cat 3
Meridian Travel
UNALLOCATED
—
—
—
—
S140-2
M28
Cat 3
Meridian Travel
UNALLOCATED
—
—
—
—
S141-1
M28
Cat 3
Apex Holdings
ALLOCATED
P00045
C · 12 · 14
SENT
John Smith
S141-2
M28
Cat 3
Apex Holdings
ALLOCATED
P00046
C · 12 · 15
ACCEPTED
Sara Smith
S142-1
M28
Cat 3
Al Habtoor Group
WAITING_STOCK
—
—
—
—
Daily · allocator decision
Allocation Preview
Top-6 candidate plans ranked by score. Operator picks a plan; policy violations block incompatible ones.
Recommended plan #1: exact match, single set from TicketVault, no split, 38% margin. Commit writes Vendor=TicketVault, AllocatedUnitIDs, flips units P00045–P00048 to ALLOCATED, appends to _ALLOC_LOG.
Rare · override / unallocate
Special Handling drawer
Every operation requires typing UNDO and a reason. All actions append to _ALLOC_LOG.
Special Handling · Sale S141
Unallocate sale (all units back to AVAILABLE)
Other options: Unallocate by SetID · Reset seats by SetID · Set AllocFromCategory override · Clear AllocFromCategory override
Type "UNDO" to confirm
Wrong vendor selected — TicketVault pulled the listing; re-allocate from SeatWave
Rare · exception
Oversell Resolution drawer
Fires when a sale line qty exceeds available inventory. Manager picks approve / reject / upgrade.
Oversell alert · Sale S145 · M64 Final · Top Cat 1
Requested: 2 tickets · Available: 0 · Oversold by: 2 · Client: Al Habtoor Group (VIP)
Option
Effect
Notes
Approve override
Line → ALLOCATED (commit)
We'll source extra inventory · bear the risk
Reject
Line removed from sale
Client notified · refund triggered
Upgrade category
Offer premium-tier replacement
+250 EUR per ticket · margin recomputed
Customer is VIP — sourcing additional from secondary market; approved by CFO
External · client-access
Client Portal — advanced filters + Accept receipt
Large clients manage thousands of tickets. Filters reduce the set, yellow cells are editable, bulk Accept closes out deliveries.
Client Portal · Meridian Travel · 327 tickets · token expires in 8 days
Match: M28, M32, M64×Category: Cat 3, Top Cat 1×Delivery: NOT_SENT + SENT×Block: C · rows 12-15×Holder: "smith"×+ Add filter42 of 327 · 18 missing email
Sales ID
M-No.
Game
Cat
P · Purch
Q · Alloc
Block
First name
Last Name
Client Email
Delivery
S140-1
M28
MEX vs KOR
Cat 3
4
4
C · 12 · 14
John
Smith
john.smith@…
SENT
S140-2
M28
MEX vs KOR
Cat 3
4
4
C · 12 · 15
Sara
Smith
sara.smith@…
SENT
S140-3
M28
MEX vs KOR
Cat 3
4
4
C · 12 · 16
missing
NOT_SENT
—
S140-4
M28
MEX vs KOR
Cat 3
4
4
C · 12 · 17
missing
NOT_SENT
—
S145-1
M64
Final
Top Cat 1
2
0
—
awaiting allocation
—
—
Column meaning: P = tickets you purchased · Q = allocated so far. When Q = P, all guest rows are editable. When Q < P, remaining rows grey out until allocator finishes.
External · supplier-access
Supplier Portal (FEW supplier) — with redaction
Pre-generated from all purchases with this supplier. Client names visible (needed for delivery), Company redacted to MIRRA, vendor credentials hidden.
Privacy notice: Client company identities are redacted (shown as MIRRA). Only delivery-necessary contact info is visible. Vendor/password columns are hidden entirely.
ID
M-No.
Game
Company
INV-NO
Cat
Qty
Block · Row · Seat
First name
Last Name
Client Email
Delivery
S196-1
M19
ARG vs ALG
MIRRA
626005399-UP
Cat 3
2
D · 4 · 21
Mario Carlos
Alva Brito
malvab.99@…
NOT_SENT
S250-1
M28
MEX vs KOR
MIRRA
2025-3008
Cat 2
10
B · 3 · 1–10
Varies
(10 names)
group email
SENT
—
S251-1
M28
MEX vs KOR
MIRRA
2025-3008
Cat 2
24
B · 4 · 1–24
—
—
—
INVENTORY
pending allocation
Data flow: rows start as inventory-only (last row). When the allocator commits, client detail streams in (first two rows). You update Delivery status; we cascade to client & internal.