If you offer consultations or provide either digital or on-site services – you need to have a way for your customers to book appointments with you or your employees.
You can have a booking platform through a simple contact form on your website, but that can get logistically messy.
It’s much better to configure an automated system to save yourself time and keep things synced up with your calendar.
WordPress has tons of excellent plugins that can help you automate the booking process, having your clients check schedules and book appointments on their own.
Easy appointments
We’re going to work with the Easy Appointments plugin for this guide because it’s both free and versatile in the appointment types you can set up on it.
Easy Appointments allows you to handle appointments in multiple locations for different service providers, and you can see the overview of the schedule right from your WordPress dashboard.
What’s also important is that the plugin is regularly updated and has an excellent rating in the WordPress plugin directory.
Let’s start!
Install
Head to the Plugins > Add New, and input Easy Appointments in the top-right search field. Click on the Install Now button under the first plugin in the list:

Make sure to choose the correct plugin as there are a few plugins with a similar name.
Activate
Once the plugin is installed, click the Activate button to enable it on your website.

Settings
Next, go to the Easy Appointments > Settings option on the left hand side and click the Add New Location button. Add your location and fill the Name, Address, and Location fields.
If you, for example, offer digital consultation or services – you don’t have to fill the address or location fields. The plugin allows you to add multiple locations if you have several different physical locations.

Services
Now, click on the Services tab, which allows you to input all the services you offer at your locations. There are several fields you can fill, such as Name, Duration, Slot time, Block time, and Price. Again, you don’t have to fill in all the fields. For example, if you offer a free consultation service – leave the Price field blank.

Workers
Next, click on the Workers tab, and add all your employees on schedule and available for bookings using the Add New Worker button:

Connections
The Connections tab is where you connect all services, employees and locations. If you’re the only employee, it’s straightforward to set up, but if you have multiple people working the same schedule, take your time and configure things properly.
For example, you can set that an employee (call her Sarah) is working in Salon #1 Monday through Friday.
To add a new connection, click the Add New Connection button and select your preferred options.
Here’s an example of a connection:

The plugin can also add connections in bulk using the Bulk Add New Connections button.
Customize
Next, head to the Customize tab where you can configure:
- General settings, such as the maximum number of appointments, auto reservations, etc.
- Email notifications to your customers.
- Custom labels.
- Date/time.
- Custom form fields.
- Spam protection (captcha).
- Custom CSS styles for your forms.
- Enable and customize GDPR if your business resides in Europe.
- Currency format.
Notifications
Click on the Mail Notifications tab, and set a custom notification for each of the statuses (Pending, Reservation, Canceled, Confirmed, Admin), so visitors get the correct message once they book a slot.
You can use tons of tags to insert dynamic content into emails.
For example:
#worker_name#
– automatically replaces with the actual name of the employee
#date#
– inserts the date
#start#
– inserts the date/time appointments start
Tags
Available tags that you can use are:
#id#, #date#, #start#, #end#, #status#, #created#, #price#, #ip#, #link_confirm#, #link_cancel#, #url_confirm#, #url_cancel#, #service_name#, #service_duration#, #service_price#, #worker_name#, #worker_email#, #worker_phone#, #location_name#, #location_address#, #location_location#, #email#, #name#, #phone#, #description
Make sure to configure all the available fields such as email subjects and from email to ensure proper delivery.

Custom form fields
Next, click on the Custom Form Fields tab, and customize the form fields the way you want it setup:

Pages
Now that we’ve fully configured our forms, we need to display it on our website. Create a Booking Form page via Pages > Add New option, and input the title of the page.
You can use all sorts of shortcodes to customize the look of your form, as explained in this article.
In this guide, we’ll provide you two examples:
[ea_bootstrap]
[ea_bootstrap width="800px" scroll_off="true" layout_cols="2"]
Paste your selected shortcode into the body of the page, and click the Publish button:

Booking page
Here’s how the booking page looks like when it’s published:

As you can see, since we haven’t put any of our employees to work on weekends – they are greyed out automatically.
Appointments
When a visitor books an appointment, it will be automatically created with the pending status in the Easy Appointments > Appointments section.
You will also receive an email notification email, and the appointment will be added to the employees time table.
To approve the booking, click the Edit button under the Action column, and change the status to Confirmed:


Time table
You can now see that time slot reserved in Easy Appointments > Reports > Time Table for that specific employee:

You’re all done!