Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
25 Million+
Websites using our plugins
Years of WordPress experience
WordPress tutorials
by experts

How to Add a Hotel Room Booking System in WordPress

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Do you want to add a hotel room booking system to your WordPress website?

Setting up a booking system on your website will allow customers to reserve hotel rooms anywhere and anytime. This can help provide a seamless booking experience and increase conversions.

In this article, we will show you how to easily add a hotel room booking system in WordPress.

Adding hotel room booking system in WordPress

Why Add a Hotel Booking System in WordPress?

If you own a hotel, motel, or resort, then adding a hotel room booking system to your WordPress website can be extremely beneficial.

It will allow users to easily book a room online without having to visit or call your hotel. This convenience can improve the user experience and convince more users to choose your hotel over the competition.

Plus, it can save time and effort in managing reservations because the system can automatically update room inventory, pricing, and availability.

It can also provide a secure platform for customer transactions and data protection, reducing the risk of fraud.

Overall, adding a room booking system to your hotel website can enhance your customer service, generate more revenue, and help streamline your reservation process.

That being said, let’s see how you can easily add a hotel room booking system in WordPress.

How to Add a Hotel Room Booking System in WordPress

First, you need to install and activate the Pinpoint Booking System plugin. For more instructions, please see our step-by-step guide on how to install a WordPress plugin.

Configure the Calendar Settings

Upon activation, head over to the Pinpoint Booking System » Calendars page from the WordPress admin sidebar. Then, click on the calendar in the left column to open up its settings.

This will open a monthly calendar where you can configure your hotel’s availability. Simply click on any date in the calendar to open its settings in the right column.

Next, you can select room availability from the ‘Status’ dropdown menu. You should choose the ‘Booked’ option if all the rooms have been booked for that date. Alternatively, you can choose the ‘Available’ option if some rooms haven’t been booked yet.

Visit the Calendar page and click on the new calendar to open up its settings

Once you have done that, you will need to set a price for the available rooms by typing the value into the ‘Price’ box.

After that, simply type the number of rooms that are available into the ‘Number Available’ box.

If you want, you can also add extra information in the ‘Information’ box.

Set room availability and price

Now, you need to click on the gear icon at the top to configure calendar settings.

Once you are there, you can start by typing in a calendar name. This name won’t be displayed on your website and is just for your reference.

After that, scroll down to the ‘General Settings’ section. From here, you can select the date type, calendar style template, timezone, and more.

Add calendar name and configure general settings

You can also choose the number of months that you want to display in your calendar at a time.

After making your choices, you need to scroll down to the ‘Currency’ section.

Here, simply choose the currency your hotel accepts from the dropdown menu. If you want, you can also choose a currency position from the dropdown menu so that the currency sign will be shown after the numbered price.

However, we recommend leaving this setting as the default.

Choose the currency your hotel accepts

Next, you must move to the ‘Day Settings’ section, and select the available days, first weekday, first day displayed, and more.

You can also choose to enable/disable morning checkout.

Configure day settings

If you want to rent out hotel rooms by the hour, then you must scroll down to the ‘Hours Settings’ section.

From here, simply toggle the ‘Use Hours’ switch to ‘Enable’ and then configure the settings as you like.

Configure hour settings

You can also sync the hotel booking system with your Google Calendar by scrolling down to the ‘Google Calendar Sync settings’ section.

Here, toggle the ‘Enable Google Calendar Sync’ switch on, and then provide the client ID, project ID, calendar ID, and the token URL of your Google Calendar.

Sync with Google Calendar

After that, head over to the ‘Sidebar Settings’ section.

From here, you can choose a template to display the hotel room booking system on the front end.

Choose sidebar settings

Configure the Hotel Booking System Notification Settings

Once you are done, make sure to click on the envelope icon at the top to configure the calendar’s notification settings.

Here, you can start by adding your email address in the ‘Notification Email’ box. This is the email address where you will be notified when someone books a hotel room using your website.

If you are having trouble receiving WordPress emails, then you may want to take a look at our guide on how to fix WordPress not sending emails issue.

Next, you need to type the email address that you want to use to send messages to the customers into the ‘Reply Email’ box. After that, add the same email address into the ‘Admin Email Sender’ box if you are the administrator of the website.

Once you have done that, type a name into the ‘Email Name’ box. This name will be displayed in emails sent to your customers by the booking system plugin.

Add the email address where you'll receive notifications

The plugin already comes with default email templates that it uses to send emails.

However, if you want to create your own email template, then you will have to visit the Pinpoint Booking System » Email Templates page.

From here, just click on the ‘+’ button at the top to open up a new email template. Next, select an email type from the ‘Select Template’ dropdown menu and add your preferred content to the ‘Message’ section.

Once you are done, your changes will be automatically saved.

Create an email template

Next, head back to the ‘Calendar Notification Settings’ page and scroll down to the ‘Enable Notifications’ section. Here you can decide when you want users to be notified with an email.

