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

How Do I Set Up an Appointment-Based Service?

Appointment services are how Opus1.io handles private lessons and other one-at-a-time bookings — a client picks a time, a staff member, and a location, and each visit is scheduled individually based on staff availability. Most studios need three related appointment services working together: ongoing lessons, trial lessons, and makeup lessons. This article is the starting point — it covers the settings that work the same way on all three, so the linked guides can focus on what actually differs.

Last updated:Age August 14, 2026
Applies to: Owner / Manager
Feature: Services, Scheduling
PLUS Feature: No

Table of Contents

  1. Overview
  2. Which guide do I need?
  3. How the three services work together
  4. What differs between the three
  5. Prerequisites (all appointment services)
  6. Shared Configuration Reference
  7. FAQ
  8. Who can configure
  9. Related Articles

Overview

Why it matters: getting these three services set up correctly — and connected to each other — is what turns a trial lesson into a paying student without your front desk chasing anyone down, and turns a cancelled lesson into a self-served makeup instead of a refund request. Each service type carries its own settings for a reason: an ongoing lesson bills recurring tuition, a trial converts a prospect, and a makeup redeems a credit without competing for paid teaching time.

Location: Business → ServicesCreate Service → choose Appointment (e.g. Private Lessons)

Which guide do I need?

I want to… Start here
Set up weekly private piano (or guitar, drums, etc.) lessons with monthly tuition How Do I Set Up Ongoing Private Lessons?
Let prospects book a trial lesson and convert them to ongoing enrollment How Do I Set Up Trial Lessons?
Let students book makeup slots when they cancel an ongoing lesson How Do I Set Up Makeup Lessons?
Configure pricing, proration, deposits, or sibling discounts on a plan Setting up payment plans for your appointment-based services
Map cancelled lessons to makeup credits Mapping Makeup Credits to Makeup Services

How the three services work together

A typical private-lesson studio runs this pattern:

Trial lesson → converts to → Ongoing lesson → cancellation issues a credit → Makeup lesson → client redeems the credit (loops back into Makeup)

  1. Trial — Family books a single intro lesson, often via a landing page or self-booking link.
  2. Ongoing — After the trial, they enroll in recurring weekly lessons with monthly billing.
  3. Makeup — When an ongoing lesson is cancelled, a credit is issued that can only be booked into the matching makeup service.

Each is a separate appointment service in Opus1.io, usually with matching duration — for example, a 30-minute trial, a 30-minute ongoing lesson, and a 30-minute makeup all pointing at each other.

What differs between the three

Area Ongoing lessons Trial lessons Makeup lessons
Typical payment plan Monthly membership (recurring visits + payments) Single Visit Credit Only
Self-booking visibility Visible to visitors and clients Visible to visitors and clients Often hidden — clients book via Use on a credit
Cancellation policy Issue makeup credits → mapped to makeup service Studio choice; may forfeit or issue credit Usually forfeit — no makeup for a makeup
Credit restrictions Issues credits to makeup service N/A Limit to student's assigned staff; optionally canceled slots only
Conversion & auto-hold Target service for trials Track conversion, auto-hold, automate conversion Not applicable
Lifecycle statuses Not needed — Member is applied automatically on subscription Common — Trial Scheduled → Trial Completed Not needed
Schedule optimization Often on Less critical Often on
Spotlight (Today dashboard) Optional Often on Rare

Prerequisites (all appointment services)

Before any appointment service can be booked — by staff or clients — you need:

Requirement Where to configure
Staff availabilities Per staff member — when each teacher can be booked
At least one location Business settings
At least one payment plan Service → Payment tab, with Enabled for self-booking turned on or off
Self-booking link (for client booking) Business settings → Self-Booking Links

 

ℹ️ Note: Admin Staff and above can always book appointments from the calendar on behalf of clients, even when self-booking is disabled — so you can start using a service internally before it's public.

Shared Configuration Reference

Everything in this section works the same way on ongoing, trial, and makeup services. The linked guides call out where a service type should deviate.

