Browse docs
How pricing works: duration products explained
The one genuinely new idea in Tempo setup, explained before you build anything.
Pricing is the one part of Tempo setup that isn't obvious at first glance, so this article exists purely to give you the mental model. Five minutes here saves an hour of confusion later.
Your site may use different words. Tempo lets you rename class, student and teacher under Settings → Branding & vocabulary; these docs use the defaults.
The idea: one product per price point, not per class
You might expect to type a price on each class. Tempo deliberately doesn't work that way, because most clubs don't price per class; they price per *kind* of class: "45-minute classes are £8.50, 60-minute classes are £10".
So prices live in a small number of duration products: hidden WooCommerce products, one per price point, typically named after the duration ("45-minute class"). Each timetable entry then points at the product that prices it.
Duration products
Classes on the timetable
Change the 45-minute price once, and every class using it follows.
The payoff is September price-rise day: change three products and your whole timetable is repriced. No hunting through classes, no missed one.
Each product holds three rates
A duration product carries the single-session price plus two discounted per-session rates for packages:
| Rate | Used for |
|---|---|
| Regular price | Booking single sessions |
| Half-term per-session rate | Half-term packages |
| Full-term per-session rate | Full-term packages |
A package's total is simply the number of charged sessions × the applicable rate, so "12 weeks at the full-term rate of £7.50 = £90" stays legible to you and to parents. The full rules, including what happens for late joiners, are in Package rates and Price overrides and package modes.
Why WooCommerce products?
Because that's what makes payment bulletproof. WooCommerce is the shop engine; things it can charge for are products. By making each price point a product, every booking flows through completely standard WooCommerce checkout, orders, refunds and payment gateways, with nothing home-made in the money path.
Two reassurances about the "shop" side:
- Members never see these products. You set their catalogue visibility to Hidden. Everything member-facing (the checkout line, the order, the emails) is named after the class ("Saturday Juniors"), never "45-minute class".
- The exception proves the rule: the only time a member could stumble on them is if your theme displays a shop page; keeping the products hidden covers that too.
When a class needs its own price
Point it at the closest product and override just that class's rates on its timetable entry. Overrides beat the product; the product remains the default for everyone else. See Price overrides and package modes.
Ready to build
Create the products themselves in Creating duration products; it's a ten-minute job.
Thanks. That helps us improve these guides.
Thanks for letting us know. Ask us on the Support page and we'll help directly.