2 Ways to Use WooCommerce to Take Bookings for Courses & Events

By Updated: September 19, 2018 42

Important notice! In response to the popularity of this article, we’ve created an online course to teach you how to use WooCommerce to take course and event bookings

Before we switched to selling plugins, clients often used to ask 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 nearly 2 million websites using WooCommerce according to the latest usage stats, plenty of websites fall into all these categories.

I’m going to tell you about two 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 2 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 2 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.

Both 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 add-ons 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 – WooCommerce with Events Calendar and WooCommerce Event Tickets Plus

The Events Calendar (free), Event Tickets (free) and Event Tickets Plus (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 Tri.be, 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 2 – 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 Posts Table Pro

WordPress password protected events table

If you’re using The Events Calendar plugins, you can display your events using the views provided with the plugins. These include events list and calendar view. And if you’re using the Pro version, there are others such as map view.

If you have large numbers of events and want to provide a more detailed database of upcoming events, you can use The Events Calendar with Posts Table Pro. This is one of our WordPress plugins and lets you create an interactive table displaying all your events. It’s great for sites with lots of events. Check our my article on how to use Posts Table Pro to display your events in a table.

Posts Table Pro
Create your own Events Calendar with Posts Table Pro!

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.

SIGN UP TO THE COURSE

Katie Keith

An active member of the global WordPress community, Barn2 Co-Founder Katie loves collaborating with other plugin companies. Her articles have been published on high profile sites including WPTavern, Torque and IndieHackers. She oversees all plugin support and deals with 'Tier 2' support requests about how to use Barn2's plugins in advanced ways.

42 Comments

  1. Alex
    August 20, 2019 Reply

    Hi Katie

    As per Lisa's question above, can you please explain how I would show upcoming available dates in WC Products Table for bookable products (courses)? What do you mean by adding each one as a variation? I'm using WC Bookings extension.

    Does the WC Products Table plugin also allow for showing a list of 'pre-filtered' products? I basically need the ability to select any course category via main menu and then go to a list of all upcoming courses just for that category. The user would then have further filtering options such as venue, course category, month.

  2. Johan Larsson
    June 13, 2019 Reply

    Hi, I'm running an after school activity center in which the kids are divided into classes or groups on a term or semester basis. Each class can only have a certain number of kids and the kids usually stay with us for many years in the same class/group.

    I'd like to create a booking system where a parent or guardian can sign up a child and pay for the course (upfront or on a monthly basis) and to have a new bill sent out a few weeks before a new term begins. It would also be great if I could get an overview of the students in each class and their parents/guardians.

    Can I accomplish this using the plug-ins in the post or are there other solutions more suitable for off-line schools/courses?

    Thanks for any help and advice you can offer.

    / Johan :)

    • EJ
      July 15, 2019 Reply

      Hi, Johan. Sorry for the late reply!

      As far as using WooCommerce to handle the e-commerce functions (selling online) AND bookings for your courses (via the plugins we mention), the above methods are our best suggestions/solutions for you. I hope the pros and cons discussed will help you with insight to decide which way is best for you.

  3. Lisa
    February 26, 2019 Reply

    Hi Katie,

    Im looking to upgrade a website so training courses can be booked and paid for. Each course can be one day at a time, some in blocks. Each course has multiple different locations. All have a max compacity. Is this something woocommerce booking can handle? Can a search facility be included on the home page? Can wordpay be intergrated for payment?

    • Katie Keith
      February 27, 2019 Reply

      Hi Lisa, yes you can do this with WooCommerce Bookings and you can list the bookable products in a table with WooCommerce Product Table. Customers can click through to the single product page to view the calendar and book each course.

      You can set up each course to be 1 day long and add blocks and the number of available places. I recommend creating a separate bookable product for each location because you can then filter by location when you list the courses using WooCommerce Product Table, so that students can easily find courses at the location most convenient to them.

      If you list the bookable products using WooCommerce Product Table then a search box will appear above the table so that people can easily find courses. You can include the list of courses and the search box together on the homepage.

      There's an official WooCommerce Worldpay extension that you can use with this setup.

      • Lisa
        March 4, 2019 Reply

        Hi Katie,

        Great thanks for the info. Ive created a search on the homepage for users to quickly find a course. I need to add a postcode search too so courses nearby are shown in results based on the course they have selected.

        Can this be achieved?

        • Katie Keith
          March 5, 2019

          Hi Lisa, you would need to research WooCommerce postcode search plugins and hopefully something would come up - this isn't a feature of any of the plugins in this article. Alternatively, you might need to add it as a bespoke feature.

        • Lisa
          March 5, 2019

          Hi Katie,

          Thank you! One more question, Honest! My head is a bit messy with categories, tags etc. Ive set up the locations as products. How would i then list all the dates available on the product page? I would like the listing to look like this with roughly the same columns.

          https://www.envico-online.com/courses/citb-health-and-safety-awareness/midlothian/edinburgh/eh20-9lz/

          Thank you

        • Katie Keith
          March 6, 2019

          Which plugin are you using for your events? If you want to list the available dates as a table then you could add each one as a variation, and list them using our WooCommerce Product Table plugin in the product description or short description.

Please share your thoughts...

Your email address will not be published.