Schedule Appointments and Manage Bookings Plugin for WordPress

Appointments Booking | WordPress Event Calendar Plugin

Schedule Appointments and Manage Bookings Plugin for WordPress main image

The Booking Calendar plugin allows users to easily schedule appointments through your website.

Show more

The Booking plugin supports multiple calendars, customized booking forms, group booking, calendar sync and a unique online booking experience

Show less

Full Appointment & Scheduler Booking System in One Powerful WordPress Plugin

This efficient online scheduling plugin for WordPress offers a self-service scheduling system for 1-on-1 appointments.

Perfect for any B2C service like medical practitioners, wellness centers, or consultants, create multiple calendars on the same site, with unique booking forms, calendar owners, and moderation settings for each.

Calendar Booking Views

Easily manage your bookings by blocking out your availability or setting specific dates and times that customers are allowed to book appointments.

The calendar booking system automatically adjusts so customers view the calendar in their local time zone.

Showing Calendar Availability and Booked Slots
Showing Calendar Availability and Booked Slots

Customers can then book appointments automatically, or after moderation by submitting a booking request form.

Customize Your Calendar Booking Form

The calendar booking form can be customized to include any additional information you may require by adding any number of supplemental fields.

The calendar owner can then communicate with customers before approving their booking based on the information provided on the booking form.

The scheduling form is a handy way to ensure the admin has all the required information before accepting the booking request.

Booking Form Example
Booking Form Example

Easily Manage your Bookings

The appointment booking calendar integrates into any WordPress website using shortcode.

Our calendar booking software has a user friendly interface that eliminates the back and forth communication in appointment booking.

View all booking requests on one dashboard, where you can then easily approve, decline, or cancel appointments.

Dashboard Displaying All Booking Requests
Dashboard Displaying All Booking Requests

Schedule Zoom Meetings Instantly

Create a meeting in your Zoom account for every new booking.

Schedule up to 100 calls a day and send the direct link to the user that requested the booking.

Email message with Zoom link
Email message with Zoom link

Complete Tutorial

Overwhelmed? Check our complete guide on how to create and add calendars to your WordPress site.

Read now: How to Create a Calendar Booking System in WordPress.

Appointment Scheduling With the Appointments Booking Plugin

  • Superb Online Booking Experience – User-friendly online booking software with a modern and customizable user interface. The best alternative for managing online appointments.
  • Calendar Availability Management – Define booking periods using predefined dates in the calendar or repeating days in the week.
  • Manage Session Length and Available Slots – Scheduling options allow you to easily define availability and session length – for instance, three hours duration with five openings.
  • Approve Bookings Automatically or Manually – Book or schedule appointments automatically or moderate each appointment booking.
  • Discussion Thread – If further discussion is needed to confirm the appointment, contact the customer directly from their booking request. All correspondence will be logged with the booking request and is viewable by both the admin and the customer.
  • Pay For Booking – Payment support using WooCommerce or Easy Digital Downloads cart system with 50+ payment gateways. Requires the Booking Calendar Payment Addon
  • Appointment Reminders – Send appointments reminders to both the customer and admin prior the scheduled appointment.
  • Custom Booking Form – Customize your scheduling form using the form builder to gather essential pre booking information.
  • Multiple Booking Calendars – Manage multiple calendars on the same site.
  • Mobile-Friendly – Calendars automatically resize to display on mobile, making it easy to book both from mobile or desktop devices.

5 Simple Steps to Build an Appointment Calendar

  1. Create your booking calendar and set the moderator emails and session length
  2. Define recurring calendar availability on certain days and hours or specify available days
  3. Define vacation or holiday days – for instance Saturdays and Sundays.
  4. Customize the calendar booking form to include the information you require for each appointment
  5. Embed the dynamic booking calendar on any post or page by using a simple shortcode

What happens when a new booking appointment is received?

When a customer submits their booking, the calendar moderator receives an email that includes all the information the customer has submitted on the booking request form to make reservations.

Managing your Booking Request

The online booking moderator can then approve, reject or communicate directly with the customer about the booking.

