While WooCommerce supports selling tons of different products, from music files to lumber or other freight items, there are some niche products that require extensions to sell. For example, you can sell products with recurring payments, sell based on measurements, or sell access to content restriction by extending what WooCommerce offers. The extensibility of the platform makes it a good choice for many kinds of stores, but tracking down the right software to use can sometimes be tough for new users.

Today we’ll cover one of the plugins that extends WooCommerce to allow bookings: the WooCommerce Booking & Appointment plugin from Tyche Softwares.

Table of Contents

WooCommerce Booking & Appointment plugin

The WooCommerce Booking & Appointment plugin creates the ability for WooCommerce shops to sell products that require timed appointments or dates, such as tickets, concerts, appointments, rentals, and more. Without a plugin like this, scheduling with WooCommerce isn’t possible.

The plugin allows you to set options for bookable products as well, such as time slots, limited availability for slots or days, blackout dates, and support for variable WooCommerce products create a complete WooCommerce appointment scheduling solution.

Pricing is from $119 to $249 depending on the license type needed, and there are demos and documentation available to help out with pre-sales questions. The frontend demo is here along with a backend demo available for testing. Users will also get renewal discounts, as licenses expire after one year.

There are also several useful add-ons available, but this review will focus on the core plugin and it’s ability to create a WooCommerce booking & appointment scheduling system for your store.

Setup & Usage

Set up and installation is very simple, as you won’t have to hunt for settings pages or options. The plugin adds a Booking menu where you can set up the basic options, such as the theme for your calendars on the frontend:

WooCommerce Booking & Appointment plugin Scheduler

Calendar theme

You’ll also set up other global options (documentation here), such as store holidays or blackout dates. The blackout dates are very useful for scheduling WooCommerce appointments, as you won’t have to worry about customers choosing dates that you’re closed, unavailable, or on vacation.

WooCommerce Booking & Appointment plugin Create Store Holidays

Create Store Holidays

You can set global time slots as well, which will be shared across all products in your store, and set one of 62 different languages available for your calendar.

The next tab in this menu will let you can set custom labels for the beginning and end dates of your appointments (i.e., “Check-in Date” and “Check-out Date”), which can change based on the page being viewed (i.e., product or cart pages).

The Booking menu also has space for you to view, manage, or export your booking, as well as space for you to enter license keys. Once you’ve set up these options in the main menu you can move right into creating your booking or appointment products.

Ease of Use

The WooCommerce Booking & Appointment plugin adds a new meta box to product pages where you can enable bookings and create bookable product options. This box supports all booking or appointment settings, so you’ll only need to use it when creating a bookable product. I would have preferred to see this as a new product type, but enabling all options in the meta box is still easy to do.

When you create a simple or variable booking product, I’d recommend setting it up as a “virtual” product so that you don’t have to worry about shipping information for the product. You should also think about selling your product individually. For example, if you’re selling a single room at a bed-and-breakfast, you don’t want customers to increase the quantity above one. In this case, I’d make sure you enable “Sold Individually” to disable quantity as well.

WooCommerce Booking & Appointment plugin Product

Product Setup

Let’s run through some sample use cases to describe how to set up some bookable products so that you can create your own WooCommerce appointment scheduler.

Sell Hotel Bookings with WooCommerce

Multi-day bookings are possible with the WooCommerce Booking & Appointment plugin, and I was able to set one up in about 4 minutes. Enabling “Allow Multiple Day Booking” will create fields for start and end dates on the frontend.

WC Booking Hotel Booking

Hotel Booking

You can also limit the number of bookings that can be made on a date, which can allow for a type of “stock” management for your bookings. For example, I would set this to the number of available rooms to limit reservations on those dates.

The “Number of Dates to choose” lets you determine how far in advance customers can book, which will affect how many dates are displayed on your calendar when customers select their date ranges. You can also set blackout or holiday dates so that customers cannot book on these dates.

Once my multi-day booking was set up, I added the rest of my product data (such as variations and pricing), and was ready to go. Be sure to enter your price as the “per night” or “per appointment” price, and the total for the reservation will automatically be calculated.

