Skip to content
English
  • There are no suggestions because the search field is empty.

How Do I Set Up Ongoing Private Lessons?

Ongoing lessons are the recurring weekly or biweekly private lessons that make up the core of most studios' revenue. Create one under Business > Services > Create Service > Appointment (e.g. Private Lessons), bill it on a monthly subscription, and map its cancellation credits to a dedicated makeup service so a missed lesson doesn't turn into a refund request or an awkward phone call.

Last updated: August 14, 2026
Applies to: Owner / Manager | Plan: All
Feature: Services, Scheduling

Table of Contents

  1. Overview
  2. Step 1: Create the service
  3. Step 2: General settings
  4. Step 3: Payment plan
  5. Step 4: Cancellation and makeup credits
  6. Step 5: Conversion, as the target service
  7. Step 6: Notifications
  8. Setup checklist
  9. FAQ
  10. Related Articles

Overview

An ongoing lesson service is what a family enrolls in after a trial — a recurring appointment, billed monthly, that keeps showing up on the calendar until someone cancels it.

Why it matters: this is the service that carries your recurring revenue, so the decisions you make here — duration, schedule optimization, and especially how cancellations are handled — determine whether a cancelled Tuesday lesson quietly becomes a makeup credit or turns into a billing dispute at the front desk.

ℹ️ Note: Ongoing lessons work best alongside two companion services: a trial lesson service that converts prospects into ongoing enrollment, and a makeup lesson service that absorbs cancellations without competing for your paid teaching slots. See the Appointment Services overview for how the three connect.

Step 1: Create the service

Go to Business > Services > Create Service > Appointment (e.g. Private Lessons).

Name it instrument-first, with the service type and duration, so staff and clients can tell services apart at a glance:

  • Private Piano Lesson - 30 min
  • Private Guitar Lesson - 45 min

Why: instrument first keeps your service list sorted by instrument, and the type-plus-duration suffix is what stops someone booking a trial when they meant an ongoing lesson. See the naming, descriptions, and tags section in the Appointment Services overview for the full convention.

Step 2: General settings

What it does

The General tab controls how the service looks and books: identity, duration, capacity, visibility, and the scheduling rules that decide how tightly your teachers' calendars pack.

Why you'd use it

A family choosing between two similar-looking lesson listings will pick the one with a real photo and a clear description. And a service with Schedule optimization left off will scatter appointments across a teacher's day, leaving gaps that could have held another paid lesson.

How to configure it

Most of these settings work identically across all three appointment services — see the shared configuration reference for tags, colors, buffers, age limits, enrollment windows, and how schedule optimization actually calculates gaps. What's specific to ongoing lessons:

Setting Recommendation Why
Main photo Roughly 4:3, no text near the top or bottom Avoids cropping on mobile self-booking
Short description One line — "1-on-1 private piano lessons" This is the tagline families see on the booking grid
Long description What the lesson includes, level expectations, what to bring, key policies Reduces "what do I need to bring" messages to the front desk, and sets policy expectations before anyone books
Duration Match your standard lesson length (30, 45, or 60 min) Changing duration later updates all future appointments for the service
Setup / cleanup time Usually none — most teachers teach back to back If you do add buffers, remember they stack between consecutive services
Maximum clients

1

Controls whether the slot can hold more than one student
Can visitors / clients see this service? Both on Lets prospects find it and enrolled families self-book it
Slot interval / slot start snap 115 minutes is common; match the two Keeps the self-booking grid clean
Minimum / maximum lead time e.g. 2 days / 30 days Gives you warning before a new student appears, and stops families holding slots months out
Schedule optimization On, with a 30-minute maximum gap Prioritizes slots that keep a teacher's day tight instead of scattered — this is the setting that protects billable hours
Lifecycle status after booking Leave unset Member is applied automatically when a client enrolls in an ongoing subscription — you only need lifecycle statuses on trial services

 

