User Groups enable fine-grained control over schedule access

By default, all users in an account have access to all schedules on that account. If you have more complex requirements, such as having only certain users being allowed to see different schedules, then that can be achieved by assigning your users to groups for access. A schedule can also be assigned to one or more groups, and the result will be that only users from those group will be able to access that schedule. Furthermore, user groups allow a workflow where users have to wait for approval before being allowed to access a schedule.

Limiting schedule access by assigning users to a User Group

Creating groups

Most of the configuration options related to user groups will be hidden until you create at least one group. You can find the link to the User Groups at the top of the User Management screen. You can create a new group by filling in a description and clicking Add.

Assigning users to groups

After you’ve created at least one group, the dialog boxes on the User Management screen will display an additional option to assign a user to a group. If you need to assign many users to groups you may want to consider exporting all users to a CSV file, editing the Group column in a spreadsheet, and then importing the file again.

Note that if you change the role or the group of a superuser that this will automatically log out that superuser. The user will need to log back in to get the updated status.

Assigning schedules to groups

On the Configure > Access tab of the schedule, you can find an option to limit viewing or editing that schedule to one or more groups. Depending on the other setting on that page, users outside the group will either be barred from making changes, or be blocked completely. If access is completely blocked, then users from non-authorized groups will see a message explaining they are blocked, should they try to access the schedule. That message can be edited on the Configure > Layout tab, for example to include a link to a list of all schedules.

It can be useful to allow users who are not logged in to view the schedule, but not make any changes. This can also be configured on the Access tab as explained in the section What can users do…. If a user from another group now views the schedule, in this case they will be able to do so, however, they will not be able to make any changes or create an appointment.

Deleting groups

Be careful with deleting groups. The users in them will not be deleted, but they will be returned to the same status as users without a group. Schedules still belonging to the deleted group will remain inaccessible until you change their group back to an existing one, or turn off group limitations.

Differentiating price based on User Group

It’s possible to create a pricing rule which reduces the price for people in the group. A pricing rule can also be configured to control other behavior. For example, you can disallow people from a certain group to book too long in advance or only on certain days of the week.

Using User Groups to filter the schedule list

If you’ve set up a custom domain name, then going to a URL with just the domain name will show a list of schedule including all forms. Another way to show a list of all schedules in an account is with the URL:

On the Access Control page, you can find a setting that lets you switch between showing a list, or simply redirecting to the first schedule listed on your dashboard. By the way, you can rearrange the order of the schedules, by clicking and dragging them into place on the Dashboard.

That section also has the option Require the user to log in first. If you enable this option then, obviously, the user needs to log in first, or create an account if he doesn’t have one yet. You can embellish this login screen on the Layout Settings page with a welcome message.

Importantly, after the user logs in, the list of schedules is filtered to only show the ones they have access to. And if a user has access to a single schedule, they will be forwarded to that schedule automatically. This allows you to communicate a single link to your users, for example on your website, and will allow differently-grouped users to end up on the schedule you want them to.

Requiring approval before being allowed access to a schedule

If a user is asked to log in and there are no schedules they have access to, then they will be shown the “Blocked” screen of the first schedule in your account. Since new users are by default not put in any group, you can use this to show the user a message that says he will have to wait for approval from the administrator. On the Access Control page you can find the setting Send a notification mail to the administrator to email yourself a notice whenever someone new signs up.

Limiting superusers by assigning them to a User Group

Limiting superusers to specific schedules

By default, superusers have superuser status for all schedules on an account, regardless of the group they have been assigned to. When a schedule is assigned to a group, an additional option is displayed that allows you to also require superusers to be part of that group. Superusers outside the schedule’s group will be treated as regular users for that schedule.

This can be useful, for example, if you want to manage multiple therapists, each with their own customers, from a single SuperSaaS account. If you need multiple superusers for a schedule, but do not want them to have account-wide access, then this would be the way to configure that. If you only need a single person to be a superuser for a schedule, a common scenario, then there is no need to create a separate group: In that case you can simply enter their name on the Configure > Access tab in the provided box and they will be promoted for that schedule only.

Changing superusers’ access rights to the User Management screen

By default, superusers can only view and edit users from their own group, or users who have not yet been put into a group. They are also barred from changing the group, or promoting a user to superuser. Furthermore, the group limit extends to their Dashboard overview page and to Importing and Exporting users.

On the Access Control page, at the bottom, you can find the setting Allow superusers to add other users and change their access level…. If you select this option, then superusers will be able to update and change all users regardless of the group they have been assigned to.

Limiting superuser access to forms

By default, superusers from all groups can see all forms and edit them. Superusers can be excluded from viewing forms not intended for them on the Configure > Overview tab of a form. This demotes the superuser to a regular user in the context of that form. So if the form allows access to regular users, the superuser would still be able to fill out new forms.

Using User Groups to filter products in the shop

After you define user groups the Shop Management page will show an option to assign products to groups. By default a product can be purchased by every user, but if it has been assigned to one or more groups then only users in those groups can buy the product. Note that there is only a single type of credit in the system, so there is no option to have a specific type of credit that can only be used on a specific schedule or class. But you can limit which products users can buy, and which schedules they can spend it.

By creating a user group with no users in it, you can effectively hide products. This can be useful to temporarily disable products, or to create a product that’s only available to the administrator to enter as a manual purchase for a user.