Configuring WooCommerce products for packaged training sessions

by | Jun 3, 2020 | Tech, WooCommerce

The Goalie Training Institute provides coaching for goalies. Their training program is built around four key parts of the hockey year: in-season training, a Christmas break camp, a spring tune-up program, and their very popular summer development program. Each part of their program is sold in packages of multiple sessions, and the ecommerce solution needs to make it easy for clients to select a training package and make a purchase.

Understanding the requirements

There are several key requirements in setting up the products in WooCommerce.

Training sessions are purchased only in pre-defined packages

Due to the design of the training program each part of the program is offered as a package of sessions. When a goalie registers for one of the training programs, they get all the sessions in the program — single training sessions are not offered.

Sessions are available on several weekdays

For any part of the training program, sessions are available on multiple days of the week to accommodate the schedules of the goalies. For example, for the spring program, package are offered on Sundays and Tuesdays. A goalie purchasing one of these options would have all of their training sessions on the same day of the week throughout that program.

Separate age and skill level sessions are offered

Goalies select a package option based on their age and skill level. This ensures that the goalies attending each session have similar skills and abilities and can benefit from the same drills. This also means that goalies cannot choose any session when they register for a program.

Session packages can be combined to create larger packages

The session packages within a single program can include a different number of sessions allowing some goalies to train once or multiple times a week. For example, packages are available for both Sundays and Tuesdays and a package including both Sundays and Tuesdays is also offered. This approach to packaging the training sessions will be used for most of their training programs throughout the year, so it was important to find the right WooCommerce configuration to make it really easy for their clients to find and buy the desired training packages.

Evaluating the options

The 2020 Spring program offering will be used throughout the following assessment. This includes the following sessions:

Package name Age/skill level grouping Inventory available
Sunday 5-pack 2006, 2005 & 2004 Goalies 4
2008 & 2007 Goalies 4
2010 & 2009 Goalies 4
2013, 2012 & 2011 Goalies 4
Elite (2005 AAA & above) 4
Tuesday 6-pack 2006, 2005 & 2004 Goalies 4
2008 & 2007 Goalies 4
2010 & 2009 Goalies 4
2013, 2012 & 2011 Goalies 4
Elite (2005 AAA & above) 4
Full 11-pack 2006, 2005 & 2004 Goalies 4*
2008 & 2007 Goalies 4*
2010 & 2009 Goalies 4*
2013, 2012 & 2011 Goalies 4*
Elite (2005 AAA & above) 4*

* Note that the inventory availability for the Full 11-pack depends on inventory available for both of the Sunday 5-pack and the Tuesday 6-pack.

WooCommerce simple products

WooCommerce simple products can be used to sell just about anything, but because they are simple there are some drawbacks to their use. Since we’re not selling individual training sessions, only packages, using simple products will result in having a different product for each weekday + age/skill combination available (e.g. Sunday + 2006, 2005 & 2004 Goalies, Sunday + 2008 & 2007 Goalies, etc.) for a total of 15 different products.

Simple Product Pros

  • Easy to configure in admin.
  • Can offer packages on different weekdays and age/skill levels.

Simple Product Cons

  • Not ideal for clients who have to sort through the large number of products to find the right one.
  • Packages cannot be combined into a larger package.

WooCommerce variable products

Using variable products addresses the main drawback of the simple product approach: there are too many products in the store. By creation variations of each weekday package, there are only three products from which to choose. Within each weekday package product there are five variations based on the goalie’s age and skill level. When purchasing a package, the client needs only to select the day of the week on which they want to participate and then the session variation based on the goalie’s age and skill level.

Variable Product Pros

  • Still pretty easy to configure in admin.
  • Can offer packages on different weekdays and age/skill levels.
  • Much easier for clients to find and purchase the right package.

Variable Product Cons

  • Packages cannot be combined into a larger package.

WooCommerce grouped products

So far the default WooCommerce product types don’t meet the requirement of grouping packages into larger packages. For both simple and variable products, there will be a Sunday package product, a Tuesday 6-pack package product, and a Full 11-pack product. This configuration means that the available inventory for the Full 11-pack will need to be manually adjusted every time a Sunday or a Tuesday 6-pack package is sold. This is an unworkable solution because it can lead to orders being placed when inventory doesn’t exist.

