Print page

Customizing messages and notifications

Most of the generated messages that are shown as part of the registration, booking and/or payment process can be replaced by your own custom messages. The same goes for the content of email and SMS notifications and reminders. Almost all messages can contain so-called “auto texts”, which are “magic words” that are automatically replaced by some dynamic value when the message is generated.

Custom Messages

Messages at both the account and schedule levels can be replaced by your own custom messages. At the account level you can modify the messages that are shown when users enter your webshop (see Payment Setup) or request help (see Layout Settings). The messages that can be modified at the schedule level, via Configure > Layout, include those shown on the login and checkout screens, as well as the one shown in the white space above the schedule. Furthermore, you may also modify the message that is shown when access to your schedule is (temporarily) blocked or when you have blocked the user in question.

You can style your messages using the formatting toolbar at the top of each message box. This toolbar also allows you to include links and (web-based) images in your message; note that, apart from your logo, you cannot upload images to SuperSaaS. Images have to be accessible online via the URL provided as its source.

Alternatively, you can style messages using HTML formatting, which is available via the < > button in the toolbar. This option can also be used to insert JavaScript scripts into the page where these messages are shown.

<input onclick="'//', 'Popup', 'width=400,height=300')" type="button" value="Pop-up" />

This functionality can also be used to add tracking code for Google Analytics to your schedule. This service can provide you with extensive statistics on where your visitors come from.

Dynamic messages using autotext

You can use so-called “auto text” to make your messages dynamic. Auto text are “magic words” that are automatically replaced by some dynamic value when the message is generated. This allows you, for example, to address users by name or make the message language-dependent. An auto text word is simply a word preceded by a $, i.e. $name.

Apart from system messages, auto text strings can also be used in email messages. Note, however, that the use of certain auto text strings is limited to either system or email messages only. Please refer to the tables below to see which auto texts you can use.
In the table below you find the auto text strings that can be used in messages shown on the website.
Auto text strings for display messages
The word……will be replaced with
$loginWrites out the login name of the person currently logged in
$nameWrites out the full name of the person currently logged in, if available
$creditWrites out the amount of credit for the person currently logged in
$shopCreates a link to your shop, for example you could write: “Please buy credits in the $shop before booking”
$agendaCreates a link to a page that shows appointments across all schedules in the account, only works when logged in as a user
$autoNormally the default text is replaced with your own, but $auto re-inserts it. This is useful for the default text above the schedule that changes depending on whether someone is allowed to book or not
$suWrites out the supervisor field for the current user, if available. You can use this to show a message to a specific person when he logs in
$idWrites out the ID of the current object. Only available on the checkout screen and the “Thank you” screen for submitted forms. You can use this to give customers a unique reference number
$totalWrites the total price including discounts, or the payable deposit. Only available on the checkout screen
$if condition {message}If the condition is true, the message between the curly brackets will be displayed. See below for possible conditions. The message can span multiple lines and can contain other magic words, except for another $if statement
$else {message}The $else clause can only follow an $if clause. The message will be displayed if the preceding $if condition is not true.
To show a message only when certain conditions are met, an $if statement can be used. The table below shows the various conditions that can be used.
Possible conditions that can be used with the $if statement
ConditionApplies if…
$if user {message}The message is displayed if a user is logged in
$if out {message}The message is displayed if a user is not logged in
$if shared {message}The message is displayed if a user is logged in with a shared password
$if admin {message}The message is displayed if a user is logged as administrator or superuser
$if XX {message}The message is displayed if the currently selected language has an ISO language code of XX
$if paid {message}The message is displayed after the customer successfully completes a payment transaction. It can only be added to the “Checkout screen” message
$if mobile {message}The message is displayed only when presenting the mobile version of the site
$if desktop {message}The message is displayed only when presenting the desktop version of the site
$if calendar {message}The message is displayed only when viewing the day, week, or month calendar
$if view {message}The message is displayed only when displaying this particular (default) view. The view can be set to free, agenda, day, week or month

A common use of dynamic messages is to allow for language-dependent messages for different people. The condition in the $if XX {message} statement can be a two-character language code such as EN, DE or ES. This could be used as follows:

$if EN {Good morning $login}
$if DE {Guten Morgen $login}

Another use of the $if statement is to display a different messages depending on whether the visitor has signed in or not:

