Create codes attendees type in at checkout, or tag-based codes that auto-apply for eligible members.
Click "+ New code".
Set a short code (e.g. VETS10), choose % off or $ off, and enter the amount. Percent must be 100 or less.
Limit the code to All purchases, Class bookings only, Event bookings only, Memberships only, Service (appointment) bookings only, or Contract invoices only.
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. The line under the field tells you how many members have the tag right now — "No member has this tag yet" means the code will not auto-apply for anyone until you add the tag under Tags on a member's page (the spelling must match exactly: "first responder" and "first_responder" are different tags). The same count shows on the code's card.
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. The code works through the end of that day in your studio's timezone and stops at midnight.
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.
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).