Timer
Run a per-booking countdown so operators know when guests actually went out and when they should be back.
Bookings rarely go out exactly on time. The booking timer lets an operator record the moment guests actually left, watch the activity duration count down live, and capture when they returned. Every action is recorded in the booking's event log.
The timer is independent of check-in and the booking status. A booking can be checked in but never timed; a timer can be started without ever being formally checked in.
What the Timer Is For
- Capture the actual start time of an activity (operators rarely depart at the scheduled minute).
- Show staff a live countdown so they know when each group is expected back.
- Make "they're 10 minutes overdue" a glance, not a calculation.
- Produce an audit trail of when each activity actually departed and returned, separate from the booking's scheduled time.
The timer state lives on the server but the countdown is computed in the browser, so the display updates every second without polling. The displayed time may be a second or two off — that's fine.
Opening the Timer
From the booking detail view, click the time chip (e.g. 3:00 PM – 4:00 PM) in the booking header. The timer dialog opens with the current state, a large countdown, the action buttons appropriate to that state, and (once started) the actual start time and expected return time.
When the timer is active, the booking header also shows a subtle "back ~4:07 PM" next to the scheduled time so operators don't need to open the dialog for an at-a-glance check.
Actions
| Action | What it does |
|---|---|
| Start | Records the current moment as the actual start time and begins counting down the activity's duration. |
| Pause | Freezes the countdown. The expected return time will be pushed out by however long the timer stays paused. |
| Resume | Unfreezes the countdown. The accumulated paused time is added to the expected return so the operator gets the full booked duration. |
| Stop | Records the current moment as the actual return time. The timer stops counting; the booking now has a permanent record of when guests left and returned. |
| Reset | Clears the timer and immediately starts a new run from the current moment. Use this if the timer was started by mistake or you need to throw away the current run and begin again. |
Which Actions Are Available
The set of available buttons depends on the current state of the timer:
| State | Available actions |
|---|---|
| Not Started | Start |
| Running | Pause, Stop, Reset |
| Paused | Resume, Stop, Reset |
| Stopped | Start (begins a new run), Reset |
Note that Start is not available while the timer is running or paused. If staff want to discard the current run and restart from now, they must use Reset — this prevents an accidental click from clobbering the recorded actual-start time.
Pause Behavior
Pause and Resume are designed for the genuine "we have to wait for something" situation, not for stopping briefly between groups. Each pause/resume cycle adds to a running total of paused time, and the expected return time shifts out by that total. Multiple pauses in a single run are supported.
If the operator hits Stop while the timer is paused, the recorded pause time is preserved as part of the run's history (the dialog will still show how much of the elapsed time was paused).
Overdue Display
When the countdown drops below zero (the group should have been back already), the dialog displays the overage in red as +MM:SS OVERDUE. The timer continues running until the operator hits Stop.
Audit Trail
Every action writes a row to the booking event log alongside check-in, status change, and other audited events. The acting user and timestamp are captured on the log row itself; the event types do not carry additional payload.
| Event Name | When |
|---|---|
timer_started | The Start button was clicked. |
timer_paused | The Pause button was clicked. |
timer_resumed | The Resume button was clicked. |
timer_reset | The Reset button was clicked (clears the prior run and starts a new one). |
timer_stopped | The Stop button was clicked (records actual return time). |
These events appear under the Logs tab of the booking detail view in the order they occurred, so a full pause/resume history is reconstructable after the fact.
