Appointments Payments - Setting Prices to Appointments
Setting Prices for Appointments
Payments Add-on for Appointments Booking Pro allows you to charge users real money for booking appointments.
If the prices are already set and you would like to manage them instead, read the guide Accepting Bookings and Sending Payment Requests.
This guide considers that:
- You are familiar with managing calendars, forms and other basic functionalities of Appointments Booking Pro. If that is not the case, please check Appointments Booking Pro's documentation first.
- Easy Digital Downloads (EDD) or WooCommerce are already active and configured on your WordPress installation. If not, please refer to their guides.
Since we renewed the way, how the payment works in the plugin, we recommend you to update the plugin and the add-on as minimum to these versions:
- CM Appointments Booking Pro - This document uses the version 2.0.0.
- CM Appointments Booking Payments Add-on - This document uses the version 2.0.0.
Since these versions of the base plugin and add-on, you are able to define free, paid and partially paid booking slots within one calendar.
Step by Step
1) Defining Prices for Calendars
EDD and WooCommerce work similarly. WooCommerce works with "Products". In the case of EDD the products are called "Downloads".
When the base plugin Appointments Booking and the Payments add-on are activated, you need to choose one of these payment systems - either EDD or WooCommerce. Learn more about how to choose the payment system: Appointments Payments - Choosing Between Payment Systems.
How to Create Products?
When you activate the Payments add-on, products for every calendar are created automatically for 3 basic booking durations: 15, 30 and 60 minutes. Products are created in the payment system that you've chosen to work with.
Note: Creating products is fully automatic, so you don't need to create products manually. And if some product was deleted by some reason, it will be created automatically again.
Example of created base booking slots in EDD:
Names of the Products
Each calendar has its own products, so you can define different prices for different calendars. To distinguish products for every calendar, the automatically created products have a specific format of the name. The name of each product is based on the slug of the calendar and on the duration of the booking slot. The format is:
- cal_calendar_slug_paideventXX, where "XX" is duration of the slot in minutes.
For example, if the calendar slug is "calendar-for-creative-minds", the name of the product for 30-minutes duration will be:
Setting Up the Prices for Basic Booking Durations
When products for basic booking durations are created, you need to define prices for them. To do this, navigate to Admin Dashboard → CM Appointments Booking Pro → Calendars. Hover on the calendar you need and click Edit.
Scroll down to the section Payments and set the prices for basic booking durations for 15, 30 and 60 minutes in the relevant fields:
Then click Update to save the changes.
The relevant products will be automatically updated in the chosen payment system (example in EDD):
TIP: Change Prices Manually
You can also manually change the prices for basic booking durations directly in products of plugin systems.
Learn more about it:
Setting Up the Prices for Variable Booking Durations
There is a possibility to book slots with different durations, make multiple bookings choice. There is also a possibility to set up partially paid slots. It means, there is a need to create additional products and set up prices for different durations. All additional products and their prices are created and calculated automatically. Their prices depend only on the prices of 3 basic slot durations - 15, 30 and 60 minutes. The whole process of generating additional products is fully automatic, so you don't need to create or change their prices manually in payment systems.
How the price is calculated?
When the customer makes a booking with a duration that is different from the one of the basics, the price is calculated by summarizing the time and splitting it to the basic durations from higher to lower.
We have 3 products with basic booking durations:
- 15 minutes - 10$
- 30 minutes - 18$
- 60 minutes - 25$
The customer chooses a partially paid slot with the duration 4 hours, and paid part is equal 2 hours and 45 minutes (or 165 minutes).
The price will be calculated as 60 minutes + 60 minutes + 30 minutes + 15 minutes. In result it will be 25$+25$+18$+10$=78$.
During customers attempt to make a booking, there will be automatically created a new product for the duration 165 minutes with the price 78$.
And this product can be paid by the customer to finalize the booking:
If you change the price of one of the basic booking durations (15, 30 and 60 minutes), the prices of products for all other durations will be recalculated and changed automatically. Their prices will change not at once - only when some customer attempts to make a booking with the relevant duration that is different from the basic ones. So, you don't need to manually change the prices for products with booking durations that are different from the basic ones.
2) Choosing Between Automatic and Manual Booking
On the same page, you can enable the option Automatic Booking. If the option is on, this calendar will not require a moderation and approval for each booking.
3) Choose Between Direct Checkout or Email Notification
If Automatic Booking is on, you can also enable the option Send user directly to checkout. The behavior is:
- Enabled - When user clicks payment button, they are directed to checkout
- Disabled - When user clicks payment button, they receive email with checkout link
You can Disable Finalize Booking message by checking the corresponding option. This option is available and appears only when the option Send user directly to checkout is enabled. This feature was introduced in the version 1.1.7.
Reminder: Creating Calendars
This completes the process of setting up appointments prices. Now, when a customer tries to book an appointment in the chosen calendar, he/she will be prompted to pay.