Hotel Booking Engine for WordPress

Hotel Booking Engine for WordPress

#1 Hotel and Vacation Rental Booking System for WordPress

MotoPress Hotel Booking plugin is a complete hotel and vacation rental booking system for WordPress. As it doesn’t require any coding, the plugin is absolutely handy for non-tech website owners as well developers who build WordPress hotel themes or custom websites for clients.

The plugin doesn’t focus on any specific hotel establishment, so you may use it for hotels, bed and breakfast websites, guest houses, apartments, villas, and even hostels (check any of the demo examples to see how it works in the wild.)

The plugin comes with all needed functionality to run a fully functional hospitality business website and (optionally) manage reservations: you’ll be able to create a beautiful listing of all your properties, control seasonal pricing and rates, add a real-life search availability form, rent property out online with or without instant payments, synchronize direct site reservation with popular travel channels via iCal through the admin channel manager and much more.

Product Highlights

Real-time search availability form

Travelers find an accommodation for needed dates and a number of people in a matter of clicks. The accommodation availability calendar will show a minimum length of stay based on the search parameters. You can also add your custom text to the “Children” parameter to make it more clear for your guests.

Unlimited number of accommodations

Add and display unlimited number of rentals. For hotels with lots of rooms of the same type, you can generate accommodations automatically. You can add and display a rental description, an image gallery, unlimited in-room amenities, rates, extra services and more for all individual accommodations.

Seasonal pricing

Set any prices depending on a season or specific days / dates. “Season” is a general term and you can label it anyhow to reflect your pricing changes.


Set different rates based on the accommodation benefits (e.g. breakfast included / no breakfast). Your guests will choose the most suitable one while placing a booking.

Booking multiple accommodations

One guest can reserve multiple accommodations for many people during one booking process. You may optionally turn on the plugin to recommend the best set of accommodations based on a number of guests.

The search algorithm is very smart, so your guests will get the most suitable results in seconds. However, the guest can skip the recommendation and make their own choice.

Packages and services

Offer bookable extra services or packages (free or paid) along with the accommodation reservation. Charge per room or per person.

Confirmation modes

Confirm bookings automatically or manually, with or without a payment.

  • by guest via email
  • by admin manually
  • by payment

Pending bookings that were not confirmed are getting updated with the “Abandoned” status, therefore, the accommodation becomes available for reservation. The website administrator can view the “Abandoned” bookings and get in touch with the prospective tenants via email.

Flexible booking rules

Set min / max days to stay and available check-in and check-out dates for the entire hotel establishment, accommodations individually or seasons. You may also disable booking option for all accommodations or any one individually for a certain period of time.

Online and offline payments

The booking system accepts payments through PayPal, 2Checkout, Stripe and Beanstream/Bambora (these are built-in payment gateways you can use for free). Charge the full fee or deposit to confirm the booking, allow guests to pay after arrival.

WooCommerce Payments addon

If you need more payment gateways to handle online reservations, you can get a premium WooCommerce Payments add-on that we created specifically for the Hotel Booking plugin.

Taxes and fees

Complete and correct pricing information on all accommodation charges: add mandatory fees, accommodation taxes, service taxes and fee taxes. The guests will be able to see the summary of charges before making a booking. All this info on each booking is stored in the admin dashboard as well.

iCal support to sync bookings across OTAs

Synchronize the bookings submitted through your WordPress property rental website with those from online travel agents like Airbnb or and avoid overbooking.

Bookings calendar

All received bookings and booking requests in their current statuses are stored at one place, easily sorted and displayed in a calendar view.

Discount coupons

You’ll be able to set a discount amount, an expiration date, select accommodation types, set check-in and check-out dates, minimum and maximum days to stay and apply other settings to customize your coupons.

Email notifications

Receive and send automatic notifications on each booking request – approve and cancel submissions via email. Easily customize content and design of your email templates.

Multilingual support

The frontend and backend of the plugin are professionally translated into 14 languages: Portuguese, Polish, Russian, Spanish, Turkish, Swedish, Italian, Hungarian, Czech, Chinese, Dutch, French, Arabic and German (more on the way). The plugin is officially compatible with WPML.

Shortcodes & widgets

You have a list of shortcodes to use: availability search form, availability search results, room types listing, services listing, etc. Each shortcode comes with a detailed explanation and flexible parameters.

Actions and filters

Developers can change the behavior and look of the booking plugin with a pretty rich list of hooks, actions and templates listed in the documentation.


= 2.4.4, Mar 14 2018 =
* Improved compatibility with Elementor Page Builder plugin.
* Fixed the bug with missing slash in calendar URL.

= 2.4.3, Mar 7 2018 =
* Added a new option to skip search results page and enable direct booking from accommodation pages.

= 2.4.2, Feb 28 2018 =
* Fixed the bug with check-in and check-out time not saving. Time settings were set to 24-hour clock system.
* Added tags to Accommodations.
* Added the following mphb_rooms shortcode parameters: category, tags, IDs and relation. Now you can display accommodations by categories, tags or accommodation IDs.
* Added a new field to settings where you can set a standard child's age accepted in your hotel establishment. This is an optional text, which will complete "Children" field label clarifying this info for your visitors.
* Improved the search availability calendar. Now it correctly displays the minimum stay-in days depending on a check-in date.
* Fixed the bug with all dates displaying as unavailable within certain booking rules.
* Fixed the bug with a custom rule not being applied because of a global booking rule.
* Fixed the bug with the Availability calendar not showing the correct number of available accommodations.
* Added "Blocked accommodation" status to the Booking Calendar.
* Added a new DESCRIPTION field with the booking info to the Export Calendar in iCal format.
* The Export Calendar in iCal format now shows the SUMMARY in the following format: first name, last name and booking_id.
* Now the booking information from external calendars is sent across booking channels without changes.
* Fixed the error with deleting an expiration date of the coupon code.