For instance, if you want to send an email to a user once their reservation has been approved, simply toggle the switch next to that option to enable it.

Choose when you want the admin or user to receive notifications

Configure the Payment Gateway Settings

Once you have done that, click on the wallet icon at the top to configure the payment gateway settings.

From here, you need to toggle the ‘Enable payment on arrival’ switch if you will allow customers to pay when they check in to your hotel.

Enable payment on arrival if you're willing to accept cash on customer arrival

Next, you have to expand the ‘Billing Address’ section and toggle the ‘Enable billing address’ switch to activate the setting. Then, simply choose the details that the customer must fill in before they can book a hotel room.

For instance, you can ask for a customer’s first name, last name, address, country, phone number, and email.

Next, you can also enable the shipping address by toggling the ‘Enable shipping address’ switch.

Enable billing address settings

After that, click on the ‘PayPal’ section to expand it and then toggle the ‘Enable PayPal payment’ switch.

Now, go ahead and simply add your PayPal credentials to activate the payment gateway.

Enable PayPal payment and provide credentials

Once you are done, your settings will be automatically saved.

Configure the Booking Form Settings

After setting up a booking system calendar, you need to visit the Pinpoint Booking System » Forms page from the WordPress admin sidebar.

By default, the plugin has already created a simple contact form that can be used by customers to secure bookings on your website.

Adding this contact form to your website will allow customers to skip third-party hotel booking platforms like It will also save on commission fees that you would otherwise have to pay to these booking sites.

You can also add a new field to the default booking form by clicking on the ‘+’ button next to the ‘Form Fields’ options. Once the new field has been added, simply click on the ‘Show Settings’ button to expand it.

Next, you can add a field name and choose its allowed characters and size. You should also toggle on the ‘Required’ switch if the field you are creating is essential for the booking process.

Create a form for customers to make reservations

Once your contact form has been created, users will be able to book reservations using it.

Now, to check your reservations, you will have to visit the Pinpoint Booking System » Reservations page from the admin sidebar.

Here, you can will all the reservations on your website, and you can select their statuses as ‘Pending’, ‘Approved’, or ‘Rejected’ from the ‘Status’ section.

You can also choose a payment method for those reservations from the ‘Payment method’ section.

Check reservations made on your site

To manually add a new reservation, you will have to click on the ‘+’ icon at the top.

This will open up the booking system on the right side of the screen, and you can enter details to create the reservation.

Create new reservations from WordPress dashboard

Configure the General Settings

To configure the general settings, you need to visit the PinPoint Booking System » Settings page from the admin sidebar.

Next, click on the ‘User Permissions’ option from the left column. This will open up a list of options where you can select the WordPress user roles that will be allowed to edit their own calendars.

Configure user role settings

You can even set permissions for specific users by expanding the ‘Set permissions on individual users’ tab.

From here, simply check the ‘Use Booking System’ box next to the user role that is allowed to make changes to their hotel booking system calendar.

Configure singular user role settings

Adding the Hotel Room Booking System to a WordPress Post or Page

You can easily add the hotel room booking system to a page or post using a shortcode.

For this tutorial, we will be adding the booking system to a page.

First, you need to open up an existing or new page from the admin sidebar. Once you are there, click on the Add Block ‘(+)’ button at the top left corner and locate the Shortcode block.

Upon adding the block to the WordPress page, simply copy and paste the following shortcode into the block.

[dopbsp id=1]

Add the shortcode for the booking system

Finally, click the ‘Update’ or ‘Publish’ button to save your changes.

Now, you can visit your website to see the hotel room booking system in action.

Preview of the hotel booking system

We hope this article helped you learn how to add a hotel room booking system in WordPress. You may also want to see our beginner’s guide to WordPress conversion tracking made simple and our top picks for the best Stripe plugins for WordPress to accept payments easily.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

12 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. sreekanth says

    hi how can i create the hotel website in which the users can search their desired hotel and flight and here the question is how can i get the data of flights and hotels data into my database

  3. 見嘉 洪 says

    I can’t see the “add calendar” drop down menu in the visual post editor.
    What should i do now?
    After the newest version updated, this problem is solved. Thanks~

  4. Stephan Paul says

    Seems Wicked but I have multiple rooms available with different prices This seems to just do one price for the one room for one night and i cant seem to find how to add more rooms or different prices

  5. John says

    This plugin looks inviting.

    However, if you want to book something without using PayPal you need to pay US$49 for the Pro version.

    I wouldn’t mind paying for the pro version, but because I don’t want to use PayPal, I’ve no way of knowing if it will work.

  6. Mark says

    Hi, great writeup and exactly what I’m in the process of looking for. My problem has been that there are so many options out there. Did you review any other paid/free plugins before writing this article? I’m curious as to what led you to choosing this as Your ‘plugin of choice’ for booking systems.



Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.