Preparing a staged race on the web and then opening Goal on the phone used to be a one-way read: the plan showed race days and kilometres per stage, but the phone could neither enter them when creating the objective nor correct them later. That boundary is gone.
One day or several, from creation
In “Add an objective”, Race and Expedition now open a “Race configuration” block. You can select a reference race, declare one day or several, then enter the number of days, kilometres per stage, mandatory rest, team sizes, and a loop or point-to-point route.
Maintenance and Leisure never show this block and send no hidden race values. Their distance remains an objective distance, not a disguised race.
The definition lends; your input decides
Selecting a race from the catalogue fills what it knows: distance, duration, kilometres per stage, team sizes, and route. A small “↩ race” mark identifies each lent value. If you change it, your input wins — including an intentionally empty field — and “Use definition” restores the reference value.
Mandatory rest is never lent. The catalogue does not carry it; displaying zero would assert “no mandatory rest” without a rulebook to support that claim. A multi-day race therefore requires an explicit answer on the phone, including an explicit zero.
Existing objectives do not change underneath you
An older objective whose duration was never supplied keeps the “Duration not set” state. The phone does not silently turn it into a one-day race. You choose when ready, just as on the web.
The Goal menu now offers “Edit race configuration” to the owner of a Race or Expedition objective. The action changes neither the season, dogs, nor plan settings; it updates only the race snapshot.
The catalogue remains available offline
Public races and your kennel's private definitions are cached locally. The form can read them without network access. The catalogue itself is not placed in your backup because the server can send it again. The selected definition, duration, team sizes, and route remain on your objective and travel with its backup.
What this delivery does not do
The phone does not create a private race definition. Creation remains on the web, after which the race downloads into the mobile catalogue. It also does not store a separate start and finish for every stage: no stage table consumes those places today.
Finally, merging code does not update an installed app. These screens arrive in the next mobile build. The server-side edit function must be deployed before that release; older phones continue to work during the transition.