Private lessons give students flexible, personalized instruction. CourtSync supports owner-created private lessons (term-bound or standalone packages) and student-initiated booking from coach availability on your public academy page (Professional+).
When to use private lessons
Private lessons work well for:
- One-on-one coaching sessions
- Small custom groups (up to 50 students per lesson, one booking per student)
- Adults or juniors seeking flexible scheduling
- Supplemental training alongside term-based group programs
Two ways to run private lessons
| Approach | Best for |
|---|---|
| Owner-created lesson | You define the schedule, price, coach, and court — then students book the listing or you enroll them from the dashboard |
| Student-initiated booking | Students pick a coach and available time slots on your public page; CourtSync builds a private lesson package from coach availability and hourly rates |
You can use one or both. Student-initiated booking is configured in Academy Settings → Lessons and requires a Professional or Enterprise plan.
Term-bound private lessons (1-on-1 in a term)
Use this when a student trains on a recurring weekday for the full term — like a dedicated 1-on-1 slot within a program.
- Open a term and go to Lessons → Create Lesson
- Select Private as the lesson type
- Set days of week, start time, and end time — sessions run across the term's start and end dates (no separate package dates)
- Enter the term price (full program amount). Optionally set a per-session price so staff can enroll a student for a single session instead of the full term
- Set max students (1 for true 1-on-1, or higher for semi-private groups)
- Assign coach, court, location, sport (multi-sport academies), age group, and skill level
- Save
You can also create term-bound private lessons from Calendar → Create Lesson → Private → Part of a program / term.
Term-bound private lessons use a purple calendar accent. They appear in billing and attendance alongside other term lessons.

Standalone private packages
Use this for a fixed block of sessions outside any term — for example a 10-session development package with specific dates.
- Go to Calendar → Create Lesson
- Select Private and choose Standalone package
- Pick each session date on the calendar (CourtSync materializes explicit session dates for the package)
- Set start time, end time, and max students
- Enter the package price (total for all sessions). CourtSync derives per-session amounts for reporting where needed
- Assign coach, court, location, sport, age group, and skill level
- Save
After saving, copy the shareable booking link from the lesson or enrollment drawer so students can book and pay online (Professional+ with Stripe Connect) or so you can send the link manually.
Standalone packages use an orange calendar accent to distinguish them from term-bound private lessons.

Enable student-initiated private booking (Professional+)
When you want students to book their own times rather than a pre-defined listing:
- Go to Academy Settings → Lessons
- Turn on Enable student-initiated private bookings
- Set min/max duration, duration step, and minimum lead time before a session can start
- Optionally require owner approval before a request becomes a confirmed package
- Ensure each active coach has an hourly rate and availability configured under Staff → Coaches
Students open Book private lesson on your public academy page, choose who the lesson is for, select a coach, then pick available slots from the week calendar. Pricing is based on the coach's hourly rate and session length.


Review and approve requests
When owner approval is enabled, submitted requests appear under Bookings → Private requests with status Pending approval. The academy owner and any academy administrators receive an email titled New private lesson request (plus an in-app notification) with the student name, coach, and a link to the dashboard.
To approve a request:
- Open Bookings → Private requests
- Review the schedule, session count, and amount
- Click Approve and choose a court for the package (required)
- Confirm
CourtSync then creates the private lesson package and a pending booking for the guardian. The family is not confirmed until payment is complete (when online payments are enabled).
The guardian who submitted the request receives an email titled Private lesson approved — complete payment (when Stripe Connect is active) or Private lesson approved (when payment is handled offline). The email includes the assigned court and, when online checkout is available, a secure Pay now — confirm booking link unique to their account. They also get an in-app notification.
If you Reject a request, the guardian receives an email that the request was not approved. Any rejection message you enter is included in that email.

Complete payment (guardian)
After approval, the booking appears on the guardian or student's My Bookings page with status Approved and a Pay for lesson button (when your academy has Stripe Connect and the package has a price). They can pay from that button or from the link in the approval email. Once payment succeeds, the booking status changes to Confirmed and the coach is notified.

When approval is not required, CourtSync creates the lesson and booking immediately after the student submits their times. Staff receive a Private lesson booked notification instead, and the guardian can proceed straight to payment if online checkout is enabled.
Set capacity and pricing summary
| Model | Pricing | Capacity |
|---|---|---|
| Term-bound private | Full term price; optional per-session drop-in | 1–50 students |
| Standalone package | Package total for all selected session dates | 1–50 students |
| Student-initiated | Coach hourly rate × session duration | One booking per student per package |
On Starter plans, use owner dashboard enrollment and manual payment collection. Online checkout and student-initiated private booking require Professional or Enterprise with Stripe Connect.
Configure age group and skill level
Set the appropriate age group and skill level on owner-created lessons. These fields control make-up credit compatibility. Saving a lesson later refreshes available credits earned from bookings on it when you change those settings.
When your academy uses custom age groups, select the same age group record on every private lesson that should accept the same make-up credits.
Publish and manage bookings
Owner-created private lessons appear on your public lessons browse (standalone packages) or are booked through term enrollment (term-bound).
Monitor bookings from Bookings. Standalone and student-initiated packages create booking rows tied to the specific session dates in the package. Staff can also enroll students from the lesson roster; booking confirmation emails are sent only when you opt in at enroll time.
Coaches view upcoming private sessions from My Schedule and the coach dashboard.
Cancel vs delete
A private lesson with pending or confirmed enrollments cannot be deleted. Cancel the lesson (or remove enrollments first), then delete when empty. Cancelling a standalone package cancels remaining sessions and follows the same refund and make-up credit options as other lesson types.
Related guides
- Creating group lessons — recurring term-based classes
- Creating terms and lessons — term setup before term-bound private lessons
- Configuring age groups — custom labels and calendar colours
- Lesson cancellation and postponement — cancel packages and notify students
- Make-up credits and waitlist — credit compatibility for private lessons
