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

Why isn't a teacher showing as available for self-booking?

TL;DR — Opus1 offers a teacher on self-booking only when three things are true at once: families are allowed to see them, they have Available Hours/Days covering this service at a location the link can use, and the link's Filter by staff does not exclude them. Any one of those off and the teacher does not appear — even though staff can still book them from the studio calendar.

Last updated: September 10, 2026
Applies to:
Owner / Manager (change settings); Staff (share links, diagnose)
PLUS Feature: No
Plan: All

Table of Contents

  1. Overview
  2. Your calendar and the booking page are not the same list
  3. Start here: name missing, or no times?
  4. Why you'd hide a teacher on purpose
  5. Four ways to control who families can book
  6. How Opus1 decides a teacher is bookable
  7. Fix: make this teacher show
  8. Fix: the teacher is listed but has no times
  9. How to test it properly
  10. Who can change this
  11. Troubleshooting
  12. FAQ
  13. Related Articles

Overview

Self-booking offers a teacher only when three things are true at once:

  1. Families are allowed to see them — Can visitors see this staff? and Can clients see this staff?
  2. They have Available Hours/Days that include this service, at a location the link can use
  3. The self-booking link itself does not filter them out

If any one of those fails, the teacher does not appear as available — even though you can still book them from the studio calendar.

That is the intended design rather than a glitch. The rest of this article is how to tell which of the three is hiding them, and which door you actually want: show this teacher to everyone, only to current families, only on one URL, or not at all.

Location: Staff → the teacher → update profile, and Settings → Business → Self-Booking Links


Your calendar and the booking page are not the same list

Inside Opus1, Owners, Managers, and Staff can book a teacher who has no availability, whose hours are blocked, or who is hidden from families. Opus1 may warn you, but it will still place the lesson. That override exists so the front desk can handle a one-off, a substitute, or a student you are assigning by hand.

Self-booking has no override. A family picking a time at 9pm on a Sunday cannot be offered a slot the teacher is not able to keep, so Opus1 lists only teachers who are explicitly available for that service. Where none qualify, the family sees a name with no times, or no name at all, alongside:

There are no availabilities for this service at this time

That message means the rules found nothing to offer. It does not mean the link expired, the teacher was removed, or something needs fixing.

The practical consequence: being bookable from the studio calendar is not the test. A teacher you can place on Thursday at 4 may be correctly invisible on the public URL, and both of those can be true at the same time. To see what families see, open the link in a private window.


Start here: name missing, or no times?

Look at the public appointment link in a private / incognito window. Pick the service. Then decide which of these you are looking at.

What you see What it usually means
The teacher is not in the staff list Visibility, no availability for this service, or a link filter. Families cannot even choose them.
The teacher is listed, but the calendar is empty (or nearly empty) They passed the "who is this person" checks. Times are being removed by weekly-only, optimization, blocks, or hours that do not fit.
There are no availabilities for this service at this time before you pick anyone Opus1 found zero teachers for that service on this link — not just the one you expected. Same causes, applied to everyone.
You are on a group class (session) link and there is no teacher picker Expected. Session self-booking is "pick a class," not "pick a teacher." The teacher is on the session, not in a staff list. Use an Appointment Self-Booking link for private lessons. See Which widget type should my self-booking link use?.

Do not start by retuning every filter. Name missing and empty calendar are different jobs.


Why you'd hide a teacher on purpose

Hiding a teacher is a product feature. Studios do it every week for reasons that have nothing to do with a bug.

The owner still teaches two students. If that name is on the public trial URL, a stranger will grab Thursday at 4. Keep Can visitors see this staff? off. Book those two families yourself.

A teacher is full and only takes replacements from a waitlist. Current families should still see them for make-ups. Prospects should not. That is visitors off, clients on — not "delete their availability."

Admin, front desk, and substitutes need a staff profile so you can put them on the calendar. They should never be a self-booking option. Both visibility toggles off, or no Available Hours/Days for customer-facing services.

A new hire starts next month. You can enter their weekly hours now so payroll and the internal calendar work. Leave them invisible to visitors until the first day you want families to claim them.

A "book with Jordan" campaign. Jordan should be the only name on that URL. Everyone else stays visible studio-wide; this link filters to Jordan. That is not the same as hiding the rest of the faculty from every other page.

If the missing teacher is one of these, the fix is not "turn everything on." It is to match the door to the job:

What you want Why walk through this door What to use
Prospects can pick this teacher on a public trial or lesson URL That is how after-hours enrollment works. The family who decides on Sunday night needs a real name and a real opening. Visibility on for visitors and clients, availability for that service, no staff filter (or this teacher included)
Current families can rebook this teacher; strangers cannot A teacher at capacity, a waitlist-only instructor, or someone you only assign after a trial. You still want existing students to see openings. Can visitors see this staff? off, Can clients see this staff? on
This teacher is on this URL only (a "book with Jordan" page) You marketed a person, not the whole faculty. A catch-all link that also lists every other teacher dilutes the promise. (optional) Filter by staff on that appointment link
This teacher is on every other URL, but not the trial / promo one You do not want a brand-new family grabbing your waiting-list teacher, or the owner, on the public flyer. Staff filter on that one link — leave studio-wide visibility on
Nobody should self-book this teacher, ever Owners, admin staff, substitutes, new hires who are not ready, teachers who only take assigned students. Staff can still book them by hand. Both visibility toggles off (see How do I prevent my teachers from being available for self-booking?)
Families should only claim a weekly slot, not a one-off gap Recurring enrollment. A Tuesday that is free this week and taken next week is not a lesson you can keep. Leave the teacher visible; turn on Only show timeslots available on a weekly on-going basis on that link
Families should only fill holes next to existing lessons You want a packed calendar, not a 4:00 and a 6:30 with a dead hour in between. Schedule optimization on the service, not a visibility toggle

Most studios run more than one of these at once: a public trial door that lists the teachers taking new students, a current-families door for make-ups, and a couple of teachers who are never on either. That mix is the point of the settings. A missing teacher is often the right setting on the wrong door.


You are not turning a teacher "on" so much as choosing who may walk through which public door. Most studios run several of these at once — a public trial door listing the teachers taking new students, a current-families door for make-ups, and a couple of teachers who are on neither. A missing teacher is often the right setting on the wrong door.

If this teacher should be on this public URL, keep reading.


Four ways to control who families can book

These overlap. Pick the smallest door that does the job, so you do not hide someone on every link when you only meant to hide them on the flyer.

1. Staff visibility (studio-wide, who may see this person)

On the teacher's profile, at the bottom:

  • Can visitors see this staff? — a visitor is anyone who is not signed in (a prospect, an ad click, a forwarded URL).
  • Can clients see this staff? — a client is someone with an account who is signed in.
Visitors Clients Who sees this teacher on self-booking
On On Prospects and current families (on a public link)
Off On Signed-in clients only. Prospects will not see them.
Off Off Nobody on self-booking. Staff can still book them inside Opus1.
On Off Opus1 will not keep this combination. Turning visitors on also turns clients on.

Turn visitors on when this teacher should appear on a public trial or "book a lesson" URL.

Leave visitors off, clients on when only enrolled families should see them (make-ups, re-enrollment, a teacher not taking new students).

Turn both off when this person should never be self-booked. That is the same control described in How do I prevent my teachers from being available for self-booking?.

Deactivated is stronger than hiding. The subtitle is "If toggled, only managers will see this staff." Turning it on also turns both visibility toggles off. Use it when the person has left, not when you merely do not want them on the trial link.

2. Available Hours/Days (studio-wide, when they can actually teach)

Self-booking does not use "this teacher exists." It uses Available Hours/Days on their profile.

Each availability must include:

  • Days and times
  • A location (required)
  • At least one service (required — the Add button stays disabled until Select Services has a value)

Opus1 only lists a teacher for a service if that service is on at least one of their availability rows. Availability for Piano does not make them appear under Piano Trial. Those are different services. Assign every service you want families to book with them.

Leave room blank unless you need them in a specific room. Opus1 can assign a room at booking.

This is also how you withhold a teacher without touching visibility: if they should never be self-booked for trials, do not put the trial service on their hours. They can still have hours for the ongoing lesson service that current families use.

Staff and Limited Staff cannot edit availability. Owners and Managers can. See How do I enter availability for my staff?.

3. Filter by staff on one appointment link (one URL, not the whole studio)

On Settings → Business → Self-Booking Links, appointment links have (optional) Filter by staff.

  • Leave it empty to include every teacher who is visible and has availability for the services on that link. New teachers who later get hours for those services can appear without you editing the link.
  • Pick specific teachers when this URL should sell a person ("book with Jordan") or a short list. A teacher you add to the studio later does not join a filtered link automatically.
  • Select All is not the same as empty. Select All stores today's names. Next month's hire will not appear until you edit the link and add them, then click Update Business.

Session and event links do not have this filter. If you are staring at a group-class URL looking for a staff picker, you are on the wrong widget.

Use a link filter when the campaign is specific. Use visibility when the teacher should be hidden everywhere.

4. Time-level controls (the teacher stays listed; openings shrink)

These do not usually remove the name. They remove times, which is what families experience as "not available."

