All tutorials

How to create an online booking system for a therapist

In this tutorial we set up an online appointment schedule for a massage therapist. With small modifications this schedule could also be used for many different purposes, such as booking photography sessions, driving lessons or meeting rooms.

Booking a one-on-one appointment

We refer to this schedule type as a “resource-type” schedule. The resource schedule allows people to book a one-on-one time with a person, an item or a specific space. It is possible to put multiple resources in a schedule, so users can schedule with multiple therapists. But when you have group events like classes, the capacity-type schedule tutorial would be the one to view. And if you want your users to choose from a list of services, where each service can consist of one or more resources, there is the service-type schedule tutorial.

This tutorial demonstrates the following:

  • Setting up a simple appointment schedule for a single therapist
  • Offering several appointment types and lengths in a drop-down menu
  • Collecting payment with each appointment

You can view the result on the therapist demo page. It’s possible to modify that page to make it appear as part of your site, but you can also integrate a SuperSaaS schedule as a so-called “widget”. A widget can appear as a small frame on your site, or as a small button, like this:

Setting up the schedule in 5 easy steps

The easiest way to set up an appointment schedule is by using a build-and-test cycle: After the initial configuration you try it out, make changes, and repeat, until it works the way you want.

Step Setting up a basic schedule using the New Schedule Wizard

Before you begin

In order to follow the steps in this tutorial, you need to create an account. It’s free and all you need is a valid email address. After you’ve created an account log in to reach your Dashboard.

Select the appropriate schedule type

Click New Schedule in the menu on the right side of your Dashboard. You will be directed to the New Schedule Wizard. You will first need to choose whether you want to create a Resource, Capacity or Service schedule.

This is an important choice to make at the outset, because the only way to change the type of schedule is to start again with a new schedule. All other settings can be changed at any time. Also, you can create as many schedules as you want in an account, so feel free to experiment.

For this tutorial we select the Resource schedule, which allows people to book one-on-one time with a person, item or specific space. It is ideal for a massage therapist who cannot have two appointments that overlap.

Determine who can make changes to the schedule

For the purpose of this tutorial let’s select the option: No log in necessary so anyone with access to the link can make a booking without having to create an account. Click Next step to continue.

Select single or multiple resources

A massage therapist is the only resource that can be booked, so the first option, One: A single resource, person, object or location is best for this type of schedule. If you have more than one person or item that can be booked, you will be able to list them under the second option for multiple resources. To continue, click Next step.

Name your appointment system

The title you give to your appointment schedule, in combination with your account name, forms the URL that your clients will see when they use your appointment system. You can always change it later (as well as your account name) but note that if you do so, the schedule’s web address will change accordingly. Type in the schedule’s title, for example “Therapist” and click Next step.

Set your availability

The settings in the final step provide basic constraints. After the setup finishes we will refine those in the next steps. When appointments are configured to begin and end at predetermined times, the system can create a clear user interface by displaying time slots that clients can click on to make an appointment. The therapist schedule demo shows this type of setup. We configure the appointments to start at 3 fixed times by entering “9:00am, 12:00pm, 3:00pm” (entering “9:00, 12:00, 15:00” would work just as well if you like to use a 24-hour clock). Click Next step one final time.

Clicking Finish creates the schedule and makes it accessible online. You now have a functional appointment schedule. Move on to Step 2 to check that it works as expected.

Step Trying out the schedule to see if it works as expected

To use your appointment schedule as an administrator, click the Use button. Note that this button is only visible when you are logged in as an administrator.

Regular users will see the same appointment schedule but with fewer options. You can also find the Use button on your Dashboard page. You can access your Dashboard via the menu in the top right corner of your screen. Furthermore, you can also bookmark the page in your browser for daily use.

Empty schedule

Create an appointment

Click on a time slot (or predetermined chip as can be seen in the demo) and a “New Reservation” dialog window will appear. If this window is in an inconvenient place, you can simply drag to a more suitable place on your screen by the title bar.

Creating an appointment

Enter the appointment date by clicking the “When” field, either by using the pop-up calendar that will appear or by manually entering a date. By default, the system only asks for a name and a phone number but you can add additional fields to collect more booking details.

Click Create reservation and the schedule will update to show the time slot has been booked. If you would like to edit the appointment, click on it again to make changes. Click Update reservation before closing it to save your changes.

Schedule with appointment
Step Adjusting the configuration

You can view and change the default settings of your appointment schedule to better match your needs by clicking the Configure button. This brings you to an Overview page that contains a summary of all the options you can change. Here you can also temporarily block the appointment schedule, or delete it entirely to start anew.

Admin resources tab

Configure the resource parameters

