Skip to main content
WordPress made easy with the drag & drop Total WordPress Theme!Learn More

How to Build a WordPress Hotel Website with a Room Booking Engine

July 24, 2017
How to Build a WordPress Hotel Website with a Room Booking Engine

Focusing on growing your direct hotel bookings or just need to create a WordPress hotel website for a client? Good. We’ve created a detailed tutorial for you! It should come in handy if you want to build a hotel, hostel, apartment, inn or bed & breakfast website and turn on automatic booking submissions – the ones that are paid and processed while you are sipping coffee.

With WordPress, there are 2 main approaches to create a fully functional hotel website powered by a reservation engine:

  1. A ready-made WordPress hotel booking theme
  2. Any WordPress theme (including hotel ones) + a third-party property booking plugin

Of course, there is one more approach to be mentioned. The booking system can also be powered by any reservation proprietary software. I have to admit that some of them come with dozens of useful options WordPress plugins may lack. But unless you’re planning on starting a massive hotel chain you probably won’t need all the extra bells and whistles, so you’re better off choosing a user-friendly theme or plugin.

Generally, taking your hotel operations into the cloud with the proprietary software will also cost you an arm and a leg (on a regular basis!). Using WordPress plugins/themes you significantly decrease expenses and get a powerful secure functionality.

Just Google it and compare: the average monthly price of the proprietary booking engine is around $100 (with the price increasing depending on room types, number of rooms, etc in your hotel establishment), while the WordPress theme+plugin will cost you around $100 per year.

So, since reservation software is probably not right for most people reading this article let’s get back to the first 2 approaches and save some money for utility bills.

Choosing a Ready-Made Hotel Booking WordPress Theme

If it’s easier for you to start with the first approach, remember that many WordPress themes advertised as “hotel booking” come with a reservation form where booking submissions are sent via email. They can be pretty advanced (with check-in and check-out date forms, room types, etc.).

WordPress Themes with Reservation Forms

Paradise Cove is a great example of such a theme. The guests can search for accommodation:

Paradise Cove Room Search

Then choose one from a pretty handy listing:

Paradise Cove Listing

And place a booking request by submitting the following form via email. Its main disadvantage is that guests cannot be sure the room is really booked, because the process should involve manual confirmation.

Paradise Cove Reservation Form

You should take into account that it’s a more convenient way of reservations for hotel but not for the guests. If you don’t provide automatic bookings (with payment, for example) guests might prefer to call your hotel to make a reservation.

On the other hand, modern people who are used to OTAs (online travel agencies – like TripAdvisor) want the process to be handled almost completely with tech, with minimum phone calls. Or, what if they are just introverts?

That is, hotel room reservation by email or phone is not the level of “automation” you (and travelers) are looking for. Right?

Getting back to the beautiful Paradise Cove WordPress theme: a simple property booking WordPress plugin can drive it to accept online reservations.

This reservation-via-email sort of functionality can still work just fine for travel websites, where booking a tour by email is still very popular (people love to discuss details of tours before purchasing them).

WordPress Themes with a Reservation Engine

Let’s now talk about a type of a hotel WordPress theme with a property reservation engine built in. Typically these themes are primarily based on third-party property booking plugins.

For example, the Bellevue hotel booking WordPress theme that comes with different demos (a hotel, urban countryside, a beach house) and is powered by the booking plugin with WooCommerce payments:

Bellevue WordPress Theme

It means this theme will let your guests add a needed accommodation to their cart and pay for it online (through PayPal, for example):

Bellevue Booking Submission

It’s a pretty straightforward automated process of accepting online bookings.

To sum up, here are the pros of the hotel WordPress themes with the booking engine implemented:

  • A one-stop solution with a theme and plugin seamlessly integrated: all icons and styles of the plugin look natural in a theme design
  • A money saving: in case a booking engine is a paid plugin, the theme vendors generally include it for free, so you pay for a theme only

The only limitation of this solution is that you’ll have to rely on the booking system offered by the theme. Namely, you won’t have a choice of the reservation system (of course, you can delete the initial one and install another room reservation plugin, but what’s the point of buying such a theme then?). So, you’ll need to find out additionally whether you are able to tweak the plugin’s behavior to fully meet your needs.

But if you’ve already found a good WordPress theme and just need to implement a hotel booking engine into it, read further.

