TrenoxaHQ
Guides · Updated 2026-10-30

How to sell classes and workshops on Shopify without overbooking

From early November to Christmas, people book wreath-making nights, pottery evenings, candle workshops and cookery classes, for themselves or as gifts. For a small studio that's the best few weeks of the year, and it's also when a Shopify setup that was "good enough" starts to break: a session sells one seat too many, a date is still on sale after it's full, or the guest list is spread across thirty orders.

Short answer: Shopify has no built-in idea of a class session with a fixed number of seats. You can fake it with a product per date or with dates as variants and stock set by hand, but both get fragile once you run many dates. A class booking app gives each session its own seat count, lets customers pick a date on your store and stops checkout when a session is full.

Way 1: one product per date

The most common setup: "Wreath Workshop, Saturday 5 December" is its own product, with its own stock.

What works: simple, no app, every date shows up in your collections.

What goes wrong:

  • Overselling. Stock has to be tracked and set to the number of seats on every new product. Copy a product and forget the stock, and Shopify keeps selling.
  • Listing clutter. Ten dates is ten products to create, price, photograph and then archive once the date has passed. Customers also see three near-identical products in search and wonder which one to buy.
  • No guest list per session. To see who's coming on Saturday you filter orders by product, then copy names into a spreadsheet.

Way 2: one product, dates as options

"Wreath Workshop" is one product and each date is a variant, such as "Sat 5 Dec, 10:00".

What works: one listing, and customers pick the date they want.

What goes wrong:

  • Seats are variant stock. Every new date is a new variant with its stock set by hand. Variants also can't carry their own description, location or time zone.
  • Past dates linger until someone removes them, and removing a variant can affect old orders and reports.
  • Courses are awkward. A 4-week course starting on two different weekdays becomes a long list of options that customers misread.

Way 3: a booking app

Booking apps come in two kinds, and the difference matters:

  • Appointment apps (one customer, one time slot: salons, consultations, repairs) think in slots, not seats. Running a 12-person class on one usually means workarounds, and some take customers off your store to check out.
  • Class booking apps think in sessions with a seat count. A session is full when the seats are gone, whatever the stock on a product says.

Questions worth asking any booking app before you rely on it in December:

  1. Does each session have its own seat count, and does checkout refuse a booking when it's full?
  2. Is a seat held while someone is checking out, so two people can't both pay for the last one?
  3. Do customers book on your store, in your theme, and pay through your normal Shopify checkout?
  4. Can you see the guest list for one session in one place?
  5. What happens to your products and orders if you uninstall it?

Before the festive rush: a short checklist

  • List the December dates now. Gift buyers book in November.
  • Set real capacities, including a seat or two you keep back for walk-ins or friends.
  • Say what's included (materials, drinks, take-home piece) and how long it takes. These are the questions that otherwise arrive by email.
  • Write your policy for gift bookings and no-shows: can the place be moved to another date, and until when?
  • Test a booking yourself on your phone, from product page to order confirmation.

How Trenoxa Bookings handles it

Trenoxa Bookings is a Shopify app for exactly this: classes with recurring or one-off sessions, a seat count per session, a date picker on the class's product page or a booking page in your theme, and payment through your Shopify checkout. The Free plan covers one class; unlimited classes are $23 a month.

The slow part is moving your existing dates over, so we do it for you: install the app, send your class list, and we create the classes and sessions for free. You check everything before it goes live.

You teach. We set it up.

Install Trenoxa Bookings (free for one class) and we build your classes and sessions for you, free. You check everything before it goes live.

More guides

Trenoxa Bookings · free for one class, free setup Get it on the Shopify App Store