Integrate a WordPress site with SuperSaaS

This page explains how to integrate a SuperSaaS schedule into a WordPress based website, so that your users only need to sign in once to access both your website and the SuperSaaS schedule within it. In order to use it you first need to sign up for a (free) SuperSaaS account.

If you do not ask your users to log in to your own website, you should follow the general instructions on how to integrate a schedule in your website. The module provided here will only work when the user is already logged into your own WordPress site.

Using WordPress login names for your SuperSaaS schedule

The SuperSaaS WordPress plugin displays a “Book now” button that automatically logs the user into a SuperSaaS schedule using his WordPress username. If you are not using the WordPress user registration system then you should follow the general instructions on how to integrate a schedule in your site.

The button generated by the plugin passes the WordPress user database information along to SuperSaaS, creating the user in the SuperSaaS database or updating his information as needed. This saves users from having to create a separate login for the booking system and avoids the need to log in twice.

Installation and setup of the plugin in WordPress

  1. Install the plugin. For WordPress 3+, go to Dashboard>Plugins and choose “Add New” then search for SuperSaaS. Click “Install Now” and activate the plugin. For older WordPress versions first download the plugin to your computer. Next, on the WordPress administrator dashboard choose Plugins>Add New from the left-hand menu. Click “Upload” at the top and select the file that you downloaded. Click “Install Now” and if all went well you can now click an Activate Plugin link.
  2. Set up the plugin. Select Settings>SuperSaaS from the menu to go to fill out the SuperSaaS Settings screen:
    • SuperSaaS account name * – This is the name of your account (not your email address).
    • SuperSaaS API key * – You can find the API key of your SuperSaaS account at the bottom of the Account Info page.
    • Schedule name – You can either put the name of a schedule or you can provide a full URL if you want to add specific parameters to direct the user to a specific view. If you are using more than one schedule, see below.
    • Button Label – The button label. This defaults to “Book Now” or its equivalent in the supported languages. If the button has a background image, this will be the alternate text value.
    • Button image – The URL of the background image. This has no default value. So, the button will not have a background image, if this isn’t configured. Example:
      Book now!
      (See more examples)
    • Custom Domain Name – If you created a custom domain name to point to your schedule, you can enter it here to correctly point your users to it.
    (* – required field)
WordPress SuperSaaS Plugin Settings

Install WordPress Extension

For WordPress 3+ it is easy to implement the SuperSaaS module.
  • On the WordPress administrator dashboard choose “Plugins” → “Add New” from the left-hand menu
  • Search for “SuperSaaS”
  • Click “Install Now”
  • Now follow the instructions at point 2 above

Change SuperSaaS account settings to work with WordPress

Your WordPress user database is leading, which means that changes in user information on your WordPress site propagate to SuperSaaS but not the other way around. Therefore, we recommend that you do not let your users change their user information on SuperSaaS because that could easily confuse them. For example, if a user were allowed to change his password on SuperSaaS he would probably not realize that his WordPress password is still the same. Make the following changes to your SuperSaaS account to avoid such inconsistencies:

  • On the Access Control page, select Log in and registration managed on your site
  • On the Access Control page, select Prevent users from updating their own information
  • On the Layout Settings page, fill out the box Your URL with the URL of the page on your site where users can log in

Secondly, you need to ensure that the database fields in WordPress match those in your SuperSaaS user database. Make the following changes on the Access Control page:

  • Deselect Use email address as login name
  • Switch the Email address radio button that appears to Optional (or Required)
  • Switch the Full name radio button to Optional
  • Switch all other fields to Don’t Ask (you can switch off the Password field too if you have selected Login is not handled here)

You can now try out the button on your site. As the administrator, you will still need to log in through the main SuperSaaS login page so you would want to try this out pretending to be a regular user. If you want to define superusers in SuperSaaS, make sure they have logged in at least once using the button before changing their role on the User Management page.

SuperSaaS Access Control

Configure SuperSaaS

This image depicts the Access Control page in your SuperSaaS account after making the settings described above.

Add the button to your pages

Place the short code [supersaas] on your pages everywhere you want the button to appear. The short code can take the optional parameters after, label and image to overwrite the values on the settings screen. This is useful if you want to add multiple buttons to different schedules, for example:

[supersaas after="schedule1" label="Book on Schedule 1"]
[supersaas after="schedule2" label="Book on Schedule 2" image=""]
Entering multiple Booking Buttons in a WordPress post
Shortcode in classic editor (WordPress < 5.6)
Add Shortcode Block to WordPress post
Add shortcode block (WordPress >= 5.6)
Rendering a post with multiple buttons
Button result

Troubleshooting tips

  • Note that the button only appears to users who are logged in to your WordPress site
  • If you see an error Email is not a valid email address, then please read the previous paragraph again to confirm you have made the correct settings in your SuperSaaS account
  • If the button redirects the user but does not appear to actually log him in and you have used a URL in the field Schedule name or URL, then make sure that the domain of that URL is entered in the Custom Domain Name field