What do hotel, a party hall, and salon have in common?
They all need a booking website.
Although this sounds like we came up with a terrible joke, a booking website can actually make a world of difference. It can simplify the job of handling and managing all your clients by a lot.
And this guide will take you through setting up a booking website of your own by using the popular WooCommerce Bookings plugin.
Before we start, let’s talk about the must-have features for a booking website.
Must-have features for a Booking Website
1. Real-time Booking process
The booking process on your website shouldn’t require the customer to send you a request. Then wait for you to confirm the booking. Say through a contact form. Customers should be able to book desired slots and they should be automatically added to your calendar. Which brings us to our next feature
2. A Calendar
The purpose of automating your booking process is to make things easier and run smoothly. A calendar that shows you all the bookings arranged properly in a color-coded manner makes for easy management and tracking.
Now, a search option for users can help them see which dates are available and help them plan their bookings accordingly. However, this isn’t built into WooCommerce Bookings, but can be easily added with some custom development.
3. Multiple Payment Options
A part of making it super easy to make bookings is to offer multiple payment options. So the customer isn’t restricted to just one mode of payment. This is one benefit you have with using the WooCommerce bookings plugin. You can take advantage of WooCommerce’s flexibility when it comes to payments and also include local payment options.
4. Cancellations and Refunds
You need put in place a system to allow customers to cancel bookings and how to process refunds
5. Flexible Pricing
For establishments like hotels and resorts often prices will differ for the weekend, for tourist season, holidays, etc. Similarly, for Spa or a Salon, you might want to offer a lower rate for a day as a promotional offer. Your booking website should be able to accommodate these changes in prices.
Now, jumping into the actual process of setting up a booking website.
Step 1: Set up a website with WordPress
Now, if you want to add booking functionalities to an existing website, you can skip ahead.
This step is only necessary if you’re building a booking website from scratch. WordPress makes setting up websites super easy and it’s completely beginner-friendly.
You’ll need to do a couple of things:
- Get a domain name and hosting
We recommend that you get a hosting service provider like Bluehost, Siteground, or WPEngine. This will have you all set up with a domain name and hosting without much hassle. And you also get perks like SSL certificates, backups, and recovery
- Install WordPress
If you go with a ‘Managed WordPress Hosting’ plan, your hosting provider will install and set up WordPress for you. Otherwise, you’ll need to download and install your free copy of WordPress from here.
- Pick a theme that suits your business
There is a wide range of WordPress themes for every type of business. Kallyas is a good theme for a hotel or a resort. Jevelin is great for Spas or Salons.
- Customize it to your brand
Personalize the theme to reflect your brand, switch the colors, add your logo. You can do this from the Appearance -> Themes section on your Dashboard.
- Add/Edit pages like Home, About us or Contact us
Edit the home page, about us, and contact pages with your content and images. Set up any additional pages as required.
For more details on all of these steps, you can read this guide.
Step 2: Install WooCommerce and WooCommerce Bookings
To do so, from your admin dashboard, go to Appearance -> ‘Plugins’ click on ‘Add New’.
Search for ‘WooCommerce’, Install and Activate. The WooCommerce Setup wizard will pop up and will take you through setting up the plugin. All the options can also be modified later on. At the end of it, a new ‘WooCommerce’ section will appear on your Dashboard Menu.
Next, install and activate the ‘WooCommerce Bookings’ plugin. You will see another section called ‘Bookings’ appear in your WooCommerce menu.
This section can be used to configure the various Bookings settings. But first, to start accepting bookings, we have to create a bookable product.
Step 3: Create a Bookable Product
Since WooCommerce is an e-commerce store plugin, WooCommerce Bookings functions by creating ‘Bookable Products’. To make a booking,
1. A customer adds the bookable product to the cart.
2. All details are filled out in a booking form.
3. And then the customer pays for the booking at checkout.
Adding a new product:
If you’re familiar with the workings of WooCommerce, this should be a cake-walk. For creating a bookable product, go to WooCommerce -> Products -> Add new.
On the product page that opens up, add a title and an informative description. Also, add images and any categories or tags.
Scroll to Product Data.
To turn this into a booking specify the product type to be ‘Bookable Product’. And be sure to check the ‘virtual’ checkbox. This omits all shipping related fields from the tab.
Booking duration is for how long the booking can be made by the customer and it can be configured in two ways:
Using fixed blocks – When you want the customer to book only one slot of a fixed duration
For example, if you offer hour-long fitness classes, you can create fixed blocks of 1 hour. And for a doctor, this can be 20 mins consultation appointments.
Using customer-defined blocks – When you want the customer to be able to book any number of slots
The duration is still fixed – 1 day, 1 hour, 20 mins. But the customer can pick how many slots she wants to book. You also have the option of setting a min and max number allowed for making a booking.
For example, if you have a hotel, the fixed duration is ‘1 day’. The person making the booking can choose how many days they would like to book a room. You can set the minimum value as ‘1 day’ and the maximum value as ‘5 days’ if you wish to.
Step 5: Adding People and Resouces to the Bookable Products
A booking can include multiple people. For example, someone can book a hotel room for 1 child and 2 adults. If you want to offer the same, check the ‘Has persons’ boxThis adds a separate ‘Persons’ tab that you can use to set up the details. These bookings would be handled accordingly.
Similarly, check the ‘Has resources’ checkbox if you want to offer multiple bookable items in one booking. This could be activities (kayaking, snorkeling), tickets (child ticket, adult ticket), or room types(Delux, suite). You can even use this option for trainers or different personnel that work in your establishment.
Step 6: Set up Booking Costs
For setting up pricing with WooCommerce, you have to mainly configure 2 things:
Base cost: Which is added by default (you can also leave this as 0)
Block cost: cost per block the customer has booked
Base cost + Block Cost * the number of blocks is the default price that will be displayed.
You can also price the product differently for specific date ranges(holiday season, weekend), time period, or add extra charges ( additional person + resources ). Do this using the ‘Add Range’ button.
If any of the rules are satisfied the default price get’s recalculated and replaced according to the rule defined.
Step 7: Configure the Booking Process
Here is an example of the default booking form that users see at the front end. The booking calendar shows up after a user clicks on the Bookable product. Configure it to ‘display all the time’ or ‘display when clicked’ from the product data settings.
The cart total is updated as the booking is made. The checkout process remains the same.
The dates available for booking can be customized using availability rules.
The Availability tab in the Product Data section allows you to define these rules. The process is similar to the one we went over when configuring pricing rules.
Except here, instead of cost, you need to specify if the product is bookable between the specified date ranges and the priority of the rule. Rule of higher priority trump those of lower priority. The highest priority is 1.
By default, unavailable slots or slots that have been already book will not be made available for booking. Hence there is no double booking.
If you want to add a public calendar that displays the blocked off slots etc, you’ll need a separate extension called WooCommerce Availability.
Recommended Reading: 6 much-needed features in WooCommerce Bookings
Step 8: Confirmation and Cancellations of Bookings
Enable these settings from the ‘Product Data’ page.
Check the ‘Requires Confirmation’ box. This will require the admin’s approval before the booking can be confirmed. Payment will not be taken during the booking process and the checkout page will look something this.
Check the ‘Can be canceled? ‘ box to allow cancellation of bookings. You can mention how long before the start date the booking can be canceled. Refunds, however, need to be processed manually.
Step 9: Managing Bookings
To manage your booking conveniently you can see all your bookings right at the WooCommerce Bookings Dashboard. The list is reverse-chronological, showing the latest booking at the top. View or edit individual bookings from here. Additionally, you can add a new appointment manually.
You can filter this view based on dates, status, or product/resource. You can take bulk actions on this filtered view.
A calendar view is available as well. View your schedule for the day or month in an easy-to-understand manner. You can filter this view as well.
WooCommerce Bookings supports Google Calendar. This means that you can access your schedule on the go, and keep track of everything you have going on.
Step 10: Setting up Payment Methods
Our booking website is built on top of WooCommerce. Hence it uses the payment methods available in WooCommerce. So if you skipped this step during the initial setup, go to WooCommerce -> Settings -> Payments.
You’ll be able to enable the various offline and online options available from here – Direct Bank Transfer, PayPal, Cash on Delivery, and Checks. Each option has it’s own ‘Set Up’ page that you can access from the same page and configure details.
To add Stripe to your list of payment options you will need to add the free Stripe extension from WooCommerce.
The WooCommerce Payments extension can be used to further simplify managing and handling payments, refunds, and payment methods. However, do ensure that it is available for the country you are located in.
Over to you!
This is where we end our journey, its now your turn to go ahead and set up your booking website.
We hope this guide helped put you on the right path. If you have any other questions please do leave them in the comments and we’ll do our best to answer them 🙂