Appointment Booking Calendar is a WordPress plugin for accepting online bookings from a set of available time-slots in a calendar. The booking form can be linked to a PayPal payment process.
It's an advanced version of the CP Appointment Calendar, featuring many additional options and configurable settings.
You can use it to accept bookings for medical consultation, classrooms, events, transportation and other activities where a specific time from a defined set must be selected, allowing you to define the maximum number of bookings that can be accepted for each time-slot.
The main features are:
- The customer can book an available time slot from a defined set.
- The booking form can be optionally connected to a PayPal payment page
- You can define the capacity for each time-slot. After filling the capacity with the bookings the time-slot in hidden to prevent duplicated bookings.
- A notification email is sent to the specified email addresses (one or more) after each booking (after paid if the online payment is required).
- A confirmation email is sent to the user after each booking (after paid if the online payment is required).
- Supports multiple calendars (ex: one calendar for each event or classroom).
- You can assign a user to each calendar. Great for multi-author blogs where each author will manage his own calendar.
- Users with "Editor Access Level" can see and edit only their own calendars.
- Exports to iCal format (Google Calendar, Outlook). Note: Import option not available yet.
- Includes captcha validation for preventing spam.
- Each calendar has a printable list of bookings.
- You can define coupons/discount codes.
- There is a custom optional "Services" field that supports multiple prices (drop-down list)
- You can edit the text of the notification/confirmation emails.
- Allows defining the product name at PayPal, the currency, the PayPallanguage and amount to pay for a booking (you can set zero to let the user pay/donate the desired amount).
- Allows defining the working days, the exact time slots available and the capacity of each time slot.
- Multi-page calendar: You can setup it to show many months at once.
- Configurable date format: mm/dd/yyyy or dd/mm/yyyy
- Supports both am/pm and military time.
- You can define the start day of the week.
- You can define the minimum available date and the maximum available date for the bookings.
- You can block specific dates.
- Pretty modern administration interface.
* Note: Some of the above features are fully present only in the professional version.
Installation
To install the WordPress plugin follow these steps:
- Unzip the downloaded file and copy the files into the folder "/wp-content/plugins".
- Configure the settings at the administration menu >> Settings >> Appointment Booking Calendar >> Manage Settings.
- To insert the booking calendar form into some page or post use the icon that will appear when editing contents:
- A floating panel will appear allowing you to select the calendar, a tag like [CPABC_APPOINTMENT_CALENDAR calendar="1"] will be inserted into your content. In the public website that tag will be replaced by the booking form:
From the website's visitor point of view:
The website's visitor will reach to the form where the first step will be to select the date and after clicking the date a floating dialog will be displayed for selecting the time slots available for the clicked date.
After selecting the date and filling the other form fields (phone, name, email and open comments field) the visitor will click "continue"
If the PayPal payment was enabled, the customer will be automatically redirected to PayPal to make the payment and confirm the booking. After completed the PayPal payment the booking will become automatically confirmed, the time slot selected will become unavailable and two emails will be sent: a notification email to your email address and a confirmation/thank you email to the customer that completed the payment.
If the PayPal wasn't enabled, the customer will be redirected to a "thank you" page and the notification/confirmation emails will be sent immediately.
You will be able to check the booking details from the WordPress administration area (Appointment Booking Calendar Settings) by clicking on the selected time slot.
Managing the calendars
After going to "WordPress administration menu >> Settings >> Appointment Booking Calendar" you will see the following administration page:

The options on that page are:
- ID: The calendar ID. It's used for the shorttag. You don't need to edit this value.
- Calendar Name: Useful for identify the calendar in the admin area and in the notification email.
- Owner: User assigned to the calendar. Users with "Editor Access Level" will access only to their - assigned - calendars.
- Published: Published status for the calendar.
- iCal Link: Link for the iCal feed. You can use the iCal feed to export the calendar data to Google Calendar or Outlook.
- Update: After changing the calendar name or owner click this button to save/apply the modifications.
- Manage Settings: Leads to a page with most of the configuration settings for the calendar and booking form. This section is explained in detail below.
- Bookings list: Leads to a printable list of bookings. You can filter the bookings by date to print only a specific set of bookings.
- Delete: Deletes the calendar and all its related data.
- New Calendar / Item: Creates a new calendar / booking form.
Defining the available time slots
To define the available time slots go to the "WordPress administration menu >> Settings >> Appointment Booking Calendar >> Manage Settings" and you will see a calendar area like this one:

