Skip to content

Status and race time rules ​

Audience: Event organisers and operators needing to understand why a competitor has the status or race time that Manager is showing.

Every competitor has a status (OK, MP, DNF, On course, …) and, once they reach the finish, a race time (only an OK run is placed with it). Manager sets both for you as the day unfolds — a start time passes, a radio punch arrives, a card is downloaded — so most of the time you never touch them. This page explains the rules behind those automatic changes so that when a status looks wrong you know why Manager decided it, and which lever fixes it.

Manager uses the term On course in the UI for a competitor who has started but not yet finished. Other event systems call this In Forest. This page uses On course throughout.

The status values ​

Each status has a full name and a short form. The Competitors list and the Edit Competitor dialog use the full name; results, leaderboards and the spectator screens use the short form where space is tight.

StatusShort formWhat it means
None(blank)No result yet. Manager has no evidence the competitor has started or finished.
On courseOn courseHas started but not yet finished — out on the course right now (or a no-show whose start time has passed; see below).
OKOKFinished with a valid result. Can be provisional (from a radio finish, before the card is read) or final (from the card download).
MPMPCard was downloaded but the course wasn't completed — one or more required controls weren't punched (on a scatter course, fewer controls than the course asks for).
DNFDNFEither the card was downloaded and had no finish punch, or a finish-station read accounted for them at the finish but with no card to validate. See How a DNF happens.
DNSDNSNever started.
DisqualifiedDSQDisqualified by the operator.
OvertimeOVTStill out when the course closure passed, or an overtime call you made yourself.
Out of competitionOOCHas a valid time but isn't counted in the ranked results — e.g. a course tester or a runner from another class.
No timingNTTook part but with no electronic timing — e.g. a beginner without a card.
Not competingNPIn the entry list but explicitly not running this event. Also set automatically if a card is evaluated for a competitor who has no class, or — at an event that doesn't fall back to the check punch or midnight — for a finisher with no start time (see A runner with no start time).
CancelledCANThe entry was cancelled.

A provisional status — a radio finish not yet confirmed by the card — carries a * after it on its status chip (OK*, and DNF* for a radio finish with no start time), in italics. Where a screen shows a time instead of a chip, such as a leaderboard, the provisional row is set in italics instead.

How a status gets set ​

Four things set status on their own, and you can always override the result by hand. They build on each other through the day — a start time passes (→ On course), a radio finish arrives (→ provisional OK), then the card is read (→ final OK or MP).

1. The clock — start time passes ​

A background timer runs every few seconds. When a competitor with status None has an allocated start time and that time passes, Manager moves them to On course — even with no radio start punch. This is deliberate: people show as out on the course even at events with no start radio.

Important: because a passed start time alone is enough, your On course list at the end of the day normally includes every no-show who had a start time but never turned up. They aren't a safety problem, but you can't tell them apart from genuinely missing runners just by looking — clearing them with a DNS sweep is what makes the list meaningful. See Safety check.

2. Radio punches ​

Where radio controls are in use, punches drive status as they arrive:

  • A start punch moves a None competitor to On course and records a punched start — which becomes their start time unless the punching-start override keeps an allocated time instead.
  • A normal control punch also moves them to On course — Manager now knows they're physically out there, even if it missed the start.
  • A check punch does not — reaching the check is not starting. Their status stays None, so nothing public shows them as out, and Manager records them as checked in. A checked-in runner is counted on your own On course lists until a finish, a download or your own ruling says they're back — tagged Checked in where the check-in is the only reason they're listed (see Safety check). A check punch that arrives after the runner is already On course — the start timer got there first, or a relay runner checking in at the changeover — is recorded just the same.
  • A finish punch moves a None or On course competitor to a provisional OK with a race time (see Provisional vs final OK).
  • Once a competitor has a final result, radio punches no longer change their status or start time.

3. Card download — the authoritative result ​

When a card is downloaded and assigned to a competitor, its punches are evaluated against the competitor's course. This is the authoritative result and replaces any provisional one:

  1. No finish punch on the card (or you've excluded it, and there's no finish override) → DNF.
  2. The course completed → OK, with a race time. Extra punches that aren't part of the course are ignored.
  3. The course not completed → MP. The race time is still worked out — they did reach the finish, and it's what puts the finish split on their splits printout and in the results file — but an MP is never placed.
  4. Competitor has no class → Not competing (NP).

