Skip to content

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.

Site admins and organization admins.

  1. Open Organization → Discounts → Discount codes in the admin sidebar (or click Open on the Organizations list).
  2. Click New code. Type a code (e.g. SUMMER10) — it’s stored uppercase and can’t be changed once created.
  3. Choose Percent off or Fixed amount off and set the value.
  4. 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.
  5. Click Create code.
  • 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.

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.

  • 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.