WC Booking Hotel Room Product

Hotel Room Product

Sell Concert Tickets with WooCommerce

You can also allow customers to book a specific date or day with the WooCommerce Booking & Appointment plugin. This is really handy for tours, events, or other bookings that don’t require time slots, but only need a day or date. This product type took me about 4 minutes to set up as well.

If you don’t allow multi-day bookings, you’ll need to determine what format to use: specific dates or weekdays. Since we’re using a specific date here, I chose “Specific Dates” and enabled all dates for my bookable product (the dates of the concert).

The same rules apply here – you can set a maximum number of bookings for each time period (in this case, a date), the time in advance for bookings to be made, as well as the number of days bookings are available. This product type is also very easy to set up, as you can enable these basic settings and don’t have to worry about any other tabs in the bookings meta box.

WooCommerce Booking & Appointment plugin sell Concert

Sell Appointments with WooCommerce

If you’d like to sell appointments on certain days, you can do that as well. They can be available for the entire day, or in time slots. Let’s set up the WooCommerce Booking & Appointment plugin to sell appointments on weekdays with certain time slots. This kind of product is more time-intensive and difficult to set up. To set up a full week schedule of hour-long appointments took me about 13 minutes.

You’ll enable booking, and select a “Recurring weekdays” type on the days for which appointments are offered. This naming was a bit odd to me at first, but basically it will recur each week to allow you to offer the same slots week after week.

Booking Appointment setup

Once you’ve set up your days, you’ll need to create the available time slots, then limit the slots if desired. Let’s start by adding a couple of time slots.

WooCommerce Booking & Appointment plugin time slots

Creating Time Slots

Once you create these time slots and update your product, they’ll be moved to the “View / Delete Booking Dates, Time Slots” tab in the bookings meta box. From this tab, you can view or remove (but not edit) any slots, as well as view the maximum number of slots available.

WooCommerce Booking & Appointment plugin Manage / View time slots

Manage / View time slots

When customers visit a product for which they can make an appointment, they’ll need to select an available day, then a dropdown will be available for them to select an available time slot.

WooCommerce Booking & Appointment plugin product

Appointment product

Sell Vacation Rentals with WooCommerce

Many beach homes are rented out to visitors on a weekly basis, which requires you to create a “block” for rentals. The WooCommerce Booking & Appointment Plugin will allow you to create blocks for multi-day rentals so that you can sell bookings that require a fixed number of days.

When you create a bookable product that allows multi-day bookings, you’ll be able to Enable a Fixed Block Booking. This will force blocks to be booked rather than allowing a user-defined number of days for the booking. This product took about 5 minutes to create.

You’ll go to the “Fixed Block Booking” tab to enable this and add any block ranges, including the number of days, as well as the starting and ending days, along with pricing. For my week-long vacation rental, I chose 7 days from Sunday to Sunday.

WooCommerce Booking & Appointment plugin Enable Fixed Block

Enable Fixed Block

Once this has been enabled, customers will only be able to book the specified blocks on the starting and ending dates. In my case, customers could only choose Sunday for the start and end dates.

Fixed Block Rental

Fixed Block Rental

Sell Volume-discount rentals with WooCommerce

If you’ve ever rented a space on popular apartment rental sites like AirBnB, you’ll sometimes get discounted pricing for staying in a rental for longer periods of time. You can set up these rentals with the WooCommerce Booking & Appointment plugin by using the “Price by range of days” tab.

Again, a multi-day booking should be enabled to be able to price by range. Once you’ve set this up, you can begin to set up your price ranges, making sure not to overlap the number of days (for example, ending one range with 7 days and starting the next with 7 days – it should start at 8 days instead). Setup will take about 5-6 minutes.

Pricing per range

You can also use a fixed price instead of a price per day/night for month-long rentals.

Once you’ve created your pricing ranges, I’d recommend adding these to the short description or somewhere else on the product page, as customers will not be aware of them unless you post this information somewhere. This will encourage your customers to purchase longer bookings for a discount.

Price per range product

Manually Adding a Booking

