All walkthroughs

Create and publish a course

How club admins create a new course or camp from scratch — template, dates, cohorts, pricing, age band, capacity — and publish it so parents can enrol.

For admins 8 min readUpdated May 24, 2026

This walkthrough shows how a club admin creates a new course or camp, configures cohorts and pricing, and publishes it so parents can enrol. Screenshots are taken against a sample club called Demo Club.

Before you begin

  • You need the Courses admin role on the tenant (Settings → Team).
  • Stripe Connect must be onboarded for paid courses — check Club → Settings → Stripe.
  • You can save drafts at any point. Nothing is visible to parents until you click Publish.

Step 1 — Open Courses and start a new course

From the club admin nav, go to Courses. The list shows every course in any status (draft, published, archived). Click New course in the top right.

Courses admin list with the New course button in the top right
The Courses admin index. New course opens the creation form.

Step 2 — Pick a template (optional)

Templates pre-fill the name, description, default duration, and common settings. Use them to keep recurring camps consistent week over week.

  • Start from blank — full control over every field.
  • From a previous course — clone an existing course’s structure (handy for the next summer’s camps).
  • From a saved template — pick from the templates your club has saved.

Step 3 — Fill in the core details

  • Title — what parents see (e.g. Maynooth Summer Camp 2026).
  • Description — supports basic formatting. Keep it focused on what makes this camp specific (location, coach, theme, ages).
  • Venue — name + address. Used for parent confirmation emails and calendar invites.
  • Age band — set Ages min and Ages max if applicable. The parent enrolment form will enforce this client-side (and the server still validates).

Step 4 — Schedule and cohorts

Courses can run as a single block or as multiple cohorts (different age groups, different time slots, parallel sessions). Configure the schedule shape first, then add cohorts.

  • Fixed dates — list specific days (e.g. five consecutive days of a summer camp).
  • Recurring — weekly schedule with a start and end date (e.g. a 10-week course).

Each cohort can have its own age range, capacity, price, and default start/end time within the day. Parents pick a cohort from a chip row when they enrol.

Course creation form showing the cohorts section with two cohorts configured
Cohorts let one course serve multiple age groups or time slots.

Step 5 — Pricing and capacity

  • Course-level price — applies to every cohort unless that cohort overrides it.
  • Cohort-level price — overrides the course price for that specific cohort (useful when an older-age cohort is more expensive).
  • Capacity — total spots per cohort. Once full, the cohort goes into waitlist mode automatically.
  • Partner-club discount (optional) — set partner-membership pricing for parents who provide a valid membership number at checkout.

Step 6 — Intake form

For courses requiring participant details (medical info, consent, photo permissions), enable Require participant intake. The intake form is presented after payment confirmation; parents complete it before the first session.

Step 7 — Save and review

Click Save draft. Review every section against your checklist; admins can preview the parent-facing page from the draft view. Drafts are private — only club admins can see them.

Step 8 — Publish

When you’re happy, click Publish at the top right. The course appears in the Open programmes section on the tenant home (and at /courses/[id]) immediately. Parents can start enrolling.

Publish confirmation modal with the Publish button highlighted
Publishing flips the course to public and makes it bookable.

After publishing

  • Monitor enrolments — the course’s admin detail page shows the live spots-remaining count per cohort and a participant list.
  • Edit while live — most fields can be edited on a published course (description, dates, capacity), but price changes only apply to future enrolments — existing parents keep their original price.
  • Cancel a course — moves it to cancelled status, notifies enrolled parents, and triggers refunds via Stripe according to your cancellation policy.

Common questions

Can I run a free course?

Yes — set the price to 0. Parents will see “Confirm free enrolment” instead of a payment button.

How do I let parents pay later instead of at enrolment?

Not currently supported on the public course flow. For invoice-based payment, use the membership or sponsorship flow instead.

What happens to enrolments if I unpublish a course?

Existing enrolments stay valid; the course just disappears from the public site. Use Archive when the course is finished rather than unpublishing mid-season.

See also

Create and publish a course · Help & walkthroughs