Building a Hotel Site with a WordPress Room Booking Plugin

You can grab any WordPress theme and turn it into a fully functional hotel website with the automated booking process. It can be either a hospitality business dedicated WordPress theme or just the one you already use and love.

For example, Villa Fortuna is a great lightweight hotel design that is easy to power with a reservation plugin (as the theme is not reservations ready):

Villa Fortuna WordPress Theme

Let’s dig deeper and see how to do that step by step with one of the most advanced WordPress reservation plugins for hotels – MotoPress Hotel booking plugin. It lets you add properties listing with all details and enable online booking (for hotels, apartments, vacation rental, hostel, etc.)

Here is the frontend piece of the apartments agency website built with this reservation plugin:

Frontend Example of Apartments - MotoPress Plugin

You can, by the way, test the dashboard of the plugin yourself with any preferable type of the hotel establishment: hotels, apartments, hostels or villas.

And now let’s take a look at the backend. Once the plugin is installed and activated, 2 menus should appear: Accommodation and Bookings. Then follow these easy steps:

1. Add different types of seasonal pricing: these can be different dates or days (Christmas, summer 2018, etc.). These are the dates you are sure the pricing for them should differ.

Add Season

2. Add extra hotel services or packages: free or paid (baby sitting, parking, etc.). You need to do it beforehand to be able to further include the available services to different accommodation types. You may add a service description, a featured image, price and periodicity. Guests can book them when placing a booking request. This is optionally, of course.

Add Services

3. Add accommodation types: each of them can be supplied with a description, categories, amenities, photo gallery:

Facilities and Gallery

Accommodation’s capacity (adults, children, size), view, bed types, and services can be also featured:

Add Accommodation Types

Since version 3.0, you can add unlimited custom attributes – these may be the search availability form fields, extra property details or both. You’ll just need to add the needed attributes and assign tags to them.

Let’s illustrate it with an example: add a ‘location’ attribute with the needed number of tags (e.g. New York, San Francisco), then assign tags to the properties selectively.

Booking Engine Attributes Admin

If you want to enable guests to search through the entire category, simply add this ‘location’ attribute as an extra search field to the search availability form (add respective attributes to the shortcode).

Booking Engine Advanced Search Form

Those extra fields may be anything consistent with the reality of your business: room type, short or long-term rental, etc.

That’s simply great – you can add unlimited properties in multiple locations!

4. Add rates: different prices for the same accommodation type depending on a number of benefits (e.g. refundable and non-refundable):

Booking Engine Rates

The plugin sets you up with a hugely flexible rates system to apply tiered pricing to a base property rate. It will allow you to designate different price points based on different criteria:

  • A number of in-room amenities or conditions (refundable, non-refundable)
  • A number of guests
  • Length of stay (automatic discounts)
  • A season

5. Create all system pages with shortcodes available in the admin panel: Search Results, Search Availability, Complete Booking, Booking Confirmation, Booking Cancellation pages:

Shortcodes - Booking confirmation page

6. Configure major settings:

Booking Plugin Settings
  • Set parameters for displaying accommodation types (currency, currency position, date format, check-in and check-out time, etc.)
  • Add bed types available in your hotel establishment
  • Set the period of time to show the lowest price for – if guests don’t set check-in and check-out dates, the’ll see the cheapest accommodation for the period of time you set
  • Enable/disable the search form to recommend the best set of accommodations according to a number of guests (this is a great option to allow one guest to add multiple accommodations into one reservation)
  • Enable/disable online booking
  • Set confirmation mode: by customer via email, by admin manually or automatic confirmation on payment
  • Set maximum accommodation occupancy in the search form (it’s not limited because the plugin supports multiple accommodations booking at a time)
  • Check/uncheck an images gallery lightbox
  • Choose a theme for the Search availability calendar (e.g. Light coral, Dark red) – it should dovetail nicely into any WordPress theme

7. Customize admin and customer email templates (using macros):

Email Templates

The system allows you to automatically send email notifications on new bookings to multiple recipients (e.g. property manager, cleaning staff, etc.).

8. Turn on/off payment gateways and configure payment settings (test payments, PayPal, 2Checkout, Stripe, Braintree, Beanstream/Bambora for free or use WooCommerce Payments premium add-on): full or deposit price to pay, deposit type (fixed or percent), choose system pages and default payment gateway to display on the checkout page.