While using the plugin as an appointment scheduler is great, you may also need to manually create reservations if you allow booking via phone or email. Fortunately, there’s a really helpful document for this, and it’s pretty easy to do.

When you create a manual booking, you’ll have to create a new WooCommerce order to do so. You’ll then want to add the appropriate bookable product to the order by clicking “Add Line Items” and “Add Product(s)”. Select your bookable product to add to the order, the click the pencil icon to edit it.

Manual Booking 1

Add & edit a product

So far the product has been added, but none of the booking details. We’ll need to click the “Add meta” button to do so. This will automatically display any associated meta for us to add. In this case, it will be the “starting date”, which is the date of my event.

Manual Booking 2

Adding item meta

Once you add the booking information and click “save”, you’ll need to finish with the order details. If this bookable product is taxable, you’ll want to click “Calculate taxes”, and then calculate the order total. This way, customers will be able to log into their account and pay the order from your shop. If they’ve already paid via phone, you can also set the order as “processing” or “completed” to note this instead.

Manual Booking 3

Calculate taxes & totals

Once you’ve finished adding all booking details manually, you can save your shiny new booking order, which now has all relevant details for your customer and will also ensure that this is considered in the availability of this product (if you limit bookings for a date / time).

Manual Booking 4

Completed booking

That’s it! It’s pretty simple to manually schedule appointments with WooCommerce if customers don’t complete your on-site checkout process. One thing I would do as an admin would be to add an order note that the booking was created manually with relevant information about the order. This way, you have a record of when and why the order was created.

Manual WooCommerce Booking notes

Customer Experience

Customers will be able to book an appointment or time block via the standard WooCommerce checkout flow when you use the WooCommerce Booking & Appointment plugin. Once the booking data has been selected, the customer can add the product to the cart. The booking data is saved as item meta, and displayed throughout the checkout.

WooCommerce Booking & Appointment plugin Cart

Following checkout, customers can review booking data, as well as download booking information in an .ICS file to add these details to a calendar application (such as Google calendar). This information will also be included in the order confirmation email so that customers have all of the information they need and can save the email.

WC Booking thank you

ICS Download

Customers can also easily find available bookings by using the WooCommerce Bookings Availability Search widget. You can enable this widget and set up labels under Appearance > Widgets. For example, you’ll probably want a title similar to “Search Available Reservations” or “View Available Appointments”.

Booking Search Widget

Booking Search Widget

Customers can then select date ranges to search, and any products that are available in this date range will be displayed to them in the search results.

Booking Search Widget

Managing Bookings

Once an order is completed that contains a bookable product, this information will be displayed within the WooCommerce order page for easy reference.

Booking Order

If you want to free up this booking slot, you can delete the item from the order. You can also edit the order to adjust bookings as needed.

The plugin also provides a view for all bookings under Booking > View Bookings. This view will list all available bookings, including the dates and times for each appointment.

View Bookings

Shop admins can also view appointments or bookings for the current day, as well as export this information as needed. The ability to export booking data is a huge plus, as this will allow you to transfer your data to other systems or share it as needed.

Support & Documentation

The WooCommerce Booking & Appointment plugin has ample documentation available, which was very helpful while creating different kinds of bookable products. I referenced this for creating Price per Range and Fixed block products, which made setup easier. There are also “getting started” guides and video walkthroughs available.

Support is also included with the plugin purchase, and is available via forum. Users can log in and submit questions or issues, and are able to view other forum threads in case their question has already been answered. Email support tickets can also be submitted.

Support and update licenses are valid for one calendar year, and renewal discounts for existing customers are available. A 30-day refund policy is also in effect for new purchases in case you determine that the plugin isn’t the right fit for your store.

Other Comments

I would have liked to see bookings as a new product type, or a bit of a change in the product structure. Even if a booking is not enabled, the code for the booking product is run on the product page, which could potentially cause conflicts with other complex product types or affect site performance at scale.

There were also minimal issues while creating or saving booking options. For example, there’s no way to edit created time slots, and you can’t edit price ranges or fixed booking blocks unless the product has been updated after they were created.