Naming, Descriptions, and Tags

Name — the suggested format is Piano Private Lessons - 30 min

Why: instrument first means your service list sorts alphabetically by instrument, so a front desk scanning forty services finds all the piano options in one block. Always include both the service type (private vs. trial vs. makeup) and the duration — those are the two things staff mistake for each other when they're booking quickly.

Short description — treat it as a tagline. This is what a family sees on the self-booking page when they're looking at a grid of service options. Keep it simple: "1-on-1 private piano lessons."

Long description — this is what a family sees after clicking into a service to learn more. Why: it's your last chance to set expectations before someone books. Put what they can expect from lessons, what to bring, and any policies you'd rather they know up front than argue about later.

Tags — service tags, used for filtering internally and by students on a self-booking link or landing page. Bare minimum, tag every service with:

  • Duration (e.g. 30 min)
  • Instrument or class type (e.g. Piano)
  • Service type (e.g. Private, Trial, Makeup)

Why: tags do two jobs. As the owner, they're how you find a group of services to update in bulk — raising the price on every 30-minute private lesson is a tag filter, not forty separate edits. On the client side, if your booking page covers multiple instruments and durations, tags are how a family narrows it down to what they're looking for.

Calendar Color

Colors can be set at the service level or the staff level.

⚠️ Warning: If a color is set in both places, the staff color wins. If your calendar isn't showing the colors you configured on the service, check whether a teacher has a color set on their profile.

Three schemes studios commonly use — pick one and stay consistent:

  • By instrument — all piano services pink, all guitar blue
  • By duration — all 30-minute services pink, all 60-minute blue
  • By appointment type — trials one color, makeups another, ongoing lessons a third
Duration, Buffers, and Slot Intervals
Setting What it controls
Duration Lesson length. Changing it updates all future appointments for that service; past appointments are untouched
Minutes before / after the service that staff and room are unavailable Buffer time between services
How many minutes apart can each appointment availability be The self-booking time grid — where on the hour lessons can start

Most studios teach back to back, so buffers get used less often than you'd expect. If you do use them, know that they stack:

Example — buffers compounding

Group Class A has a 10-minute buffer before and after, runs 10:00–10:30am.

  • Nothing can be booked that doesn't end by 9:50am.
  • Nothing can be booked starting before 10:40am.
  • Group Class B, which carries its own 10-minute leading buffer, can't start until 10:50am — its buffer sits on top of Class A's.
Appointments Can Be Attended Online

Toggling this on gives families the option to join a regularly scheduled in-person lesson remotely. A Join Online button appears on the lesson in the student's profile.

⚠️ Warning: The button needs somewhere to point. Save a meeting link (Zoom or Google Meet) on the staff member's profile or in the room settings — without one, the button goes nowhere.

Age Limits

Set a minimum and maximum age on the service.

Why: it stops a parent from self-booking a 4-year-old into a service your teachers only take from age 5. For "ages 5 and up," set the minimum to 5 and leave the maximum open.

Enrollment Windows

Minimum booking time — how soon before a lesson a family can self-book it.

Example: set to 2 days. A family looking at the schedule on Monday sees nothing before Wednesday. Why: it gives you and the teacher a heads-up before a new student appears on the calendar.

Maximum booking time — how far out a family can self-book.

Example: set to 30 days. A family only sees availability for the next month. Why: it stops someone from claiming a prime slot three months out and holding it without paying for it.

Schedule Optimization

This is built on a maximum scheduling gap you set per service — the largest hole you're willing to leave in a teacher's day. The cap is 60 minutes. If you set 30 minutes, anything that would open a gap larger than 30 minutes is treated as non-optimal.

It runs in two modes, and they behave very differently:

Mode Behavior
Enabled / Minimize Gaps Advisory. Tells you as an admin whether the time you're booking is optimal and suggests better ones. You can override it.
Self-booking Enforced. Families only see slots that respect the maximum gap. No override.

Example — a 30-minute maximum gap

