Online booking appointments have already become a groundbreaking feature for many industries like medical care, fitness, law services and so on. Offering online bookings has dozens of advantages for any business, such as round-the-clock availability, saving staff time, no overbookings, no queues, etc.

However, many private clinics, gyms, and service companies still schedule meetings over the phone, manually adding new bookings to their calendars. Moreover, thousands of specialists don’t have their own websites where potential customers can contact them and schedule a meeting. That’s why creating a niche appointment booking platform, and connecting service providers with customers can be a tempting idea for an online business.

In this article, we’ll explain how to create an appointment booking website using WordPress. Feel free to take a look at the table of contents and jump directly to the part that interests you most.

Let’s get started!

How Do Appointment Booking Websites Work?

In a nutshell, such platforms allow customers to schedule appointments or book services offered by some experts or companies. In their turn, experts can set up availability days and hours as well as run a calendar with all the upcoming bookings.

A great example of an appointment booking website is Zocdoc. It’s a platform that allows people to find local doctors and book in-person or online appointments for medical or dental care.

Zocdoc homepage.

Zocdoc isn’t just a convenient platform, but it’s also a highly profitable business for its owners. It makes money by collecting a listing fee as well as a booking fee. Healthcare providers pay to be listed on the platform so that they can reach new patients, grow their practices, and operate more efficiently.

In the same way, most appointment booking websites are monetized via charging service providers for each booking made through the marketplace.

Why Are Appointment Booking Platforms Popular?

Online booking appointment marketplaces have gained  popularity due to several reasons:

It’s Simply Convenient

Nowadays, there’s no need to stand in line to visit a doctor or call a fitness trainer to make an appointment each time a person goes to the gym. Now everyone can make all the appointments online with just a few clicks, without wasting time on phone calls and queues. Moreover, customers can schedule their arrival close to their appointment time, considerably reducing their waiting time.

It’s Time-Saving

If a person has frequent appointments and meetings, scheduling them can take a lot of time. It’s especially true for remote workers, freelancers or people who work at multiple locations at once, like fitness instructors who work at several gyms or Elon Musk, who moves between Tesla and SpaceX factories every week.

However, appointment booking marketplaces do more than just providing customers with a list of available dates and times when they can come in for a meeting, treatment, or service. They also let clients cancel and reschedule appointments without having to contact the service provider.

It’s an Extra Marketing Channel

By staying offline and accepting all new bookings via phone or email, many specialists are missing out on a giant piece of the cake – online bookings. Nowadays, most people prefer to do everything via the Internet, and if a service company doesn’t provide an option to book an appointment online, it’s losing potential customers.

Niche for Your Booking Marketplace

If you are about to create an appointment booking website with WordPress, the main question is whether you are building a website for your own company or it’s going to be a marketplace that matches different specialists with customers?

If you want to create a marketplace, then there are a few additional questions you have to ask yourself to choose a niche properly:

  • What are your interests?
  • What customers’ needs and problems are you going to solve?
  • Who are your competitors?
  • What’s your marketing budget?

If you want to create an appointment booking website but still have no idea about a niche for your platform, you can pick some of the listed below ideas that may work well for your city or country. For example, you may launch an appointment booking marketplace that lists services of:

  • Doctors;
  • Lawyers;
  • Fitness instructors;
  • Pet grooming specialists (check our guide on how to start a pet care website);
  • Yoga instructors;
  • Barbers;
  • Music tutors.

There are dozens of possible niches for your appointment booking marketplace. The main point is to identify people’s pain points in your region and consider how these problems can be solved with your online platform.

Okay, now let’s move on and try to create an appointment booking website with WordPress.

Check out our guide on how to create a booking website like Airbnb.

How to Launch an Appointment Booking Site Using WordPress

Before diving into the tutorial part of this article, make sure that you already have all the necessary prerequisites.

Register a Domain Name

Your domain name is as important for your brand as your business name or logo, so you should carefully think about the right one. Since it’s a crucial part of any website, we listed a few tips on how to come up with a great domain name:

  • Use a name that is easy to read and spell;
  • Avoid hyphens and numbers;
  • Don’t use double letters;
  • Make it unique and easy to remember;
  • Short is better than long.

Purchase a Hosting Plan