What "completed" means depends on the course:

CourseCompleted when
Line (the usual kind)Every control punched, in order.
ScatterAt least the number of controls the course asks for, in any order. An MP says how many were reached ("5 of 6") rather than naming a missed control.
ScoreAlways — a finisher on a score course is OK. They're ranked on points instead (see How results are ordered), and finishing over the time limit costs points; it never makes them Overtime.
Line, with loopsEvery control punched, with the loops in any order. See Courses with loops.

A control you've marked faulty, or marked visited for one competitor on the Overrides tab, counts as punched. A course can also use its first numbered control as the start and its last as the finish — the card is then timed from those punches instead of the start and finish units'. See Starting or finishing at a numbered control.

A class whose competitors run every course one after another (a Duo class, say) is scored part by part and gives one result for the lot — see Classes whose competitors do every course.

If the class has a pool of several courses, the card is checked against each: the first course that produces a clean OK wins. If none is clean, Manager keeps the best near-miss (an MP is preferred over a DNF, and among MPs the one with the fewest missing controls).

Manager re-evaluates the download automatically when something relevant changes — the competitor's class, the class's course assignment, the course's control list, a punch override on the Overrides tab, a control's codes, faulty flag or time offset, the event's mass start or start rules, or a leg's untimed allowance. There's no separate recalculate step.

Unassigning a download clears the competitor's result back to None (status, time and splits reset). The start time is kept, since it may have come from the start list rather than the card.

4. Operator overrides ​

