Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.time2.bike/llms.txt

Use this file to discover all available pages before exploring further.

A timing session is the unit of timing work for race day. One session covers one timing setup — typically one race, or for brackets, all rounds of one bracket.

Hierarchy

event
  ├── race "Cat 1 Men"  ──────────┐
  ├── race "Cat 2 Men"  ──────────┼── timing session "Morning XC"
  └── race "Open Women" ──────────┘
A session belongs to one event and references one or more raceIds. Operators record finishes scoped to a specific race (via the race tab at the top of the operator screen), so the same session timer can serve multiple categories that race together.

Why multiple races in one session

In practice many disciplines run multiple categories on one clock:
  • A criterium where Cat 1/2/3 start together.
  • An XC race with three category waves but the same finish line.
  • A dual-slalom bracket whose “races” are seeding + bracket rounds.
The session owns the clock, the operator screen, and the event log. The race tab decides which race a given finish belongs to.

Session types

  • standard — one operator, plate-input or tap-to-finish driven. 95% of races.
  • dualSlalom — multi-device, lane-driven. See Dual slalom.

Session lifecycle

idle ──▶ running ──▶ stopped ──▶ finalized ──▶ published

              └─▶ paused ──▶ running
  • idle — created, nothing recorded yet.
  • running — the clock is alive; operators are recording.
  • paused — see pauseSemantics below.
  • stopped — the clock is stopped but the session is still editable.
  • finalized — locked. No more events accepted.
  • published — visible on the public results page.
Status

Pause semantics

Set per session at creation:
  • frozenClock — pause stops elapsed time for everyone. Best for slalom and “we have a course hold” pauses.
  • softPause — wall clock keeps going; pause just hides controls. Best for “I’m pausing because the volunteer is on a snack break”.