Promo codes give customers a discount at checkout. They can be percentage- or value-based, scoped to specific events, items, or gift card types, restricted to date ranges, days of the week, or specific time windows, and duplicated across your other locations. Eligibility rules add advanced conditions (minimum quantity, Buy X Get Y) on top.
Getting started
Navigate to Purchases > Promo codes from the sidebar. The page opens with three tabs.
How it works
A promo code is a unique string customers type at checkout to get a discount. Each code has a discount value, an optional group it belongs to, optional date and time scoping, and optional eligibility rules. The page splits its rows across three tabs: live codes, archived codes, and the groups that organize them.
| Tab | What it shows |
|---|---|
| Promo codes | Active, unarchived codes |
| Archived promo codes | Codes you've taken out of rotation. Archive is reversible |
| Promo code groups | Reusable templates that pre-fill new codes. See Promo code groups |
Step-by-step guide
Browse and filter promo codes
Open the Promo codes tab. The toolbar across the top has two filter popovers and a results counter.
| Filter | What it searches |
|---|---|
| Promo code | Text match on the code itself |
| Promo code group | Multi-select of every group |
| Reset all filters | Refresh icon to clear every filter |
The toolbar also surfaces Total results: N, the Per page selector (5/10/25/50), the Download CSV icon, and a Bulk actions button.
Create a promo code
Click Create new promo code at the top right. The create-promo-code form opens with five sections plus a duplication block at the bottom.
Promo code details section
| Field | Required | Notes |
|---|---|---|
| Promo code | Yes | The code customers type. Alphanumeric. Must be unique |
| Description | No | Internal notes about the campaign |
| Promo code group | No | Pre-fill the form from a group's defaults |
| Apply default settings from group | Conditional | Renders when the picked group has defaults configured. Toggle to copy the defaults onto this code, then customize as needed |
Redemption rules section
The redemption rules control the discount mechanic. There are two related dropdowns plus an amount.
| Field | Options |
|---|---|
| Redemption type | Percentage discount or Value discount |
| Value type | Per transaction (whole-order), Per line item (each line, recommended for most cases), or Per quantity (per unit/participant) |
| Amount | The discount amount. Currency input for value, percent for percentage |
| Quantity | Toggle between Unlimited and Limited. When Limited, set a numeric cap on total redemptions |
When eligibility rules with a Buy X Get Y rule are present, an alert reads This discount applies in addition to Buy X Get Y rules. Set amount to 0 for rule-based discount only.
Purchase rules section
| Field | Notes |
|---|---|
| Allowed purchase dates | Available any dates or Available between dates |
| Purchase start date | Required when "Available between dates" is picked |
| Purchase end date | Required when "Available between dates" is picked |
Usage and application rules section
This is the largest section. It controls who can use the code, where, what it applies to, and which event dates / times / days qualify.
| Field | Notes |
|---|---|
| Can be combined with other promo codes | Toggle. When off, the code can't stack with another promo on the same order |
| Can only be applied internally | Toggle. When on, the code is hidden from customers and only your team can apply it |
| Available at all locations | Toggle. When on, the code works at every company group in your account |
| Applicable to | Multi-select of events, items, and gift card types. Hidden when Available at all locations is on |
| Quick-add buttons | All games, All items, All gift card types populate the Applicable to field in one click |
For event-applicable promos, three more booking-rule sets appear:
| Field | Notes |
|---|---|
| Allowed booking dates | Available any dates or Available between dates with a date range |
| Allowed booking time | Available any times or Available between times with a time range |
| Allowed days of the week | Seven pill buttons (Mon–Sun). Click to toggle each day |
| Exclusion dates | Pick specific dates that are blacked out from the rule (e.g., holidays) |
Eligibility rules section
Click Add rule to add a condition the cart must meet for the code to be valid. Two rule types are available: Minimum Quantity Rule and Buy X Get Y Rule. See Promo code eligibility rules for the full breakdown.
Duplication section
| Field | Notes |
|---|---|
| Duplicate to other company groups | Multi-select of every other location in your account. The code is created with identical settings at each picked location |
Click Create at the bottom to commit the new promo code, or Cancel to discard.
Edit a promo code
Click the three-dot menu on any row and pick Edit promo code. The same form opens prefilled with the current values. Change any field and click Update to save.
For codes that originated at a different location and are visible to you via cross-group sharing, the action is View promo code instead — opening the form in read-only mode with a banner that reads This promo code was created at [origin location]. You can view but not edit it.
View transactions a code was used on
Click the three-dot menu and pick View associated transactions. A modal opens listing every order where the code was applied: customer name, email, phone, and the order number with a View transaction link. Available only when the code's Used count is greater than zero.
Copy a code to other locations
Click the three-dot menu and pick Copy to other company groups. A modal opens with a multi-select of every other location. Pick the targets and click Copy to clone the code with identical settings to each.
Archive or unarchive a code
Click the three-dot menu and pick Archive promo code to remove the code from active use without deleting it. Switch to the Archived promo codes tab to find it. The same dropdown there shows Unarchive promo code to restore.
Archive is non-destructive: codes used in past transactions are unaffected. The action only stops new redemptions.
Run bulk actions
Click Bulk actions at the top right. A bulk-update view opens.
| Section | What you do |
|---|---|
| Promo codes to bulk update | Pick By promo code group (multi-select groups) or Individual promo codes (multi-select individual codes). The Select all promo codes toggle picks every code |
| Fields to bulk update | Multi-select which fields to update across the selection. Add all fields is a quick-add. Disabled when applying default settings from a group |
Below the field selector, the form re-renders with only the picked fields. Set the new values and click Update to apply them to every selected code at once. Common workflows: extend an expiration on every code in a campaign, or change the Amount on a seasonal group.
Export to CSV
Click the Download CSV icon at the top right. The export contains every code on the current tab matching the filters. Columns: Promo Code, Description, Promo Code Group, Redemption Type, Value Type, Value Amount, Quantity, Times Used, Remaining, Internal Only, Combineable, Purchase Date Range, Purchase Start Date, Purchase End Date, Event Date Range, Event Start Date, Event End Date, Event Time Range, Event Start Time, Event End Time, plus a Yes/No column per day of the week (Mon–Sun).
Reference
Tabs
| Tab | What it shows | Top-right action |
|---|---|---|
| Promo codes | Active codes | Create new promo code + Bulk actions |
| Archived promo codes | Archived codes | None (Bulk actions hidden) |
| Promo code groups | Group templates | Create new promo code group |
Filters (Promo codes and Archived tabs)
| Filter | Type |
|---|---|
| Promo code | Text |
| Promo code group | Multi-select |
| Reset all filters | Icon |
Toolbar
| Element | What it does |
|---|---|
| Total results | Count of rows on the current tab |
| Per page | 5 / 10 / 25 / 50 |
| Download CSV | Cloud-download icon. Permission: Download data |
| Bulk actions | Open bulk-update view. Active tab only |
List columns (Promo codes and Archived)
| Column | What it shows |
|---|---|
| Code | Promo name, description, internal only danger badge when applicable |
| Promo code group | Group name as info badge, or - |
| Value | Discount as N% or formatted currency, with a suffix indicating per-transaction / per-line-item / per-quantity scope |
| Applicable to | Badges for all locations, games, gift cards, merchandise. Tooltip lists the linked items |
| Purchase dates | Date range or Available any dates |
| Event dates | Date range or Available any dates |
| Event times | Time range or Available any times |
| Quantity remaining | Integer or Unlimited |
| Used | How many times the code has been redeemed |
| Actions | Three-dot menu (see below) |
Per-row actions
| Action | When |
|---|---|
| Edit promo code | Owned by current group, or shared cross-group from current group |
| View promo code | Cross-group code from another location (read-only) |
| View associated transactions | Used count is greater than zero |
| Copy to other company groups | Owned by current group |
| Archive promo code | On the active tab |
| Unarchive promo code | On the archived tab |
Create / edit form sections
| Section | Fields |
|---|---|
| Promo code details | Promo code, Description, Promo code group, Apply default settings from group |
| Redemption rules | Redemption type, Value type, Amount, Quantity (Unlimited / Limited) |
| Purchase rules | Allowed purchase dates, Purchase start date, Purchase end date |
| Usage and application rules | Combinable, Internal only, Cross-location, Applicable to, Allowed booking dates, Allowed booking time, Allowed days of the week, Exclusion dates |
| Eligibility rules | Add rule (Minimum Quantity / Buy X Get Y) |
| Duplication | Duplicate to other company groups |
Day pills
Seven toggle pills: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Click each to toggle. Selected pills get the active styling.
Bulk-update fields
| Field | Notes |
|---|---|
| Description | |
| Redemption type | |
| Value type | |
| Amount | |
| Quantity | |
| Allowed purchase dates | |
| Can be combined with other promo codes | |
| Can only be applied internally | |
| Available at all locations | |
| Applicable to | |
| Allowed booking dates | |
| Allowed booking time | |
| Allowed days of the week | |
| Exclusion dates | |
| Promo code group |
Status / scope badges
| Badge | Meaning |
|---|---|
| internal only (danger) | Code is hidden from customers; staff-only |
| all locations (info) | Code applies at every company group |
| games / gift cards / merchandise (info) | Code is scoped to those item types |
| has default settings (info) | Group has default settings configured |
Empty states
| Tab | Copy |
|---|---|
| Promo codes / Archived | "You have no promo codes." |
| Promo code groups | "No promo code groups found." |
Good to know
- Per line item is the recommended Value type for most discounts. It applies the percent or value to each qualifying line individually, rather than once across the whole order.
- Codes from other locations show up here when Available at all locations is on at the source. Cross-group codes appear with a different per-row action (View instead of Edit) since you can't modify a code owned by another location.
- Day pills are inclusive. Click only the days you want the code valid on. Combining day pills with date ranges yields specific promotions like "Weekday special, valid through March."
- Exclusion dates override the day-of-week and date-range rules. Use them for one-off blackouts (holidays, peak weekends).
- Archiving is reversible. Codes already used keep their history; only future redemptions are blocked.
- Internal only codes never appear on the booking site. Use them for customer service makegoods, phone bookings, and staff-only campaigns.
- Available at all locations scopes the code to every company group in your account. Toggle off to keep the code limited to the current group.
- Quantity Unlimited is the default; flip the toggle to Limited and set a cap. The list view's Quantity remaining column shows what's left.
- Eligibility rules and the promo amount stack by default. Set the Amount to 0 if you want only the rule-based discount (e.g., a Buy X Get Y reward) without a baseline percent or value off.
- Duplicate to other company groups is one-shot at create time. Editing the original later does not propagate to copies; each location's copy is independent after creation.
FAQ
Q: Can a customer use two promo codes on the same order?
A: Only when both codes have Can be combined with other promo codes turned on. If either code has it off, only one applies per order.
Q: What happens when a code's Quantity is exhausted?
A: The code stops working. Customers who try to apply it see an error. To re-enable, increase the quantity or flip back to Unlimited.
Q: How do I make a weekends-only code?
A: On the create form, click only the Sat and Sun day pills and leave the weekday pills off.
Q: Why does the Edit option show as View on some codes?
A: That code originated at another location (cross-group code) and you don't own it. You can see its config but not change it. To edit, ask the owning location to update.
Q: Can I bulk archive codes?
A: Bulk update doesn't have an archive field today. Archive each code individually via the per-row dropdown, or remove them via filtering and per-row actions.
Q: How do I create a "10% off, but only for groups of 6+" promo?
A: Set the promo's Redemption type to Percentage discount and Amount to 10. Add a Minimum Quantity Rule with Total participants and the minimum set to 6. See Promo code eligibility rules.
Q: My code isn't applying. What should I check?
A: In order: 1) confirm the code isn't archived, 2) confirm the Quantity remaining is non-zero, 3) confirm the order is within the Allowed purchase dates range, 4) for events, confirm the booking date is within Allowed booking dates and not in Exclusion dates, the day of week is selected, and the start time is in Allowed booking time, 5) confirm the cart contains an item from Applicable to, 6) confirm any eligibility rules are satisfied.
Q: Can I edit a promo code customers have already used?
A: Yes. Past transactions keep the discount they were given; the edit only affects new redemptions going forward.
Q: Is there a code-uniqueness check?
A: Yes. The form rejects a code that already exists in the same group. To use the same code at multiple locations, use the Duplicate to other company groups field at create time.