The first step is to un-check the non-working days, for example Sunday and Saturday.
The second step (important!) is to click on each weekday tab and add the time slots available for each day. Each time slot has a defined capacity (number of bookings it will accept), you can indicate that in this step. There are options to add many time slots in one single step.
There is also a "Restricted Dates" tab that allows disabling specific days, for example holidays.
Finally you can click a date and manually add appointments or check the appointments made into the selected date. Time slots with at least one appointment added will be shown strike-out. Click a time slot to see/edit/delete its appointments. To delete an appointment click the button "clear" and then "submit".
Below the calendar there are several configuration settings that are explained in the section below.
Configuration Settings
To edit the configuration settings go to the WordPress administration menu >> Settings >> Appointment Booking Calendar and below the calendar you will see an area containing the following settings:

* Click image to see full screenshot.
Each setting means:
- Public Calendar Settings:
- Calendar language: The calendar language. Currently supports English, Dutch, German, French, Italian, Japanese, Portuguese and Spanish.
- Date format: The date format mm/dd/yyyy or dd/mm/yyyy.
- Calendar pages: The number of calendar months to be shown at the same time
- Military time: Sets am/pm or military time.
- Start weekday: The start weekday of the week. Default is Sunday.
- Minimum available date: You may want some time to review the booking, so you can set the minimum selectable date as a fixed date (Ex: 2012-10-25) or as a relative date like "today" or "today + 3 days".
- Maximum available date: Similar to the previous field, in this case for selecting the maximum selectable date.
- PayPal Payment Configuration:
- Enable PayPal Payments: Allows to enable/disable the PayPal payment option.
- PayPal email: The email of the PayPal that will receive the payments.
- Request cost: Payment amount requested to confirm a booking.
- PayPal product name: The name that will appear to the customer at PayPal.
- Currency: The currency, example: USD, EUR, GBP, etc...
- URL to return after successful payment: After the PayPal payment the user may go back to a page into your website (usually a "thank you" page). Paste here the complete address of that page. This URL will be used as the "thank you" page even if the PayPal payment is disabled, be sure to specify it.
- URL to return after an incomplete or cancelled payment: After a canceled/incomplete PayPal payment the user may go back to a page into your website, usually a page with more instructions or requesting feedback. Paste here the complete address of that page.
- PayPal language: The language that will be used for the PayPal payment. It's any PayPal supported language.
- Discount Codes: This section lets you to define discount codes. A 100% discount means that the payment isn't required. The discount codes can have an expiration time.
- Notification Settings:
- Notification "from" email: The email used as from in the notifications.
- Send notification to email: The email address where the notification will be sent to (ex: your email address).
- Email subject confirmation to user: Subject of the thank you/confirmation email sent to the user (customer) after completing the payment.
- Email confirmation to user: Content of the thank you/confirmation email sent to the user (customer) after completing the payment. Keep the tag %INFORMATION% that will be replaced automatically by the booking information.
- Email subject notification to admin: Subject of the notification email that you will receive.
- Email notification to admin: Content of the notification email that you will receive. Keep the tag %INFORMATION% that will be replaced automatically by the booking information.
- Captcha Verification:
- Use Captcha Verification?: Indicate if the captcha anti-spam protection will be used.
- Other various settings: There are multiple fields in this section that let you to define how the captcha image will look, including size, colors, base font, etc...
- Custom Settings:
- Options: This special section, if some data is entered, generates a drop-down select list with items where each item can have a different price, ex: for multiple different services each one with its own price. This is an optional field that appears only if some option is specified. There is a sample format beside the field that you can copy & paste.
Customization and adjustments
We offer custom coding services for modifications and adjustments, feel free to contact us and we will send you a very competitive quote for the requested modifications.