All communication uses a discussion form which is attached to the specific appointment, so both calendar moderator and customer can track the conversation until it is approved or declined.

Showing Full Booking Request Details
Showing Full Booking Request Details

Booking can also be automatically accepted if the calendar is set to accept online booking without moderation.

Appointments Booking Plugin Resources

Appointments Booking Plugin Related Use Cases

Appointments Booking Related Products

CM Registration Pro
Registration and Invitation Codes
This plugin adds a registration and login popup to your WordPress site. This plugin supports invitation codes, email verification, reCaptcha and more. Wordpress login and email registration uses Ajax for on page support.
[ Video]  [ Userguide]
CM Email Tools Pro
Email Tools and Mail SMTP
Configure your email gateway so you can easily send emails from your WordPress website using your preferred SMTP server. Support logging sent emails, multiple gateway configuration and more
[ Video]  [ Userguide]
CM MicroPayment
Micropayments Virtual Wallet
Add your own “virtual currency“ and allow in-site transactions without having to process each payment externally. Can integrate with many other WordPress plugins, including WooCommerce, Easy Digital Downloads, CM Answers, CM Download Manager and more.
[ Video]  [ Userguide]

Appointments Booking Features

Please check the user guide to learn more about this plugin

Calendar Management

Slick Booking Calendar – Add calendars anywhere on your site, allowing users to book appointments easily
Multiple Calendars – Supports multiple calendars at the same time with individual scheduling preferences. Each calendar can have its own appointment form, event duration times, moderator, session length, availability period etc
Multiple Spots – Calendars can have multiple spots for each time slot. The Front-End view will display how many spots are available, if any. If the booking is full, it will be shown as blocked
Availability – Bookings include an advanced calendar feature set where you define the exact availability of calendar dates and times that customers are permitted to book. You can also define days off when booking is not permitted within the calendar (for instance, weekends)
Appointment Form – Each calendar has a unique booking form that includes all the necessary information to make bookings. The form is essential for managing scheduling requests and can include any number of fields and can be customized as needed. Also, this scheduling form comes with reCaptcha support
Min hours ahead for booking – For each calendar, you can define how many hours from the current time a user can book a new appointment
Max hours ahead for booking – Likewise, for each calendar, you can define how many hours from the current time a user can’t book a new appointment
Zoom Integration – Create a Zoom meeting for every booking and send the details to the user. Requires a free Zoom account. Learn more: Scheduling Zoom Meetings


Moderation – Bookings can be accepted automatically or can be moderated before acceptance. This setting is available for each calendar
Individual Moderator – Each calendar has a moderator who receives new booking notifications and can discuss booking requests with the customer


Personalized Timezone – The calendar Front-End view is adjusted based on the customer’s timezone
Mobile Support – When a small screen device is detected, the responsive plugin will switch to Day view, which is adjusted to fit small screens and mobile
Multiple Views – Supports Day, Week and Month view on the meeting scheduler
Next available slot – Calendars always load the next available slot for new booking
Shortcode – The calendar can be added to any page or post using a simple shortcode
Ready to Translate – All plugins labels and messages are editable and can be adjusted to any language and terminology in the label settings

User Interaction

Calendar Reminders – Send automatic reminders to the admin and customer before booking events start. Customize how many hours in advance notification emails will be sent
Notifications – Each booking creates notifications for both the moderator and the customer who has completed the booking
Discussion – If moderation is set to “yes”, appointment requests can be accepted, rejected or discussed. All discussions are held within the plugin appointment system, so both the moderator and customer can track them easily
Manual Booking – Manually add bookings from the admin dashboard
Reschedule Appointments – The admin can edit existing booking date to reschedule bookings. Once changed, a notification will be sent to the user
User Time Credit – Add or deduct Time Credit for users to limit the time duration they can book
Multiple Bookings – Allow users to book a few booking slots, the whole day or more at once

WordPress Appointments Booking Editions and Pricing

