How To Add an Appointment Calendar and Booking System to WordPress

Websites are at their best when they help to make your life easier. Whether you’re the site’s owner or a visitor, that convenience is much appreciated (and, these days, expected).

Booked is a WordPress plugin that has been designed to make life easier for everyone. It takes something complicated (online appointment systems) and simplifies it.

This tutorial has been published in conjunction with our ‘Turn Your WordPress Site Into a Business‘ event. Throughout this week, we’ll be publishing free tutorials and offering heavily discounted WordPress plugins that will help you grow and run your business like a pro.

And, while the plugin’s UI is straightforward with clear explanations of what each option does, you still get the flexibility to customize the appointment system to fit your needs.

For small business owners, investing in an old-school appointment system just won’t cut it. When you think about it, those older systems take a bit of convenience away from your customers.

Booked includes the ability for users to:

Business owners have their own set of powerful features:

Let’s take a look at the process of installing Booked, setting up a calendar and review the experience of booking/approving an appointment.

Getting Started with Booked

As you will probably know, installing a plugin inside WordPress is a breeze. The easiest method is to take the zip file you’ve downloaded and upload it via Plugins > Add New > Upload Plugin in the WordPress Dashboard. Once the plugin is installed, be sure to Activate it.

Now that you’ve installed & activated the plugin, you’ll see a new menu item created inside WordPress called Appointments.

Before we head into the plugin’s settings, it’s a good idea to think about how you’ll want to use Booked on your site. Specifically, will you want to require users to register in order to book an appointment? If the answer is yes, then you’ll want to ensure the following:

  1. Inside WordPress, go to Settings > General and ensure that, in the Membership setting,  “Anyone Can Register” is checked.
  2. Next, let’s create a Profile Page for users. This is where users can login to edit their appointments and account information. Go to Pages > Add New and create a new page. You can title it anything you like, but for our example let’s go with “Customer Profile“.

Now, we can head over to Appointments > Settings to start configuring our appointment system.

General Settings

This is where we’ll setup the basics. Fortunately, each item on this screen has a detailed description of its purpose.

Among the more interesting options are:

For our demo, I’m going to require users to register and use a 1 hour time slot interval.

Email Notifications

Booked gives us the ability to customize the emails users receive when registering for the site, upon appointment confirmation and approval.

You’re able to upload a custom logo and use special tokens to personalize the content of the email. If you don’t want users to receive a particular email message, just delete its contents in the settings and it won’t be sent.

There is also a settings screen for Admin Emails. You can select which WordPress user will receive notification messages and further customize those emails.

Custom Fields

Adding custom fields to the appointment registration process is a great way to receive all of the customer’s information you require. Setup is quite easy as well.

The plugin will allow for custom Single Line Text, Paragraph Text, Checkboxes, Radio Buttons and Drop Down inputs. You can even make each custom field Required if you like.

Default/Custom Time Slots

In this area, we’ll setup our availability for each day of the week. Using the Time Slot Interval and Appointment Buffer settings we selected earlier, the Default Time Slots will take those settings into account.

You can select your Start/End Times, and how many Time Slots you’ll need for each time period. There is also a handy bulk-add function.

*Think of a Time Slot as the time allotted for just one appointment.

Custom Time Slots are a great way to show variations in your default schedule. You can set days or date ranges that coincide with holidays, vacations or other special days.

The plugin will also allow you to turn off appointment bookings for these dates via a checkbox.

Booking/Approving an Appointment

Our calendar is now setup and ready to use! With the Shortcodes portion of the Appointment Settings as our guide, let’s place the calendar on a new WordPress page called “Appointment Calendar“.

On the front end of the website, the calendar will show available dates in bold. When you hover your cursor over an open date, you’ll see a tooltip that shows how many time slots are available for that day.

To start the booking process, simply click on your desired date and then click the Book Appointment button next to the time slot you want.

From there, you’ll see a dialog box that will let you either register or login. Any custom fields you’ve setup will also be displayed here. Once registered, you’ll be taken to your Profile page. The customer will receive an email with their password and appointment details.

On the admin side of things, there’s now a message in your inbox to let you know that there is a pending appointment that needs approval. Logging into the WordPress dashboard will also alert you of the appointment.

Click on the link provided (or just visit Appointments > Pending) and you’ll be able to approve or delete the appointment request.

Upon approval, the customer will receive a message stating that their appointment is approved. It will also appear in the Appointments > Appointments menu inside the dashboard.

Overall Impressions

I found that Booked certainly delivered on its promise to simplify setting up an appointment booking system with WordPress. The plugin looks and functions quite well on both the admin and user side of the equation. It is very easy to setup and contains enough powerful features to satisfy most small business owner’s needs.

Those interested in taking appointments online need look no further than Booked.

Are you using Booked? Share your experiences in the comments section below!