3 ways to use WooCommerce to take bookings for courses & events

Before we switched to selling plugins, clients often asked us to build a WordPress e-commerce website with a WooCommerce online shop AND bookings for courses or other events.

There are lots of reasons for wanting this sort of WooCommerce events website. Your company may organise events and also sell products or equipment relating to these events. You may be a training company who sells courses directly as well as gift vouchers which can be redeemed against your courses. You may be a membership website for a specific industry, selling WooCommerce products and events to support your members.

With millions of websites using WooCommerce according to the latest usage stats, plenty of websites fall into all these categories.

I'm going to tell you about three of the best WooCommerce event and booking products, with advice on how to choose the best one for your specific requirements.

How to use WooCommerce for course & event bookings

A lot of WordPress web designers meet the above requirements by installing two standalone plugins - WooCommerce for selling products, and an events management or booking plugin for selling courses/events. We've had lots of clients whose WordPress events websites work in this way.

The downside is that your users have to buy products and pay for them in a completely separate process from booking events. For example, we saw one website used WooCommerce to sell products and Events Manager Pro to sell events. Customers would use the WooCommerce shopping cart and checkout to buy products. They would then have to book each event individually by completing a booking form and clicking a PayPal button. This created a disjointed experience for customers. It also missed out on opportunities for increasing sales by cross-promoting products and events.

I will show you three ways to design a WordPress e-commerce website that sells products and courses/events using WooCommerce. Both methods use the standard WooCommerce cart and checkout, allowing customers to add products AND book a course/event at the same time. Your customers can pay for products and events in a single transaction. This creates a seamless experience that maximizes your sales.

Each of these methods use WooCommerce, as this is the best WordPress e-commerce plugin and has all the features that most websites need. It also has plenty of extensions and other plugins to meet more unusual requirements. And surprisingly it's free, too!

WooCommerce is clearly the best option for the e-commerce side of your website. This means that your main decision is how to extend WooCommerce to take bookings for courses or events in a single checkout process. Which option to choose depends on how you organize your events.

Method 1 - A WooCommerce product with a date picker (the easy option)

Add date picker to WooCommerce product for training course product

Let's start with the simplest option which will only take you a minute to set up.

The plugins that I'm going to feature in Methods 2 and 3 are designed specifically for selling events in WooCommerce. In contrast the plugin in Method 1 is something different - a product add-ons plugin!

The WooCommerce Product Options plugin lets you add a wide range of extra options to any product. You can add a date picker field to any product, and optionally enable a time picker. It also lets you add a range of additional options to your WooCommerce events, such as choosing a ticket type or lunch options.

If you have simple requirements (and limited time) then WooCommerce Product Options is an excellent way to set up WooCommerce events. That's because purpose-built events plugins tend to be very complex. They can be difficult to set up and customize. With WooCommerce Product Options, you simply add a date picker field to your existing products.

Your customers can easily choose a date and time slot for the event they want to book. You can even disable past dates in the calendar, specific dates or days of the week, and block dates when the event isn't running. That way, you can ensure that customers only book for available dates and times.

If you're looking for a simple and easy way to take event bookings in WooCommerce, then the Product Options plugin with a date picker field is the perfect solution.

Method 2 - WooCommerce with Events Calendar and WooCommerce Event Tickets Plus

The Events Calendar (free), Event Tickets (free) and Event Tickets (paid-for) are designed to work together alongside WooCommerce. The Events Calendar allows you to add events to your website. Event Tickets lets people register for your free events. By combining them with Event Tickets Plus and WooCommerce, you can sell places on your events using the WooCommerce shopping cart. This lets you create a fully functional WooCommerce online store with event bookings.

If you need a more fully-featured events management system then upgrade to Events Calendar Pro, the paid version. This has various extra features, for example calendars that you can display in the sidebar throughout the website to promote your events.

Pros - The Events Calendar/Event Tickets/Event Tickets Plus are created by StellarWP, a reputable WordPress company. The events plugins provide a wide range of features. It lists upcoming events (which can be filtered by category etc.). There are calendars showing the dates of your upcoming events. It really is a complete event management system. They are designed to work with WooCommerce and are fully tested with it.

Cons - To create a course or event using this method, you have to add each date as a separate event. This creates some extra work for you. For example, if you run the same event on multiple dates then you have to add it separately for each date. If you take our online course on how to create a website using these plugins then I'll provide some tips on how to create your events more quickly.

Method 3 - WooCommerce with WooCommerce Bookings

WooCommerce Bookings is a paid plugin that works alongside WooCommerce. It lets you add each event as a bookable WooCommerce product. You can add multiple dates for each event. Customers can add products or events (i.e. bookable products) to their cart and pay for everything in a single transaction.

Pros - This method makes it easier  to create and maintain events because you only have to create each course once, and can assign multiple dates to each event. Both plugins are owned by Automattic, the company behind WordPress.com. This means that the plugins are fully tested together and you're not taking on the risks that come from combining plugins by third parties.

Cons - There's no built-in option to display all your upcoming events on a single calendar. Each individual event has a calendar showing the available dates, but there is no overarching calendar showing all your events together. Instead, you can list the course names and customers have to click on a course to view the available dates.

Can I create a calendar of all my events with WooCommerce Bookings?

As I said, the plugin doesn't have a built-in option for this. If you need a central calendar then there are options for you:

  • Use method 1 instead (i.e. WooCommerce with Events Calendar plugin), or;
  • Use Google Calendar integration to show all your bookable events on a Google Calendar, embedded on your website. This won't look as integrated/professional as the Events Calendar plugin's central calendar, but it is a way to show all events with WooCommerce Bookings.

