Advanced mode turns the event tracker into a step-by-step form for each session: Start, Booking, Group, Objectives, Notes, Photos, Review. Hosts can save drafts, record objectives and notes, and pick who hosted the session. Turn on the in-room display and the Objectives step also gets the DisplayControlPanel sidebar, a live timer, a Send interaction button on every objective and an optional customer screen mirror, all driving the communication screen in real time.
Getting started
Open Events > Event tracker settings, choose Advanced mode under Event tracker mode, and click Update settings. To drive a customer screen during sessions, also turn on Enable in-room display in the In-room display section. Then open Events > Event tracker and click New form to start a session.
How it works
Advanced mode is chosen with Event tracker mode in Event tracker settings. It turns the event tracker into a step-by-step form: Start, Booking, Group, Objectives, Notes, Photos, Review. Objectives and Photos only show when those optional fields are on.
The in-room display is an extra you turn on inside advanced mode with Enable in-room display. When it's on, the Objectives step renders a three-column layout:
| Column | Content |
|---|---|
| Left | DisplayControlPanel sidebar with widgets for connection, timer, background music, custom interaction, hint counter, and currently-on-screen content |
| Middle | PuzzleStep with the live event timer in the sticky header and a Send interaction quick button on every objective row |
| Right | Optional customer-screen mirror iframe (only when Display mirror view is on in tracker settings) |
The mode talks to the communication screen over WebSocket. Every action on the DisplayControlPanel or the Send interaction panel updates the customer-facing display in real time.
With the in-room display off, the Objectives step shows the objectives on their own, without the sidebar, the live timer or the Send interaction buttons. Every other step is the same either way.
Step-by-step guide
Run a session in advanced mode
| Step | Action |
|---|---|
| 1 | Confirm Advanced mode is selected and Enable in-room display is on in Event tracker settings |
| 2 | Open Event tracker, click New form (or pick a draft), and pick the booking on the Booking step |
| 3 | Open the communication screen URL on the customer-facing display (TV, projector, tablet) |
| 4 | Move through the wizard: Start → Booking → Group |
| 5 | Land on Objectives. The three-column layout appears with the DisplayControlPanel sidebar on the left |
| 6 | Confirm the Connection status widget reads the right number of screens (e.g., "1 screen"): that means the customer display has connected |
| 7 | Hit Start on the Timer widget when the session begins (or use Start event if intro media is configured) |
| 8 | As objectives complete, click Complete on the row, set the Completion time (or use Now), record interactions, and toggle issues |
| 9 | To send something to the customer screen, click Send interaction on an objective row (or use the Send custom interaction widget on the sidebar for a one-off message) |
| 10 | When the session ends, click Complete event on the Timer widget or Complete event now in the wizard footer |
| 11 | Move to Notes to record end time, post-event details and the Host, then Photos, then Review, then Submit |
The Timer widget (DisplayControlPanel)
The Timer widget is the main session timer. It drives the timer on the customer-facing display and gives the host every control they need.
| Element | What it does |
|---|---|
| Timer face | Large monospace clock (00:00:30 format). Shows Elapsed or Remaining label depending on countdown mode. In countdown mode it stops at 00:00:00, the same as the customer screen |
| Start / Pause | Toggle button (pink accent). Starts or pauses the timer |
| Reset | Resets the timer to the configured starting value |
| Start event | Only renders when intro media is configured. Triggers the intro media on the customer screen, then starts the timer (timing depends on the Timer behavior setting on Communication screen settings) |
| Show / Hide on screen | Toggles whether the timer appears on the customer display |
| Override | Opens a manual time input to set the timer to a specific value |
| Adjust time | Six small buttons (-5, -3, -1, +1, +3, +5 minutes) for quick adjustments |
| Speed | Six speed buttons (0.5x, 0.8x, 1x default, 1.2x, 1.5x, 2x) for time-compression demos or quick replays |
| Complete event | Marks the event complete with a confirmation prompt. Stops the timer and propagates the complete state |
Many of the Timer widget's controls (Adjust time, Speed, Show/Hide, Override, Complete event) can be turned on or off independently in Event tracker settings.
Send an interaction from an objective
Each objective in the Objectives step has a quick-action row with Complete, Did not finish, and Send interaction buttons (advanced mode only). Click Send interaction to expand the PuzzleHintPanel inline.
The panel shows every interaction configured on that objective with its type badge, content preview, and Send button.
| Element | Notes |
|---|---|
| Header | "Interaction options" with a "(N sent)" badge showing how many have been sent this session |
| Per-row type badge | TEXT (blue), IMAGE (pink), AUDIO (orange), VIDEO (teal) |
| Per-row preview | Text snippet (first 50 chars), filename for media, image thumbnail for images |
| Description | Smaller gray text below the preview, when configured |
| Loop button | Only on videos. Set the video to loop on the customer screen |
| Send button | Sends this interaction to the customer screen. Shows a checkmark for 1.5 seconds after click |
When no interactions are configured, the panel reads No interactions have been configured. Configure them in Objectives and interactions.
Send a custom interaction (one-off)
The DisplayControlPanel has a Send custom interaction widget for messages that aren't pre-configured.
| Element | Notes |
|---|---|
| Title | "Send custom interaction" |
| Textarea | 3 rows, placeholder "Type a message to display..." |
| Send button | Primary. Disabled when the textarea is empty |
The custom message renders on the customer screen in the Content widget area of the layout.
Manage the hint counter
The Hint counter widget on the DisplayControlPanel is the session-level interaction count that's visible on the customer screen.
| Element | Notes |
|---|---|
| Title | "Hints" |
| Badge | "N / M" (used / total). Total comes from the Maximum number of interactions in Communication screen settings |
| Icon row | Used hints render pink with a glow; remaining hints render gray |
− button | Decrements the count |
| Undo last | Reverts the most recent change |
| Reset | Resets the count to zero |
+ button | Increments the count |
The counter updates the customer-facing display immediately.
Play background music
The Background music widget plays or pauses the music configured on the communication screen.
| Element | Notes |
|---|---|
| Title | "Background music" |
| Play / Pause button | Toggle. Pink accent when active |
Only renders when Play background music is on in Communication screen settings.
Watch the customer screen mirror
The customer screen mirror is an optional iframe rendered on the right column of the Objectives step. Turn it on with Display mirror view in Event tracker settings. It shows exactly what the customer-facing display is showing right now, so the host doesn't have to walk into the room to check.
Track connection status
The top widget on the DisplayControlPanel shows how many customer screens are currently connected.
| Element | Notes |
|---|---|
| Connection dot | Green and pulsing when connected; gray when not |
| Count | "N screens" or "No screens" |
| Sync button | Refresh icon. Re-sends current state. Only when auto-sync is off |
| Copy URL button | Copies the customer-facing display URL to your clipboard |
If the count reads "No screens", open the customer-facing display URL in a browser on the room's TV / tablet / projector.
Use the live timer in the Objectives sticky header
The PuzzleStep's sticky header in advanced mode includes a compact mirror of the Timer widget:
| Element | Notes |
|---|---|
| Event timer | Compact clock (e.g., "Event 00:00:30") that stays visible as you scroll. Keeps counting past zero into overtime, shown with a minus sign |
| Play | Starts the timer |
| Pause | Pauses |
| Reset | Resets |
The compact controls match the DisplayControlPanel's larger Timer widget so the host can manage the timer without scrolling back to the sidebar.
Read the pacing status
When Enable pacing is on in Event tracker settings, a Pacing block appears beside the compact timer in the sticky header. It compares the current team with the last finished sessions of the same event (up to 100) and updates every second.
| Element | What it shows |
|---|---|
| Status | Ahead, On pace, Behind, or Finished. Hover it to see how many past sessions the comparison uses |
| Projected finish | How long the whole session is expected to take, counted from the event start time. When the projection passes the booked duration it adds how far over, for example "Projected finish 63:10, 3:10 over" |
| Not enough history yet | Replaces the status until at least 5 finished sessions of this event exist. Until then, objectives are compared against an even split of the booked duration |
| Timer paused, pacing continues | Appears when the compact timer is paused. Pacing counts from the start time entered on the Group step, so pausing the timer does not pause pacing |
Each objective row also shows a comparison chip once you know how the team is doing on it:
| Chip | When it appears |
|---|---|
| "2:10 faster than typical" (green) | The objective was completed faster than most past teams |
| "0:45 slower than typical" (orange) | The objective was completed slower than most past teams |
| "on typical pace" (grey) | Completed within about 30 seconds of the typical time |
| "Usually solved by 12:30" (orange, pulsing) | The objective is still open and the team has passed the point where most past teams had solved it. The row's left edge turns orange too |
Objectives no past team has ever completed show no chip. Sub-objectives get chips but do not affect the overall status.
Complete the event
There are two ways to end the session:
| Method | Where |
|---|---|
| Complete event button | On the Timer widget in the DisplayControlPanel (when enabled in tracker settings). Shows a confirmation prompt before propagating the completion |
| Complete event now button | In the wizard footer on the Objectives step (when Show complete button is on in tracker settings). Saves objectives state, navigates to the Notes step, auto-fills the end time, and pauses the timer |
Either way, the customer screen's completion media (if configured) plays immediately.
Pick the host
When the Host optional field is on, the Notes step has a Host section below Did the group complete the event? Pick the staff member who ran the session. The dropdown lists active staff members at your location and starts on you.
The Review step shows the host you picked in its session details. To change it, go back to Notes. If no host is picked, the person who owns the draft is recorded as the host.


