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.
If they want to use the new email for sign-in, just use it on the next magic-link request — sign-in is per-email, no claim required.
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
Not yet exposed in the UI. Groups can be renamed via direct database edit (ping the dev) — the rename propagates to events and family-page rendering automatically.
Archiving a group
Same as calendars — there’s no group “delete.” Effectively, leave the group empty (move athletes out, archive any with no place to go) and stop creating new events on it. Old events stay in the audit log.
A coach changes role (editor → admin or vice versa)
Not currently editable in the UI. Workaround: re-invite them at
/coach/coaches with the new role (the email-uniqueness check
will tell you it already exists; ping the dev for the override).
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.