Discount Codes
Discount codes let you offer reduced entry fees to specific players or groups. You can create fixed-dollar or percentage discounts, cap usage, set expiration dates, and restrict codes to specific players by email or USCF ID.
Prerequisites
- Your tournament must have ChessRoster Registration enabled.
- You must have organizer-level access (site admins and organizer admins/managers) to see and manage the Discount Codes tab.
Accessing Discount Codes
From your tournament management dashboard, click the Discount Codes tab. The tab is only visible to users with organizer access.
Creating a Discount Code
Click Create Discount Code
Click the Create Discount Code button. The dialog opens with all options.
Enter a code
Type the code players will enter at checkout. Codes are case-insensitive — players can enter them in any case and they will match correctly. The code is displayed in uppercase in the management panel.
Valid characters: letters, numbers, hyphens, and underscores. Length: 2–40 characters.
Choose the discount type
| Type | Behavior |
|---|---|
| Fixed Amount ($) | Reduces the entry fee by a specific dollar amount. Enter any positive value in dollars and cents (e.g., $10.00). |
| Percentage (%) | Reduces the entry fee by a whole number percentage. Valid range: 1–100%. Fractional percentages are not supported. |
Set the discount amount
Enter the dollar value or percentage (e.g., enter 10.00 reduction).
Choose the scope
| Scope | Behavior |
|---|---|
| This tournament only | The code applies only to the tournament you are currently managing. |
| All tournaments by this organizer | The code applies to any tournament run by your organization, including future tournaments. |
Choose what the code applies to
| Option | Behavior |
|---|---|
| Both | Applies to individual tournament registrations and bundle registrations. |
| Individual only | Applies only when a player registers for a single tournament. |
| Bundle only | Applies only when a player registers through a tournament bundle. |
Optional: Set a usage limit
Leave blank for unlimited uses. Enter a whole number to cap the total number of times the code can be redeemed across all players.
Once the usage limit is reached, the code shows a Limit reached status and can no longer be applied — even if it is still active and not expired.
Optional: Set an expiration date
Set a date and time after which the code stops working. Leave empty for no expiration.
Optional: Restrict to specific players (Advanced)
Click Advanced to expand the allowlist section. You can restrict the code to:
- Email Allowlist — One email address per line. Only players registering with a matching email can apply the code.
- USCF ID Allowlist — One USCF ID per line (8–9 digits). Only players whose registered USCF ID matches can apply the code.
Both allowlists are validated before saving. You can populate one, both, or neither. If both are populated, a player must match either list to qualify.
If the Advanced section is left empty, the code is available to any player (subject to usage limits and expiration).
Set active status
The Active toggle controls whether the code can currently be used. New codes are active by default. You can disable a code at any time without deleting it.
Click Create Code
The code is saved and immediately available for players to use.
Managing Existing Codes
The Discount Codes tab shows a table (desktop) or card list (mobile) of all codes for your organization, including codes scoped to this tournament and codes scoped to all tournaments.
Each code shows:
| Column | Notes |
|---|---|
| Code | The code text players enter. |
| Discount | Type and amount (e.g., “$10.00” or “15%”). |
| Scope | ”This tournament” or “All tournaments”. |
| Usage | Completed redemptions vs. limit (∞ if unlimited). |
| Expires | Expiration date, or “Never”. |
| Status | Active, Inactive, Expired, or Limit reached. |
For each code, the actions menu ( ⋮ ) lets you:
- Edit — Change any setting. The code name can also be changed when editing.
- Activate / Deactivate — Toggle the code on or off without deleting it. Deactivating a code prevents new uses, but existing redemptions are honored and remain valid.
- Delete — Permanently remove the code. Deletion is blocked if the code has been redeemed at least once; deactivate it instead.
The copy icon next to each code text copies it to your clipboard for sharing.
Sharing Codes with Players
ChessRoster does not send codes automatically. After creating a code, copy it from the table and share it yourself — via email, your website, or a club newsletter.
How Discount Codes Apply at Registration
Players enter their code on the payment step of the registration form. The code is validated against:
- Active status
- Expiration date
- Usage limit (only completed redemptions count; a code reserved during checkout is not counted until payment succeeds)
- Email or USCF ID allowlist (if configured)
If all checks pass, the discount is applied to the entry fee before the PayPal checkout renders.
A few important details:
- Only one discount code can be applied per registration.
- Discounts apply to the entry fee only. Platform fees and PayPal processing fees are calculated on the post-discount amount.
- Discount code reductions appear as “Coupon Discounts” in the Financial Reports for the tournament.