$39 $69 $119
Multiple calendars support IncludedIncludedIncluded
Appointments form Manager IncludedIncludedIncluded
Booking moderation IncludedIncludedIncluded
Booking notifications IncludedIncludedIncluded
Manual booking IncludedIncludedIncluded
Multiple calendar views IncludedIncludedIncluded
User time credit IncludedIncludedIncluded
Multiple bookings IncludedIncludedIncluded
Mobile responsive IncludedIncludedIncluded
Payment integration Not includedIncludedIncluded
Users have their calendars Not includedNot includedIncluded
Ical sync Not includedNot includedIncluded
Group meetings Not includedNot includedIncluded
Events Not includedNot includedIncluded
$39 $69 $119

WordPress Appointments Booking Additional Addons and Modules

The following list is additional modules and addons which can be installed together with the Booking Calendar plugin and provide additional functionality

Booking Calendar Group Meetings Addon
Booking Calendar Group Meeting
Allow multiple bookings for the same meeting. Serves as an event booking solution for your calendar. The group meetings’ name appear in the calendar, making them easy to find.
[ Video]  [ Userguide]
CM Appointments Booking Payments Pro
Booking Calendar Payments
Supports payment for setting an appointment using the booking calendar. Based on WooCommerce or EDD cart with more than 50 payment gateway support.
[ Video]  [ Userguide]
Booking Calendar iCal Feed Addon
Booking Calendar iCal Sync
Export the booking calendar using an iCal feed. You can read this feed using any calendar software, such as Google Calendar. iCal feeds are easy to manage.
[ Video]  [ Userguide]
CM Appointments Booking Events Pro
Booking Events Addon
Allows adding Event booking with a full event description page. Serves as an event booking solution for your calendar.
[ Video]  [ Userguide]
User Booking Calendar Addon for WordPress
User Booking Calendar
Let users manage their booking calendar using a friendly Front-End interface. They set availability, manage booking requests and more
[ Video]  [ Userguide]

WordPress Appointments Booking Plugin Frequently Asked Questions

Please check the user guide to learn more about this plugin

How and where do I see the bookings?

You can see the booking in the admin dashboard under the booking dashboard. You can filter by the calendar to which they were sent. The dashboard includes the options to approve, reject or discuss a booking. You can also modify the date and time for each booking.

Check out our documentation article to learn more.

How do I get an appointment scheduler to show up on my page?

You can embed a simple shortcode which will output the calendar on any post or page. You can also pre-define a booking form for this calendar. Once user tries to book a slot on this calendar your booking form will hover over the calendar.

Does the plugin support multiple calendars?

Yes. You can define an unlimited number of calendars. Each calendar can have its unique booking form, availability timeframe and meeting duration. There are other parameters you can set for each individual calendar.

Can the admin manually add bookings?

Yes. Admin can add booking from the plugin backend. This adds the ability to support customer bookings made by the admin. When manually adding bookings all notification will be sent to both admin and user ensuring the user is also notified about the meeting.

Check out the user guide to learn more.

What type of fields can I include in the booking form

The booking form is totally customizable. You can include as many fields as you need, define which are mandatory and also add a label and description for each. The form generator supports input, textarea checkbox and radio buttons. All can be added and moved by a drag and drop interface.

Does this plugin support appointment payment

Yes. You can restrict bookings until payment is made by the customer. You can define for each calendar how much should be charged per booking.

Can appointments be automatically approved without moderation?

Yes. Our plugin supports both automatic and moderated booking. You can define which behaviour you would prefer for each calendar. When calendar does not have moderated booking the user will receive a confirmation immediately after completing the booking form.

If clients must input payment information at the end of the booking, does the payment go through immediately or can it be held until the booking is approved?

​There are two options:

If booking is moderated then client will be asked to pay ONLY after moderation is confirmed therefore he will not add his credit card information when making the booking but only once booking is approved. When booking is approved an email will be sent to him to pay for booking and if he fails to pay within set amount of time booking will be canceled.

If booking is not moderated then client will be required to pay immediately once making the booking.

WordPress Appointments Booking Plugin Online Demo

Booking calendar demo bannerBook appointments to speak with a CreativeMinds representative

Go to Appointments Demo

