Classes, Courses & Maps

Platform: πŸ–₯οΈπŸ“± Desktop & Mobile

See also: Code Lists, Import & Export, Relay Legs, Checkpoints

When you need this

You've created your event and now need to define what participants will run. This page is where you set up the competition classes (H21, D16, Open…), design the courses with their control sequences, and optionally upload a map image with control placements. The classes you define here appear on the registration form and determine how results are grouped β€” so this is typically the next step after creating the event itself.

Setting up classes for your event

You've created the event in Creating & Editing Events and now need to define which competition categories participants can enter. Classes control how participants are grouped in start lists, results, and on the registration form.

Adding and editing classes

Click Add class to create a new class. Each class has the following fields:

  • Class name β€” The name displayed to participants (e.g. H21, D16). This is what appears on the registration form and in results.
  • Class default start time β€” The default start time for participants in this class. Useful when different classes start at different times.
  • Class type β€” Choose from:
    • Not specified β€” Standard class
    • Rogaining β€” Score-based orienteering with a time limit
    • For children β€” Participants are not ranked and are listed alphabetically in results. The mobile app shows a fun animal character at the finish.
  • Point system (for Rogaining) β€” How points are calculated per control. Choose the scoring rule that matches how control codes are numbered in your event:
    • First digit of the control code (e.g. control "31" = 3 points)
    • Last digit of the control code (e.g. control "31" = 1 point)
    • Control code (e.g. control "31" = 31 points)
    • One point per control
    • No point system
  • Maximum time (min) β€” Time limit for the class (used in Rogaining)
  • Penalty minutes per missing control β€” Penalty applied for each missed control
  • Course β€” Assign a course to this class. When multiple courses are linked, participants in the class may run different course variants (forking).
  • Checkpoint β€” Assign checkpoints for intermediate timing. The checkpoints you set up here are used by timing stations for recording split times. See Checkpoints for details.

You can reorder classes by dragging and dropping them in the class list. Grab a class row and drag it to the desired position β€” the order number updates automatically. The class order determines how classes appear in start lists, results, and the registration form.

Tip: Set up your classes before opening registration. The class list on the registration form reflects exactly what you configure here, in the order you arrange them.

Relay-specific class settings

When your event is a Relay event, classes have additional settings for managing multi-leg races:

  • Number of legs β€” How many legs the relay has
  • Changeover closure time β€” The time after which changeovers are closed. See Relay Legs for details on changeover closure and restart times.
  • Per-leg course assignment β€” You can assign a different course to each leg of the relay

Simplified event mode

When Simplified event mode is enabled on the event, classes and courses are managed together as a single concept. This reduces configuration steps for simpler events β€” each class automatically has a matching course with the same name, so you don't need to set up courses separately. See Creating & Editing Events for event mode settings.

Tip: Use simplified mode for training events or small competitions where every class runs its own unique course. Switch to full mode when you need multiple classes sharing the same course or course variants (forking).

Designing courses and controls

You've defined your classes and now need to create the routes participants will follow. Each course specifies a sequence of controls β€” and you'll assign courses to classes so the system knows who runs what.

Adding and editing courses

Click Add course to create a new course. Each course has:

  • Course name β€” The name of the course (e.g. "Long", "Short", or "H21-1" for a forking variant)
  • Course distance (m) β€” The total distance in meters
  • Climb meters β€” The total climb in meters

Configuring controls

Each course has a list of controls that define the route. For each control, you can configure:

  • Control label β€” The label shown to participants (e.g. "31", "32")
  • Control codes β€” The internal punch codes for the control. These must match the codes programmed into your timing units.
  • Control-to-control distance β€” Distance between controls
  • Free order β€” When enabled, consecutive controls marked as free order form a group that can be visited in any order within that group. A non-free-order control breaks the group. For example, if a course has controls 1 (not free), 2 (free), 3 (free), 4 (not free), 5 (free), 6 (free), 7 (free), then controls 2 and 3 form one free order group and controls 5, 6, and 7 form another. The participant must visit control 1 first, then 2 and 3 in any order, then 4, and finally 5, 6, and 7 in any order.
  • Skip control β€” When enabled, the time spent on this control leg is removed from the participant's finish time. This is useful for neutralization sections where the leg time should not count towards the result.
  • Penalty β€” Per-control penalty (in minutes) for a missing punch. The default penalty for missing controls is set in class settings, but it can be overridden here for an individual control.
  • Disabled β€” Mark a control as disabled. All participants will automatically receive a punch for this control even if they cannot punch it (e.g. due to equipment failure or other issues with the control unit).