Teacher A already teaches 4:00–6:00pm. The studio allows starts on the :00, :15, :30, and :45. A family self-booking a 30-minute lesson sees:

  • 3:30pm and 6:00pm — no gap created ✅
  • 3:15pm and 6:15pm — 15-minute gap ✅
  • 3:00pm and 6:30pm — 30-minute gap ✅
  • Anything earlier or later — over the limit, hidden ❌

ℹ️ Note: If a teacher has a large block of availability with nothing booked in it — a new teacher, for instance — Opus1.io offers slots in the middle of the block and builds outward from there.

Conflict tolerance (Advanced settings)

Conflict tolerance looks ahead over a time period you set and hides slots that won't hold up.

Example: short-term threshold set to 30 days, 0 conflicts allowed.

A family wants Mondays at 5pm with Teacher A. Teacher A is generally free then, but has one Monday off in the next 30 days. The family won't be offered Mondays at 5pm.

Why: it prevents a brand-new student's first month from including a lesson you already know you'll have to reschedule. Nothing sours a first impression faster than a rescheduling email in week two.

Terms and Conditions

Terms are shown to the client during self-booking, and stay available on their profile alongside their subscription.

Reference Managing Your Terms and Conditions Policies to build those out.

Email Templates

Automatic client emails are customized per service under Service → Update → Templates. Defaults are populated when the service is created. See Client Automated Email Notifications for previews — everything highlighted in blue is what you control in these service settings.

Require client note at self-booking

Ask a question the family answers while booking. See How do I customize the client notes requested at a self-booking?

The Self-Booking Enforcement Rule

Several settings only bind clients, not staff. Knowing which is which saves a lot of "why can't I book this?" confusion at the front desk:

Setting Enforced at self-booking Admin can override
Slot interval / start snap Yes Yes
Age limits Yes Yes
Minimum / maximum lead time Yes Yes
Conflict tolerance Yes Yes
Schedule optimization (self-booking mode) Yes Yes
Schedule optimization (Minimize Gaps mode) When enabled Yes

Why it matters: these are guardrails for the public, not hard rules for your business. You can always book the exception yourself.

FAQ

Q: Can I switch a service from Appointment to Session later?
A: The service type is chosen at creation and drives how the rest of the configuration works — plan around your booking model before you build the service rather than after clients have already booked into it.

Q: I changed the service duration and now appointments look wrong. What happened?
A: Duration changes apply to all future appointments for that service. Past appointments are untouched, but anything not yet completed will reflect the new length.

Q: Why isn't a plan showing up during self-booking?
A: Check the Enabled for self-booking toggle on the plan list — it's separate from the plan editor, and duplicated plans start with it off.

Q: I renamed a service. Why are enrolled students still seeing the old name?
A: Renaming doesn't automatically update currently enrolled students. Contact support — they'll run Resync calendar in your business settings, which pushes the new name through to existing enrollments.

Q: Can I turn lesson reminders on for some services but not others?
A: No — reminders are on or off for the entire account. Individual clients can opt out in their own profile settings, but you can't scope them by service.

Q: Can I stop the reminder emails about accepting terms and conditions?
A: No. The only way those stop is when the client accepts the terms.

Q: Does auto-hold work for any service, or just trial lessons?
A: It's designed for trial lessons, but it can point to any appointment service via the Hold service setting — typically your recurring private-lesson service.

Q: What's the difference between "Deactivated" and turning off visitor/client visibility?
A: Deactivated hides the service from everyone except managers. Turning off visitor or client visibility separately still leaves the service usable by the other audience — for example, visible to logged-in clients but not the public.

Who can configure

Role Create / edit services Book for clients Self-booking
Owner Yes Yes N/A
Manager Yes Yes N/A

Staff

No Yes N/A

Limited Staff

No No  
Client No No Yes (when enabled)
Visitor No No Yes (when enabled)

Staff availabilities are configured per staff member. Self-booking links are configured at the business level under Business > Self-Booking Links.

Related Articles