Booking calendar demo bannerThis demo shows an online calendar which you can use to book appointments

Go to Appointments Demo


WordPress Booking Calendar Plugin Gallery

Booking Calendar Plugin Reviews

  • One of the best
    The plugin is one of the best I ever used. You can tailor the calendar and its options to your needs and it has everything that you may want. They have a very responsive and helpful customer support and I'm a member here for 4 years, having tried over 50 plugins. 5 stars is absolutely not enough! I highly recommend it.
  • Best Booking Plugin
    This super responsive plugin is a great option for customer support and requires almost no maintenance. The ability to create and manage multiple calendars is a life-changing option especially when you have business offices in multiple countries and time zones. Booking is so much easier for everyone with this plugin!
  • Top-notch
    We use several calendars (beauty salons), each with their schedule. Not only functional, but the calendar looks pretty good too, and is responsive. Five starts
  • Great for booking
    After setting the calendar up, we started charging customers for appointments (requires an add-on, worth it). Minimal maintenance required

WordPress Booking Calendar Changelog

Version 2.3.1 from the 10th March 2022

  • Shortcodes list view fixed
  • Additional checking and submit form fields sanitizing added
  • Events addon submit form email checking bug fixed
  • base64 encoded event cost and user credit added to keep security
  • User credit value on submit form bugs fixed
  • AJAX data transfer check added
  • Events emails templates use bug fixed
  • Multiple bookings labels translation bug fixed
  • Submit form incorrect email redirect bug fixed
  • moment js locale bug fixed
  • Booking event time bug fixed
  • Date time format options bug fixed

Version 2.3.1 from the 5th Jan 2022

  • Added label option for payment information of submit form
  • Currency position control added to booking submit form
  • Custom product 45 min added
  • Added labels options for events addon
  • Fixed event addon js logic

Version 2.3.0 from the 10th Dec 2021

  • Calendar’s paid slots colors and display control added
  • Events addon submit form display bug fixed
  • Events addon checkout link bug fixed
  • Statuses transient logic for paid slots and events bug fixed

Version 2.2.9 from the 2nd Dec 2021

  • Event post status creation bug fixed
  • Event bookings processing added
  • Fixed link to checkout booking

Version 2.2.7 from the 22nd Nov 2021

  • New Calendar Titles output settings added

Version 2.2.5 from the 12th Nov 2021

  • shortcode for Calendar Tiles output added
  • Shortcode for dynamic calendar view display by GET parameter

Version 2.2.3 from the 9th Nov 2021

  • Calendar currency view critical bug fixed
  • Credit time user’s report table bug fixed

Version 2.2.2 from the 4th Nov 2021

  • Labels options for Credit users report table added
  • Improved shortcode [cm_booking_list] with the new view and additional filter attribute
  • Fixed bug with currency display on booking submit form
  • Form fields email output bug fixed
  • On Talk discussion bug fixed

Version 2.1.1 from the 25th Oct 2021

  • Form fields email output bug fixed
  • On Talk discussion bug fixed

Version 2.1.2 from the 17th Oct 2021

  • Critical js bug fixed

Version 2.1.1 from the 15th Oct 2021

  • Fixed some bugs with Options tabs and Calendar

Version 2.1.0 from the 14th Oct 2021

  • New admin manual booking creation
  • Fixed some bugs

Version 2.0.1 from the 13th Oct 2021

  • Multiple booking labels options added for translations

Version 2.0.0 from the 6th Oct 2021

  • New payment concept created
  • Some bugs fixed with form fields in metaboxes and forms
  • “Create one zoom link to event” option added
  • Small bug fixed

Version 1.8.1 from the 17th Aug 2021

  • Fixed Mobile_detect library bug
  • Fixed some text output and color display bugs
  • Added Multiple mixed booking choice
  • Fixed some bugs

Version 1.7.0 from the 10th July 2021

  • Feature : possibility to attach the image to booking added
  • New booking filters added / Fresh 48h new | accepted | rejected bookings and active discussions