Your next step is to find a reliable web host to handle your site. There are dozens of hosting providers here and there, so it may be a bit challenging to choose the right one. So you can check this article about WordPress hosting providers and choose one of the providers mentioned there.

Install WordPress

Once you register a domain name and purchase a hosting plan, it’s time to install WordPress. Almost every hosting provider offers a one-click WP installation, so you’ll be able to handle everything in a few clicks.

Choose an Appointment WordPress Theme

Finally, you need to decide on a booking appointment WordPress theme for your website. When looking for a theme, make sure that it has all the essential features for your future project. For example, it should have marketplace functionality, a booking system, different search filters, a communication system, reviews, monetization options, etc.

In this walkthrough, we’ll use ExpertHive. It’s a lightweight and clean service marketplace WordPress theme. When combined with the HivePress plugin and the HivePress Bookings extension, it becomes a great solution for building an appointment booking website.

Also, for the sake of simplicity, we’ll show you how to create an appointment booking website for doctors. It’s just an example we chose for this tutorial, but you can follow the same steps and create a website for your own niche.

So, let’s move to the theme installation to get a better idea of the theme’s features and how to set it up correctly!

Install ExpertHive

In order to install the ExpertHive theme, navigate to the Appearance > Themes > Add New > Upload Theme section and upload the theme ZIP file. Then click on the Install Now button and proceed by activating ExpertHive.  

Upon the theme installation, you’ll get a recommendation to install the suggested plugins, including HivePress, the plugin that will enable the marketplace functionality on your website. You can easily install and activate all the plugins by following the suggested link. 

However, if you have any issues installing the ExpertHive theme, you can follow the screencast below, which shows the whole process step-by-step.

Now in order to add the booking functionality to your doctor appointment platform, it’s necessary to install the Bookings extension. You can easily do it by going to the Plugins > Add New > Upload Plugin section. Then you need to select the add-on ZIP file to upload and proceed by installing and activating it.

Okay, now you have all the necessary prerequisites to launch a doctor directory, so let’s move to the next step and add some listing categories based on the medical specialties.

Add Listing Categories

To make it easier for patients to navigate your website, it’s better to create different service categories based on the medical specialties. For example, let’s add “Psychiatry,” “Dermatology,” and “Cardiology” categories. To do that, go to the Listings > Categories section.

Firstly, you need to add the category title and fill in the description if necessary. Then you can select a category icon that will be displayed on the front-end. Finally, there’s an option to create a hierarchy of categories by turning your category into a subcategory (in this case, simply set a parent category for it).

Adding listing categories to the doctor appointment booking website.

When finished, click on the  Add Category button. Similarly, you can add as many categories as necessary for your doctor appointment booking website.

Add Custom Listing Fields

Once you split your doctor directory into categories, it’s time to add some fields specific to the services listed on the doctor appointment websites. You can add custom listing fields and search filters in the Listings > Attributes section. For example, let’s add the “Price” attribute to allow doctors to set the basic service price, while patients will be able to search and filter services by price range.

You can adjust your custom field in three different contexts, so let’s cover each of them:

  • Editing. In this section, you decide whether you allow users to edit this field via the front-end forms and define the field type for your attribute. In the case at hand, we’ll mark the “Price” field as editable and select the “Number” field type for it.
  • Search. Here, you can allow users to use this attribute as a search filter. To do that, mark it as filterable and sortable. Then you need to select the search field type, and we recommend setting the “Number Range” field type to allow filtering services by the price range instead of some specific price.
  • Display. Finally, you can choose how your custom field will appear on listing pages by assigning it to certain template areas and setting its display format. For example, for this custom “Price” field, we’ll use the following display format $%value%.

Once you are done, click on the Publish button.

Adding custom listing fields to the doctor appointment website.

Keep in mind that there are no limitations, and you can add as many custom fields and search filters as required for your doctor appointment website.

Add Doctor Profile Fields

Alright, we’ve just added some custom listing fields, but let’s also add some custom doctor profile fields and search filters, so users will be able to search for doctors directly instead of the services they provide. You can do it in the Vendors > Attributes section. For example, let’s add the “Work Experience” field to allow doctors to indicate their experience when they register on your website, and patients will be able to filter specialists by their work experience.

First of all, enter the attribute name, allow its front-end editing and choose the field type. We’ll use the “Select” type for this custom field. Then it’s necessary to mark it as filterable, sortable and select the search field type (here, we use the “Select” field type as well). Finally, define the display format for this attribute and click on the Publish button.

