Operations

Make-up Credits and Waitlist

By CourtSync Team
Cover image placeholder — add asset later

Make-up credits and waitlists help academies handle absences gracefully and fill empty spots efficiently.

Enable make-up lessons

Go to Academy Settings and enable Make-up lessons. Configure:

  • Make-up notification deadline hours — how far before a lesson a student must report absence to earn a credit (default 24 hours)
  • Make-up credit expiry days — how long credits remain valid (default 30 days)
  • Make-up credit expiry modedays (fixed window) or end_of_term (expires at term end for group lessons)
Image placeholder

Screenshot of Academy Settings makeup lesson configuration section

How credits are earned

Students earn credits from three sources:

  1. Reported absences — session credit, if reported before the deadline
  2. Single-occurrence cancellation — session credit when the academy cancels one date
  3. Term lesson cancellation — term credit when all remaining occurrences are cancelled
Image placeholder

Flowchart showing three credit sources and resulting session vs term credit types

Credit types and redemption

  • Session credits — redeem for one lesson occurrence
  • Term credits — redeem for full term re-enrollment in a compatible lesson

Guardians choose from a weekly calendar of upcoming sessions that pass compatibility checks. Credits cannot be used for past lessons, the same lesson that earned the credit, or a date where the student already has a booking.

Compatibility rules

Replacement lessons must match the credit on:

  • Lesson type — same type, except group and camp may redeem each other (e.g. a term absence credit used on a holiday camp day)
  • Skill level — when the credit specifies a level (beginner, intermediate, or advanced), the replacement lesson must match. Any on the credit or on the replacement lesson acts as a wildcard and matches all skill levels
  • Age group — when the credit has a custom age group ID, the replacement lesson must use the same age group (not just a similar name). Legacy credits without an age group ID follow juniors/adults/all rules and optional ball color matching for juniors

Credits are not matched by lesson name — two similarly titled classes still must meet the rules above.

Keeping credits aligned after lesson edits

When a student earns a credit, CourtSync stores a snapshot of the source lesson’s skill level and age group settings. When you save that source lesson in Term Lessons or Lesson Management, any available credits earned from bookings on that lesson are updated to match the lesson’s current settings. Used or expired credits are not changed.

If guardians cannot see expected replacement sessions, check that:

  1. The missed lesson was saved after you corrected skill level or age group (to refresh the credit)
  2. The replacement lesson uses the same skill level and age group as the credit requires
  3. The replacement lesson has upcoming scheduled sessions in the term (re-save the lesson if schedules were recently changed)
Image placeholder

Screenshot of guardian makeup credits list showing available credits and expiry dates

Enable the waitlist

In Academy Settings, enable Waitlist. Set waitlist expiry hours — how long a notified person has to claim a spot (default 24 hours).

When a lesson is full, guardians see a Join waitlist option on the public booking page.

Image placeholder

Screenshot of public lesson page with Join waitlist button on a full lesson

Waitlist promotion flow

When a spot opens (booking cancelled or removed):

  1. The first pending waitlist entry is promoted to notified status
  2. An email is sent with a claim link
  3. An expiry time is set based on your configured hours

The guardian clicks the link (waitlistClaim=1&entryId=) to book. Booking with a valid waitlist entry ID skips the capacity check.

Image placeholder

Screenshot of Spot Available email with claim link

Claim and conversion

When the guardian completes booking through the claim link, the waitlist entry status changes to converted. If the claim expires, a cron job marks the entry as expired and promotes the next pending entry.

Image placeholder

Screenshot of waitlist entry status changing from notified to converted in owner dashboard

Monitor from the dashboard

View waitlist entries and makeup credit activity from the owner dashboard. Ensure your team knows the absence reporting deadline so students do not miss credit eligibility.

Image placeholder

Screenshot of owner dashboard showing waitlist entries and makeup credit summary