Version 1.6.1 from the 18th June 2021

  • Implemented functionality to add 2 additional fields to booking form
  • Fixed checking who can access to calendar
  • Fixed inherit calendar option about who can access to calendar
  • Style fixes
  • Fixes warnings
  • Added current_user_bookings parameter for the cm_booking_list shortcode

Version 1.6.0 from the 24th May 2021

  • Updated license package to version 1.9.1
  • Implemented functionality to create calendar for business directory

Version 1.5.0 2nd May 2021

  • Feature Added “Use user timezone for bookings” option

Version 1.4.9 31st March 2021

  • Bug: Fixed bug with wp_localize_script (localizeTimezones is undefined)

Version 1.4.8 124th March 2021

  • Feature: Added “Change Available Timezones” option Allows to choose timezones that will be displayed on frontend calendar
  • Bug: Fixed bug when on timezone change, the calendar doesn’t reload

Version 1.4.7 12th March 2021

  • Feature: “Days off” is now removed from the date picker on front-end
  • Bug: Fixed bug with “Cancel booking” is not canceling the booking with modified permalinks settings

Version 1.4.6 5th March 2021

  • Bug: Fixed bug with BuddyBoss plugin pre_get_posts hook
  • Feature: Added cm_booking_list shortcode
  • Bug: Fixed bug with “Hide timezone dropdown” option

Version 1.4.5 13th Dec 2020

  • Feature: New general option “From Email”
  • Feature: New general option “From Name”
  • Feature: New general option “Show timezone in booking title”
  • Label: New Label “Booking spots”
  • Styling: Navigation buttons styling bugfix
  • Minor fixes

Version 1.4.4 13th Oct 2020

  • Feature: “Cancel booking” functionality for users within “Discussion form”
  • Added new email templates
  • Added new email placeholder {booking-cancel-link}
  • Added new label “Cancel booking” for the button
  • Minor fixes

Version 1.4.3 5th Oct 2020

  • Added few filters/CSS classes for customizations
  • Minor fixes

Version 1.4.2 30th Sep 2020

  • Bug: Fixed bug in calendar schedule

Version 1.4.1 26th Aug 2020

  • Added: “Direct payment” data support for CM Appointments Booking Payments Pro add-on option
  • Minor fixes

Version 1.4.0 2nd Aug 2020

  • Bug: Fixed bug which caused booking slots to disappear when they were accepted
  • Feature: Added ability to create Zoom meetings on booking
  • Feature: Notification placeholder – {booking-zoom-link} — link to Zoom meeting
  • Feature: Notification placeholder – {booking-zoom-password} — Zoom meeting password
  • Feature: New label category in Options – “Placeholders email notification defaults”

Version 1.3.16 6th Apr 2020

  • Fixed: auto accept new booking issue
  • Fixed: booking form disappears on mobile devices

Version 1.3.15 31st Mar 2020

  • Fixed: auto accept new booking issue

Version 1.3.14 28th Feb 2020

  • Fixed: Keeping time slot correct with Daylight Time Saving transfer

Version 1.3.13 30th Nov 2019

  • Fixed: calendar view depending on option “View of calendar”
  • Fixed: date/time format in Schedule “Days on” settings admin page
  • Added: option “Small screen width” to set viewport width limit for mobile devices detection

Version 1.3.12 27th Nov 2019

  • Minor fixes – booking time limits descriptions

Version 1.3.11 19th Oct 2019

  • Feature: Added new attributes for calendar shortcode
  • Feature: Added the option to change background color for the month days that have an event

Version 1.3.10 9th Oct 2019

  • Bug: Fixed bug – booked and expired slots don’t show in month view

Version 1.3.9 28th July 2019

  • Feature: Added the option to offer multiple event durations
  • Bug: Fixed bug which didn’t allow to add manual booking
  • Updated licensing package

Version 1.3.8 18th Apr 2019

  • Fixed bug in the booking form when using Group Meetings Addon
  • Updated licensing package

Version 1.3.7 28th Mar 2019

  • Added option “Booking can’t be made after (hours)”
  • Improved admin search on the Bookings page
  • Added hooks for plugin addons
  • Updated licensing package

