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

Which widget type should my self-booking link use?

Each self-booking link in Opus1 runs one booking engine, and it has to match the service type. Use Appointment Self-Booking for private lessons and trials, Group Class Self-Booking for group classes, and Event Self-Booking for recitals. A link only lists services of its own type, and the type cannot be changed after you create it — so check the service type before you start.

Last updated: September 8, 2026
Applies to: Owner / Manager (create and save); Staff (share links, diagnose)
PLUS Feature: No
Plan: All

Table of Contents

  1. Overview
  2. Why this choice exists
  3. Which widget do you need?
  4. Appointment Self-Booking
  5. Group Class Self-Booking
  6. Event Self-Booking
  7. What each widget supports
  8. You cannot mix types in one link
  9. Ways to offer more than one type
  10. How to check a service's type
  11. How to choose the type when you create a link
  12. If you picked the wrong type
  13. Troubleshooting
  14. FAQ
  15. Related Articles

Overview

The widget type is not a theme or a layout. It is the booking engine behind the URL, and Opus1 asks for it before you pick services:

The offering Widget to choose What families are choosing
Private lessons, trials, make-ups Appointment Self-Booking A teacher and an open time
Group classes, courses, workshops Group Class Self-Booking A class that already has a day, time, and roster
Recitals, showcases, concerts Event Self-Booking A performance date, and often a slot on the program

One link, one type. An appointment service will never appear on a group class widget, and a group class will never appear on an appointment widget. To put private lessons and a group class on the same public page, you need two links — or a landing page listing both.

Look at the service type on the offering, then pick the widget that matches. Toggling widget types will not convert a private-lesson program into a class.

Location: Settings → Business → Self-Booking LinksAdd a custom link


Why this choice exists

A self-booking link is a public door into a specific kind of inventory, and those inventories are not interchangeable.

Private lessons live on a teacher's calendar. The family is asking who is free and when. The widget has to read staff availability, respect rooms and locations, and — for a weekly series — offer only times that can repeat.

Group classes live on a roster. The family is asking which class to join. The Monday 4pm beginner guitar class already exists, so the widget shows that session, its remaining seats, its payment plans, and a waitlist when it is full.

Recitals live on a program. The family is asking which performance they are in. The widget shows event dates and enrolls a performer, rather than finding an empty Tuesday at 3:30.

Opus1 asks Choose the type of widget for the link before you pick services because the rest of the window, and the entire public flow, is built for one of those three jobs. Picking the wrong type does not give you a different layout of the same catalog — it gives you a catalog that cannot contain the offering you came to publish.

That is why the choice is worth a minute rather than a guess. A well-matched link is a marketing asset that families complete. A mismatched link looks empty, or walks people through the wrong booking story, and they leave.


Which widget do you need?

Use the job you want the URL to do, not the word you use internally. Studios call a lot of things a "program"; Opus1 goes by the service type.

What you are trying to do Use this widget Why
Let a new family pick a piano teacher and book a trial Appointment The inventory is staff time
Let them enroll in Fall Group Guitar, Tuesdays at 4 Group Class The inventory is a scheduled class with seats
Sign a student up for the December recital Event The inventory is a performance date and program
Put private lessons and group classes on one public page Two links, optionally on a landing page One URL can only run one booking engine
Sell instrument rental or a membership with no lesson attached None of these That is a subscription-only service, covered under How to check a service's type
Restrict make-ups to enrolled families Appointment, with visitor access off Same widget, different audience

If you are still unsure, this question usually settles it: when a family books this, are they claiming a time on a teacher's calendar, joining a class that already has a schedule, or enrolling in a performance?


Appointment Self-Booking

Choose this when the offering is appointment-based — private lessons, trials, and other visits booked against staff availability. The picker describes it as 'Create custom links for appointment services.'

Why you would use it

  • Trials convert when families see real openings. A parent deciding at 9pm picks a teacher and a time while they are still motivated. That is the job this widget is built for.
  • You can publish a slice of the studio. Filter to "piano trials with Jordan at Downtown" rather than every teacher and instrument, so marketing links stay honest.
  • You can protect weekly series. Turn on Only show time slots available on a weekly on-going basis so someone booking an ongoing lesson is not offered a one-off gap that cannot continue.
  • You can steer how they browse. Default primary selection of Staff or Location decides whether they start with who or where — useful when you market a star teacher versus a neighborhood studio.
  • You can advertise a billing rhythm. Filter by payment plan type so a trial link does not also show a full monthly package.

What families do: open the link, pick an appointment service, pick a teacher or location depending on your default, pick an open time from that teacher's calendar, then choose a plan and check out. They never pick a pre-built class roster — if that is what you wanted, this is the wrong widget.

Leave the service list empty and the link shows every appointment-based service with a self-booking-enabled plan. Still not group classes, still not recitals.