Booking Engine Payment Gateways

If you don’t want to accept payments online, simply turn on ‘Pay on arrival’ payment method. This will allow you to process a reservation over the phone or email, manually add it to the bookings system and then receive payment in cash from a guest after arrival. The sum of money received can also be filed manually by the hotel/property staff.

If you practice both ways, online and on arrival charges, you can give your guest a choice by turning on all available payment methods.

9. Change language settings (if needed): as the plugin is available in 14 languages, you may set the needed one or customize texts of the plugin with any WordPress translation program.

Moreover, the plugin is officially compatible with WPML plugin letting you build a multilingual website with a very user-friendly interface.

10. Work with the Property management system. To work with the PMS, go to Bookings menu. Here are some important options of this system.

The plugin lets you generate coupons if you want to provide your travelers with discounts or arrange promo campaigns. You can create coupons based either on the monetary value or the property rate percentage. The fixed coupon type can be applied per accommodation per day or per accommodation per stay.

Booking Engine Coupon Codes

Apply custom booking rules for the entire hotel establishment or only chosen rentals: set check-in/check-out days and min/max stay-in days for all properties or individual accommodations. You may also block your rentals for a chosen period of time by setting preferable restrictions:

MotoPress new booking rules

Synchronize your direct website bookings with those from online travel agencies (OTAs): if you use popular platforms like Airbnb or Expedia to rent out your property, the plugin lets you avoid overbooking by syncing all your bookings across all platforms and the brand website. To make it possible, the OTA where your property is listed should support iCalendar file format (popular ones do). To make it all work, you need exchange the calendars – literally copy/paste the appropriate calendars and import/export them across platforms. The bookings will be automatically synchronized.

MotoPress iCal sync

Add taxes and fees on all your accommodations, services, etc. You’ll see all of them in total charge info of every booking.

MotoPress Taxes & Fees

The booking process is pretty easy – guests provide personal details, choose rates, services and the payment method (if you turn it on):

Complete Booking - frontend

All the bookings are stored in the admin dashboard:

Bookings Calendar

If the customers pay after arrival, a hotel manager can add the payment manually:

Add payment manually

Managing incoming bookings, you can view all of them (with or without a payments), check their statuses, logs, customer details, etc. To check payments only, you can quickly navigate to “Payment history”.

As you might see, it’s pretty easy to create a complete hotel website with online reservations even without technical skills. Just grab your favourite WordPress theme and follow the described steps.

Guests are different – some want to book online quickly and have automatic control over everything. Others want to have a partner in the process to make sure their complex needs are met, or prefer a human touch like a phone conversation. With a hotel website that accepts immediate online reservations you serve both types of modern travelers. And maximize your hotel occupancy rate by the way!

It’s an especially simplified process with WordPress, where you have great alternatives of building a hotel website with a ready-made hotel theme or the property reservation plugin like the MotoPress Hotel booking plugin.

Do you have any experience of building a website for hospitality business? Got a question? Don’t wait and speak your mind in comments!

Article by Ann Taylor guest author
Subscribe to the Newsletter

Get our latest news, tutorials, guides, tips & deals delivered to your inbox.


  1. TecCrowd

    I am just looking for how to build a hotel booking site in wordpress and got this amazing article.

    • Emily

      Glad to be of assistance!

  2. Albert Trotter

    i had made online reservation website earlier using php but with wordpress it is so so easy and simple and yes it has much more scope

  3. Kasia

    Hi there. I have recently purchased a theme with the WP hotel booking plug-in and am trying to synchronise my airbnb and bookings with wordpress. I can’t seem to find an option? Do i need to upgrade or?

    • Kyla

      If you’re using the WP Hotel Booking Plugin then you’ll have to open a support ticket with the developer Thimpress (here’s the plugin support page). My understanding is that to link your various booking methods you need to sync your various booking calendars. MotoPress has a great guide on how to sync OTAs via iCal, but this may only work for their booking plugin.

  4. Juan

    Hi there,

    We are building a travel company, and each travel comes with packaged accommodation + extras. Can I use Motopress for shared rooms (like hostel) pricing?



    • Kyla

      I just asked, and according to MotoPress yes – it certainly does!

Leave a Reply

Your email address will not be published. Required fields are marked *

Learn how your comment data is processed by viewing our privacy policy here.