Print page

Advanced Pricing

Pricing rules allow you to dynamically change the price of your appointments based on many different factors. This allows you to implement almost any pricing construct you can think of, for example:

  • Increase prices by 50% on the weekends
  • Round to the nearest $5 and add $2 if the appointment length is less than 1 hour
  • Add an amount based on a selection from a drop-down menu or a custom form
  • Charge an upfront deposit of 10% if booked more than a month in advance
Due to the large number of possibilities offered by pricing rules they can get somewhat complex to set up. You may want to check if an easier method is available in the section Setting prices.

Set up pricing rules

  1. Setting up pricing rules differs per schedule type:

    • Resource Schedule

      On a Resource schedule, on the Resources tab, under Price, select the option: Depends on date, length or resource, and then click Save changes.

    • Capacity Schedule

      In case of a Capacity schedule, on the Resources tab, under Price, select the option: Add a price field to the “create new slot” dialog, and then click Save changes.

    • Service Schedule

      No additional step is needed to activate pricing rules. However, in order to show prices in the list of services, you need to explicitly check the option: Show a price column in lists near the bottom of the Services tab, and click Save changes.

  2. Navigate back to the Resources (or Services) Tab. Then click Set up pricing to go to the configuration screen.
  3. Set the base price

    The base price is the starting price of an booking before any pricing rules are applied. How the base price is set differs per schedule type:

    • Resource Schedule

      At the top of the pricing rules configuration screen, you can set a base price. By default this price is per reservation. You can also choose a base price per unit of time (minute, half hour, day, etc). For instance, you can charge $15 per half hour per reservation.

    • Capacity Schedule

      At the top of the pricing rules configuration screen, you can set the default base price for slots. This base price is per reservation. If required, you can override the default base price for a slot while creating or editing this slot.

    • Service Schedule

      For service schedules each service has its own base price. A service’s base price can be set while creating or editing the service.

  4. Add pricing rules

    New pricing rules are created on the configuration screen under “Create Pricing Rule”, as follows:

    1. First select an action to perform on the price. For example, “Increase the price by”.
    2. Depending on the action you choose a field may appear where you need to provide more information. For the option “Increase the price by” a field will appear to fill in the amount.
    3. Next, specify the conditions that determine when to perform this action. For example, “If … the weekday is one of, Saturday or Sunday”. The action will only be applied if all the conditions are met. If you don’t specify any conditions, the action is always applied.
    4. Click Save changes at the bottom of the page.
    5. The pricing rule will now appear at the top of the page under “Pricing rules”. The pricing rules are evaluated in order from top to bottom; the order can be changed by dragging them to the desired position in the list
    Pricing rule creation example
After you set up a pricing rule you will now also find a “set up pricing” link on the Overview tab of the configuration page so you can reach the Pricing Rules configuration page more quickly.

“Price per item” versus “Total price”

Within the context of pricing rules ‘price’ and ‘total’ have very specific meanings:

  • If you have a Resource schedule, then ‘price’ means price per selected unit (per reservation, per minute, per hour, etc), while the ‘total’ is added once per booking. For example: With a ‘price’ of $6 per hour, and a ‘total’ of $10, for an reservation of 2 hours the final price becomes 2 × $6 + $10 = $22.
  • If you are using a Capacity schedule, then ‘price’ means price per reservation in the same slot (also called quantity), while the ‘total’ is added once per booking. For example: With a ‘price’ of $5 for a quantity of 3, and a ‘total’ of $10, the final price becomes 3 × $5 + $10 = $25.
  • If you are using a Service schedule then there is no distinction between the two terms.

For reservations with repetition, each repetition is counted as an entirely separate booking. This means a total will be added for each repetition. This total might be different per booking.

Time partitioning

When you use a price per time unit on a Resource schedule, price calculations can get complex if an appointment spans periods where different price rules apply. Consider, for example, a situation where weekend bookings are twice as expensive as non-weekend bookings. When making a booking that includes one weekend day and one non-weekend day, the system will correctly apply the higher price for the weekend day only. You can imagine that this can get quite complex if multiple rules apply during different overlapping periods.

When using a price per reservation, only the price of the starting time applies and no time partitioning will be used. Similarly, only the start time is taken into account for slots on a Capacity schedule and appointments on a Service schedule.

Stop evaluating rules

The action “Stop evaluating rules” allows you to skip all following rules when the conditions match. This can be useful, for example, to have a set of rules only apply in the weekend and skip them for all other time frames.

Form fields

You can also add prices from a customizable field or an attached form that the user fills in while booking.

  • Use a price from a custom field

    In the pricing rules add one of the actions: “Add field to price” or “Add field to total”. These options will only appear if you have a custom field set on the schedule. (See Customizable fields). To set a price in the custom field simply name the price of the option. For example, “Extra towels $5”. When this options is selected by the user $5 will now be added. You can also specify percentages, for example, "Bring your own surfboard: −20%"

    For a detailed example of how to setup a drop-down field with pricing see Tips & Tricks

  • Use prices from an attached form

    To add prices from an attached form add the action “Add form” to the pricing rules. This option will only be shown if a form is attached to the schedule. (See Adding custom forms). To add a price to a form go to the form configuration, Design tab. Then add curly brackets { } with the desired price to the end of a field’s option. For example:
    Extra sauna time +$10 {$10} or Room with a view $40[view]{$40}.

    These prices will be added to the total. (See “Price per item” versus “Total price”) You can alternatively add an amount to the price by placing a # after the price. For example: Extra sauna time +$10 {$10#}, could be $10 per hour for extra sauna time.

    The price between { } will not be shown on the form, to show the price also add it to the text before the brackets.

User groups

It’s possible to create user groups and assign users to them. If you create at least one user group, an new kind of condition will appear: … the user’s group is. This condition allows you to limit a pricing rule to a specific group. You can use this to reduce the price for people in a specific group, or raise the price for people not in any group.

Set to unavailable

The action “Set to unavailable” allows you to make it impossible to make a reservation under certain conditions. For example, “Set to unavailable if … the time until start is less than 1:00:00” (less than 1 day)

This can be useful, for instance, if only users in the premium user group are allowed to book on weekends. Or you can make a class unavailable if no one has signed up 2 days in advance. Keep in mind the user will only see this as “unavailable”. It is up to you to explain why it is unavailable, for instance by using a custom message above the schedule.


Pricing rules can also be used to implement deposits. This means that people are presented with the total price, but are only required to pay the deposit upfront and the remainder is collected later. Note that the system does not have support for collection the remainder, you would need to track this yourself. There are actions available to set a fixed amount or a percentage of the total as deposit.