Group Class Self-Booking

Choose this when the offering is class-based — group classes, courses, and workshops, where several students attend each scheduled date. You create classes on the service in advance (Fall 2026, Tuesdays 4pm) and families enroll in the one they want. The picker describes it as 'Create custom links for session services.'

Why you would use it

  • The class already exists. Families should not hunt a teacher's calendar for something like group guitar. They should see Group Guitar, pick Fall or Spring, and enroll.
  • Capacity and waitlists are built in. When a session is full, this widget can offer the waitlist. An appointment widget has no class roster to waitlist onto.
  • You can publish a season in one URL. One session widget can include several group-class services, or several classes of the same service, which is how a "Fall group classes" campaign usually works.
  • Location still filters; the teacher does not. Staff assignment lives on the session rather than as a browse step, so there is no staff filter on this widget.

What families do: open the link, pick a group class service, pick a session, then choose a plan and check out — or join the waitlist if you have that open. They never pick a blank Tuesday at 3:30 on a private teacher's calendar.

On the Self-Booking Links card you can also set Default view for group class self-booking to Grid or List. That is a studio-wide default for session widgets, not a fourth widget type.

For enrolling students yourself, see How do I enroll my clients into session services?


Event Self-Booking

Choose this when the offering is event-based — recitals, showcases, concerts, and other performances. The picker describes it as Create custom links for event services.

Events self-booking exists so participants can enroll in a specific performance. It is not ticketing, and it is not a way to sell seats to an audience.

Why you would use it

  • A recital is neither a lesson nor a class. Families need to pick which performance, not which weekly time with Jordan. A recital on an appointment or session widget is simply hidden.
  • The program depends on enrollment. Self-booking into the event is how performers land on the program you later share as a link, QR code, or PDF.
  • It keeps recital registration off the lesson catalog. A dedicated event link, often restricted to clients, is the usual pattern for dress rehearsals and recitals you do not want prospects treating as open classes.

The public flow is closer to session booking than appointment booking: pick an event service, pick a date, enroll as a performer with any slot details you use, then check out.

Setting up the service behind the link — locations, event attributes, performance details, email templates, and generating the program — is a longer job with its own guide: Events Services & Events Self-Booking.

One planning note: promotional links are appointment or session only. There is no event promo type, so do not build a recital discount around the Promotions copy with promo flow.


What each widget supports

Appointment Session Event
Service type it will show Appointment based Class based Event based
Typical offerings Private lessons, trials, make-ups Group classes, courses, workshops Recitals, showcases, concerts
What the family picks after the service Teacher or location, then a time A scheduled class A performance date
Services filter Yes Yes Yes
Staff filter Yes No No
Location filter Yes Yes No
Payment plan type filter Yes No No
Weekly ongoing timeslots Yes No No
Default primary selection (Staff / Location) Yes No No
Make accessible by visitors Yes Yes Yes
Call to action on empty client schedules Yes Yes Yes
Waitlist Not in the widget. Handled separately by Appointment Waitlist Notifications Yes, in the booking flow when the session allows it No
Can include the other two types No No No
Works on a landing page beside the other types Yes Yes Yes

 


You cannot mix types in one link

The service picker is filtered by widget type, and it does not explain itself. On a Group Class Self-Booking link, Select services lists only session-based services. Your appointment-based piano program is not there. No error says "this service is appointment-based" — the service is simply absent. The same holds in reverse, and recitals appear on neither of the other two.

The type cannot be changed after you create the link. You choose it in Choose the type of widget for the link, and then it is locked. The edit window has no widget-type control. To switch, remove the link and create a new one of the right type, then save with Update Business — the steps are under If you picked the wrong type.

Toggling types does not convert a service. If Piano Program was created as an appointment service, it will never book through a session widget. Changing which widget type you are adding does not change the service. You either pick Appointment Self-Booking, or you rebuild the offering as a session-based service, which is a product decision rather than a link setting.

An empty public page is often this mismatch, not a broken link. A session widget with an empty service filter still loads only session-based services with self-booking enabled. If your studio is mostly private lessons, that page looks blank — and the link is doing exactly what a session widget does.


Ways to offer more than one type

You are choosing one widget per link, not one for the whole studio. Most studios run several.

1. Separate links, separate buttons

One appointment URL for trials, one class URL for group classes, one event URL for the recital, each on the matching website button, flyer, or ad.

  • Best for: a website that already has "Book a trial" and "Enroll in a class" as separate calls to action
  • Why choose it: each URL does one job well, and analytics and promotions stay clean
  • Trade-off: families see two or three destinations rather than one menu
2. A landing page that groups the links