The grouped products in WooCommerce seem like a good option for combining the Sunday and Tuesday 6-pack packages into the larger Full 11-pack and not having to manage its inventory manually, but unfortunately only simple products can be grouped so, while it makes it possible to solve the inventory management issue it still results in too many products in the store.

Grouped Product Pros

  • Still pretty easy to configure in admin.
  • Can offer packages on different weekdays and age/skill levels.
  • Packages can be combined into a larger package.

Grouped Product Cons

  • Does not work for product variations – still not ideal for clients who have to sort through the large number of products to find the right one

Composite Products extension for WooCommerce

Composite Products is a commercial (i.e. not free) extension for WooCommerce that allows customers to customize a product before adding it to the shopping cart. For example, if a store sells laptop computers and wants to let customers select different configuration options like RAM, disk, and accessories then this plugin is ideal. However, since we don’t want to let clients customize their training packages, then this extension does not meet our requirements.

Composite Product Pros

  • Can offer packages on different weekdays and age/skill levels.
  • Packages can be combined into a larger package.

Composite Product Cons

  • More effort to configure in admin.
  • Allows customers customize package contents.
  • Annual license fee.

Product Bundles extension for WooCommerce

Product Bundles is another commercial extension for WooCommerce. With settings that let you create a pre-defined package and hide the individual items from view in the store, Product Bundles comes even closer to meeting our requirements. However, this approach does not allow us to create a bundle and define a single variation option that determines the variations of the individual products in the bundle. For example, I can create a bundle and call it “Full 11-pack” but when viewing that product in my store, the customer is still required to choose attributes for both the Sunday and Tuesday packages to select the correct age/skill level combination for both of the bundled items.

The extension defines bundles you are selling using a custom post type in WooCommerce. This presents two additional challenges. First, WooCommerce still treats this as a collection of products and it’s noted in the documentation for this extension that “items associated with these hidden parts might be visible in notification e-mails.” Secondly, because the bundles are a custom post type in WordPress, existing themes that work with WooCommerce may require customization to work with Product Bundles.

Product Bundles Pros

  • Still pretty easy to configure in admin.
  • Can offer packages on different weekdays and age/skill levels.
  • Packages can be combined into a larger package.
  • Works with product variations.

Product Bundles Cons

  • Requires customer to choose attributes for each variable product in the bundle.
  • Annual license fee.

Stock Dependencies extension for WooCommerce

Since none of the above options met all of our requirements, a new WooCommerce extension was created: Stock Dependencies for WooCommerce. Using this extension allows our store to rely heavily on the functionality of WooCommerce variable products, and adds the ability to create stock dependencies between our products.

Both the Sunday 5-pack and the Tuesday 6-pack are configured as variable products with a single product attribute for the age/skill level of the goalie.

Using the single attribute, a total of five product variations are created for each of these products. WooCommerce manages the inventory for each product variation.

For the combined Full 11-pack, another variable product is defined, also with the same attribute and variations for the age/skill level. However, these variations do not have their inventory managed by WooCommerce. Instead, stock dependencies are create between each variation and the same variation of the Sunday 5-pack and Tuesday 6-pack variable products.

This configuration results in a total of three variable products in our store, each with the same five variations. When a customer views the Full 11-pack, the extension determines the inventory status from the status of each of the variations used as dependencies and when the customer purchases a Full 11-pack, the extension reduces the stock of both of the dependency product variations. Throughout the shopping, payment, and fulfillment processes the custom is only ever aware of the single package that they purchased, not the individual packages on which the package is dependent.

Stock Dependencies Pros

  • Easy to configure in admin.
  • Can offer packages on different weekdays and age/skill levels.
  • Packages can be combined into a larger package.
  • Works perfectly with product variations.
  • Open source = no fee.
  • Customers select and are aware of only a single package.

Stock Dependencies Cons

  • It had to be developed as a custom WooCommerce extension, but now it’s available for anyone that wants to use it.