Version 1.3.6 7th Mar 2019

  • Added hook for plugin addons
  • Fixed small bugs

Version 1.3.5 13th feb 2019

  • Fixed bug which sent Reminder to a user two times
  • Fixed bug which didn’t allow the calendar to load in Safari
  • Updated licensing package

Version 1.3.4 10th Jan 2019

  • Added option to hide dropdown with timezones
  • Added option to set default timezone
  • Added 4, 5 and 6 hours to Event Duration option
  • Added hooks for plugin addons
  • Updated licensing package

Version 1.3.3 3rd Dec 2018

  • Added an option to show an email in booking title
  • Added an option to ignore daylight savings calendar
  • Fixed an issue with french calendar

Version 1.3.2 12th Aug 2018

  • Added an attribute to choose view of calendar to shortcode
  • Added an option to choose view of calendar
  • Fixed timezone bug in calendar script
  • Added french support to jquery datepicker
  • Added options for month day format
  • Added an option for week days label

Version 1.3.1 29th July 2018

  • Fixed the bug with the slots being reopened on the booking rejection
  • Updated the Licensing Package

Version 1.3.0 8th July 2018

  • Added multispot option for all calendars
  • Added option to allow users to see number of spots in the front-end
  • Bug fixes

Version 1.2.5 22nd Oct 2017

  • Added the new admin and user notifications X hours before the appointment
  • Added the support for “min_date” and “max_date” attributes in the calendar shortcode
  • Added the display of the shortcode on the calendar edit view
  • Added the button allowing to display the button allowing to add to Google Calendar on Booking discussion page

Version 1.2.4 3rd Aug 2017

  • Added mail placeholders for local WordPress timezone name and offset
  • Added timezone information in booking status metabox and booking title
  • Updated admin mail default templates
  • Fixes for older PHP versions

Version 1.2.2 13th July 2017

  • Better time zones handling

Version 1.2.1 8th July 2017

  • Days on time select bugfix

Version 1.2.0 7th July 2017

  • New days on feature
  • Minor frontend bugfix

Version 1.1.4 29th June 2017

  • Calendar templates encoding fix

Version 1.1.3 25th May 2017

  • Updated licensing dashboard

Version 1.0.20 from 7th April 2017

  • Added option to use categories from feed item

Version 1.1.2 23rd April 2017

  • New licensing API fix

Version 1.1.1 19th April 2017

  • New licensing API with addons and shortcodes details
  • Added hooks for plugin addons

Version 1.1.0 13th April 2017

  • New calendar theme
  • Added hooks for plugin addons

Version 1.0.9 30th March 2017

  • Fix reCaptcha related bug

Version 1.0.8 20th Feb 2017

  • Added link to booking details directly from frontend calendar (for admin only)

Version 1.0.7 10th Feb 2017

  • Plugin labels update

Version 1.0.6 4th Feb 2017

  • Added server side booking form validation
  • Added reCAPTCHA support
  • Added hooks for plugin addons
  • Bugfixes

Version 1.0.5 19th Jan 2017

  • Added ajax date checking on manually booking adding or editing
  • Added calendar scroll to top on form submit or cancel
  • Some minor bugfixes

Version 1.0.4 16th Jan 2017

  • Added ability to manually add booking and change date of existing bookings
  • Added option to search for first open slot
  • Added calendar month view
  • Bug fixes
  • Mobile view adjustments

Version 1.0.2 7th Jan 2017

  • Added automatic acceptation option for calendars
  • Added parameter defining how many days from current day bookings are allowed
  • Calendar opens on the first open booking slot instead of “today”
  • Small fixes and improvements
  • labels and color for new state (booking no min ahead) are added,
  • Reject button is visible always</
  • Opening calendar on first open slot now is set up to 21 days ahead

Version 1.0.1 29th Dec 2016

  • Added views support
  • Added mobile view support
  • Fixed bugs

Plugin First Release 25th Dec 2016

Do you need additional functionality?

We can implement additional features, change the interface and integrate external resources. Get in touch with us!

We Accept All Major Credit Cards
Accepted payment methods include all Credit Cards and PayPal