Lessons & Scheduling

Creating Camp Lessons

Last updated By CourtSync Team
Creating Camp Lessons

Camps are multi-day intensive sessions ideal for school holidays and summer programs — and for charging families by the week or by individual days, depending on how you price each camp. CourtSync supports daily drop-in booking and full-camp package checkout.

Each camp is a standalone bookable lesson with its own dates, pricing, coaches, and capacity. Camps are not linked to terms.

Open Camp Management

In the owner sidebar, go to Camps. The page lists current and past camps, with search, active-status filters, and a featured filter for camps highlighted on your public academy page.

Use New camp to add a single camp from the drawer, or Multiple camps to run the bulk wizard when you need several related weeks at once.

Camps page overview showing individual camps in a flat list
Camp Management with New camp menu and camp list

Create a single camp

  1. Click New camp → Single camp
  2. Enter a name and description (age range, activities, what to bring)
  3. Set start date and select days of week — CourtSync computes the camp week from the last selected weekday in that 7-day window
  4. Optionally enable Repeat weekly to create a multi-week series in one save
  5. Set daily start time and end time, max capacity, coach, court, and location
  6. Choose sport when your academy runs more than one racquet sport
  7. Set age group and skill level so bookings and make-up credits stay compatible
  8. Optionally link a development program (Professional+ plans)
  9. Mark Featured if you want the camp highlighted on your public page
  10. Save

Camps use a teal accent on owner and coach calendars so they stand apart from term group lessons and private packages.

Single camp form with schedule, days of week, and camp pricing fields

Create multiple camps at once

Use New camp → Multiple camps (or Camps → Create multiple camps) for seasonal programs with several weeks and optional tracks (e.g. Red Ball week vs Green Ball week).

The wizard walks through:

  1. Camp name — base name for generated camps (e.g. "Summer Camp 2026")
  2. Schedule — first week start date, days of week, number of weeks, and daily times
  3. Split — optional split by development program or age group, or no split for identical weeks
  4. Preview — review the week × variant matrix CourtSync will create
  5. Defaults — shared pricing, capacity, sport, location, and skill level for all camps
  6. Overrides — per-camp adjustments where one week or variant differs
  7. Review — confirm and create all camps atomically

Each generated camp is a separate bookable row named {base name} Week {n} or {base name} Week {n} - {variant label} when split. You can edit individual camps later from the camp list.

Configure camp pricing

Camps support two pricing models:

  • Camp day price — per-calendar-day rate for Book by day
  • Camp full price — package rate for Book full camp

The primary package amount is also stored in the standard price field for reporting and Stripe checkout.

On Starter plans, families submit a request booking (no member portal or online checkout). On Professional and Enterprise, guardians book and pay through your public academy page when Stripe Connect is set up.

Public booking experience

All camps appear as individual lesson cards on your public academy page and lessons browse, alongside term group and private offerings.

Daily vs full camp (Professional+)

Before checkout, guardians choose:

  • Book by day — select individual camp days at the daily rate. Each day creates one booking row with the chosen session date.
  • Book full camp — purchase the complete package at the camp full price in a single checkout.

When explicit session dates are configured, the daily picker uses those materialized camp session dates.

Public camp booking with Book by day and Book full camp options

Monitor and manage enrollment

Track daily and full-camp bookings from Bookings. Open Students on a camp to view enrollments by day, add staff enrollments, or remove students.

Use dashboard low enrollment alerts when attendance falls below your academy's minimum threshold.

Cancel vs delete

SituationAction
Camp has pending or confirmed enrollmentsCancel camp (or remove students one at a time, then delete)
Camp has no enrollmentsDelete camp

After cancellation, the camp remains on your calendar with cancelled styling.

Camp cancellations can optionally grant session make-up credits when your academy has make-up lessons enabled. Group and camp lesson types can redeem each other's credits when sport, skill level, and age group rules match.

Import and export

From Camps, use Export to download your camp list as CSV, or Import to bulk-create individual camps. Use the Multiple camps wizard for multi-week series with optional program or age-group splits.

Related guides