Cockpit
The Cockpit is a live-ops display for running your event in real time. It surfaces attendance stats, check-in queues, badge printing, and session schedules in a modular, TV-friendly layout you can share with your ops team via a token-gated URL.
Updated May 26, 2026
The Cockpit gives you a live, modular view of everything happening at your event — attendance numbers, walk-in approvals, badge queues, and session schedules — all updating in real time via Supabase Realtime.
You can project it on a screen, open it on a tablet at the door, or share a token-gated link with volunteers who don't have a Mercleo account. Each team member sees only the modules you've granted them access to.
Operator and guest URLs
If you have a Mercleo account with access to the event, open the Cockpit at /operations/[slug]/cockpit. You'll see all nine modules.
For volunteers or on-site staff without Mercleo accounts, generate a guest invite. Guest Cockpit URLs follow the pattern /c/[token]/cockpit. The token determines which modules the guest can access — attempting to reach a module outside their scope silently redirects them to their first permitted module.
Guest Cockpit URLs require no Mercleo login — anyone with the link can view the permitted modules. Treat them like a physical access badge: share only with named individuals and regenerate if a link is compromised.
Default landing module and chime
Two Cockpit settings live under /[slug]/settings?section=cockpit in the EventCockpitSettings panel.
- Default landing module — which module opens when someone navigates to the Cockpit URL without a
?module=param. Choose from: Dashboard, Check-in, Schedule, Walk-in queue, Badges, or Team. - Unattended-scan chime — plays an audio cue when a scan completes while the Cockpit is open but no staff member is watching. Useful for self-serve badge-pickup stations.
Switch modules at any time by appending ?module= to the URL. The valid values are now, checkin, door_check, session_scan, schedule, walkin_queue, badge_queue, mass_print, and team.
The nine modules
Every module runs inside the same CockpitShell — operator and guest URLs share the same layout. The six modules available as landing targets are marked below; the remaining three are reachable via direct URL or module-switcher only.
- Dashboard (
now) — real-time attendance tiles and live session cards. Configurable as a landing target. - Check-in (
checkin) — full attendee roster with integrated scanner. Configurable as a landing target. - Door check (
door_check) — scanner only, no roster. Reachable via URL; not a configurable landing target. - Session scan (
session_scan) — per-session scanner for breakout rooms or workshops. Reachable via URL; not a configurable landing target. - Schedule (
schedule) — session timetable for the event. Configurable as a landing target. - Walk-in queue (
walkin_queue) — real-time queue of door submissions pending approval. Configurable as a landing target. - Badges (
badge_queue) — three-tab print and handover workflow. Configurable as a landing target. - Mass print (
mass_print) — bulk PDF badge generation. Reachable via URL; not a configurable landing target. - Team (
team) — operator roster for the event. Configurable as a landing target.
The Dashboard (Now) module
The Dashboard module shows four real-time tiles at the top of the screen, all driven by Supabase Realtime:
- Checked in today — cumulative count of day-level check-in events.
- Arrival rate — check-ins per minute over the last five minutes.
- Still expected — registered attendees who have not yet checked in.
- Inbox unread — unread walk-in or queue messages awaiting action.
Below the tiles, live session cards show currently running sessions (tagged with a Live now badge) and the next upcoming sessions with a minutes-until-start countdown.
Session check-ins (scanned via the Session scan module) are tracked separately from day attendance. Only main check-in and check-out events increment the Checked in today tile — scanning into a breakout session does not.
Arrival rate is approximated client-side: the counter increments by 0.2 per check-in event received after page load, then is averaged over the five-minute window. Under sustained arrival bursts the figure can drift from the true rate — refresh the page to re-anchor it.
Walk-in queue and capacity
The Walk-in queue module surfaces pending door submissions in real time. Each row shows the submitter's details and two actions: Approve and Reject.
Approving a submission creates a confirmed ticket and increments the ticket type's capacity counter at that moment. Submitting the walk-in form does not hold or consume capacity — only your approval does.
Badge queue
The Badges module has three tabs:
- Find and hand over — look up an attendee and mark their badge as collected.
- Print — send individual badges to the printer queue.
- Printed / ready — badges that have been printed and are waiting for pickup.
Each tab has source filter chips so you can narrow the queue: All, My queue, or a specific kiosk or operator. Token-gated guests do not see the My queue filter, since they're not associated with a Mercleo account.
Guest invites and module scoping
When you generate a guest Cockpit invite, you set the moduleScope — the list of modules that token can reach. The guest receives a /c/[token]/cockpit URL and lands on their first permitted module.
If a guest navigates to a module outside their scope — via the module switcher or a direct URL — the Cockpit silently redirects them back to their first permitted module. No error is shown.
A guest with only door_check in scope, for example, sees only the scanner — they can't navigate to attendance stats or the walk-in queue.