Discount codes
Discount codes knock money off a season’s registration fee — comp a captain, offer a returning-player discount, run a promo. A player types the code into the registration form and sees the reduced price before they submit; nothing is charged (or adjusted) at checkout time.
Who can do this
Section titled “Who can do this”Site admins and organization admins.
- Open Organization → Discounts → Discount codes in the admin sidebar (or click Open on the Organizations list).
- Click New code. Type a code (e.g.
SUMMER10) — it’s stored uppercase and can’t be changed once created. - Choose Percent off or Fixed amount off and set the value.
- Optionally scope the code:
- Season scope — leave as “All seasons” or pick one season.
- Registration type — leave as “Any” or restrict it to Captain, Player, or Free agent registrations only.
- Max redemptions — leave blank for unlimited, or cap how many times it can be used.
- Expires — the last day (inclusive) the code works.
- One per user — check to stop the same person from using it twice.
- Click Create code.
The four controls that matter
Section titled “The four controls that matter”- Season scope and registration type together decide where a code shows up as valid — a code scoped to one season and to Free agent registrations only validates nowhere else.
- Max redemptions and one per user decide how often — a rejected or withdrawn registration releases its use, so max redemptions counts live registrations only, not history.
Where players enter it
Section titled “Where players enter it”A Discount code field (optional) appears on the team registration form (/register/team), the player registration completion form, and the free-agent registration form. Typing a code and clicking Apply shows the reduced price immediately — “Code applied — −$10.00, new total $30.00” — before the player submits. That preview is convenience only: the code is re-checked for real when the registration is submitted, so a code that got used up or expired in the meantime is caught then, with an honest reason shown right on the field (not a generic error).
Using a code after the exemption it replaces
Section titled “Using a code after the exemption it replaces”Discount codes replaced the old captain-plays-free waiver. To comp a captain (or anyone) 100%, create a 100%-off code — with max_redemptions: 1 and one_per_user checked if it’s meant for one specific person — and hand it to them instead of relying on their role.
Good to know
Section titled “Good to know”- Codes only apply at registration time. There’s no way to attach a code to a registration after the fact from the admin side — if someone forgot to enter one, record the adjustment as a manual payment instead.
- Deactivate stops a code from being used again but never touches registrations that already used it — their discount stays exactly as it was quoted.
- Delete only works while a code has zero redemptions. Once anyone has used it, deactivate it instead — the row has to stick around so that player’s registration keeps pricing correctly.
- Editing a code’s value or scope after it’s been redeemed changes the price for anyone who used it and hasn’t paid yet — the edit form warns you when this applies. Anyone who already paid is unaffected.
- A code never stacks with another code, but it does combine with an active early-bird discount — early-bird comes off first, then the code applies to what’s left.
- Everywhere a fee shows up — the registration form, the dashboard’s pending-registration card, the season’s finance panel, a player’s payment history — reflects the code automatically. There’s nothing extra to configure for it to show correctly.