> For the complete documentation index, see [llms.txt](https://docs.podplay.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.podplay.app/payments/promo-codes/example-promo-codes.md).

# Example Promo Codes

### Overview

A Promo Code discounts a Reservation, an Event signup, a Ball Machine charge, or a POS purchase. It does not grant a Membership, and it cannot be applied to a Membership. The value of a Promo Code comes from combining its settings (dates, days, times, redemption limits, first-visit rules, and restrictions) so the discount reaches the right Customers at the right moment.

Each example below is a complete recipe: the goal, the settings to use, and what the Customer experiences. These are only examples and they can be modified when creating a Promo Code that fits your desired state.

For a full description of every field, see [Promo Codes](https://docs.podplay.app/payments/promo-codes).

{% hint style="danger" %}
**Test every Promo Code after creating it and before sending it to Customers.** Book a Reservation or sign up for an Event with a test Profile that matches the audience, apply the code, and confirm the discount before checkout.
{% endhint %}

### Settings used in these examples

To create any of the codes below:

1. Open the Promo Codes page of the Dashboard.
2. Click the blue `Create Promo Code` button in the top-right corner.
3. Enter the settings from the example.
4. Click the blue `Create` button at the bottom of the side panel.

Review the descriptions for a [Promo Code's Anatomy](https://docs.podplay.app/payments/promo-codes#anatomy-of-a-promo-code) for the details of how each setting works.

### Free first Reservation for new Customers

Give Customers who have never been to the Club a free or discounted first visit.

1. Enter a code name, such as `FIRSTVISIT`
2. Add a description
3. Select the areas where the code applies
4. Set the `Value`, such as 100% off
5. Under `Applicable to`, select Reservations
6. Leave `Allow multiple uses` off
7. Turn on `First Time Booking` and choose how first visits are counted:
   * **Can be used only once across all booking types at selected areas:** a Customer who has booked anything at the Club cannot use the code.
   * **Can be used once for each booking type at selected areas:** a Customer can use the code on their first Reservation, and again on their first Open Play or Clinic.
8. Click `Create`

A Club-wide setting decides whether playing as someone else's Guest counts as a first visit. A Customer who has accepted an invitation to someone else's Reservation or Event cannot use the code. When it is off (the default), only the Customer's own bookings count.

When a Customer who has already visited tries the code, checkout shows: **This promo code can only be used on your first visit to this location.**

{% hint style="danger" %}
`First Time Booking` cannot be combined with `Allow multiple uses` or POS.
{% endhint %}

### Free first-time Clinics on Sundays in January

Combine `First Time Booking` with dates and days to offer a free first Clinic during a defined window. In this example, the Club offers a free first Clinic every Sunday in January.

1. Enter a code name and description
2. Select the areas where the code applies
3. Set the `Value` to 100% off
4. Under `Applicable to`, select the Clinic type Event
5. Turn on `First Time Booking`
6. Turn on `Add start date` and set it to January 1
7. Turn on `Add end date` and set it to February 1, so January 31 is the last valid day
8. Turn on `Add specific days` and check only Sunday
9. Click `Create`

When a Customer signs up for a Clinic, the code applies only if it is the first Clinic they have ever signed up for. The Customer:

1. Finds a Sunday Clinic in January
2. Clicks the `Signup` button
3. Clicks `Apply promo code` and enters the code
4. Clicks `Submit Payment`

If the Customer tries the code on a later Clinic, or on a Clinic that is not on a Sunday, they see an error and the code does not apply.

### Limited free Open Play for the summer

Combine `Limit the number of redemptions` with dates to give away a fixed number of free Open Plays over the summer (or any other window).

1. Enter a code name and description
2. Select the areas where the code applies
3. Set the `Value` to 100% off
4. Under `Applicable to`, select Open Play
5. Turn on `Limit the number of redemptions` and set the total, such as 10, 20, or 50
6. Leave `Allow multiple uses` off
7. Turn on `Add start date` and set it to June 1
8. Turn on `Add end date` and set it to September 1, so August 31 is the last valid day
9. Click `Create`

Each Customer can redeem the code once, and the code stops working once the total number of redemptions is reached or the end date passes.

Leaving `Allow multiple uses` off is what enforces one free Open Play per Customer. The code works for any Customer, once. To reach only Customers who have never visited, turn on `First Time Booking` as well.

### A Promo Code for every Coach

Give each Coach their own Promo Code to share with prospective players. Because each code is unique, the Club can see which Coaches are sharing their codes and which codes Customers redeem.

For example, Coach Kyle working at Club Waterfront Resort shares `26Kyle100`, which gives one free Open Play. Every other Coach at the Club gets a code in the same pattern (year, first name, discount).

#### Set up each Coach's code

1. Enter the Coach's code, such as `26Kyle100`
2. Add a description, such as "Coach Kyle referral code, 2026."
   1. Descriptions are internal and Customers do not see them
3. Select the areas where the code applies
4. Set the `Value` to 100% off
5. Under `Applicable to`, select Open Play
6. Leave `Allow multiple uses` off, so each Customer gets one free Open Play
7. Turn on `Add end date` and set it to January 1, 2027
8. Click `Create`

Repeat these steps for each Coach.

The remaining settings are optional and depend on how the Club wants the offer to behave:

* `Limit the number of redemptions` caps how many free Open Plays each Coach's code can give away in total.
* `First Time Booking` restricts the code to Customers who have never booked at the Club. Leave it off if Coaches should also be able to bring back lapsed players.
* `Restrict to Domain`, `Restrict to Users`, and the Event type under `Applicable to` narrow who can redeem the code and on what.

#### Set a measurement window

An end date of January 1, 2027 makes December 31, 2026 the last day the code is valid. That gives the Club a full year of 2026 redemptions to compare across Coaches, and a clean point to retire the codes and issue new ones for 2027 (for example, `27Kyle100`).

#### Review results

For a rapid review, on the Promo Code page, there's a column labeled `# Used` which shows the number of times this Promo Code has been used by Customers.

For a detailed review, open Insights and go to the Revenue tab. The **Power Promos** dashboard ranks every Promo Code by use, with discount value, booking value, revenue, and the number of Customers who used each code. Since each Coach has a distinct code, this list shows which Coaches are sharing their codes.

{% hint style="warning" %}
**A redemption is not a new Member.** Power Promos counts uses of the code. It does not show whether those Customers went on to buy a Membership or return to the Club.
{% endhint %}

To see each individual redemption, open the Purchase page of the Dashboard and filter by the Promo Code.

#### When this example fits

This example works for Open Play, where a new player pays per signup. It is not a way to give someone a Membership. It also offers nothing to Members whose Membership already makes Open Play free, because a discount on a $0 signup is still $0.

### A Promo Code for a nearby business

Offer staff at a nearby business a Promo Code with 20, 30, or 50 uses, restricted to that business's email domain.

#### Why restrict by domain

A Promo Code shared with a business can be forwarded to anyone. `Restrict to Domain` limits redemption to Customers whose Profile email ends in that business's domain, so the offer stays with the business's staff even if the code circulates further.

#### Set up the code

1. Enter a code name, such as `ACMESTAFF`
2. Add a description, such as "Acme Corp staff offer"
3. Select the areas where the code applies
4. Set the `Value` and choose the booking types under `Applicable to`
   1. Rhe Club decides the discount and which Reservations or Events it covers
5. Turn on `Limit the number of redemptions` and set it to 20
6. Turn on `Restrict to Domain` and enter the business's email domain, such as `acmecorp.com`
7. Click `Create`

{% hint style="danger" %}
**Do not include the `@` symbol when entering the domain.** Enter only the domain itself, such as `podplay.app`. To include more than one domain, type in each one.
{% endhint %}

The redemption limit of 20 applies across all of the business's staff combined, not per person. If one staff member should be able to use the code more than once, turn on `Allow multiple uses`. Otherwise, 20 different staff members can each redeem it once.

Other controls are available if the Club wants them: `Add end date`, `Restrict to Users`, restrictions to a specific Event type under `Applicable to`, and `First Time Booking`. None of them is required for this example.

#### Staff who signed up with a personal email

A staff member whose Profile uses a personal email address (for example, a Gmail address) cannot redeem a domain-restricted code. To redeem it, the staff member must ask the Club to change the email address on their Profile to their work email. See [Edit Phone Number or Email](https://docs.podplay.app/profiles/creating-a-customer-profile/how-to-add-a-phone-number).

#### What the offer provides

The code discounts a Reservation or Event signup. It does not give staff a Membership. For an ongoing arrangement where a business's staff get Membership pricing or access, see [Setting up a Local Business Partner](https://docs.podplay.app/memberships/types-of-memberships/corporate-memberships/local-business-partner) and [Corporate Memberships](https://docs.podplay.app/memberships/types-of-memberships/corporate-memberships).

#### Launch the offer

1. Choose the discount and the booking types it covers
2. Confirm the business's exact email domain with a contact at the business
3. Create the code with a redemption limit of 20
4. Test it with a Profile on that domain
5. Share the code with the business

### Fill quiet days and times

Use `Add specific days` and `Add specific times` to move Customers onto courts that usually sit empty. In this example, the Club offers 50% off weekday Reservations between 10am and 3pm.

1. Enter a code name, such as `MIDDAY50`, and a description
2. Select the areas where the code applies
3. Set the `Value` to 50% off
4. Under `Applicable to`, select Reservations
5. Turn on `Allow multiple uses` if Customers should be able to use it every week
6. Turn on `Add specific days` and check Monday through Friday
7. Turn on `Add specific times` and set the window to 10am to 3pm
8. Click `Create`

The Reservation's start and end time must both fall inside the window, in the location's timezone. A Reservation from 2pm to 4pm does not qualify, because it ends after 3pm.

To choose the right window, open Insights and review **Capacity Utilization by Time Slot** in the Occupancy tab. It shows court utilization by hour and day of the week, so the quietest windows stand out.

### Bring in Non-members over the holidays

Offer a discount during a holiday window to draw Non-members to the Club while schedules are open.

1. Enter a code name, such as `HOLIDAY10`, and a description
2. Select the areas where the code applies
3. Set the `Value`, such as $10 off or 25% off
4. Under `Applicable to`, select Reservations, Open Play, or both
5. Leave `Allow multiple uses` off
6. Turn on `Add start date` and set it to December 20
7. Turn on `Add end date` and set it to January 3, so January 2 is the last valid day
8. Optionally, turn on `First Time Booking` to limit the offer to Customers who have never visited
9. Click `Create`

A Promo Code has no setting that limits it to Non-members. The audience is set by where the Club shares the code: holiday marketing to the public, social posts, and email lists of Non-members. A Member whose Membership already covers the booking gets nothing from the code. For holiday court hours and pricing, see [Holiday Hours and Pricing](https://docs.podplay.app/reservations/rules-limits-and-settings/holiday-hours-and-pricing).

{% hint style="warning" %}
**A fixed-amount code is redeemed once.** If a $10 code is used on an $8 Open Play, the remaining $2 is forfeited.
{% endhint %}

### Common issues

* **The Customer sees an error on a valid-looking code:** Check the date, day, and time settings. An end date of February 1 means the code stops working at 12am on February 1.
* **A returning Customer cannot use a first-visit code:** `First Time Booking` blocks Customers who have booked before. If the Club setting for Guests is on, accepted Guest invitations also count as a visit.
* **A business's staff member cannot use a domain-restricted code:** Their Profile email is probably a personal address. The Club needs to change it to the work email.
* **An invitee cannot apply the code:** Only the Customer booking the Reservation can apply a Promo Code. Invitees cannot.
* **`First Time Booking` is greyed out:** `Allow multiple uses` is on, or POS is selected under `Applicable to`.
* **More Customers need to be added to a user-restricted code:** The `Restrict to Users` list cannot be edited after creation. Create a new Promo Code with the full list.

### FAQs

<details>

<summary>Can a Promo Code give a Customer a Membership?</summary>

No. A Promo Code discounts a Reservation, Event signup, Ball Machine charge, or POS purchase. It cannot be applied to a Membership.

</details>

<details>

<summary>Does the redemption limit apply per Customer or in total?</summary>

In total. `Limit the number of redemptions` counts every redemption across all Customers. To control how many times a single Customer can use the code, use `Allow multiple uses`.

</details>

<details>

<summary>Should a Promo Code apply to a League Series?</summary>

Be careful. A Promo Code applicable to a League applies to the whole Series price, so a 25% code on a $350 Series is worth far more than on a $100 single League night. Single-day Event types, such as Open Play, are a safer target.

</details>

<details>

<summary>How do I see who used a Promo Code?</summary>

Filter the Purchase page of the Dashboard by the Promo Code to see each purchase. For a ranked summary of every code, open the Power Promos dashboard in the Revenue tab of Insights.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.podplay.app/payments/promo-codes/example-promo-codes.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