Tip: If a control unit fails during the event, mark that control as "Disabled" rather than manually editing every participant's result. The system will automatically credit all participants with a punch for that control.

Importing classes from XML

You have course data from your course planning software (e.g. OCAD, Purple Pen, Condes) and want to load it into Navisport rather than entering everything manually. The import reads IOF XML 3.0 files β€” the standard format that course planning tools export.

There are two ways to import:

  1. Drag and drop β€” Drag an XML file directly onto the classes/courses view
  2. Import button β€” Click Import classes from XML and select your file

The import shows you a preview of what will be imported, including new and existing classes and courses. You can choose to import selected items or import and delete any classes/courses not in the file.

Selecting the finish control code

After importing courses, a dialog asks which control code represents the finish. This tells the system which punch in a runner's card data marks the end of their course.

The dialog offers three options:

  1. Enter a custom code β€” Type the finish control code your timing setup uses. If you want to save this as your organisation's default for future events, click the save icon below the input field.
  2. Use organisation default β€” If your organisation has previously saved a default finish control code, you can select it with a checkbox. This saves time when you always use the same finish setup.
  3. Use system finish code β€” Uses the built-in "Finish" control code. This is for timing systems that have a dedicated finish unit with a special finish code (e.g., SportIdent, Huichang, Learnjoy).

Tip: If your organisation always uses the same finish control, set the default once and it will be pre-filled for all future events. Open any event, import an XML, and click the save icon next to the finish control code input.

For more details on all import and export options, see the Import & Export page.

Importing and exporting classes from CSV

For non-orienteering sports (Running, Skiing, Triathlon), classes can be imported and exported using CSV files instead of XML. The CSV format includes columns for class name, number of legs, and default start time. You can import by clicking Import classes from CSV or by dragging and dropping a .csv file onto the classes view.

For more details, see the Import & Export page.

Uploading and georeferencing a map

You want to visualize your course on a map β€” either to verify control placements or to display the course to participants. The map section lets you upload an image and position controls on it.

Uploading a map image

Click Add map image (.jpg or .png) to upload your map. Supported formats are .jpg and .png.

Georeferencing with a world file

If your map image is not positioned correctly on the background map, you can add georeferencing using a world file (.pgw or .jgw). Add the file by:

  • Dragging it over the map area, or
  • Clicking the link in the helper text

You will need to select the coordinate system (EPSG code) that matches your world file. Click Apply map transformation to position the map.

Placing controls on the map

Once a map is uploaded, you can place controls on it to visualize the course:

  1. Click Add control to create a new control point
  2. Click Place on map to position it on the map
  3. Use Show / hide control codes to toggle control label visibility

Using code lists

Your event uses control labels that differ from the internal punch codes in your timing devices. A code list maps the checkpoint codes visible to participants to the internal punch codes used by timing devices. Select the appropriate code list from the Select code list dropdown in the controls section.

When importing classes from XML, the code list is used to automatically map control labels to the correct punch codes.

For more details on creating and managing code lists, see the Code Lists page.

Setting up checkpoints for intermediate timing

You want split times at specific points on the course β€” for example, at a spectator passage or a radio control. Checkpoint configuration is covered on its own dedicated page because it involves coordinating with mobile timing stations.

For details on setting up checkpoints for intermediate timing, see the dedicated Checkpoints page. The controls you set up here on your courses are referenced when configuring checkpoints β€” each checkpoint maps to one or more control codes.

Putting it together: setting up a forest orienteering event

You're organizing a local orienteering competition with four classes (H21, D16, H16, Open) and two courses (Long and Short). Here's how the pieces fit together:

  1. Create your classes β€” Add H21, D16, H16, and Open. Set H21 and H16 to start at 10:00, D16 at 10:30, and Open with no fixed start time. Drag them into the order you want for the start list.

  2. Import courses from your planning software β€” Export IOF XML 3.0 from OCAD or Purple Pen, then drag the file onto the classes/courses view. The import preview shows your Long and Short courses with all their controls.

  3. Assign courses to classes β€” Set H21 and D16 to the Long course, H16 and Open to the Short course.

  4. Add a checkpoint β€” You want a split time at the spectator control (control 18). Go to Checkpoints and set up a checkpoint referencing control code 18.

  5. Upload your map β€” Add the map image exported from your course planning software. If it has a world file, drag that on too and apply the transformation so the map aligns with the background.

  6. Open registration β€” The registration form now shows your four classes in the order you arranged them. Participants select their class when registering, and the system knows which course they'll run.

On event day, the controls you configured here drive the entire timing workflow β€” punches are validated against your control sequences, split times appear at your checkpoints, and results are grouped by the classes you defined.