In the mobile app, open Objective. If no season is under way, a “Create a season” button is waiting for you. And in the Actions menu, two new entries: “New season” and “Edit season”.
Why it was needed
Until now, a season could only be created on the web. That was a starting decision — the phone was mainly meant for reading. You told us the opposite: the phone is what you have in hand at the kennel.
And looking closely, we found worse than a missing gesture. Since the web creates the season first and offers the objective afterwards, a season can exist without any objective. The phone could not see it: it said “No season defined yet. Create one on the web app” — while the season was there. And if your previous season was over, “Add an objective” attached the new objective to the old season.
A third defect hid behind those two: an objective created elsewhere — on the web, or on another phone — only appeared on the Objective screen after closing and reopening the app.
What changes
Create a season. The same fields as on the web: season start, end of harness work and end of season, required; the Dryland and Snow dates, optional; your season's average temperature; and, if you wish, a heat threshold and a region. On saving, the phone offers to add your first objective — as the web does. You can answer “Later”.
Edit a season. Its dates and conditions, nothing else. Your objectives, their dogs and their race dates do not move.
A season without objectives is visible. The Objective screen shows it — its region, its dates, and “No objectives yet — add one.” — and “Add an objective” targets the season in front of you, never another one.
Objectives arrive without a restart. An objective created on the web appears at the next sync, like everything else.
What others see — and what does not change
A season is visible to every member of your kennel, as it already was on the web. Creating and editing remain reserved to the kennel owner; other members see the season and, when there is none, they read that the owner creates it — rather than a button that would refuse. None of this becomes public.
What it does not do — and that is not “not yet”
Deleting a season stays on the web. A deleted season takes all its objectives, the dogs engaged in them and the milestones with it. That gesture deserves the screen that shows everything it would remove.
Editing the dates does not regenerate the plan. The plan already generated does not move on its own: regenerate it so it follows the new dates.
There is no season picker on the phone. If you prepare next season while the current one still has an active objective, the Objective screen keeps showing the current season; the new one will appear there when the current season's harness work ends. Its first objective can be added right after creating it — that is the question the phone asks you — or from the web.
Two overlapping seasons are not refused. Neither here nor on the web. It is not a rule we forgot: it is a rule that exists nowhere today.
Three decisions taken against the obvious
Editing a season without touching its objectives. The obvious choice was to reuse the web's path, which edits the season together with the objective. But that path rewrites everything it is sent — and what the form does not show, it would erase. We preferred a narrower gesture, one that cannot erase anything it does not display.
Dryland and Snow become required as soon as an objective is sled or skijoring — even though they are “only” environment dates. The plan calculation needs them for those two sports. While checking this, we found that a season created without those dates, to which a sled objective is added later, makes plan generation fail. It is on our list and will be fixed; meanwhile, “Edit season” on the phone is precisely how to add them.
To choose which season to show, the phone considers a season finished at the end of harness work, not at the end of season as the web does to archive it. The phone does not keep the end-of-season date offline. The only consequence: once harness work is over, your new season takes the old one's place a little earlier — at a point where, in any case, there is no more harnessed training in the old one.