The ability to make bookings on a service-based website is not just an advantage but a key to successful leads conversion. Clients are more likely to make a booking directly from the website than making an extra call or waiting for a response email.
So today, I will teach you to add booking functionality features to your WordPress site. With the right plugins and a little tweaking, you’ll acquire not only a dynamic booking form but also an entire tool for managing online reservations.
What To Look For In A Booking Plugin?
Of course, there are different types of booking software. Depending on your business needs, a reservation form can look like a simple calendar (for events, restaurants) or a multi-step form (for appointments, hotels).
For example, a gym may provide individual or group classes, different types of classes & instructors, different locations (for chains), etc. Only then will clients choose the preferred date and timing of their training.
However, a booking form starts with guests choosing the preferred dates for their hotel stay. Then, they can view complete info on the available accommodation and reserve the preferred one.
Advanced hotel booking plugins have options for extra services (breakfast, childcare, etc.), automatic client email notifications, and more.
Overall, good WP booking software will have the following features:
- Fully-customizable booking calendar;
- Mobile-friendly interface;
- The ability to make payments;
- Support for unlimited services/events/properties;
- The ability to edit original bookings (change status, etc);
- Filtering & search options;
- Multiple bookings at once;
- Email confirmations & reminders (both admins & users).
Since different niches have their service peculiarities, it’s impossible to find a universal WordPress plugin that covers ALL the needs.
This guide is based on the following booking plugins:
- WordPress Hotel Booking plugin (property rental)
- WordPress Appointment Booking plugin (hourly-based appointments)
Both plugins are products of MotoPress – a popular WordPress software provider with a 10-year of experience on the market. The company creates free & premium themes and plugins but is mainly known for its best-selling booking software.
Let’s see why MotoPress plugins are the best solution for adding a booking form to your WordPress website.
How To Add Booking System To WordPress Hotel Websites?

The MotoPress Hotel Booking plugin is the best WordPress booking engine for a rental property of any kind, whether hotels, small B&Bs, cabins, or luxury villas. The plugin comprises tools for accepting and managing property reservations.
Features of Hotel Booking:
- Real-time availability calendar;
- Unlimited list of properties with photos and info on the amenities, services, capacity, bed types, etc;
- iCal sync with OTAs (e.g. Booking or Airbnb);
- Google calendar scheduling;
- Advanced property search forms;
- Online payment support (automatic or manual);
- Taxes, fees, seasonal rates, discounts;
- Bookable extras to upsell;
- Automatic/manual confirmations;
- Booking functionality rules (min/max stay-in rules, specific times for arrival/departure);
- Automated email notifications;
- Stats & revenue charts’
- Pre-made designs for a bed and breakfast, villa, hotel, and more.
You can view the Hotel Booking DEMO down the link.
But the biggest “flex” about the Hotel Booking plugin is simple navigation and an easy-to-follow learning curve.
Step 1: Installation & Activation
There are two ways how you may add a booking widget with the Hotel Booking plugin:
- The first one is when you install one of the MotoPress hotel booking themes. All those themes are packed with the booking functionality from our plugin, so there is no need to do extra activations. Also, MotoPress themes provide you with a ready-to-go solution in terms of layout & design for specific accommodation types: hotels, cabins, villas, apartments, pet boarding centers, etc.
- The second one is when you just install a booking plugin to your custom design or any third-party template.
In the first option, the plugin is activated automatically. In the second option, you need to upload the plugin’s file and activate it (Plugins > Add New > Upload Plugin):

Activate the plugin, and you’re done!
Step 2: Add Accommodation Types
Now, your WordPress menu will have two more tabs for adding Accommodations and managing Bookings.
The booking functionality starts directly on the backend of the WordPress dashboard. First, you add accommodation types (title, description, images, category, capacity, free in-room services):

The Accommodations tab has subtabs for adding new categories, tags, amenities, capacity, and other custom characteristics:

It means the Hotel Booking plugin lets you add ANY characteristic relatable to your accommodation.
Here’s how the final result may look on your WordPress website:

Step 3: Set Accommodation Rates
The following essential aspect of your future bookings is the rate. Many hotels would have dynamic pricing depending on the number of guests, season, whether the booking is refundable or not, and other factors.
To set dynamic rates, find “Rates” In the Accommodation tab:

Step 4: Set Taxes & Fees
This step is for users who want to break down the price into taxes & other fees for their guests.
The plugin allows to charge fees per accommodation or per person. Some property types can be excluded from charging those fees/taxes. As guests complete their booking, they will see the detailed information on fees & taxes at checkout:

P.S. If you want to implement discounts using coupons, find the Coupons settings in the Bookings tab.
Step 5: Customize Other Settings
Go to Accommodation > Settings to access other settings types:
- General (pages, bookings confirmation & cancelation, search options, disabling bookings, calendar sync);
- Admin & Customer Emails (email templates stating booking pending/approval/cancellation);
- Email Settings (email sender data & styles);
- Payment Gateways;
- Hotel Booking Extensions;
- Advanced.

Step 6: Add a Booking Calendar To Your WordPress Website
So you have finally gone through all customization settings, and it’s time to place the booking calendar on your website.
It does not matter which WordPress page builder you use. By default, the plugin generates separate shortcodes for:
- Availability search forms;
- Availability calendar;
- Availability search results;
- Accommodation types listing;
- Services listing;
- Single accommodation types;
- Checkout & booking forms;
- Accommodation rates list;
- Booking confirmation;
- Booking cancelation.
The luckiest ones are users of Elementor and Divi. They can download free extensions, allowing them to integrate these forms into plugin elements:

Now you’ve got a booking functionality on your WordPress website. Use the All Bookings tab to keep track of the upcoming reservations.
How To Create An Online Booking System For Appointments?

Now we will add a booking form using the MotoPress Appointment Booking plugin. This software helps accept and manage online bookings for timely-based services, in particular:
- Education centers, tutors, schools;
- Coaches, phycologists, individual consultants;
- Medical institutions, dental offices;
- Beauty studios, spa salons;
- Gyms, individual coaching, dance studios.
Features of WordPress Appointment Booking Functionality:
- Unlimited employees & services & locations
- Custom time slots
- Custom pricing & duration for each employee
- Flexible individual schedules (breaks and holidays included)
- Personal profiles of each employee
- Multi-service bookings
- Group bookings
- Three-step booking functionality wizard
- Online payments (PayPal, Stripe, direct bank transfer, upon arrival)
- Convenient backend dashboard
You can view the Appointment Booking DEMO down the link.
Step 1: Installation & Activation
Similar to Hotel Booking, there are two ways how to install the Appointment Booking plugin to your WordPress website:
- Use one of the MotoPress themes optimized for appointments;
- Install the plugin yourself.
In the first option, the plugin installs automatically with the theme functionality.
Option #2 requires uploading the file to your WordPress dashboard (Plugins > Add New > Upload Plugin).
Step 2: Add Services
We’ll start with Services as a core element of all appointment booking forms. Go to Services located in the Appointments tab.
It is where you can configure services (title, description, duration, price, buffer time, min & max capacity, and assign services to your employees (we’ll add info on the employees in the next step):

Step 3: Create Profiles of Employees
To create a profile of yourself or your employees, click Employees > Add New. You can fill in a detailed description of each staff member, including their contacts, social media links, etc.:

Step 4: Add Locations
You can use the plugin for business chains and let clients choose their preferred location. Go to the Locations tab to add info on each location:

Step 5: Schedule Working Hours
The Appointment Scheduler allows you to build individual schedules for each employee. The timetable includes information on the regular working hours, lunchtime & breaks, vacations, the change of locations depending on a day & days off.
The plugin even supports custom schedules for specific days:

Step 6: Customize Other Settings
The Settings tab allows you to set up:
- The default length of the appointment;
- The default country & currency;
- Email templates (confirmations & booking details);
- Payment methods;
- ..and more
Step 7: Add a Booking Widget To Your Site
After you have added information about services and created personalized schedules for each staff member, you are ready to place a booking widget on your site.
Similar to Hotel Booking, you can insert the plugin-related content using shortcodes. For example, in the Shortcodes tab, you will generate shortcodes for these elements:
- Appointment form;
- Employees list;
- Locations list;
- Services list;
- Service categories.
Shortcodes can be used anywhere on the WordPress website with any WP page editor.
Alternatively, Elementor & Divi or Gutenberg users can access the plugin’s forms in the list of available widgets/modules/blocks. It means you can editor the Appointment Booking content in real-time using a visual interface:

Final Words
MotoPress is a great source of advanced booking functionality. Each solution is optimized to its business niche and specific tasks.
Both plugins let you handle reservations & payments automatically or upon the admin’s confirmation. They are super flexible and easy to follow.
Download the Hotel Booking & WordPress Appointment Booking plugins to add booking functionality to your WordPress website down the links.
Disclosure: We sometimes use affiliate links in our content. Some of the links in this post are “affiliate links.” It means if you click on the link and purchase the item, we will receive an affiliate commission. It helps our WordPress website keep on running and allows us to offset our writing team’s cost. Thanks for your support.