$if out {Please sign in first or create an account if you don't have one}
$if user {Welcome back $login!}

Note that (conditional) auto text statements can also be used in HTML mode. This allows you to, for example, conditionally include a tracking code to your checkout page.

$if paid {Thanks for your business, $name <script>…</script>}

Custom email notifications and reminders

Under Configure > Process you can choose to confirm appointment/reservations by email and/or send users an email reminder some time prior to their appointment/reservation. By default, the email confirmation contains the following information:

Dear Name,

This message is confirmation that your reservation* was created.

Details of the new reservation*:

  …details of the appointment…

You can access the schedule at:…

Please do not reply to this message, it was automatically generated and replies will not be read
* The term “reservation” can be changed via Configure > Process

If you would like to add some text to this message or replace it with your own text altogether, you can do so using a combination of normal text and autotext (See above for an explanation of autotext). Booking confirmations and reminders can be changed via Configure > Layout, while the text of registration confirmations can be entered via Layout Settings.

Note that emails are sent in plain text, so it’s not possible to add HTML code here.

Auto text strings for use in email messages and SMS-reminders
The word……will be replaced with
$nameThe name of the person to whom the mail is addressed, if available
$dearWrites out "Dear $name," unless $name is not known
$loginThe login name of the creator (blank if administrator or not logged in)
$subjectThe rest of this line will be used as the subject line of the email, it may contain other magic words
$urlA link that points to the schedule at the date of the reservation
$modurlA link that contains a token which allows modification of this reservation without logging in
$actionDescribes what action triggered this email. E.g.: “Your booking was $action” → “Your booking was created”
$detailsLists the booking details, useful if those had been removed by the $replace command below
$replaceRemoves all the system-generated text, only your text will be shown
$nourlRemoves just the URL from the system pre-generated text
$idThe object’s ID, this is useful to quickly look it up in the supervisor interface
$slot_idThe ID of the slot that this object belongs to (capacity schedule only)
$form_idThe ID of the form if this object has a form attached
The start time, finish time and creation date for this booking.
Use $start_time or $finish_time to show only the time
$previous_startIf the appointment was updated, this shows the start time before the update
$lengthThe duration of the appointment displayed as H:MM or DD:HH:MM
$icalThe booking will be attached to the notification as an iCalendar file
$formIf a form is connected to this object it will be attached as an HTML file
$pricePrice of the appointment. For repeating appointments it’s the price of the first one
$passwordIn a sign up confirmation mail this displays the user’s password
$resourcesThe names of connected resources (service schedule only)
Displays the value of custom fields defined on the configuration screen, Process tab
Displays the value of custom fields defined on the Access Control page
$if "action"The rest of the sentence is only printed if action matches the current action. To apply the condition to multiple lines enclose them in curly brackets. See below for a list of possible actions
$else {message}The $else clause can only follow an $if clause. The message must be enclosed in curly brackets and will only be displayed if the preceding $if condition is not true.
The title, location, description and quantity booked (capacity schedule only). For multi-resource schedules $description contains the resource name

Normally, your custom text is appended to the email generated by the system. However, if you use the string $replace anywhere in the message, then your text will replace the system message entirely.

Note that the field to adjust the text of appointment confirmations controls all possible email confirmations, not just new booking confirmations. To customize the text for a specific confirmation, you would need to use the conditional $if statement as explained below.

The commands can also be chained. The next code snippet would only replace the title when a new appointment is created, and otherwise leave the default title:

$if "created" {$subject You have a new appointment on $start}

Permissible values after the $if statement are: created, changed, deleted, approved, refunded, placed_on_the_waiting_list, changed_on_the_waiting_list, removed_from_the_waiting_list or placed (placed means it moved from the waiting list to become a regular appointment). You can also use a language identifier like EN or ES to only display a message if a person has selected that particular language on the calendar.

Another use of auto text is to provide your clients with a direct link to a screen where they can edit their appointment. You could add this text to email notifications:
To change your appointment online go to:

The $modurl code will generate a link that contains a token that can allows the visitor of that link to modify or delete the appointment without the need to log in. This is especially useful if you allow people to create appointments without logging in because this way you can allow them to change their own appointments afterwards.

Setting the “From” address

By default, email notifications from your account are sent with in the "From:" field of the message. It’s a good idea to change this field to reassure your users that the message comes from you and to ensure that replies get back to you. You can change this setting on the Layout Settings screen. It lets you either add a “Reply-to” header or change the “From” header to your own address.

Changing the “From” address to your own would ensure that your account name is displayed in the email and that replies get sent back to you. However this option comes with the important proviso that the notifications have a higher risk of being marked as spam. In order to comply with internet standards aimed at preventing spam, a Resent-From: SuperSaaS header will still be added, which is sometimes visible to the recipient.

The “Reply-to” header, on the other hand, will still send with in the “From” field, but most email clients will display your account name as the sender and will also send back replies to you. Because our mail server will cryptographically sign the message if it has in the “From” field it has a very high chance of passing all spam filters.

As an aside, any links mentioned in email messages will show unless you set up a custom domain and link it to your account.

Some email domains are configured with a so-called SPF record. This record signals to other mail servers that they should only accept email from a sender listed in that SPF record. If you set the “From” address to your own email then our system will check for the existence of such an SPF record in the DNS for your domain. If the record exists it needs to specify that it allows our mail server to send email. If you have the ability to modify the SPF record of your domain you can add this to the SPF record to ensure it allows sending from our servers:
If you want to use your own “From” Address and your mail domain is configured in a way that does not to allow a third party to send on your behalf, then you can also send email via your own server. Using your own server can be useful if you want to prevent any reference to SuperSaaS showing up in the mail headers and also allows you to cryptographically sign the message to improve deliverability.

Custom SMS

On the SMS Gateway page you can customize the default SMS-reminder’s textual content. The same auto text codes used to customize email messages can be used to customize SMS-reminders sent to your customers. Note that this does not affect SMS-notifications that are sent to you to inform you about new or updated bookings.

The default reminder content is:
Reminder: <appointment title> on <date and time>
The first inserted field will show the appointment title and the second one shows the date and time of the appointment. For example, provided you have not modified the message, a reminder for a yoga class would look something like this:
Reminder: Yoga (Briana) on 10/10/2018 18:00

More information on configuring SMS confirmations can be found in the confirmation and reminder documentation.