# Creating a Classical Race

Creating races in **RUFUS Race Manager (RRM)** is a key step in configuring an event. A race defines the checkpoints, rules, and timing policies used to calculate results and track participants.

### Race Types

RRM currently supports two race formats:

<table><thead><tr><th width="237.04296875">Race Type</th><th>Description</th></tr></thead><tbody><tr><td><strong>CLASSICAL</strong></td><td>Traditional race format with an optional <strong>START</strong> checkpoint and a required <strong>FINISH</strong> checkpoint. Intermediate checkpoints can be added along the course.</td></tr><tr><td><strong>LAPS</strong></td><td>Lap-based races such as circuits or multi-loop formats.</td></tr></tbody></table>

This article focuses on creating a **CLASSICAL race**.

## Accessing the New CLASSICAL Race Dialog

To create a new race:

1. Open the **Races** section from the left navigation bar.
2. Click **Add races**.
3. Select **CLASSICAL**.

The **Add Race dialog** will open, where you can configure the race structure and timing policies.

<figure><img src="https://3584810045-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrWGIMpODLJh7hQ9aW4jB%2Fuploads%2FSroGKgwrsF6JMB3SzSNO%2FScreenshot%202026-03-05%20at%2011.58.28.png?alt=media&#x26;token=5c6a5f1e-ff31-497f-b840-8a1e1418da68" alt=""><figcaption><p>Classical Race Dialog</p></figcaption></figure>

## Filling Out Race Details

In the **New Race modal**, complete the following fields:

* **Race name** → Enter a descriptive name (e.g., *5K Run*, *Mountain Bike Challenge*).
* **Sport** → Select the sport type (e.g., RUN, BIKE, TRIATHLON, TRAIL\_RUN, OBSTACLE\_COURSE, etc.). This helps with classification and participant management.

## Assigning Checkpoints

A race is built from **checkpoints**, which represent timing points along the course.

To add checkpoints:

1. Select a checkpoint from the list.
2. Choose its **type**.
3. Click **Add to Race**.

Checkpoint types include:

| Type             | Description                                   |
| ---------------- | --------------------------------------------- |
| **START**        | The race start checkpoint.                    |
| **INTERMEDIATE** | A checkpoint placed between start and finish. |
| **FINISH**       | The race finish checkpoint.                   |

<figure><img src="https://3584810045-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrWGIMpODLJh7hQ9aW4jB%2Fuploads%2FpupQgfFkTNLAVR18KuPK%2FRaceStructure_HighRes.png?alt=media&#x26;token=60e4d258-fe13-476d-a7b5-060b1adf9c26" alt=""><figcaption><p>Race Structure Diagram</p></figcaption></figure>

### Lap IDs

Each checkpoint receives an automatic **Lap ID**.

| Checkpoint   | Lap ID            |
| ------------ | ----------------- |
| Start        | 0                 |
| Intermediate | Sequential values |
| Finish       | 9999              |

#### Rules

* Each race must contain **at least one FINISH checkpoint**.
* A race can only contain **one START** checkpoint.
* Intermediate checkpoints can be added freely.

## Start Policies

Start policies define how the system behaves when start passings are missing or ambiguous.

### Auto-create lap 0

If no valid start passing is detected, the system automatically generates a **synthetic start passing** at:

```
Race start time + 1 millisecond
```

This is useful when participants stand on the start mat before the gun and the system does not record a clean start passing.

### Allow finish without start

If enabled, participants who cross the **Finish checkpoint without a recorded Start** will still receive a valid finish time.

If disabled, finish passings without a valid start will be ignored.

### Auto-select last start time

When multiple start passings are detected for a participant, this policy determines which start time will be used.

If enabled:

* The system will use the **last detected start passing** as the official start.

This helps handle situations where participants cross the start mat multiple times before leaving the start area.

## Auto-Generate Race Segments

RRM can automatically generate **standard timing segments** for the race.

When this option is enabled, the system creates segments such as:

* **Gun Time**
* **Chip Time**
* Segment splits between checkpoints

These segments are used in:

* participant results
* rankings
* pace calculations

This automation simplifies race configuration and ensures consistent segment definitions.

## Race Aliases

Race aliases allow RRM to recognize race names from **imported participant files**.

This is useful when importing data from **registration platforms or CSV files** that may use slightly different race names.

Example:

Race name:

```
21k
```

Aliases:

```
21 K
21
21 km
```

When importing participants, if the CSV file contains any of these values in the **Race column**, RRM will automatically assign the participant to the correct race.

This improves compatibility with external registration systems.

## Saving the Race

Once the details, checkpoints, and policies are configured:

* Click **Save** to create the race.
* The race will appear in the **Races Menu**, ready for dashboard access and live timing.
