Skip to content

RaceStatus

Full lifecycle status of a race — see packages/types/src/state-machines.ts for the canonical transition map. Operators may move freely among the non-terminal states (forward or back) so a mis-click or false start can be corrected; the natural flat lifecycle traverses the stalls sequence (GOING_BEHIND, GOING_IN_STALLS) while jump races skip it. WEIGHED_IN, RACE_VOID, and ABANDONED are terminal — recovery from these is a separate, deliberate flow, never a status step-back.

ValueDescription
DORMANTRace created, not yet started.
DELAYEDRace start has been delayed. Reachable from any pre-race state.
PARADINGHorses are in the parade ring.
GOING_DOWNHorses are leaving the paddock for the start.
GOING_BEHINDHorses are going behind the stalls (flat only).
GOING_IN_STALLSHorses are being loaded into the stalls (flat only).
AT_THE_POSTHorses have reached the starting position.
UNDER_ORDERSUnder starter’s orders — the moment before the race begins.
FALSE_STARTFalse start called; the start sequence will be retried.
OFFRace has started.
FINISHEDHorses have crossed the line; result not yet announced.
PHOTOGRAPHPhoto finish under review.
RESULTResult has been announced.
WEIGHED_INResult confirmed official; bets settle. Terminal.
RACE_VOIDRace ran but the result has been voided (e.g. wrong course). Terminal.
ABANDONEDRace did not run or was stopped. Terminal.