However, the booking process and behavior on the frontend is reliable and really easy for customers to understand, which was a huge plus. I also really liked the ability to export booking data in a few different formats as needed.

Overall: WooCommerce Booking & Appointment plugin

The functionality that the WooCommerce Booking & Appointment plugin gives you is great, and it really opens up the opportunities for selling time slots, services, tours, or other bookable products with WooCommerce.

The ability to sell based on daily bookings or via time slots is awesome, and supports many sites that sell appointments or events. However, the ability to add per-range pricing and fixed-block bookings is my favorite part about the plugin. This really improves the flexibility of using the WooCommerce Booking & Appointment plugin to sell many types of appointment or bookable products, and gives you a complete solution as a WooCommerce booking & appointment scheduler.

You can give the plugin a try by purchasing here:


Note: This post was sponsored by Tyche Softwares, as the product was provided for us to review. The opinions in this article are solely those of the author without bias, and are based on experiences using the product. For more information, please see our editorial policy.

Posted by Beka Rice

Beka Rice manages the direction of Sell with WP content and writes or edits most of our articles to share her interests in eCommerce. Or she just writes as an excuse to spend more time jamming out to anything from The Clash to Lady Gaga. Who knows.


  1. Can this be used in a multi store multi location model. I have 5 stores with 5 different managers and their staff. Each manager should have access only to his store and be able to manage, update, edit his staff calendars. Staff can manage their own calendar only. Is that feasible with this syatem.

    1. Hey there, you can certainly do this, but will need a 5-site license for the plugin. Each store should have the plugin installed separately if you’re using a multi-site network rather than network activating it.

  2. I’m racking my brain for a few days about my inventory management.
    I have an online shop where i rent my equipment , dont sell it . and i rent it to ppl who are going to festivals.
    Regular inventory management takes the product of the amount whenever there is a purchase, however I rent the equipment so that it returns for further use.
    I could not understand how I can manage inventory so that each festival will be full, and it will not be affected another festival.

    If you can tell me how i can have the same product will be available in a number of different dates with out putting it Separately under each festival . You will make my the happiest in the world for a few days for sure

    1. Hey Alon, I’d recommend using the “Lockout Date after X Orders” setting as described here to manage your inventory instead of the WooCommerce inventory. This will prevent people from renting more than what you have on a particular day, but will allow them to still rent your product on different dates since you’ll have your rentals back.

  3. Hi Beka,

    Have you done any testing to see if this booking plugin will integrate with WC Vendors (https://wordpress.org/plugins/wc-vendors/)? I can’t find any booking plugins that fully integrate with the vendor piece (WooCommerce’s vendor + booking plugin just doesn’t do what I need).


    1. Hey Bryan, I haven’t tested it, but I doubt it would have full compatibility as they’re from different authors. As you’ve mentioned, the Bookings and Product Vendors plugins from WooThemes are integrated, and I’m afraid those are the only ones I know of that work together.

  4. I am using woocommerce Bookings plugin and was looking for the “WooCommerce Bookings Availability Search” widget which you described here. but there is no widget on my widget page 🙁 where you get this???

    1. Hi Nic, are you using the plugin by Tyche Softwares? If you’re using the WooThemes plugin, I don’t believe there’s a widget for this yet.

    2. Hey Nic, in case you’re using the WooThemes version of this plugin, here’s a search by availability widget plugin that could add this for you. Cheers!

  5. Dear Beka,
    THank you very much and sorry for confusion. Indeed i was talking about woothemes’ booking plugin! i will check out the plugin. thank you very much!

    1. No problem! That plugin was just released and it made me think of this comment :). Hope it works out for you!

  6. Can a product be configured as a bunch of days? For instance, we sell 1 day, 2 day and 3 day courses. Can we use your plugin to sell a 2 day course, so that the customer just selects the 2 day course from the product list and it shows as two days on the appointment calendar?

    1. Hey Richard, I’m afraid it’s not my plugin but I’d be happy to help out if I can. I believe you’re looking for the “Enable a Fixed Block Booking” as described here under “Sell Vacation Rentals…” — this will let you set the number of days required for the booking.

    2. Hi Richard,

      Yes, the product can be configured as bunch of days using “Fixed block” booking. You can create the blocks 1-day, 2-days & 3-days. You can also decide if they start on a specific weekday only or on any day. Once the start date is selected, the end date will be automatically chosen.


  7. Hi can this plugin be used for multivendor. I am looking for plugin where multiple service providers can login to website and setup there own schedule. Site users can browse through the website and can able to book or rent multiple service from multiple vendors or providers. Would it be possible? Or could you please help to recommend any theme or plugin which can do this ?

  8. Hi I am looking for plugin which can take care of multiple service provider booking in one site. Is this plugin can help?

    Ex. User can book a cooking lesson from one service provider and hiking with another…

    Please suggest

    1. Hi Parag,

      You can use the “Tour Operators Addon” for that purpose. We will be renaming that one to “Service Providers Addon”, which is more relevant.

      That one allows various service providers to login and create their own schedules & view their own bookings in the backend. You can find that one at: https://www.tychesoftwares.com/store/premium-plugins/tour-operators-addon-for-woocommerce-booking-appointment-plugin/


  9. Hi thanks for the review, helpful.
    I was wondering if it can check a Google Calendar for availability (not just add it to a Calendar via ICS)
    That would make it really useful, and I wouldn’t need AcuityScheduling.com anymore.

    1. Hi Craig,

      Currently it cannot check a Google calendar for availability. We are working on that feature right now. We expect to release that in next 30-45 days.


  10. Stacey Boardman May 28, 2015 at 2:16 pm

    Will this product show how many timeslots are available? For instance, if I use the availability search widget. Will it come back and tell me how many seats are available on a specific day? I am looking at using this for a tour operator selling time bookings but there are only so many seats available. The client wants the # of seats available to be shown.

    1. Hey Stacey, I don’t think that the number of timeslots are shown, they’re just hidden when they’re booked. However, this is definitely something I’d check with pre-sales at Tyche Softwares since I’m not sure.

    2. Hi Stacey,

      We do have an availability display message option now that allows you to show the availability for each date & time slot on the product page when it’s selected.

      For example, you can check this product on our demo site: http://staging.tychesoftwares.com/woocommerce-lite/product/monday-wed-tour/

      That’s a date/time booking. You can also check this for full day booking: http://staging.tychesoftwares.com/woocommerce-lite/product/consultancy/

      I hope this helps. We’ve added this to the plugin just 3 months back.


  11. Hi there,

    I’m wondering if it’s possible to have a search option with the booking plugin, or an other plugin of Woothemes.
    I want a search option so customers can search on holidays by date and price. Like: http://themes.themegoods2.com/?theme=Altair. Same as the search row under the first photo-slider.

    Can you tell if this is possible en how i can do/find this?

    Thank you!

    1. Hey Richelle, I don’t think this is possible without custom code. WooCommerce has the ability to search by price and keywords in the product title or description, but also searching for booking availability and in a form like this would need to be custom. It’s also something I might suggest to the plugin authors as I can see this being a popular request 🙂

  12. What themes are supported by this plugin? Can I use any theme for woocommerce and appointment plugin will integrate look for this theme?

    1. Hey Michal, Our plugin supports any theme that has WooCommerce support. So any theme will work with this plugin.


  13. Will this support recurring appointments like as a subscription? Example: Client books a Tuesday at 4:00 PM – 4:30 PM. Can that same day / time slot recur for that Client until canceled or a predetermined amount of time like 3,6, or 12 months? Also, will this work with PMPro?

    1. Hi CT, The plugin currently does not support recurring appointments. We are planning to include that option at the earliest. Probably within next 3 months.
      We have not yet tested the plugin with PMPro plugin.


  14. Hi,

    I have a listings website using the theme listify. I am looking at creating 5 of the same products to list on each listings page using woocommerce booking extension. I am currently struggling doing this. Each listing would have a different price for its 5 products. How can I do this without manually creating the products for each listing, any help would be grateful as I have been struggling to this for the past couple days.

    Thank you

Comments are closed.