The Configure > Resources tab contains the settings that define the people, things or spaces that you are scheduling. Note that this page will look differently if you are using a different schedule type.

For massage therapy, the main resource is a person, the therapist. You could add, for example, a second therapist to the schedule. Note that if you delete a resource, all the associated appointments will also be deleted.

You can find detailed information about the wide range of configurations under Access, Process and Layout in the support documentation.

Define your reservation

Under “Term used to describe an entry”, you can select a term to refer to “reservations” from the list or you can add a custom term to refer to reservations. In this example “session” or “treatment” might be preferable. This term will be used in all on-screen messages and email confirmations.

Enter the singular form and the system will automatically convert it to plural where appropriate. For foreign words, enter the term as in singular and plural forms, separated by a comma, for example, “traitement de spa, traitements de spa”.

The term used to refer to a “user” can also be customized and can be found via Layout Settings. For example, you can choose “client” or “customer”.

Limit per user

Next, determine the number of appointments a client can make under “Limit per user”. When the maximum is reached, the client can only change or delete existing appointments.

You can select whether previous appointments should be included in the total or whether it should only include upcoming appointments. You can also specify a separate limit for the number of appointments that can take place on the same day, week or month.

Appointment length

There are three options for determining appointment length:

  1. The user determines the length by choosing start and finish time. You can provide minimum and maximum durations to limit their choices.
  2. All appointments have the same fixed length. Simply specify a length as a default value.
  3. The user selects the length from a drop-down list. When you select this option, a selection box appears where you can list the options. The accompanying instructions and help text explain how to specify the options.

In the therapist demo we selected the drop-down option and listed three choices “Introduction sessions” (60 minutes), “Medium treatments” (90 minutes) and “Long treatments” (120 minutes).


Specify what you will charge for a booking. Via the Configure > Process tab you can configure whether payment is required. The payment method can be configured by selecting Payment Setup in the main menu on the Dashboard page.

You can choose a fixed price or base the price on the length of the appointment, the day of the week or several other factors. If you allow repeating appointments, the amount will be the sum of each separate appointment.


SuperSaaS offers you a broad array of payment options, ranging from presenting services’ and resources’ prices to handling online payment. You can also offer your clients various types of discounts and promotional coupons.

More information can be found in the section “Adding payment to your schedule”.

Time constraints

You can specify the default length of appointments and optionally put a buffer time. If you set a buffer time to anything other than zero the system will block the specified time in between appointments. This can be used to provide time for cleaning or setting up in between appointments. The buffer time is not applied between the opening time and the first appointment or following the last appointment, before closing time.

In the “Constrain start times” field, you can list the times that your clients can select as a start time. When the start times as well as the length of appointments are fixed, the system can display a user interface with ‘chips’ the client can click on to make an appointment. In this case the default length will set the size of the chip.

Note that if you don’t enter start time constraints, an appointment can potentially start at any time, possibly leaving your appointment schedule full of holes. Set a suitable rounding time to avoid clients booking irregular times such as from 2:07 pm to 2:23 pm. If you specify start time constraints as well as rounding times only the finish time will be rounded.

Should you offer a service that allows your clients to book resources for an entire day, such as renting bicycles, you can round all times to whole days. Selecting Round all times to the nearest day will omit the display of hours and minutes.


You can further limit availability by specifying opening hours on the Supervise > Opening Hours page.

Step Testing the schedule from a visitor’s point of view

Test the scheduling process from a client’s perspective to make sure you catch any errors before engaging with your clients and to ensure the appointment schedule behaves as expected. You will need to switch between administrator and user access.

Every appointment schedule has its own URL, which can be viewed via Configure under Overview. Importantly, the schedule looks a bit differently to you than it does to your users.

Your users will not see the Supervise and Configure buttons, and will typically not be able to see and change the appointments of other users. To view the schedule from your user’s point of view log out as administrator with the link in the top right menu, and then go back to the schedule page. You can speed up this process by using a second browser, or by using an anonymous browsing tab, the section “Testing the schedule you created” discusses this in detail.

Testing the schedule
Step Integrating the appointment system into your website

Once you are happy with the way your online booking system looks and have tested it to ensure that it behaves as expected for someone visiting your schedule, you are ready to direct people to it.

There are a few ways you can share your schedule:

  1. Put a link or button on your site that redirects people to your schedule
  2. Put a widget on your site that allows people to stay on your site while they book
  3. Add a “Book Now” button to your email and social media channels

Learn more about each of these options in the section “Integrate a schedule in your website”.



If you’d like to change the schedule’s appearance, there are several formatting options including changing colors and adding pictures. You can use the space above the schedule to give a more elaborate description or to add instructions.

Now that you have a fully functional appointment schedule, you can find useful tips to help you on “work with your schedule day-to-day”.