Save and submit
The wizard auto-saves drafts as you type. After the Review step, click Submit to save the session to Event history.
When pacing is on, the Review step shows a Pacing row in the session details with the final result (for example "Ahead, 0:35 faster than typical, last 18 events"), and every objective card carries its comparison chip, or "typically 3:00" for objectives that were not completed.
The Review step also shows a Customer screen timer row with the value the Timer widget displayed when the session was completed or when the host left the Objectives step. The same value appears on the session's Event details page under Final timer value.
Reference
Mode gate
| Setting | Location |
|---|---|
| Event tracker mode | Event tracker settings. Advanced mode = this step-by-step form; Simple mode = one page with a row per booking |
| Enable in-room display | Tracker settings, advanced mode only. On = display control panel, live timer and Send interaction buttons on the Objectives step |
| Display mirror view | Tracker settings. On = render customer-screen mirror iframe on Objectives step |
Wizard steps
| Step | Purpose |
|---|---|
| Start | Pick draft or start new |
| Booking | Select booking slot |
| Group | Confirm players, team name, corporate flag, experience |
| Objectives | Per-objective data plus advanced-mode controls |
| Notes | End time, custom time, notes, completion outcome, host |
| Photos | Player photo with overlay. The Overlay dropdown picks one; the pencil beside it opens Adjust overlay to move, resize, hide or reorder the layers on this photo, and the X clears it |
| Review | Final summary; submit to save |
DisplayControlPanel widgets (Objectives step, left column)
| Widget | What it surfaces |
|---|---|
| Connection status | Connected screen count, Sync button, Copy URL button |
| Timer | Large clock, Start/Pause, Reset, Start event (with intro media), Show/Hide, Override, Adjust time, Speed, Complete event |
| Background music | Play/Pause toggle |
| Send custom interaction | Textarea + Send button |
| Hint counter | Used/total badge, icon row, +/− buttons, Undo last, Reset |
| On screen | Currently-displayed content with Clear link |
Widgets are conditional on the matching Communication screen settings being on for the event and the matching display_* toggle being on in Event tracker settings.
Objectives step (advanced mode)
| Element | Notes |
|---|---|
| Sticky header: compact timer | Event timer with Play / Pause / Reset; mirrors the DisplayControlPanel Timer |
| Sticky header, Pacing | Status word, projected finish, and paused note. Only when Enable pacing is on in tracker settings |
| Sticky header: Check data | Magnifying-glass link; validates required fields and scrolls to first missing |
| Sticky header: Expand all / Collapse all | Opens or closes every objective accordion |
| Per-row Complete button | Green check; toggles completion. Stamps the time |
| Per-row Did not finish button | Red X; toggles DNF |
| Per-row Send interaction button | Send icon (advanced only); opens the inline PuzzleHintPanel |
| Per-row "Sent" badge | Blue count of interactions sent on this objective this session |
| Per-row Interactions badge | Pink count badge when interaction count > 0 |
| Per-row Issues badge | Red badge when issue toggle is on |
| Per-row pacing chip | Faster, slower, typical, or "Usually solved by" comparison against past sessions. Only when Enable pacing is on |
| Per-row Expand/collapse chevron | Up/down arrow to open the body |
| Body: Completion time | Time picker with Now append. Disabled when DNF is on |
| Body: Did not finish | Inline toggle |
| Body: Interactions | Numeric counter + Description textarea |
| Body: Issues | Issue occurred toggle + Description textarea (when on) |
PuzzleHintPanel (per objective)
| Element | Notes |
|---|---|
| Trigger | Interaction options with "(N sent)" badge + down chevron |
| Per-row type badge | TEXT (blue), IMAGE (pink), AUDIO (orange), VIDEO (teal) |
| Per-row content preview | Text snippet or filename + optional image thumbnail (80×50) |
| Per-row description | Small gray text below the preview |
| Per-row Loop button | Only on videos; sets the video to loop on the customer screen |
| Per-row Send button | Primary; shows a check icon for 1.5s after click |
| Empty state | "No interactions have been configured." |
Timer widget controls
| Control | Conditional |
|---|---|
| Start / Pause | Always when timer is enabled |
| Reset | Always |
| Start event | Only when intro media is configured |
| Show / Hide on screen | Always |
| Override | Always |
| Adjust time | Configurable in tracker settings |
| Speed (0.5x / 0.8x / 1x / 1.2x / 1.5x / 2x) | Configurable in tracker settings |
| Complete event | Configurable in tracker settings |
Per-mode comparison
| Element | Simple mode | Advanced mode |
|---|---|---|
| Layout | One page, a row per booking, each with its own submit | Step-by-step form per session |
| Drafts | No | Yes |
| Objectives, pre-event notes, post-event notes, team experience | No | Yes, when the optional field is on |
| Host | Dropdown on each row | Dropdown on the Notes step |
| Live timer, display control panel, Send interaction | No | When Enable in-room display is on |
| Customer screen mirror | No | Optional (Display mirror view) |
| Event history | A session per submitted booking | A session per submitted form |
Good to know
- Advanced mode talks to the communication screen over WebSocket. Every Timer / Background music / Send interaction / Hint counter action propagates to the customer-facing display immediately. Latency is typically under a second.
- Send interaction is different from the Interactions counter. The counter on each objective row records how many times something was sent during the session. The Send interaction button is the act of sending one (which increments the counter). Reports surface both.
- Custom interaction is the freeform message channel. Use it for one-off content you didn't pre-configure as an interaction on the objective.
- The hint counter on the DisplayControlPanel and the Interactions counter on each objective are different things. The DisplayControlPanel counter is session-wide and renders on the customer screen as a row of icons. The Interactions counter on each objective is per-objective for internal reporting.
- Start event vs Start (timer). When you've configured intro media, Start event plays the intro and (depending on Timer behavior) starts the timer when the media ends or at the moment the media starts. Start on the timer just starts the timer without media.
- Override is the manual reset. Use it when the timer drifted from real time or when you need to set a specific value (e.g., starting a session mid-way).
- Speed controls compress or slow time for demos and training. 2x lets you walk through a session twice as fast; 0.5x lets you slow it down for instruction.
- The Connection status widget is your sanity check. If it reads "No screens," the customer-facing display isn't loaded: open it on the venue display and the count flips to 1+.
- The customer screen mirror saves trips into the game room. Turn on Display mirror view in tracker settings to render the iframe and watch what the customers see live, right next to the host's controls.
- Loop on video is a video-specific Send option. The video keeps looping until you Clear it from the On screen widget or send something else.
- The Complete event button on the Timer shows a confirmation prompt; the Complete event now button in the wizard footer does not. The behavior is otherwise the same.
- Pacing uses the event start time, not the timer. The comparison counts from the start time on the Group step. If the host pauses or adjusts the timer for a break, pacing keeps running and can read Behind. The "Timer paused, pacing continues" note flags this.
- Pacing needs history. A new event, or an event whose objectives were recently rebuilt, has no baseline until 5 finished sessions exist. Objectives that no past team completed show no chip.
- Two timers are recorded. The Timer widget is the customer screen timer and stops at 00:00:00. The compact Event timer in the Objectives sticky header keeps counting into overtime. Both final values are saved: the customer screen timer as Customer screen timer and the event timer as Final timer value.
- The customer screen timer is captured when you leave the Objectives step. Clicking Complete event now, or moving to the Notes step, records the value showing on the Timer widget at that moment. The Complete event button on the Timer widget pauses the timer and plays completion media but does not move the wizard, so the value is captured when you then move on to Notes.
- All advanced-mode features are non-blocking. If WebSocket drops mid-session, you can keep recording data; the customer screen catches up via Sync when reconnected.
FAQ
Q: My DisplayControlPanel doesn't appear. Why?
A: Enable in-room display is off in Event tracker settings. Toggle it on; the Objectives step re-renders in three columns the next time you open a session.
Q: The customer screen says "No screens" on the Connection widget. What's wrong?
A: The customer-facing display hasn't connected to the WebSocket. Open the communication screen URL on your venue TV or tablet: the count flips to 1 (or more) once it loads.
Q: I sent an interaction but nothing showed on the customer screen.
A: Check the Connection widget first. If it shows screens connected, click Sync to force a re-push of the current state. If still nothing, refresh the customer-facing display.
Q: How is the hint counter on the sidebar different from the Interactions counter on each objective?
A: The Hint counter on the DisplayControlPanel is session-wide and renders on the customer screen as a row of icons (used + remaining). The Interactions counter on each objective is per-objective for internal reporting only: it doesn't render on the customer screen.
Q: My Start event button is missing.
A: It only renders when Play media on event start is configured on the communication screen settings. Upload an intro video or audio file there and the button appears.
Q: Can I see the customer screen without walking into the room?
A: Yes. Turn on Display mirror view in Event tracker settings. The customer screen renders as an iframe on the right column of the Objectives step.
Q: What does Loop on video do exactly?
A: It sends the video to the customer screen with the loop flag. The video repeats indefinitely until you Clear it from the On screen widget or send a different interaction.
Q: How do I undo a hint I added by mistake?
A: Click Undo last on the Hint counter widget on the sidebar. It reverts the most recent change. Reset resets the counter to zero.
Q: My Complete event button is missing.
A: It's gated by the Enable complete event button option in Event tracker settings. Turn it on. The wizard-footer Complete event now button is separately gated by Show complete button.
Q: Do reports look different for advanced-mode sessions?
A: No. The underlying session record is the same for both modes. Reports treat them identically.
Q: I switched a draft from advanced to simple mode. Did I lose data?
A: Drafts retain the mode they were started in, so the layout doesn't change mid-draft. The data fields (completion time, interactions, issues) are common to both modes and carry over.
Q: The Timer widget stopped at 00:00:00 but the team was still playing. Where is the overtime?
A: The Timer widget and the customer screen both stop at zero by design. The compact Event timer in the Objectives sticky header keeps counting past zero with a minus sign, and its final value is saved as Final timer value on the session. Extra time spent on the Event details page also shows overtime, calculated from the start and end times.
Q: My host is using the Speed control to fast-forward. Will the customer screen follow?
A: Yes. Timer speed propagates to the customer screen over WebSocket. Use 2x for demos; reset to 1x for live customers.