You can set a status by hand on the competitor's Result tab, and bulk-set no-shows to DNS from the Competitors list. Three rules apply:

  • A status you set sticks. Later re-evaluations — a control edit, a class change, an added punch override — recompute the times but leave your status alone. The Competitors list shows a hand icon beside a status set by hand, and the Result tab labels it Manual rather than Set automatically. Click Auto beside the status to hand it back to Manager, which works it out again from the card or the radio punches.
  • You can't force OK. OK always needs a race time, and Manager re-checks it against the punches — set OK on someone still missing a control and it's corrected straight back to MP. To turn a genuine MP or DNF into OK, fix the underlying punches on the Overrides tab and the result follows.
  • You can't reset to None while there's evidence they took part — a race time, a downloaded card, a start or finish punch, or radio punches. Manager tells you which evidence is blocking the reset so a genuine result is never erased by relabelling. (An allocated start time alone doesn't count as evidence — a no-show auto-flagged On course can still be set to DNS. Nor does a check-in, whether from a radio check punch or the check unit's memory: checking in isn't starting, and the runner stays checked in after the reset.)

Reading a control unit's backup memory also changes status — a start station read promotes a None competitor to On course, a check station read checks them in (the same as a radio check punch, with no status change), and a finish station read marks a competitor with no status or On course DNF (see How a DNF happens). See Station Memory and Safety check.

5. Course closure: the time everyone has to be back ​

An event can declare a course closure: the time of day by which every competitor must be back (Event details → Details → Course closure; off unless you set it). It is a time of day, not a time limit — it says when the courses shut, not how long anyone had.

Once that time passes, the same background timer settles whoever nobody has accounted for:

  • On course → Overtime. (A relay runner still waiting in the changeover pen becomes DNS instead — they were never handed the map — unless they checked in, in which case → Overtime.)
  • None → DNS — unless they checked in and haven't come back, in which case → Overtime, so they stay on the On course list until somebody accounts for them.
  • A DNS the closure itself set → Overtime, if a check-in reaches them afterwards — a radio check punch arrives late, say. The clock's DNS was made on what it knew then; the closure never touches a DNS you set yourself. (A station memory read is different: it takes back any DNS nothing had seen, yours included — see Safety check.)
  • Provisional OK* → DNF, keeping the time and the * so the card is still chased.

It leaves any status you set by hand alone.

A card downloaded afterwards is scored Overtime too. A clean run whose finish punch landed at or after the closure gets Overtime instead of OK, keeping its time — the runner got round, just not by the time you set. Only OK is affected: a mis-punch stays MP. It is worked out from the finish punch's time of day, not from how long the runner took, so it is not a time limit. And it is derived, so it is reversible: correct a mis-typed closure and everyone is re-scored, or set a competitor back to OK by hand and your ruling sticks.

Overtime does not mean "accounted for". A runner marked Overtime with no time and no finish behind them is somebody nobody has seen, so they stay on the On course list and in the on-course counts until something says they are back: a race time, a radio finish punch, a downloaded card, or a finish read out of the station's memory. That is true whether the clock marked them or you did. See Safety check.

How a DNF happens ​

DNF lands on a competitor two different ways, and they mean slightly different things:

  • From the card download. The card was read and evaluated, but it had no finish punch — they genuinely didn't record a finish. This is the literal "did not finish".
  • From a finish-station read. This is the one that surprises people: punching the finish is a finish, so why DNF? Because reading the finish unit's backup memory tells Manager only that a card crossed the finish — it carries no course splits, so there's nothing to check the run against and Manager can't award an OK. It records DNF as a deliberate "safe but unverified" state: the competitor is accounted for (they came back, so they drop off the On course list and out of the safety count) but they don't yet have a validated result.

So a DNF from a finish-station read is really "returned, not yet verified" rather than "didn't finish". Download their card to turn it into the real result — OK, MP, or a genuine DNF. Manager does this to anyone with no status or On course, whether or not anything saw them start or check in — the same call a radio finish punch makes — so it doesn't matter which order you read the station memories in. It leaves an already-final result (a real OK/MP/etc., or a status you set) untouched — except a DNS nothing had seen, which the finish read takes back.

Provisional vs final OK ​

A competitor can be OK in two ways:

Provisional OKFinal OK
Comes fromA radio finish punchThe card download (or a manual override)
Race timeYesYes
PositionAssigned, but may still changeFinal once no one left can beat it
On leaderboardsRow tinted and in italics, no medalsShown normally, with medals
On the Results screenHidden unless you tick Provisional results (off by default); then shown with a *, and carried into the PDF/print that mirrors the screenAlways shown
In an exported or uploaded results file (IOF XML, JSON, Eventor)Not allowed — the export waits until you download the card or set them DNF (see What an exported results file contains)Included as the real result
In a live results feedIncluded with its time — showing finishers before their card is read is the point of a live feedIncluded

A provisional OK means the competitor crossed a radio finish and has a time and a position, but the result isn't confirmed until the card is read. When the card is downloaded, Manager recalculates everything from the card (the authoritative source): the status may become OK, MP or DNF, the race time and start time are taken from the card, and the result becomes final.

What an exported results file contains ​

Publish → Export IOF XML…, Publish → Export JSON… and Publish → Upload to Eventor… produce the results file other systems keep, and it has to say what became of everyone who took part — each of them with a result you have settled. So Manager won't export or upload it while anyone in the classes you chose is in one of these states:

On your screenWhat it meansTo settle it
No statusNobody has said whether they startedSet them DNS if they didn't start — Competitors → Actions → Set competitors DNS… does a whole class at once
On courseThey haven't come backDownload their card, or set them DNF, DNS or Overtime
OK* (radio finish, card not read)They crossed a radio finish, but nothing proves they visited every controlDownload their card, or set them DNF or Overtime

Manager checks as soon as you choose one of those three from Publish. If anyone is unsettled you get Event not finalised instead of the publish options: how many have no status, how many are on course and how many have only a radio finish (day by day when it's a day's IOF XML at a multi-day event — see below), with the buttons that fix them:

  • Set competitors DNS… — the usual dialog, for the ones who never started.
  • Set competitors overtime… — only shown when someone still out has been seen out there, by a radio control or at the check. That includes someone who punched the check and has no status yet: punching the check isn't a start, and Set competitors DNS… leaves anyone the check saw alone. It lists them, all ticked; untick anyone you're not sure about. If anyone can't be set, the dialog stays open and says how many.
  • Set radio finishes DNF or overtime… — only shown when someone crossed a radio finish but their card was never downloaded. It lists them, all ticked, and you choose DNF or Overtime. If one of them downloads their card while the dialog is open, their real result stands.
  • Show pending… — only shown when the radio saw a card finish that nobody is entered on (or a second run on a card whose first run already has a result) and the card hasn't been downloaded. The dashboard counts that runner as Pending, but with no entry they are in no results at all, so the dialog counts them as Radio finish, card not downloaded and not entered. The button opens the dashboard's Pending list, where each such card has Enter runner… and Not a runner… — see The Pending dialog. They also drop off once the card is downloaded.

Once those have settled everybody, and no such card is left, Manager carries straight on to the publish options.

If Manager can't check — it couldn't reach the server, say — you still get Event not finalised, saying it couldn't check, with Re-check. You can Continue to the publish options anyway: the export itself still won't go past anyone unsettled, and brings you back here with the list if it finds them.

You can also Ignore and continue. The file still won't say no status or show a radio-only finish as a result: those with no status go in as DNS (or are left out with the other non-starters, if you chose not to include those), and those on course or with only a radio finish as DNF, with no time or place. A card nobody is entered on isn't in the file at all. At a multi-day event the overall standings are worked out the same way, so a runner with no status on one day can't lead the overall on the days they did run, and a radio-only finish can't set the winning time or take a place that everyone else is scored on.

Ignore and continue isn't available while a day of a multi-day event couldn't be read, has no results at all, or has no entries in one of your classes — without that day Manager can't work out anyone's overall result, and ignoring it would publish the whole class as not having finished. Check that day's event, or link the class to the one it ran as on that day (see Multi-stage events).

Finish event shows the same dialog in place of its usual confirmation, while you're still at the venue to find out — with Finish anyway to close the event regardless. A runner who is genuinely missing is exactly when you need to.

Finish anyway is not available while anyone is pending: a radio finish only, card not downloaded, or a card the radio saw finish that nobody is entered on. (It also waits the moment it takes Manager to load who is pending.) Those runners are back, and settling them is a card to read or a decision to make while you're still there — download the card, use Set radio finishes DNF or overtime…, or Show pending…. Once the last of them is settled the button comes back. Publishing a results file can still go past them with Ignore and continue.

Manager used to settle these for you — no status as DNS, the other two as DNF. That quietly decided things you hadn't, and at a multi-day event it went wrong: a runner left with no status on day 2 was treated by the overall standings as "hasn't run that day yet", ranked on the two days they did run, and uploaded as the overall leader.

At a multi-day event, each day's IOF XML file also carries everyone's overall standing after that day, so the list can include people from an earlier day — someone with no status on day 1 holds up day 2's file too. Each one is shown with the day they need settling on. The JSON export and the Eventor upload carry no overall standings, so they only check the day you're publishing.

Once everyone is settled, the file carries each status as it is:

On your screenIn the fileTime in the file?
OKOKYes
MP, DNF, DSQ, OVTthe same statusAs it stands
OOC, No timingNot competingYes
Not competing (NP)Did not enterNo
CancelledCancelledNo
DNSDNSNo

You get one choice over this, in the Publish dialog: whether the competitors you marked DNS go in.

The Results screen's other INCLUDE toggles (On course, No status, Provisional) only change what you see on screen. They don't change the exported file, so it doesn't matter what's ticked when you publish.

A live results feed is different: it shows on-course runners as active and provisional finishers with their times, because showing the race as it happens is what it's for.

How race time is calculated ​

Race time = Finish time − Start time

Two things can then change it: an untimed leg (a road crossing, a voided leg) takes up to its allowance off each runner's time for that leg when their card is read, and a time adjustment on the Overrides tab adds a penalty or credits time back for one runner.

Only a competitor who is OK and has a positive race time is ranked in results. An MP keeps its race time (it reached the finish) but is never placed; DNF, DNS and the other statuses carry no race time.

A competitor's start time comes from one of two kinds of source:

  • an allocated start you set in advance — an individual time, a class mass start, or an event mass start, with the most specific winning (the start-time hierarchy); or
  • a punched start the competitor records on the day, from a Start unit (read off the card or from a radio Start control).

When a competitor has both, the punching-start override decides which is used. It is not fixed: by default a punched start overrides the allocated one, but this is a setting — configured per event (copied from a new-event default) and overridable per competitor (so you can make the allocated time win, or force the punch to win, for one runner). With the override off, the allocated time wins and the punch is kept as a fallback — unless the punch is earlier than the competitor's own allocated time, when they really did start then: the punch wins and their On start punch is switched to Allow punching start. With it on, the punch wins and the allocated time is the fallback. Once you have set a competitor's On start punch yourself — to any of the three, Use event default included — Manager never switches it for them again. When only one of the two exists, that one is used. See Punched starts for the full hierarchy.

Manager resolves all of this for you and shows a small source label (individual, class, event, or punched) wherever a start time appears, so you can see where each competitor's time came from. The resolution falls back through:

  1. A manual override you set on the Overrides tab — beats everything.
  2. The effective start from the allocated/punched sources above.
  3. A check punch, used only during a card download when nothing above has supplied a start. (A check punch is never gated by the punching-start override — it's a last resort, not a start punch.) If you've excluded the check punch on the Overrides tab — which is what you'd do on a card the runner forgot to clear, where the check is left over from a previous run — it's skipped here as though the card never carried one.
  4. None — as a final fallback the start is treated as zero, so race time equals the finish time and the competitor sorts to the bottom until you give them a real start.

Rungs 3 and 4 are a guess, and can be switched off — see the next section.

A runner with no start time ​

A finisher who reaches neither rung 1 nor rung 2 — no start override, no allocated start and no start punch, say because the Start unit failed or they forgot to punch it — has no start time anybody measured. What happens next is the no-start-time fallback:

  • On (the default, and what Manager has always done): they're timed from their check punch, or from midnight when there is none. A midnight start makes the race time the finish's time of day — 640:00 for a 10:40 finish — and the result is OK and placed, so it reaches the results and the export like any other. Manager warns you wherever that time is read: the download desk's banner says No start punch, the competitor's Result tab marks the start time and explains it, the Competitors list marks them beside the status, the Alerts panel names them, and the Publish dialog counts them before the times go out. Give them the start they really had, as a start override on their Overrides tab, and the warnings go.
  • Off: they're Not competing instead, with no race time and no place, until you give them a start time. Manager says why everywhere you'd see them: the download desk's banner reads No start time, the competitor's Result tab explains it, and the Competitors list marks them beside the status. Give them a start on the desk's panel or the Result tab — type it, or take their check punch in one click — and the card is scored again from it. A runner who missed a control stays MP and one with no finish stays DNF: a start time wouldn't change either.

Set it for every event in Settings → Event defaults, and override it for one event on the Starts tab of its Event details. Unlike the rest of Event defaults it isn't copied into a new event: an event follows the setting unless it has chosen otherwise, and changing it re-scores the cards of any event already running that follows it.

Races that cross midnight ​

Punch times carry a time of day and no date, so at a night event a finish at 00:25 reads as earlier than a 23:40 start. Manager reads a start that is later in the day than the finish as the evening before — 23:40 to 00:25 is a race time of 45:00 — when two things are true:

  • the race that makes is twelve hours or less; and
  • the card was read after the event's date — after the midnight that ends the event day. A card read on the event day finished on it, so its race cannot have started the evening before.

The splits are timed the same way, and an exported results file dates the finish on the day it fell.

Otherwise a start later in the day than the finish is treated as a mistake, as it always was. With an allocated start (or a start time you set on the Overrides tab) the competitor is DNF with no race time, so you can see something is wrong and fix the start time. A start punch in that position is taken for one left on the card by an earlier run (below), and the race is timed from the allocated start instead, or from midnight if there is none.

A start punch later in the day than the finish is also what a card that wasn't cleared looks like: the start left over from an earlier run. Manager keeps such a start punch as the evening-before start only when the card was read after the event's date, and not when:

  • the competitor's allocated start is earlier in the day than the finish — the race stayed inside one day, so the start punch is from an earlier run; or
  • the card records the day of each punch (an SI Card 5 doesn't), and the start punch is not on the day before the finish.

During the race, the radio and the screens follow the runner across midnight too: a radio punch received after the event's date is timed from a start the evening before, the running times on the leaderboard, the spectator screens, the kiosk and the commentary screen carry on past 00:00, and start lists, the radio-control feed and the commentary's start waves put 00:05 after 23:40. A course closure set after midnight — 00:30 — has not passed the evening before, and a finish at 00:25 is late for a closure at 23:59. A quarantined class's release time after midnight, or its last start after midnight, holds its results back until then.

Two things it does not reach: a race longer than twelve hours across midnight (a 24-hour rogaine), and — on a relay — a team out for more than twelve hours in all, since a relay's legs are timed from the start gun.

Timing to the second or to fractions of a second ​

Cards record times to a fraction of a second, but most races aren't really timed that finely. Each event says which it is, with Use sub-second timing on the Details tab of Event details (see Creating an event):

  • Off (the default, and right for almost every event): a whole second is the smallest difference Manager separates two runners by. Two finishers inside the same second dead-heat and share a place, two splits inside the same second share the leg rank, and a gap smaller than a second is shown as no gap. Times are cut down to the whole second, never rounded up, so 5:21.9 is 5:21.
  • On: places, split ranks and gaps are decided on the fractions the cards carry.

Even when it's on, only the race time shows the fraction, to a hundredth (30:00.23): on the leaderboard, the kiosk and spectator splits view's total column, the splits printout's time and top-3 standings, the Live top 10 board, and the Result and Overrides tabs of the Edit Competitor dialog. Split times, cumulative times and gaps stay in whole seconds everywhere, though at an event timed to fractions they're still ranked on them.

You can change it at any time, even after the results are in. Nothing is thrown away either way, so places and gaps are simply worked out again.

Which source wins when sources disagree ​

  • Card download beats radio punches. A provisional OK from a radio finish is replaced by the card result, whatever it turns out to be. The card is the record of truth.
  • Punched vs allocated start is the organiser's call, not a fixed rule. When a competitor has both, the punching-start override — set per event, optionally per competitor — decides which is used. By default the punch wins, but you can flip it.
  • A control's time offset applies to everything. If you correct a control's clock with a Time Offset, it's applied to every punch on that control — card and radio alike — and retrospectively, re-timing punches that already came in.

Worked examples ​

Finishes but forgets to punch the finish. The card has no finish punch, so the download evaluates to DNF. If they really did finish, override the finish time on the Overrides tab and the result becomes OK.

Card download contradicts the radio punches. They show a provisional OK from a radio finish, but the card is missing a control. The download wins: the status becomes MP and the provisional OK disappears from the results.

Allocated morning start but no punch all day. The start-time timer flips them to On course when their start passes, and they sit there all day because no finish ever arrives. At wrap-up, confirm they never started and sweep them to DNS. See Resolving issues on the day.

Relay leg missing a punch. The leg is evaluated against its course like any other card, so a missing required control gives that leg MP. Fix it the same way — override the punch if it's a genuine equipment miss.

How results are ordered ​

Within a class, competitors sort best-to-worst by status group — OK, then On course, then the non-finishing statuses (Overtime, No timing, MP, DSQ, DNF, Not competing, OOC, Cancelled), each of those in name order. Within OK they sort by race time, fastest first; On course runners sort by projected finish time; equal times share a position and the next position is skipped accordingly.

On a score course, OK runners sort by points (after any penalty for finishing over the time limit), most first, and race time only separates two runners on the same points.

Two runners on exactly the same time share a place unless a judge separates them. Open either one in the Edit Competitor dialog: while a tie exists, the Result tab has a Photo finish — judged order section listing the tied group, to put in the order they crossed the line. It is only consulted for exactly equal times, so it can never put a slower runner ahead. (Relay teams have the same section in the team dialog — see Photo finishes.)

Competitors Manager knows nothing about yet go at the very bottom, below every status above: an On course runner with no radio punch (and so no card download either), a competitor who hasn't started (None), and a DNS — in that order. One radio punch is enough to lift an On course runner back up among the others. For a relay team, a completed changeover counts as well as a radio punch.