= 2.4.1, Jan 31 2018 =
* Added support of WooCommerce Payments extension.
* Bug fix: fixed fatal error on booking confirmation page.

= 2.4.0, Jan 24 2018 =
* Added the ability to add accommodation taxes, services taxes, fees (mandatory services) and taxes on fees.

= 2.3.1, Dec 22 2017 =
* Added the ability to enable automatic external calendars synchronization.
* Fixed the bug with the rate duplication.
* Fixed localization issues of accommodation titles featured in "Recommended" block.
* Fixed the bug with the NextGen gallery plugin.

= 2.3.0, Dec 13 2017 =
* Added more flexible booking rules:
  * ability to set check-in check-out dates for individual accommodation types during chosen seasons;
  * ability to set minimum and maximum stay-in days for individual accommodation types during chosen seasons;
  * ability to block individual accommodation types and actual accommodations for chosen dates;
* Note: This release will perform an upgrade process on the database in the background. Please make sure that your previous booking rules are successfully transformed into new ones.
* Updated translation files. 
* Please note! Due to peculiarities of multilingual settings, the titles of custom post types and taxonomy (e.g. accommodation types, categories) are not translated from English into other languages in the URLs of the pages.

= 2.2.0, Oct 9 2017 =
* Implemented bookings synchronization with online channels via iCal interface.
* Replaced Services text 'per night' with 'per day'.
* Renamed Facilities to Amenities.
* Bug fixed: Stripe is now displayed on the Booking confirmation page even if it's the only payment method selected.
* Bug fixed: the amount of Accommodation types displayed in widget is now not dependent on the global WordPress settings.
* Removed limit for setting the number of adults and children in Accommodation type menu.
* Fixed the link for viewing a booking in the administrator's email.
* Fixed the rate duplication issue when clicking on a link in the list of rates.
* Fixed the issue with the %customer_note% tag that was not displayed in email.

= 2.1.2, Aug 14 2017 =
* Bug fix: put "beds" back to Settings.
* The Booking Confirmation page update: guests must select the number of adults and children.

= 2.1.1, Jul 19 2017 =
* Bug fix: fixed the placeholder of posts titles.

= 2.1.0, Jul 13 2017 =
* Added the ability to create and apply coupon codes.

= 2.0.0, Jun 28 2017 =
* Note: This release will perform an upgrade process on the database in the background.
* Note: This release adds new tags for email templates. Update your templates please. To reset an email template just remove the current text and save settings.
* Note: This release doesn't limit the number of adults and children in the Search availability form. Please update "Max Adults" and "Max Children" number in plugin settings.
* The updated plugin allows guests reserve and pay for several (more than one) accommodation types during one reservation process.
* Search results page was updated: guests can choose and add several accommodation types into one reservation.
* On the search results page, the plugin displays all recommended accommodations according to the number of guests specified in a search request. This option can be turned off.
* Email templates were updated to support Multiple booking.
* Admin page descriptions were updated to ease the work with the plugin.
* Bug fix: fixed the issue with saving check-in and check-out dates in Settings.
* Improved compatibility with Jetpack gallery and lightbox modules.
* Added a theme-friendly pagination option that allows specify the number of posts per page for accommodations and services.
* A cancellation email template is available as a separate tag - it's used when a booking cancellation option is turned on.
* A Price Breakdown Table on the Booking confirmation page was updated: it's now smaller with the ability to expend details of each booked accommodation.
* Updated the list of data your guests are required to provide when submitting a booking. Admins can set it to: no data required / country required / full address required. Please choose the preferable option.
* 15 new themes were added to calendar to fit your theme design much better.
* New filters, actions and CSS classes were added for developers.

= 1.2.3, May 12 2017 =
* Added the ability to receive payments through Beanstream/Bambora payment gateway.

= 1.2.2, Apr 26 2017 =
* Added the ability to receive payments through Braintree payment gateway.

= 1.2.1 Apr 24 2017 =
* Bug fix: fixed the issue of undelivered emails after booking placement.
* Bug fix: fixed the issue of booking calendar localization.

= 1.2.0, Mar 29 2017 =
* New algorithm of displaying accommodation pricing:
  * it displays minimum available price of accommodation for dates set in the search form by visitor;
  * it displays minimum available price of accommodation from the day of visit and for the next fixed number of days predefined in settings (if dates are not chosen by visitor);
  * it displays a total price for chosen dates or the price of "minimum days to stay" set in settings.
* Added the ability to create a payment manually. Useful feature to keep all your finances in one place.
* Added the ability to search booking by email or ID in the list of bookings.
* Added the ability to filter payments by status and search them by email or ID in the list of payments.
* Added a new email template to notify Administrator about new booking, which is paid and confirmed.
* Added the ability to enable comments for accommodation and services on the frontend.
* Thumbnail size of accommodation gallery is set to 'thumbnail' to make all images the same size.
* Bug fix: fixed an issue when rates list displayed rates in the past on the frontend.
* Bug fix: fixed an issue when price of the service was displayed twice.
* Added new Arabic language files.

= 1.1.0, Mar 14 2017 =
* Added the ability to receive payments through PayPal, 2Checkout and Stripe gateways.
* Made the plugin multilingual ready.
* Added translation into 13 languages (Portuguese, Polish, Russian, Spanish, Turkish, Swedish, Italian, Hungarian, Czech, Chinese, Dutch, French, German).

= 1.0.1, Jan 13 2017 =
* Added the ability to input dates via keyboard
* Added the ability to duplicate Rate
* Added the ability to choose date format in plugin Settings

= 1.0.0, Dec 23 2016 =
* Initial release