💡 Tip: Add the service to a self-booking link under Business settings so prospects and families can actually find it. See Creating Self-Booking Links for more help.

Reminders
Setting Default
Email reminder 28 hours before
SMS reminder 4 hours before (requires SMS)

Step 3: Payment Plan(s)

What it does

The payment plan on an ongoing service determines how — and how often — a family is billed for the lesson.

Why you'd use it

Most studios don't want to invoice each lesson individually; a recurring subscription bills automatically every month, so your front desk isn't manually charging each family every week.

How to configure it

Ongoing lessons use one of three shapes:

Plan How it bills Who it fits
Ongoing subscription — flat rate Same amount every month regardless of how many lessons fall in it Most studios. Predictable for you and for the family
Ongoing subscription — variable Charges per lesson actually scheduled that month Studios that don't want to explain why February costs the same as a five-Tuesday March
One-time payment A single charge, normally for a full term Term-based studios that enroll by semester rather than month to month

On the plan list (not inside the plan editor), toggle Enabled for self-booking on — clients can't select a plan online until this is on. Note that one-time payments for term-based billing is not supported for self-booking today. 

💡 Tip: For every pricing field — proration, deposits, sibling discounts, auto-pay, and holds — see Setting Up Payment Plans for Your Appointment-Based Services.

Step 4: Terms and conditions

What it does

Your terms are shown during self-booking and stay accessible on the family's profile alongside their subscription.

Why you'd use it

Why: this is the one place a family formally agrees to your cancellation policy, your notice period for withdrawal, and your billing terms — before they're enrolled, not after they're disputing a charge.

Full details in the Managing Terms & Conditions Policies..

Step 5: Cancellation and makeup credits

What it does

This is where an ongoing service connects to your makeup service. When a lesson is cancelled, Opus1.io can issue a service credit that books into a dedicated makeup slot rather than back into your paid teaching schedule.

ℹ️ Note: "Cancellation" here means "we can't make it this week" — a single missed visit. It is not the same as a family un-enrolling from lessons entirely.

Why you'd use it

Without a credit mapped to a makeup service, a cancelled lesson either gets refunded (revenue you lose) or the family has to email you to work something out (time your front desk loses). Routing it to a makeup service handles both automatically — and the caps below are what stop that generosity from being abused.

How to configure it

1. Define what counts as late. On the Cancellation tab, a cancellation is late either:

  • X hours before the lesson (e.g. 24 hours), or
  • After a specific time, which you can set differently for each day of the week

2. Set the three cancellation types.

Cancellation type Typical for ongoing
Client visit cancellation Issue a service credit, mapped to your matching makeup service
Client late visit cancellation Forfeit, or issue a credit — this is where your policy has teeth
Staff visit cancellation Issue a credit — a teacher's absence isn't the student's fault

3. Configure the credit itself. When a cancellation type issues a service credit, these settings control it:

Setting What it does Why it matters
How should it be labeled The name on the credit, visible to both staff and families A credit labeled "Piano Makeup" is self-explanatory on a client's profile; "Credit" isn't
Should the service for the credit be a different service? Points the credit at your makeup service instead of the lesson it came from Toggle this on. This is the single setting that keeps makeups off your paid calendar
Subscription cap on number of credits Maximum credits a family can hold at once Set to 2, a family cancelling a third lesson gets nothing. Stops credits piling up faster than anyone can use them

Credit validity period

 

Expiration window ⚠️ Counted from the date the credit is created — the day the lesson was cancelled — not the date of the cancelled lesson
Cap on credits within a time period Rolling limit, on top of the outstanding cap Set to 2 per 90 days, a family cancelling a third lesson in that window gets no credit even if they've already used the first two. This is the setting studios use to discourage habitual cancelling

💡 Tip: See Mapping Makeup Credits to Makeup Services for the full walkthrough, and Understanding Cancellation Makeup Credit Settings for validity, caps, and timing rules.