Control Where it lives Use it when Side effect if it is on by accident
Only show timeslots available on a weekly on-going basis The appointment link Recurring weekly enrollment A trial link looks empty even though the teacher has scattered openings
Unavailable Hours/Days (availability blocks) The teacher's profile Lunch, a standing rehearsal, a one-off conflict Families cannot claim those hours. Staff still can, with a warning.
Time off Time-off requests Vacation Same as a block for self-booking
Enforce schedule optimization for self-booking The service You only want slots that pack the calendar Isolated openings disappear even though the teacher is "free"
Staff availability but only on canceled / late canceled appointments The service (Availability mode for self-booking) A make-up service that should only reuse canceled slots A normal lesson link shows no times unless something was canceled

For the weekly toggle, see How to create and share a self-booking link. For packing the calendar, see Schedule Optimization. For blocks, see How do I set up an availability block?.


How Opus1 decides a teacher is bookable

For an Appointment Self-Booking link, Opus1 builds the staff list like this. All of these have to pass.

  1. The person is staff, not deactivated in a way that hides them from this viewer, and not removed.
  2. Can visitors see this staff? is on if the person browsing is not signed in. Can clients see this staff? is on if they are a signed-in client.
  3. At least one Available Hours/Days row lists this service.
  4. If the link has Filter by location, that location (or an online option on the availability) intersects the teacher's hours.
  5. If the link has Filter by staff, this teacher is in that list.
  6. Then, for times: hours still in the future, not blocked, not already booked, location not closed, and not stripped by the weekly or optimization rules above.

Owners, Managers, and Staff bypass steps 2's family-facing filters when they open the link while signed in. That is why a missing teacher "works for me." Always retest logged out.

Location visibility is a sibling check: Can visitors see this location? / Can clients see this location? A teacher can still appear in the list and then have nowhere to put a slot if their only location is hidden from that audience.


Fix: make this teacher show

Work top to bottom. Stop when the name appears in a private window.

1. Confirm you are on an appointment link

Open Settings → Business → Self-Booking Links. On the link row, Widget Type must be Appointment. If it says Session, families pick a class, not a teacher. Create an appointment link for private lessons.

2. Test as a family, not as yourself

Sign out, or use a private window. If this URL is for prospects, do not sign in as a client either — a teacher with visitors off and clients on will appear for you as a signed-in parent and vanish for the person who clicked the ad.

3. Turn on the right visibility
  1. Go to Staff, open the teacher, click the pen (update profile).
  2. Scroll to Can visitors see this staff? and Can clients see this staff?.
  3. For a public trial / "new families" URL, turn both on.
  4. For current families only, visitors off, clients on.
  5. Confirm Deactivated is off.
  6. Click Update Staff. Wait for Staff Updated Successfully.
4. Put this service on their Available Hours/Days
  1. On the same edit screen, find Available Hours/Days.
  2. Click Add availability (or edit an existing row with the pencil).
  3. Set days and times, a location, and Select Services — include the exact service on the booking link (Piano Trial, not only Piano).
  4. Click Add (or Update if you are editing).
  5. Click Update Staff again. Adding the row in the window is not enough.

If they already have hours, open each row and check Services. A teacher who only has "Piano" assigned will not appear on a link that sells "Piano Trial."

5. Check the link's staff and location filters
  1. Settings → Business → Self-Booking Links.
  2. Click Update on the link.
  3. Look at (optional) Filter by staff. If any names are selected, this teacher must be one of them — or clear the filter if this URL should include everyone who teaches the service.
  4. Look at (optional) Filter by location. If locations are selected, this teacher needs Available Hours/Days at one of those locations.
  5. Click Update, then Update Business. Wait for Business updated successfully.

Add Link / Update in the window does not publish. Update Business does. See Saving changes to self-booking links.

6. Confirm the service and location are visible too

A hidden service or location can make the whole step look like a missing teacher. Check Can visitors see this service? / Can clients see this service? and the same pair on the location. See How do I make my services visible to clients and/or visitors?.


Fix: the teacher is listed but has no times

The name passed the checks above. Now the calendar is empty, or it is missing openings you can see on the internal schedule.

Work through these in order.

The weekly toggle is on for a trial or one-off link. On the link, if Only show timeslots available on a weekly on-going basis is on, Opus1 hides any opening that cannot continue week after week. Scattered gaps disappear. Turn it off for trials and make-ups. Leave it on for recurring weekly enrollment.

Their hours do not cover the days you are looking at. Open Available Hours/Days. A row that ended, a "Specific Date" that already passed, or hours that only cover mornings will not fill an evening trial page.

The slot is already taken. Self-booking does not offer a time that already has a lesson. The internal calendar with Staff availabilities on will show you what is actually left. See How do I show staff availabilities on the main schedule?.

An availability block or time off covers the opening. Blocks exist to punch holes in hours that would otherwise be offered. Helper text on Unavailable Hours/Days: "Blocked availabilities are enforced on self-booking (e.g a client won't be able to self-book an appointment during a staff break). Staff or Managers can always override blocked availabilities (a warning may be displayed)." If you can still book it from the calendar, that warning is the clue.

