Amelia Review: A Well-Designed Appointment Booking Plugin For WordPress
Need to accept appointment bookings at your WordPress site? If so, Amelia might just be the plugin for you.
It’s great for any type of appointment booking site – spas, personal trainers, medical practices, lawyers, salons, consulting, yoga…you get the idea – it’s all fair game.
One of the things that stands out is its awesome interface on both the backend and frontend. Amelia has one of the better interfaces that you’ll find in a WordPress plugin (not just booking plugins – I mean all plugins).
It’s also pretty flexible as far as settings go, though it might not be the most developer-friendly booking plugin if you’re someone who likes to tinker with the code.
I’ll start off by showing you how the plugin works on both the frontend and the backend on an already-set-up demo site. Then, I’ll dig into all the settings that you can configure on a brand new test site.
How Amelia Works – See It In Action
To start off, let me show you how the booking process works on both the frontend and backend.
When customers go to book, you can take them straight to the form like this:
Or you can give them a catalog or search view that looks something like this:
Once they select their service and location/employee details, they can choose a date and time slot:
Then, they’ll enter some basic customer details and complete the booking process:
After, they’ll either be able to pay for their booking online (Amelia supports Stripe and Paypal, or you can use the WooCommerce integration).
Or, for free or offline payments, they’ll get a confirmation of their booking, along with an option to add it to their calendar of choice (I love this feature – very user friendly):
They’ll also get an email notification with their appointment details, which you can fully customize.
Managing Appointments On The Backend
Once you have appointments rolling in, you’ll be able to manage them on the backend.
First, you get this awesome dashboard that summarizes your upcoming appointments and key KPIs, like average bookings and revenue. You can also drill-down by specific employees or locations:
Then, you can view your upcoming appointments on a calendar, including options to filter by:
You can also view all your appointments in a list view:
If needed, you can manually create appointments from here, including an option to assign internal notes to appointments:
And if you want to manage your customers, the Customers area has some nice CRM-like functionality, including an option to add internal notes to customers:
You can even assign a customer to a WordPress account if you want to let them manage their own appointments on the backend.
Managing Finance And Coupons
Beyond managing your actual appointments, Amelia also gives you a separate Finance area.
This area gives you a summary of all your payments, including options to break it down by:
And you can also view and create coupons, including options to:
- Connect coupons to specific services
- Set a usage limit
Hands-on With Amelia
Ok, now that you’ve got a good idea of how Amelia works for both your visitors as well as you and your employees, let’s go hands-on and I’ll show you around the backend interface areas where you can configure how Amelia functions.
First off, the entire backend interface has the same great design that you saw in the calendar view above. It’s all built with vue.js and other technologies, which means you can configure everything with very few page reloads.
End result? More great user experience.
Basic Settings Area
The first thing that you’ll want to do is configure the basic settings by going to Amelia → Settings.
This area houses a bunch of settings divided into different categories, all of which open as a panel slide-out that doesn’t require a page reload:
Some of the things that you can do here include:
- Define the default time increment for services (the default is 30 minutes)
- Enter basic company information
- Configure some basic notification settings, including an option to choose your mail service (you can connect to SMTP or Mailgun for better deliverability)
- Set default working hours and days off for your entire business
- Configure payments – you can use WooCommerce, PayPal, or Stripe
- Set up Google Calendar, which lets employees sync their own schedules with Google Calendar
- Change all the labels on the frontend forms
For example, the Working Hours & Days Off area lets you set up your base hours, including as many breaks as you want (which is something some booking plugins forget). You can also make your days off repeat (e.g. you could make Christmas a day off every year):
And here’s what the Payments settings look like. Beyond the online payment options, you can also enable coupons and on-site payments:
Next up, you’ll want to add the location(s) where you offer services. You can use as many locations as you want:
As you saw at the beginning, visitors will be able to select their desired location during the booking process if you have more than one location.
Once you have your locations, the next thing that you’ll want to do is add your employees.
Right now, you can only assign one employee to one location, which might be limiting if you have employees who float between different locations. But for most businesses, that probably won’t be an issue.
When you add a new employee, you can:
- Enter basic details
- Choose the location where the employee works
- Connect the employee to the services that they offer
- Assign an employee specific working hours
- Choose days off for the employee
You get the same interface to assign working hours and days off, including an option to add as many breaks as needed:
And there’s also one other feature that I love:
You can assign each employee to a WordPress account. Then, that employee can log in to WordPress and see their own appointments using the same back-end interface that I showed you above.
Finally, you need some services that people can book!
To divide your services up, Amelia lets you create different categories:
Then, you can add your services and assign them to those categories.
For your services, you can define:
- Duration (tip – if you need odd time intervals, you set that up in the General Settings. By default, you can only select 30 minute intervals, but that is customizable)
- Buffer time before/after
- Minimum/maximum capacity (e.g. the minimum or maximum number of people for each appointment session)
- Associated employees
You can also add a gallery of images for your service, as well as define “Extras”, which can each have their own price:
In the Email Notifications area, you can customize all the emails that are sent to both customers and employees, including plenty of placeholders:
You even get that neat Birthday Greeting email, which is a nice touch.
Customize Form And Custom Fields
The Customize area lets you change all the colors for the booking form:
More importantly, you can also add custom fields to the booking form to collect additional information from your visitors. You can choose from:
- Text area
- Text content
- Radio buttons
And you’re also able to associate custom fields with specific services:
You’ll be able to view the information from these custom fields when you manage appointments.
And that’s pretty much it as far as the settings that power the functionality that you saw at the beginning!
Amelia Review Final Thoughts + Pricing
Amelia costs $59 at CodeCanyon, which I think is more than fair for the quality of the plugin.
Overall, I really like Amelia. The interface is excellent on both the frontend and the backend.
It also builds in tons of smart functionality like:
- Calendar sync/add to calendar functionality
- Option to give employees/customers accounts to manage their own appointments
And the settings themselves are pretty flexible. With that being said, I don’t see any developer documentation for how to further customize Amelia, which might be something to consider if you are a developer building a site for a client.
But if Amelia can do what you need it to do with its out of the box settings (which it probably can), then I think it’s a really great option.