Matchday operations
Built for 14:55 on a Saturday.
Not the demo on a fast connection. The real afternoon: dead spots, away fans at the wrong gate, a turnstile queue at kickoff and one volunteer running the lot from a phone.
11:00
Gates configured from the kitchen table
Scanner assignments, segregation binding and steward devices set from a laptop. Away tickets will only validate at the away end.
13:30
Turnstiles open, counts go live
Every scan feeds the control-point count by gate and by stand, the number a safety officer actually needs, updating in real time.
14:55
The WiFi dies. Nothing happens.
Signed offline ticket packs keep every gate validating locally. Revocations sync the moment signal returns. Duplicates still bounce.
15:07
An incident, logged not lost
A gate steward raises it on the device in their hand: severity, location, photo. The control room sees it instantly and it survives for the SAG report.
17:15
Reconciled before the players are showered
Entry totals, cash-safe POS takings and comp counts settle to one report. No Tuesday spreadsheet archaeology.
The engine is live. The cockpit is in build.
Honesty over vapourware: offline signed tickets, revocation sync and duplicate bounce run today. The football cockpit UI (per-gate counts, the incident log) is being built now, to the SGSA Green Guide maths: capacity is set by counted entry points, so the count is never optional.
PHONE-FIRST · NO TURNSTILE CAPEX · INTEGRATES FIXED READER ESTATES WHERE THEY EXIST
$ tinaya scan verify --gate EAST-2 --offline
manifest: SIGNED · last revocation sync: 14:52:07 · duplicates bounced: 3
✓ ENGINE LIVE — cockpit UI (per-gate counts, incident log) in build: TIN-1168.