Hotel booking happens to be one of the fastest growing businesses.
WordPress is the fastest growing CMS with roughly 25% market share.
WooCommerce is the fastest growing & loved ecommerce platform with WordPress.
This post is a detailed step-by-step guide on how to combine all 3 of the above: Sell Hotel Bookings with WordPress & WooCommerce.
If you have your own hotel, you would definitely need a website that allows you to take your bookings online. With this in mind, we will see how you can sell hotel bookings with WooCommerce, using the WooCommerce Booking & Appointment Plugin in this article.
You will need to create the Hotel rooms as different products in WooCommerce. You can do that from the Products -> Add Product link. On the same page, you would also find the Booking meta box that allows you to configure all the booking settings for your hotel room.
For hotel reservations, we need multiple day bookings since they can be booked for more than a day. Under the Booking meta box, there is a tab for Booking Options where you can do the booking setup.
I have enabled multiple day booking which will display the check-in and check- out calendars on the frontend.
I have set the Minimum number of days to book for multiple day bookings as 1. It means that the customer will have to book the room for 1 day atleast. You can change it to any number of days as per your business.
Typically, once a room is reserved, it is not available for further booking until the customer checks out. Hence the Lockout date after X orders option is set to 1. Once the room is booked, those dates will be unavailable for further bookings.
A reservation system must allow you to specify how much time in advance you want the booking to be done. You might not want customers to book a room an hour before the check-in time of the hotel. The WooCommerce Booking & Appointment plugin allows you to do that by specifying the number of hours in the Advance Booking Period field. It is present in the Bookable Time Period tab. I have set it to 24 hours i.e. an online booking can be done only 24 hours prior to the check-in date. Which means if you are trying to book today for today’s check-in, you won’t be able to do that. You will have earliest check-in of 24 hours from today, which would be tomorrow.
The Number of Dates to choose lets you determine the maximum number of days from today which you want to allow booking for. In some cases, this could be a month (30 days) or even a year (365 days). I have set it to 365 days, which means the check-in calendar will have dates for a year from today to choose from.
Apart from capturing the reservation dates, you might also want the customers to specify the Number of Adults & Number of Children that would be occupying the room.
Once we are done with the booking settings, we will now add the above 2 options with the help of the WooCommerce variations. We added two new attributes – Number of Adults and Number of children. The values are as shown below, separated by a pipe(|). It means in this room, we can have maximum 2 adults and 2 children.
Depending on the room size, you might have different values in this if you can fit in an extra bed in your room.
You would need to select the product as “Variable Product” and then go to the Attributes tab for adding the above attributes.
I have checked the Used for variations field to add prices for each one of them. When you go to the Variations tab, you can click on Link all variations. It will show all the combinations with both the attributes.
You can learn more about using variations in How to use Variations with WooCommerce Booking & Appointment Plugin.
I have set following prices according to the number of children.
For 2 adults and no children – £180
For 2 adults and 1 children – £200
For 2 adults and 2 children – £230
Once you are done with these settings, unless you want to add more variations, you are ready to start selling hotel bookings with WooCommerce Booking and Appointment Plugin.
This is how the frontend would appear. I have added two screenshots of the frontend with different combinations and hence the calculation of price differs.
Once you select the check-in and check-out dates, the “Add to Cart” button is visible. When you click on that button, the order is added to your cart and there is a button to “View your Cart”. On clicking that you are directed to the cart page which will show all the details of your order.
When on the cart page, unless you don’t want to update your cart, you can go to the checkout page by clicking on “Proceed to checkout” button.
The checkout page will show the booking dates you have chosen and the total amount for your order. You can place your order if everything seems fine. Checkout page is a dress rehearsal of the actual order. Please ensure you check everything and then click on the “Place Order” button.
After placing your order, the order details are shown on the Thank You page. Email notifications are sent to you and the administrator with the details of the order. Those emails too would contain the booking details.
If you are doing this for the first time, this setup would not take more than 15 minutes.
Since the plugin is very tightly integrated with WooCommerce, you will not find anything unusual when working with it. It works & feels as if it’s a part of WordPress & WooCommerce itself. The ability for the plugin to work alongside WooCommerce Variable products is a huge huge advantage.
Selling hotel bookings with WordPress and WooCommerce looks like a cakewalk if you follow the above steps.
You can purchase the plugin here.