Schedule optimization is packing the calendar. On the service, Enforce schedule optimization for self-booking hides everything except the highest-priority openings (typically slots that close gaps). A teacher with a wide-open afternoon can look empty on the public page. Turn enforcement off if this service should show every remaining opening, or widen Max scheduling gap. See Schedule Optimization.

The service is make-up-only. If Availability mode for self-booking is Staff availability but only on canceled / late canceled appointments, families only see canceled slots. A teacher with a normal empty calendar will have nothing to offer on that service.

The opening is too short for the lesson. A 30-minute hole will not show a 45-minute service. Setup and cleanup time on the service also shrink what fits.

None of these remove the teacher from the list by themselves. They only remove times. If the name is missing, go back to Fix: make this teacher show.


How to test it properly

Always open your self-booking link in a private / incognito window, or on a phone that has never signed in to your studio.

Check all three audiences if the teacher should behave differently for each:

Test as How What you are proving
Prospect (visitor) Private window, not signed in Can visitors see this staff? and a public link
Current family (client) Sign in as a test client, not as staff Can clients see this staff?
Front desk Signed in as Owner / Manager / Staff This is not what families see. Use it only to confirm the URL loads.

If the teacher appears for you and not for them, you are still signed in as staff, or they are a visitor hitting a teacher who is clients-only.

Do not test by clicking a link inside an Opus1 email sent to yourself. Those messages can sign you in automatically.


Who can change this

Change Who
Visibility toggles, Deactivated, Available Hours/Days, availability blocks Owner or Manager. Staff and Limited Staff cannot edit their own availability.
Link filters, weekly toggle, visitor access on the URL Owner or Manager, then Update Business. Front-desk staff can share a link that already exists; they cannot edit it.
Schedule optimization and availability mode Owner or Manager, on the service

If you are staff and a teacher is missing, hand the profile and the link to an Owner or Manager. You can still book that teacher from the calendar for a family who calls.


Troubleshooting

I can book this teacher from the calendar, but they are not on the link. Expected until self-booking's rules pass. The calendar lets staff override. Check visibility, Available Hours/Days for this service, and the link's staff/location filters, then retest logged out.

Prospects don't see them; signed-in families do. Can visitors see this staff? is off. Turn it on if they should be on the public URL. Leave it off if that was the point (current families only).

Nobody sees them, including signed-in clients. Both visibility toggles are off, they are Deactivated, the service is not on their hours, or the link's Filter by staff does not include them.

The whole page says there are no availabilities, not just one missing name. No teacher passed the filters for that service. Confirm someone has hours for that exact service, the link is an appointment widget, and you are not looking at a staff filter that lists people who do not teach it.

They used to appear and stopped. An availability row ended, someone turned visibility off, someone populated Filter by staff / Filter by location and did not include them, or Update Business was not clicked after a link edit. New teachers also do not join a populated staff filter on their own.

They appear on one link and not another. Compare Filter by staff, Filter by location, Select services, and the weekly toggle on each link. Visibility is studio-wide; filters are per URL.

They appear, but only a couple of times even though the afternoon is open. Weekly-only, schedule optimization, blocks, or a lesson length that does not fit the remaining gaps. Look at the internal calendar with Staff availabilities on.

I added availability and they still don't show. Click Update Staff after Add. Then wait a moment and retest in a new private window. Confirm the service on the hours row is the same service as the link.

I edited the link and nothing changed. You need Update in the link window and Update Business. If you left the page after Update only, the filter never saved.

This is a group class. I want families to pick the teacher. Use an appointment service and an appointment link. A session link will not grow a staff picker.

Can support "turn them on" without these settings? No. There is no hidden studio-wide switch that lists every staff member on every link.


FAQ

Does hiding a teacher from self-booking stop staff from booking them? No. Owners, Managers, and Staff can still place lessons on the calendar. Families cannot.

If I turn off visibility, do I have to delete their hours? No. Hours still drive the internal calendar, payroll, and staff booking. Visibility only controls who sees them on self-booking (and similar client-facing pickers).

Why does turning on visitors also turn on clients? A person who is visible to strangers but hidden from your own families is not a configuration Opus1 will keep. Public implies current clients can see them too. The other direction is allowed: clients on, visitors off.

Will a new teacher show up automatically? Only if the appointment link's Filter by staff is empty, they are visible to that audience, and they have Available Hours/Days for a service on that link. A populated staff filter is a snapshot.

Can I hide a teacher on the trial link and still list them on a current-family make-up link? Yes. Leave studio-wide visibility on for clients (and visitors if you want them on other public URLs), then use Filter by staff so the trial URL simply does not include them. Or use visitors off if they should never be prospect-facing.

Related Articles