Create the links separately, then add them to a landing page (/m/…). Families land on one branded menu and each card opens the correct widget.

  • Best for: a campaign, a new teacher, a location, or a season where you want one public URL
  • Why choose it: this is the supported way to put an appointment offering and a group class on the same public page. The landing page is a menu, not a mixed widget
  • Trade-off: each card still needs its own visitor access, title, and photo. A landing page can look finished while a card behind it still asks people to log in
3. Promotional links on the matching widget

A promotional URL is a self-booking link with promo ID. Appointment promotions attach only to appointment widgets, session promotions only to session widgets.

  • Best for: a discounted trial or a discounted class term
  • Why choose it: the discount applies in the flow that can actually sell that offering
  • Trade-off: a class promotion will not appear on your trial link. Build both if the campaign spans both
4. Call to action on empty client schedules

Any of the three types can be offered as a Call to action on client profiles with an empty schedule.

  • Best for: existing families who are not currently enrolled and should start from inside Opus1
  • Trade-off: this is not a marketing URL, and prospects never see it
5. Staff book on the family's behalf

Always available. Widget type only constrains the public flow, so staff enrolling from inside Opus1 are not limited by the widget catalog.

Most studios run 1 and 2 together: public trial and class links, plus a landing page for the campaign that should feel like one destination.


How to check a service's type

Do this before you create the link. It is faster than discovering the service is missing from the picker.

  1. Go to Settings → Services.
  2. Open the offering.
  3. Read the type, which was set when the service was created:
Service type in Opus1 Typical offerings Widget
Appointment based Private lessons, trials Appointment Self-Booking
Group Class based Group classes, courses, workshops Group Class Self-Booking
Event based Recitals, showcases, concerts Event Self-Booking
Subscription only Instrument rental, membership fees None

Subscription-only services have no widget. They charge on a schedule without a booked appointment or class, and there is no fourth widget type for them. They appear in none of the three service pickers, so do not spend time toggling Appointment, Session, and Event looking for a rental plan — enroll those from inside Opus1 or handle them at the desk.

A service's type cannot be changed from the link window. It was set when the service was created.


How to choose the type when you create a link

  1. Go to Settings → Business → Self-Booking Links.
  2. Click the edit pencil on Self-booking links.
  3. Click Add a custom link.
  4. In Choose the type of widget for the link, pick the type matching your service.
  5. Continue into Create Link. Select services now lists only offerings of that type.
  6. Fill in Link name and any filters, then click Add Link.
  7. Click Update Business and wait for Business updated successfully.

Step 7 is the save. Add Link only puts the link into the form on your screen — see Saving self-booking links: the Update Business step.

The type is shown against each link in the list, as Appointment, Group Class, or Event.


If you picked the wrong type

You will usually notice because the service you want is missing from Select services, or the public URL loads empty.

  1. Cancel out of the create window if you have not clicked Add Link yet, and start again with the matching type.
  2. If the wrong link is already in the list, Remove it. A link that was already live stays live until you click Update Business.
  3. Click Add a custom link again, choose the correct type, add the service, and click Add Link.
  4. Click Update Business.

Troubleshooting

I cannot find my piano program in the service list. Check the service type. An appointment-based service needs an Appointment Self-Booking link, and a session widget will never list it. This is expected rather than a bug.

I created a session widget and the public page is empty. The widget loads only session-based services with at least one plan enabled for self-booking. Appointment services will not appear even with the service filter left empty. Confirm the type, then confirm the plan is enabled for self-booking.

I keep switching widget types and the service still is not there. Switching the type you are about to add does not change existing services or existing links. Open the service, read its type, and create a new link of that type.

The edit window has no way to change Appointment to Group Class. Correct. Remove the link and recreate it.

My promotional link will not attach to this widget. Appointment promotions list only appointment widgets, and session promotions only session widgets. Use a matching pair. There is no event promotion type.

The service is the right type and still missing. The payment plan may not be enabled for self-booking, the service may be hidden from visitors, or a location or staff filter on the link may be excluding it. Those are separate from widget type — test while logged out if the audience is visitors.

I cannot click the edit pencil. Only Owners and Managers can modify business settings in Opus1.


FAQ

Is widget type the same as service type? They have to match, but they are set in different places. Service type is chosen when you create the offering; widget type is chosen when you create the link. A link can only display services of its own type.

If I leave services blank, does the link show everything we offer? No. It shows everything of that widget's type with a self-booking-enabled plan. An empty session widget means all group classes, not the whole studio.

Does a landing page mix types? A landing page lists links of any type, and each card still opens a single-type widget. That is how Opus1 presents mixed offerings without mixing engines.

Can families pick a teacher on a group class widget? Not as a browse step. The teacher is part of the session you already scheduled, so staff filters exist only on appointment widgets.

Can staff book a group class if we only published an appointment link? Yes. Widget type constrains the public link only. Staff booking inside Opus1 is separate and unaffected.


Related Articles

The rest of the self-booking link cluster

Setting up each kind of service