Skip to content

Calendars & groups

A calendar is a publishing unit — one .ics feed, one Telegram channel (if you wire one), one place families can subscribe. A group is a training cohort inside a calendar. Athletes belong to one home group.

Most clubs end up with 2–3 calendars (e.g. “Age Class”, “Ability”, “FIS”) and 4–8 groups inside each (U10, U12, U14, …).

Manage both at /coach/calendars.

Screenshot: /coach/calendars page

Step by step — create a calendar

  1. Go to /coach/calendars.
  2. Under Add calendar, type the Name (e.g. Age Class) and a slug (lowercase, hyphenated, e.g. age-class).
  3. Create.

The new calendar appears below with its .ics feed URL and an empty groups list.

Step by step — add groups to a calendar

  1. Inside the calendar card, scroll to the Groups section.
  2. Type the group name (e.g. U14) in the Add group field.
  3. Add group.

Repeat for every cohort. Groups are stable once created — events, athletes, and Telegram channels all reference them by ID.

What the feed URL is for

Each calendar exposes a tokenized iCal feed:

webcal://ts.onsnowlive.com/feed/<slug>/<token>.ics

Coaches and families subscribe to it from Apple Calendar / Google Calendar / Outlook. Don’t share the token publicly — anyone with the URL can read the feed.

If a token leaks (e.g. it was posted in a public Slack), tap Rotate token — the URL changes and everyone subscribed with the old URL stops receiving updates and needs to re-subscribe.

Naming guidance

  • Calendar slugs become part of the feed URL — keep them short and lowercase. Once chosen they are stable.
  • Group names show up everywhere (event cards, family pages, attendance lists). Use whatever the parents call the group, not the internal code (e.g. U14 not g_u14_2026).

What happens when you create a calendar or group

  • The row is created. No notifications fan out.
  • The feed URL is live immediately — but until you create events on it, the feed is empty.
  • Empty groups are fine. Add athletes to them via the Families pages.

Wiring Telegram

Per-group, optional. Each calendar card has a Telegram → link next to the group. See Wiring a Telegram channel.

Archive, don’t delete

Calendars and groups archive instead of deleting (the audit log keeps the history intact). Archived rows stay visible in the admin UI in gray and don’t show up in event-creation pickers.