⚠️ Warning: A common mistake is leaving the different-service toggle off, or selecting the ongoing service in that dropdown. Always confirm the mapping displays your makeup service's name before saving. See your Mapping Makeup Credits to Makeup Services article.

ℹ️ Note: The target doesn't have to be an appointment service. Some studios redeem private-lesson makeups in a group workshop — you can map appointment makeup credits to a group class service.

4. Staff cancellations can issue money, not just credits

Staff cancellations are the only type where you can automatically issue a monetary credit. What happens depends on billing timing:

  • If that month's invoice is already paid → the amount is added to the account manager's account balance
  • If the invoice is still open → the invoice is recalculated

Why: when you cancel on a family, some studios would rather take it off the bill than hand back a makeup slot the family didn't ask for.

5. Other Settings

Setting Typical for ongoing
Disable self-cancellation Off — let clients cancel online
Disable use credits Off — let clients self-book makeups via Use on a credit
Credit only valid once paid On — credit usable only after the cancelled lesson's invoice is paid
Send reminder for unused/expiring credits On — nudges families before credits expire

6. Write the cancellation policy text. This is displayed to the family at the moment they go to cancel a lesson.

Why: put your cancellation policy in both your terms and conditions and this field. They agree to it at enrollment, and they're reminded of it at the exact moment it applies — which is when the argument would otherwise start.

💡 Tip: See your Understanding Cancellation Makeup Credit Settings article for validity, caps, and timing rules in full.

Step 6: Conversion, as the Target Service

If you run trial lessons, your ongoing service is the destination, not something you configure conversion on directly. On your trial service, set Which service(s) can this service convert to? to include this ongoing service — that's what makes a completed trial turn into an enrollment offer.

💡 Tip: Your trial service should list every duration a family might land on, not just the one matching the trial length. A family who trials at 30 minutes may well enroll at 45.

Step 7: Notifications

Review these templates on the Notifications tab so families know what to expect:

  • Confirmation email — sent when a lesson is booked
  • Reminder email / SMS — sent before the lesson
  • Cancellation email — sent when a lesson is cancelled
  • Unused/expiring credits reminder — helps families use makeup credits before they expire

Previews of every automated client email are in Client Automated Email Notifications.

Setup checklist

  • [ ] Service created, named instrument-first with type and duration
  • [ ] Tagged with duration, instrument, and service type
  • [ ] Duration, slot interval, and enrollment windows set
  • [ ] Schedule optimization enabled with a maximum gap
  • [ ] Monthly subscription plan created and enabled for self-booking
  • [ ] Terms and conditions written and sectioned
  • [ ] Late cancellation window defined
  • [ ] Cancellation credits mapped to a matching makeup service
  • [ ] Credit caps and validity period set
  • [ ] Cancellation policy text written
  • [ ] Service visible to visitors and clients
  • [ ] Service added to a self-booking link
  • [ ] Staff availabilities confirmed for all teachers on this service
  • [ ] Reminder templates reviewed

FAQ

Q: Do I need a separate makeup service, or can cancelled lessons just go back into the ongoing service?
A: A separate makeup service is strongly recommended. It keeps makeup bookings from competing with paid ongoing slots, and lets you apply different visibility, pricing, and cancellation rules to redeemed credits.

Q: If I change my cancellation credit settings, when does that take effect?
A: Immediately, and it applies to existing subscriptions — no subscription update required. If you change the rule to 2 credits per 90 days, Opus1.io looks back at credits already issued and when, and uses that history the next time a family cancels.

Q: What happens if I change the lesson duration later?
A: It updates all future appointments for the service. Past appointments are unaffected.

Q: Can a client see this service if they haven't enrolled yet?
A: Yes, if Can visitors see this service? is on — this is what lets a prospect self-book without an account, though most studios route prospects through a trial service first.

Q: When does a credit's expiration clock start?
A: On the day the credit is created — the day the lesson was cancelled — not the day of the cancelled lesson. A family who cancels three weeks out with a 30-day validity has less time than they'd assume.

Related Articles