Mid-season roster changes
This page is a runbook for the changes you’ll need to make once the season is underway.
An athlete moves to a different group
E.g. Suzy was U12, gets bumped to U14 mid-season.
- Open
/coach/families/<id>for Suzy’s family. - Tap Archive next to her old athlete row.
- Use the Add athlete form at the bottom of the page —
name
Suzy Smith, groupU14. Add.
There’s no in-place “move” because attendance and audit history are
tied to the athlete row — keeping the old row archived preserves the
record. Suzy as U14 is effectively a new entry going forward.
A family drops mid-season
There’s no “delete family” button. The cleanest path:
- Open
/coach/families/<id>. - Archive each athlete (Archive button on each athlete row).
- Leave the family record in place — no athletes means no attendance, no notifications, nothing on the family page.
If you want the family’s /<slug> URL to stop resolving entirely,
ping the dev — that’s not exposed in the UI yet.
A parent changes their email
On the family detail page, add a new contact with the new email (use Add contact). Leave the old one in place — the old one just becomes unused. You don’t currently delete contact rows.
Note this does not give the parent a way to sign in. Families reach their page by its slug — there is no parent email sign-in at all. Email addresses on a family are used for alerts and invites only. (Magic-link sign-in is for coaches.)
Adding a parent to an already-claimed family
Open /coach/families/<id>, use Add contact. The family is
already at /<slug>; the new contact’s email just becomes one more
recipient for digest emails (if they opt in).
Renaming a group
Open /coach/calendars, find the group and use the ▾ menu → Rename.
The new name propagates to events and family-page rendering automatically.
Archiving a group
The ▾ menu on a group row offers Archive, Un-archive and —
when the group is empty — Delete. The row shows a usage badge
(empty, or 2 athletes · 4 events · 1 coach) so you can see which applies.
Delete is refused for a group still in use; archive instead. Old events stay
in the audit log either way.
A coach changes role (editor → admin or vice versa)
Edit the row on /coach/coaches — tick or untick Admin and Save. It
takes effect on their next request; they don’t need to sign out.
A family forgot their slug
The parent can:
- Go to
ts.onsnowlive.com/me— the cookie remembers them on any device they’ve used. - Check the original invite email.
- Ask you — you can look it up at
/coach/families/<id>.
What about deleting events?
That’s not really a roster question, but: see Cancel / un-cancel / delete. Short answer: cancel rather than delete, so families see the change.
When in doubt
If a roster change you need doesn’t map cleanly to a button in the UI, drop feedback on the Welcome page — admin workflows are the area most likely to be missing pieces, and we’d rather hear it than have you fight the UI.