> For the complete documentation index, see [llms.txt](https://help.runonrufus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.runonrufus.com/rufus-race-manager/collecting-and-managing-timing-data/synthetic-start-passing.md).

# Synthetic Start Passing

In RUFUS Race Manager (RRM), the **Synthetic Start Passing** feature ensures that every participant in a **CLASSICAL race** has a valid start time — even when their real START passing is missing. This typically happens in mass-start races when early detections or device bounce prevent some participants from being re-read as they cross the start line.

The synthetic start passing is automatically created by RRM’s passings core to guarantee timing continuity and accurate race classifications.

## Configuration in Classical Races

To enable synthetic start creation:

1. Open the **Race Dialog** for your race.
2. In the **Start Policies** section, ensure the option\
   \&#xNAN;**“Auto-create lap 0”** is enabled.

The following conditions must also be met:

* The race must be of type **CLASSICAL**.
* The race must have a **START type checkpoint** (we are measuring times at the start).

Once this policy is active, the system will automatically create synthetic start passings whenever a participant’s first valid passing in the race is missing its lap 0 start.

## When a Synthetic Start Passing Is Created

A **synthetic start passing** is created under these specific conditions:

* The race is **CLASSICAL**.
* The race has a defined **START checkpoint (lap\_id = 0)**.
* The option **Auto-create lap 0** is enabled.
* The participant registers a **VALID passing** at any checkpoint **after lap 0**, but does **not have a valid START passing**.
* The participant is correctly assigned to a race (not an ORPHAN).

When all these conditions are met, the system automatically creates a synthetic start passing for that participant at:

> **race\_start\_time + 1 millisecond**

This ensures that each participant has a continuous race timeline, allowing accurate classification and ranking calculations.

## When It Is Not Created

A synthetic start passing **will not be created** in the following cases:

* The race is not CLASSICAL (e.g., LAPS-based).
* The race has **no START type checkpoint**.
* The option **Auto-create lap 0** is disabled.
* The participant already has a valid start passing.
* The passing is **invalid** (statuses such as TIME\_INVALID, BOUNCED, EOTR, etc.).
* The passing belongs to an **ORPHAN** (no participant → no race → no policies).

## The Problem It Solves

In mass-start races, participants often stand on the antennas before the start signal. These early detections are marked **TIME\_INVALID** because they occur before the official start time.

When the race begins, some participants leave the antenna area immediately — but their tags may not be re-read due to the device’s internal bounce protection. This causes them to have **no valid start passing**, even though they were the first to leave.

The **Synthetic Start Passing** automatically resolves this issue by inserting a virtual start record at the official race start time, ensuring every participant has a proper lap 0 reference for accurate timing and ranking.

## Operating with Synthetic Start Passings

* Synthetic start passings appear in RRM just like any other passing, but are **system-generated**.
* You can view them in the **Event Control View** or in the **Participant Passings** section.
* They can be deleted or manually invalidated if needed, though this is rarely required.

## Summary

The **Synthetic Start Passing** feature ensures fairness and accuracy in CLASSICAL races by guaranteeing that every participant has a valid start time — even when no physical start passing was captured.\
By automatically creating a start at **race\_start\_time + 1 ms** for missing lap 0 passings, RRM eliminates common mass-start timing issues caused by pre-start reads and device bounce.
