Set up discount codes

Create codes attendees type in at checkout, or tag-based codes that auto-apply for eligible members.

1

Go to Settings → Discount Codes

Click "+ New code".

2

Pick code and amount

Set a short code (e.g. VETS10), choose % off or $ off, and enter the amount. Percent must be 100 or less.

3

Set the scope

Limit the code to All purchases, Class bookings only, Event bookings only, Memberships only, Service (appointment) bookings only, or Contract invoices only.

4

Auto-apply via member tag (optional)

Enter a member tag like "veteran" to auto-apply the code for any member whose profile carries that tag. Leave blank to make it a regular type-it-in code.

5

Add limits (optional)

Two different limits that are easy to mix up: "Total usage limit" caps the number of redemptions across ALL customers combined — once it's hit, the code stops working for everyone (so a code set to 1 dies after the first person uses it). "One use per member" instead lets everyone use the code, but each member only once. For a per-customer code (e.g. a teacher discount many people can each use once), leave Total usage limit blank and tick One use per member. You can also set an expiry date.

6

Save

Active codes immediately work at the Book & Pay checkout, at pass / membership checkout, AND on service (appointment) bookings + service-package purchases. Attendees see a "Have a code?" link under the Book button, a discount-code field on the pass purchase screen (My Passes and the embedded widget), and a Discount code field when booking a paid service or buying a service package.

Tips
  • Codes are case-insensitive — Klasly upper-cases everything on save and at lookup.
  • The discount applies before platform / studio fees are calculated, so the studio fee percentage is taken on the discounted total.
  • A typed-in code overrides any auto-applied tag code, so members can still use a special promo code even if they're tagged.
  • Tag-based auto-apply works for class bookings AND event bookings AND pass / membership purchases AND service-package purchases AND instructor contract invoices. Same code system, picks the best matching one when a tagged member checks out. (Single-service bookings take a typed-in code rather than auto-apply.)
  • Memberships scope: a code scoped to Memberships (or All) now applies when a member buys a pass — from My Passes in the app or from your website's embedded widget (guests can type a code too). For a recurring monthly pass the discount comes off the FIRST charge only; renewals bill at full price.
  • A gift card and a discount code can't be combined on the same pass purchase — Stripe allows only one discount per checkout. In the widget the discount field is hidden while a gift card is applied; remove the gift card to type a code instead.
  • Service (appointment) scope: a code scoped to Service bookings (or All) applies when a member books a paid 1-on-1 service or buys a service package. For a single service the code comes off the charge taken AFTER the appointment is completed (the price shown stays the list price; the practitioner can still adjust the final amount). Discounts only apply on card-on-file studios — credit-based studios take no money at booking, so there is nothing to discount there.
  • CSV member import has a "Tags" column — comma- or semicolon-separated values (e.g. "veteran, first_responder") so auto-apply works from day one without manual tagging.