Adding custom doctor profile fields to the doctor appointment website.

Now, if you want to make this field mandatory, you have to mark it as required and save changes.

Setting up a doctor profile custom field.

Then, you need to add some options by clicking on the Edit Options button. For example, let’s add “5+ Years,” “10+ Years,” and “15+ Years” options. Simply enter the title and click on the Add Option button.

Adding options to the custom search filter.

Okay, once you are done with custom fields, let’s set up a front page for your doctor appointment booking website.

Set Up the Front Page

It’s crazy easy to add and customize new layouts since HivePress is integrated with the WordPress block editor. To add a new page, go to the Pages > Add New section.

Firstly, set the page title (e.g., “Home”). Now, let’s add some layout blocks. For example, let’s start with a “More” block to separate the header section from the main page content. To add a new block, click on the ➕ icon and select the block you need. Similarly, you can add the listing search form, a block that displays listing categories and another one that shows doctor profiles.

Creating a front page of the doctor appointment website using WordPress.

Also, you can upload a few featured images that will be displayed in the page header section by clicking on the “Set featured image” icon and uploading your images. You can check this screencast to set up your header images in the way they are displayed on the ExpertHive demo site.

When you finish customizing the page content, click on the Publish button. To use this page as a front page, navigate to the WP Dashboard > Settings > Reading section, select it from the drop-down list, and save changes.

List a Service

Alright, you’ve just created a fully functional doctor appointment booking platform, but now it’s time to test it to get a better understanding of its features. For example, let’s list a new medical service from the front-end to check how it works for doctors. To do that, go to your website, click on the List a Service button and choose one of the categories.

Then, you’ll be taken to the listing submission page, where you can upload preview images, set the service title and fill in other required fields. Also, there will be a custom “Price” field that we’ve added previously.

The listing submission form on the doctor booking website.

Once you are done with listing details, you can scroll down and adjust the booking settings. For example, you can set how many days are required before the appointment date, then specify the booking window that defines how many days an appointment can be made in advance. Also, you can set the earliest and the latest time available for an appointment, define the booking slot duration and frequency (in minutes) and so on.

Please note that you can enable the “booking requests” option to accept each booking request manually.

Booking settings on the doctor appointment website.

When you complete the listing form, click on the Submit Listing button to get this service listing published and available in the search results (if moderation is enabled in the HivePress > Settings > Listings section, the admin will have to approve it before the listing appears on the front-end).

Book an Appointment

Finally, let’s check how this doctor appointment booking website works for patients. Let’s log out, register a new account and try to book an appointment, just to test your website from both sides.

Once you register a new account, you need to locate the listing that you’ve added in the previous step and try to book it. 

An example of the listing category on the doctor appointment website.

You’ll notice that the appointment dates and time slots follow the booking restrictions you previously set (in the listing settings form). So, when you pick a date and time, click on the Request to Book button.

Booking an appointment on the doctor appointment website.

After that, you’ll be redirected to the confirmation page, where you can verify all the details and add some booking notes if necessary.

Verifying booking details.

Bear in mind that as a website owner, you can require extra details from patients by adding custom fields to the booking form. Once you verify all the details, click on the Send Request button.

That’s it! Now a doctor will get a pending booking request and will be able to accept or decline it (as shown on the screenshot below).

Accepting a booking request.

If the booking request is accepted, the patient will be notified via email. Also, if there are some changes or issues, doctors and patients can easily communicate with each other via private messages. Additionally, patients can leave reviews about the provided services or bookmark them.


By following these steps, you can build an appointment booking website with WordPress in next to no time. When you get it off the ground, you can start promoting your website to attract users to it. Once there are enough profiles on your platform and you get decent traffic, you can start monetizing your website.

Keep in mind that you can easily launch your appointment booking website with the ExpertHive theme and the HivePress plugin, along with its Bookings extension. Both ExpertHive and HivePress are lightweight, easy-to-use and packed with all the essential features for building an appointment booking platform right out of the box, such as doctor profiles, private messages, location-based search, and so on.

Additionally, you may want to check our overviews of the most popular:

Related Articles

Get notified about new HivePress themes & extensions

Subscribe Now
End-of-spring sale! Get 25% off with BYESPRING24 coupon until May 31st.
This is default text for notification bar