How to Sell Season Passes and Multi-Event Bundles with WooCommerce
Your best customers are the ones who keep coming back — the theatre subscriber, the festival regular, the parent whose kids attend every Saturday workshop. Yet most WordPress ticketing setups treat every sale as a one-off: one ticket, one date, one scan. If you want to sell a season pass or a discounted bundle covering several events, you’re often told you need an enterprise platform. You don’t. Because Venuera tickets are real WooCommerce products, you can build season passes and multi-event bundles with tools you already have — and a few check-in rules that do the heavy lifting at the door.
This guide walks through three practical patterns: a true season pass (one ticket, many entries), a multi-event bundle (one checkout, several tickets), and class packs for recurring schedules. Each pattern uses features you can verify in your own dashboard — no custom code required.
What a season pass actually is, in ticketing terms
Strip away the marketing and a season pass is just three rules attached to a ticket:
- How many times it can be scanned — a single-entry ticket allows one scan; a pass allows many, or unlimited.
- When it’s valid — a date range, a window around each event, or open-ended.
- How often it can be used — for example, once per day, so one pass can’t admit five friends in a row.
Venuera models all three directly. Every ticket carries a unique QR code, and the check-in engine resolves rules in layers: sensible defaults, then the event’s own Check-in Rules, then optional overrides per ticket type. That layering is what makes passes practical — your regular day ticket and your season pass can live on the same event with completely different entry behavior.
Pattern 1: the season pass — one event, many entries
The cleanest way to sell a season pass is to model the whole season as a single event and let check-in rules control access.
Step 1: create the season as an event
Create one event that represents the full run — “Summer Open-Air Season 2026,” “Autumn Lecture Series,” “League Home Games.” Give it the venue, the description, and the date span. Because Venuera outputs Schema.org Event markup, this page can also earn event rich results in Google — worth having for a product you’ll promote all season.
Step 2: add the pass as a ticket type
Add an Event Ticket product for the pass — “Season Pass,” priced accordingly — alongside your normal single-entry tickets. Since it’s a standard WooCommerce product, everything WooCommerce offers applies: sale prices for early-bird windows, stock limits to keep passes scarce, and coupons for member discounts.
Step 3: set the check-in rules
This is where the pass becomes a pass. On the ticket type, switch its check-in rules from “Inherit from event” to “Override for this ticket type,” then configure:
- Entries allowed per ticket — set a number for a punch-card style pass (say, 10 entries), or 0 for unlimited entries all season.
- Entry frequency limit — for example, 1 per day with the calendar-period option, so the pass admits its holder once each day rather than several people in one evening. This single setting is what stops pass-sharing at the gate.
- Check-in window — use a fixed date range matching the season’s start and end, so the pass simply stops working when the season closes.
Meanwhile your regular tickets keep the event’s default rules — typically one entry, valid around the event start. Two products, one event, two entirely different door behaviors.
If you run entry with the Check-in app, denied attempts are logged too, so you can see if someone tried to reuse a pass twice in a day — useful evidence when a “my pass didn’t work” email arrives. For the door workflow itself, see our guide to checking guests in at the door.
Pattern 2: the multi-event bundle — one checkout, several tickets
Sometimes you don’t want one pass for everything; you want to sell three specific shows together at a better price. Here the WooCommerce foundation does the work.
Each Venuera ticket type belongs to one event, so a bundle isn’t a single magic ticket — it’s one order containing a ticket for each event. That’s a feature, not a workaround: the buyer checks out once and receives a separate ticket with its own QR code for every show, each scanned independently at its own door. No confusion about which entitlement was used where.
Two simple ways to package it:
- A bundle coupon. Create a WooCommerce coupon restricted to the ticket products in your bundle — “TRILOGY20” for 20% off when the three premiere tickets are in the cart. Promote the code on each event page.
- Cross-sells and linked products. WooCommerce lets you link related products, so each ticket page can suggest the other shows in the series before checkout. Pair this with the tactics in our guide to upselling merch, drinks and VIP upgrades.
Because tickets are generated when the order reaches Processing or Completed, one paid order produces the full set at once — nothing extra to fulfil manually. And since Venuera’s free core charges no per-ticket fee, the discount you give away goes to the buyer, not to a platform. Compare that math on our pricing page.
Pattern 3: class packs for recurring schedules
Studios and schools face a variant of this: weekly classes where students buy a term or a pack, not a single date. With the Recurring Events add-on, one event generates the whole schedule of occurrences, and buyers can pick their date from a dropdown or calendar at purchase. Each ticket is tied to the specific occurrence chosen, and the scanner rejects a ticket presented at the wrong session — so drop-in sales stay tidy.
For a “come to anything this term” pack, use the season-pass pattern instead: model the term as a single event, sell a pass with a set number of entries and a per-day frequency limit, and scan it at every session. We cover the studio version of this in detail in selling class passes for spin studios and CrossFit boxes.
Pricing the pass so it sells
A few rules of thumb that hold across venues:
- Price at 60–75% of face value. If the season has ten events at €15 each, a €95–110 pass feels like an obvious win while still beating your realistic per-buyer average — most single-ticket buyers were never going to attend all ten.
- Sell passes early, close them late. Passes are a pre-season cash-flow tool. Open them before single tickets, and consider retiring them once the season is underway.
- Cap the quantity. WooCommerce stock management works on ticket products, so “only 100 season passes” is a real, enforceable claim — and scarcity sells.
Keep an eye on your numbers after launch: if pass holders attend far more than expected, the next season’s price should reflect it.
Ready to sell your first season pass? Venuera’s free core gives you WooCommerce ticketing with no per-ticket fees — unique QR codes, check-in rules and all. Add-ons like Recurring Events and the Check-in app are there when you need them.
Frequently asked questions
Can one Venuera ticket work across several different events?
No — each ticket type is linked to one event. For a season pass, model the season as a single event and use check-in rules (multiple entries, a validity date range, a per-day limit). For bundles of distinct events, sell one order containing a ticket per event; the buyer checks out once and gets a separate QR-coded ticket for each show.
How do I stop people sharing a season pass?
Set an entry frequency limit on the pass ticket type — for example, 1 entry per calendar day. The scanner then admits the pass once per day and logs any further attempts as denied, so a pass can’t admit a group in sequence at the same session.
Do season passes cost extra in fees as they’re scanned?
No. Venuera’s core plugin is free with no per-ticket or per-scan fees — you pay only your normal WooCommerce payment gateway fees on the original sale. Optional paid add-ons like Recurring Events or the Check-in app don’t add per-ticket or per-scan charges either; see the pricing page for current details.
Can buyers choose which class date their ticket is for?
Yes, with the Recurring Events add-on. It generates the schedule of occurrences from a recurrence rule, and you can let customers pick their occurrence at purchase via a dropdown, calendar grid, or date picker. Each ticket is then valid only for its chosen session.