The exact features of your event bookings will depend on whether you use method 1 or 2. Both can be implemented in a way that allows your customers to choose a date, book a course and pay via PayPal or another payment method such as Stripe. (Or you can continue taking manual payments, if you prefer). Customers will be able to purchase gift vouchers and courses in a single checkout process, creating a seamless user experience.

Expert tip #1 - Sell membership at the same time!

A lot of WordPress membership websites sell products and/or events. If you want your customers to be able to purchase membership at the same time as products and events then this is possible too!

To achieve this, there are 2 great options:

  1. Combine the free Groups plugin with Groups for WooCommerce. This allows you to create a 'Membership' product (or more than one, if you want different membership levels). Customers can buy membership in the same way as other products and events.
  2. Use the WooCommerce Memberships plugin. This is very similar to Groups with some subtle differences. Check out this comparison table from WooCommerce to decide which is best for your WooCommerce membership site.

Once a customer has purchased your 'membership' product, you can create members-only pages on your site. You can restrict these to the relevant membership group or membership level.

And if you're being really clever, you can use the Dynamic Pricing plugin to give discounts to your members! Create different discounts for products in each category, discounts for individual products - the sky's the limit!

Note: These membership plugins are compatible with either of the above methods for creating a WooCommerce event bookings site.

Expert tip #2 - Create a table of events with WooCommerce Product Table


WordPress password protected events table

Whichever WooCommerce events plugin you use, you can improve how your events are displayed by listing them in a product table. To do this, just install the WooCommerce Product Table plugin and use it to list your event products.

This is particularly useful if you have large numbers of events and want to provide a more detailed database of upcoming events. It's great for sites with lots of events as customers can use the search box, sortable columns and filtering options to find events by category, tag, etc.

Choosing the right theme for your WooCommerce events website

For a professional website, it's important to make sure WooCommerce and the event plugins match the rest of your website.

You can achieve this by choosing a WooCommerce-ready WordPress theme. Its shop pages will be pre-styled to match the theme, helping to reduce your costs.

It's harder to find a theme that contains styling for events plugins. These tips will help you find a theme that looks great with The Events Calendar plugins:

  • Storefront is the official WooCommerce theme. It's lightweight, easy to set up and will work with events and booking plugins. The main Storefront theme is free and if you don't like the design, you can use it with a free or paid child theme.
  • Avada and Enfold are popular themes designed to work with WooCommerce and The Events Calendar plugins. They're hugely flexible and can adapt to work with most brands and colour schemes, without needing to write any code - so check these out first.
  • To find other themes designed to work with WooCommerce and The Events Calendar plugins, go to the WordPress section of ThemeForest. Scroll down and find the 'Compatible with' section in the left column. Select 'WooCommerce' and 'Events Calendar' to find themes that work with your plugins.

If your theme hasn't been tested with these plugins, you might need to do some custom styling to make the WooCommerce and event pages look good.

Take our online course on WooCommerce Course & Event Booking Plugins!

WooCommerce Event Booking Online Course

This article is one of the most popular on our site. It has helped many people to create a course or event booking website with WooCommerce.

We have now created an online course to take you through the whole process of building an events site with WooCommerce.

The course focusses on using The Events Calendar suite of plugins with WooCommerce. You'll learn how to create a fully functional events site.

In the course, I'll talk you through the different plugins to help you choose the right combination for your site. I'll teach you how to set up each plugin and get the most from them. Along the way, I'll provide lots of advice and tips on how to maximise the income from your WooCommerce events site. And finally, I'll show you how to test your website, fix any problems and where to get support. I'll even share the famous Barn2 Media go-live checklist with you.

What is the best WooCommerce events plugin?

In conclusion, WooCommerce provides several options for taking bookings for events, each with its own strengths and weaknesses.

If you want a simple and easy-to-use solution, the WooCommerce Product Options plugin with a date picker field is an excellent choice. This plugin allows you to add a date picker field to any WooCommerce product, and you can customize the field with various options to suit your needs. It's an ideal solution for businesses that want to take bookings for events without the need for advanced features.

On the other hand, if you need a dedicated event calendar with advanced features, the Events Calendar plugin is a great option. It provides a complete calendar system for your website, allowing you to create and manage events with ease. This plugin is perfect for businesses that want to create a comprehensive event calendar with ticketing and registration features.

Finally, if you need a powerful booking system with advanced features like resource management, scheduling, and appointment reminders, the WooCommerce Bookings plugin is the way to go. It provides a robust and reliable solution for businesses that need a complete booking system.

In summary, here are the three plugins discussed in this article and when to use them:


  1. We have a requirement for a tours booking system.

    The tours will occur on fixed dates throughout the year. For example, 1st August 2023, 15 Septemeber 2023.

    The tours must be dispalyed in a format similar to https://panamarelocationtours.com/book-tour

    If the tour is more than 30 days away then it will be possible to pay 25% of the cost of the tour in advance. If the tour date is less than 30 days away then payment must be made in full.

    For bookings where a deposit was possible, a reminder must be sent out shortly before the 30 day date with a link to pay the remaining 75%.

    The tour detail (product) page must have a flexible layout not the fixed Woocommerce product page.

    Can your plugin handle these requirements?


    • Hi, Mike. Thanks for your interest! The plugins featured in our article allow you to take bookings for tours. The requirement that you describe needs a function that's no longer a function of a booking plugin, and instead has to do with a conditional payment option in WooCommerce itself that's based on the time remaining before the event/tour/product date. This would need either a conditional payment options plugin or a customization. I suggest you contact official WooCommerce Support for the best advice about this. I hope this makes sense and helps point you in the right direction.

Please share your thoughts...

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