There is an updated version available of this page

Tutorial: Advanced Payment Options

The payment tutorial explains how to set up your schedule to receive payments. This page explains two advanced uses of the payment system: Pricing rules and the Credit System

With Pricing Rules you can:

With the Credit System you can:

Pricing Rules

Advanced Pricing screen

You can reach the pricing rules screen by going to the configuration screen, “Resources” tab, and clicking the small link “Set up pricing” in the “Price” section. Once the pricing rules are configured the same link will appear on the “Overview” tab of the configuration screen so you can more easily reach it.

As can be seen on the right, the screen consists of two sections. The top section shows which rules are configured and lets you experiment with the pricing without having to actually create bookings. The top section also lets you delete and rearrange rules once you configured them. The bottom section allows you to create new rules.

When no price rules are configured the price of an appointment will simply be equal to the base price. On a capacity schedule this price will be multiplied by the quantity if multiple bookings at once are allowed on the schedule and on a resource schedule you have the option to define whether the price is per booking or per unit of time.

Creating a new rule

Advanced Pricing rules

A price rule consists of one action, such as “increase price by 10%”, and zero or more conditions, such as “only if it’s Wednesday”. If a rule contains no conditions it is always applied, if conditions are specified the rule will only be applied if all the conditions are met.

The system will only show actions that are currently available, so the option to add the value of a drop down menu won’t be available until you first create that menu on the “Process” tab. Some of the conditions depend on the type of schedule, for example the ability to set a different price for people on the waiting list is only available on a capacity schedule.

After you’ve created the rules you can change the order in which they are applied by dragging them with the mouse. One of the available actions is “Stop evaluating rules”, which you can make conditional as well. This allows you to skip a whole set of rules at once when a certain condition applies. The action "Set deposit to…" does not take a condition and also does not obey the evaluation order, it is evaluated and displayed only on the checkout screen. When looking up the booking you will still see the total price. If you are using PayPal the deposit amount will be charged instead of the calculated total, you have to take care of getting the remainder yourself.

What it looks like to the end-user

Once price rules are configured an price indicator will appear in the booking dialog for your users. You can see this in action the “Home Rental” example schedule. Notice how the price is double for weekend days, and automatically updates to reflect any changes in the date or the “Extras” field. Visitors to your schedule will need to have JavaScript enabled on their browser to see this, which is standard for all desktop browsers, but some mobile phones may not have it and in that case won’t display the price until checkout. There is one case in which the price won’t be displayed to the visitor and that’s if the price depends on the available space in the schedule and you configured the schedule to hide the availability information from them (otherwise they would be able to infer the space left from the price).

If someone updates his booking at a later time the price for the booking will not be recalculated if it’s just a change of information, such as a phone number. If someone moves his booking to another date and this causes the price to change then the price indicator will show the price before and after.

Time partitioning

If you are using a price per time unit on a resource type schedule then the price calculation can get quite complicated. In the demo above, if you try to make a booking that includes one weekend day and one non-weekend day you will notice the system correctly uses the higher price only for the weekend day. This calculation can get quite complex if you are using multiple rules with different overlapping periods. If you are using a price per booking, instead of a price per time unit, then only the price of the starting time applies.

This is also true for slots on a capacity schedule: the only relevant time is the start time of the slot even if the slot overlaps multiple periods. On the other hand, the capacity schedule has the option to give each slot a different base price, something that’s not possible on a resource schedule.

There is an updated version available of this section

Credit system

When you switch on the credit system on the “Payment Setup” screen it will add a “credit” field to every user. If a client has a credit then it will be applied towards the next purchase he makes. You can view and change the credit for each person on the User Management screen. If a client has a non-zero credit it will show in the top right corner of his screen. There are two situations in which the credit system is useful. First of all, you can simply give a credit in dollars (or another currency) to give a discount towards the next purchase. This can be useful if you want to refund the cost of a booking so people can book again without money changing hands. You can even give an unlimited credit, in case you have some other payment arrangement with him. The second way in which the credit system can be used is to allow people to pay for a set of things. For example, you could ask a student to pay $200 for a set of 10 lessons of $20 and let him book those lessons without paying for each one. In this case it may be preferable to work with ‘credits’ rather than a real currency, so you would sell 10 credits for $200 and the lessons would cost 1 credit each. The “credits” function like a regular currency (you can price something at 1.5 credits, for example) but can only be obtained upfront. When using a regular currency you can partially pay for an item with credit and pay the rest with real money.

If a client cancels a booking that was (partially) made with credit then the credit will be returned to him. Therefore, you may want to ensure that clients cannot cancel bookings that have already taken place (on the Configure screen, Process tab). This can get quite sophisticated: When a client creates a repeating booking and pays for it with credit, the credit will be spread out over the bookings, so a partial credit is returned if he cancels just one booking. If he partially paid with credit for a repeating booking, the credit is applied to the last bookings in the series. If a client partially pays with credit and the PayPal or credit card transaction takes too long to complete, the credit will be returned to him when the process times out. The credit will be taken away again if the transaction still comes through after the time out. If an administrator creates or changes a booking then the user’s credit is unaffected.


Selling credit or items in the shop

There are several ways to give out credit:

  1. Set a starting amount of credit for new users in the sign up process on the Access Control page.
  2. You can manually update their credit levels on the “User Management” screen, for example because you arranged payment off line.
  3. Use the shop to sell credit via PayPal and have them automatically added to the customers’ account.

Your shop won’t be visible unless you have at least one item defined for sale; you can define new items for your shop on the Shop Management screen. This screen can be reached by clicking the “sell credit” link in the Credit System section of the “Payment Setup” screen. Once you have an item in your shop there will also be a link to the Shop Management screen in the right hand menu on your dashboard. The options on the Shop Management screen should be largely self-explanatory. You could define a product to be "$100 for a package of 10 credits", for example, or you can ask your client to enter a number of lessons they want to purchase in one go and set a price per lesson. You can also set credit to zero, in case you want to sell something else, like a T-shirt, through the shop. In that case you can use the “Inventory” field to ensure that you are not overselling an item. You can set a tax and/or shipping charge inside your PayPal account and it will be added at checkout. Finally, you can also set the credit to unlimited by entering a dash (–) which can be useful for selling subscriptions.

If you want to give an individual customer a discount you can do that by putting some like -x% in the supervisor field of that person, where x is the discount percentage. Note that the discount only gets applied at the checkout screen, it does not get applied when a user books with credit.

How will customers find your shop? The system will automatically show a link to buy credit above the schedule if someone has no credit and you have at least one item they can buy in your shop that yields credit. This link is in the “auto text” above the schedule so it won’t be visible if you’ve put your own text there, but you can reveal it again by adding the magic word $auto to the text. You can also add the magic word $shop to the text above the schedule, this generates a link to the shop that is always visible, even if the user has enough credit. Note that a visitor must log in before he will be able to use the shop. To change the text above the schedule click the configure button, choose the “Layout” tab, and in the box “Message to show above the schedule” enter something like: "Please buy a T-shirt in our $shop". There is one more way for your customers to arrive in your shop: when they click the “Your Settings” link there will be a “Buy credit” link next to his credit level (only visible if there is something to buy in your shop, of course).

Next chapter: Create a custom URL