> This is part 1 of 4 of the full documentation (pages 1–100 of 362).
> The content is paginated: fetch every part to see all of it.
> Next part: https://docs.podplay.app/llms-full.txt/1
> Page index: https://docs.podplay.app/llms.txt

# 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
This site has an agentic ask interface you may use to query the documentation dynamically 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/index.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.

---

# Start Here

Find guides for Reservations, Events, Memberships, Coaches, front desk workflows, setup, and troubleshooting.

{% hint style="success" %}
**Browse content in the left side panel** when you don't know the exact task. Use the search bar at the top when you know the exact task, feature, or setting name.
{% endhint %}

#### Need Immediate Support?

<a href="https://podplay.gitbook.io/docs/support-and-troubleshooting/dashboard-support/my-app-is-not-working#alfie-the-podplay-ai#alfie-the-podplay-ai" class="button primary">Ask Alfie a Question</a><a href="https://tickets.podplay.app/" class="button primary">Submit a Support Ticket</a>

#### Common Customer Tasks

<a href="https://podplay.gitbook.io/docs/profiles/creating-a-customer-profile#customer-creates-a-profile" class="button primary">Create a Profile</a><a href="/reservations/customer-books-a-reservation" class="button primary">Book a Reservation</a><a href="https://podplay.gitbook.io/docs/frontdesk-reservations/how-to-cancel-a-reservation-or-event#customer-cancels-a-reservation" class="button primary">Cancel a Booking</a><a href="/events/sign-up-for-an-event" class="button primary">Sign-up for an Event</a><a href="/memberships/types-of-memberships" class="button primary">Buy a Membership</a><a href="/overview/how-to-use-the-check-in-button" class="button primary">Check-in</a>

#### Common Admin Tasks in the Dashboard

<a href="/overview/rapidly-assist-walk-ins" class="button primary">Rapidly Assist Walk-ins</a><a href="/reservations/admin-creates-reservation" class="button primary">Create a Reservation</a><a href="/events/sign-up-for-an-event" class="button primary">Create an Event</a><a href="https://podplay.gitbook.io/docs/frontdesk-reservations/how-to-cancel-a-reservation-or-event#admin-cancels-a-reservation" class="button primary">Cancel a Reservation</a><a href="/memberships/managing-memberships" class="button primary">Manage Memberships</a>

#### Club Staff Education

<a href="/support-and-troubleshooting/the-podplay-academy" class="button primary">The PodPlay Academy</a>


# The Dashboard

### Overview

The Dashboard is the back-end of the Web App. This is the first and main page of the Admin Dashboard. It will look different for each Club depending on the number of Locations and courts/tables.

#### Reaching the Dashboard

Any Club employee who has an Admin Role will have access to the back-end Dashboard. Most likely, if you are reading these articles, you are an Admin! An Admin has a Profile like any other Customer, with an Admin Role, and can click on the Admin Dashboard button when in the Account tab of the App or Web App.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FbB3od4EXFkQfddyUs4mP%2FScreenshot%202026-04-27%20at%2010.32.24.png?alt=media&amp;token=e9bc37d8-423a-428c-a19d-108c782181f7" alt=""><figcaption></figcaption></figure>

Once this button is clicked, the Admin is brought from the front-end of the App or Web App, to the back-end Admin Dashboard of the PodPlay software.

#### Front End to Back End to Front End

Moving between the front-end App to the back-end Admin Dashboard is easy. Simply, change the URL from:

* club\_name.podplay.app/**admin/v2/overview**
* club\_name.podplay.app/**app-menus**

By switching the last word on the URL from “admin/v2/overview” to “app-menus” you will be brought to the Customer side of the App.

Another easy way to navigate between the Customer UI and the Dashboard is to click on the Admin Dashboard button to get into the back-end Dashboard, then click on your name in the top right part of the Dashboard to get to the App.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FofsKfzwgpCIKVGJJz3Y5%2FScreenshot%202026-04-27%20at%2010.40.09.png?alt=media&amp;token=10809340-7fcd-442e-b6c7-e8b67c045e83" alt=""><figcaption></figcaption></figure>

### The Overview Page

When there are no Reservations or Events, the page will be clean, showing:

* White space = where courts/tables are open are open for booking
* Gray space = where the courts/tables are unavailable for booking because the Club is closed
* When the page is populated, there is a color coding for specific types of Reservations or Events.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FnmlitMxV0BSqhw0BEtLS%2FScreenshot%202026-04-27%20at%2010.26.35.png?alt=media&amp;token=1410b176-f9fa-4ebb-bb35-b9309ebb9ca9" alt=""><figcaption></figcaption></figure>

#### Color-coding on the Overview Page

When there are Events and Reservations, color-coding helps to understand what has been booked at a glance.

* Lighter colors = an Event that is a Draft and has not been Published yet
* Yellow = first Reservation for a new Customer
* Blue = a Reservation for a returning Customer who is a Member
* Dark Gray = a Reservation for a returning Customer who is a Non-member
* Whistle icon = a Coaching session during a Reservation
* Ball icon = a Ball Machine session in a Reservation
* Green = a Class or Clinic
* Pink = an Event (Open Play, Tournament, League, Party) or an Admin booking a Reservation
* Purple = a Private Event (birthday party, corporate event, fundraiser)
* Light Gray = Internal Operations (for repairs or maintenance)

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FCc739zRw2gRE5BLV5jrI%2FScreenshot%202026-04-27%20at%2010.25.58.png?alt=media&amp;token=93635b3f-6161-41f3-92b3-251fc173c74c" alt=""><figcaption></figcaption></figure>

#### Pages in the Dashboard

The far left panel (black) is your navigation bar to different pages in PodPlay. From this panel, you can navigate to:

* The **Unique Location Page** is where you can review a calendar day view of the tables/courts at that specific location.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fm9QWDZisYE1CSZR8tLtE%2Fimage.png?alt=media&amp;token=dc38fa0f-c050-49c3-956a-20aa19ceaefb" alt=""><figcaption></figcaption></figure>

* The **Events Page** shows a calendar month view of the various Events running at all locations.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FVujDYmPoIMirii4ZTJd9%2Fimage.png?alt=media&amp;token=4488ddf2-e9aa-455b-8dbd-60858e536fd8" alt=""><figcaption></figcaption></figure>

* The **Customer Page** holds a list of all your Customer Accounts.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fl79cjnv76JOnz6R3pOFr%2Fimage.png?alt=media&amp;token=4ab94b4c-5d23-403a-b93c-dcc3ee11b2c3" alt=""><figcaption></figcaption></figure>

* The **Coach/Robot Page** contains a list of Coach profiles and their availability filtered by date.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FqPfLurIqVb6G01kGUpWf%2Fimage.png?alt=media&amp;token=e58ff04b-8dd4-40ae-a5ce-14767d538e45" alt=""><figcaption></figcaption></figure>

* The **Purchases Page** lists all Customers’ purchases for Reservations, Events, Memberships, and more.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F9QPkUF8YBMV5FFVnhajQ%2Fimage.png?alt=media&amp;token=298965df-921d-4237-b402-c5450c5fa05c" alt=""><figcaption></figcaption></figure>

* The **Promo Codes Page** lists the current Promo Codes available.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FvkEkBdVx0KgGHVOsSfT9%2Fimage.png?alt=media&amp;token=8b7c58f1-4a18-4685-b9ac-4c371ae8b290" alt=""><figcaption></figcaption></figure>

* The **Analytics** **Page** holds Customer data you can filter by date range.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F8LzpIE2GaKOQ1nj5IPCG%2Fimage.png?alt=media&amp;token=a6c6edf7-b102-40a6-827f-5e38cf7a80d8" alt=""><figcaption></figcaption></figure>


# Admin Roles

### Overview

The Admin Roles are provided to employees or staff members of the Club to access the Dashboard. The level of access is determined by the Role assigned to their Profile.

{% hint style="info" %}
Each of the roles land on a hierarchy.

If a higher Role is provided, a lower Role is not necessary to add to the Profile.

If a lower Role is provided, a higher Role will grant access to more of the Dashboard.
{% endhint %}

#### Assigning a Role

Roles are given to a Customer Account from the Customer page of the Dashboard. The Roles section sits under the Coach Profile toggle and Membership History drawer, above the Credits section.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F4lJW8q5qJSV3ko5Trx7f%2Fimage.png?alt=media&amp;token=ecc26bc1-3949-474f-bcc1-51cd14bb788d" alt=""><figcaption></figcaption></figure>

Clicking the pencil icon in the Roles section opens a pop-up where an Admin can assign a unique Role to another Profile.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FJ8eYX75hQ3KxHpxE1qwy%2FScreenshot%202026-08-05%20at%2015.36.55.png?alt=media&amp;token=e891be88-1ec2-47f2-990f-a91e06db81bb" alt=""><figcaption></figcaption></figure>

#### PodPlay Admin

This Role has super-Admin privileges, and all PodPlay employees are provided with this Role. This is not an option to add to normal Profiles.

#### Owner Role

Given only by a PodPlay Admin, and reserved for the Owner or GM of the Club. This Role can export data from the Dashboard, give Roles to others, and perform every action available to the Roles below, excluding the Beta Tester Role.

If you are performing analytics and [revenue reconciliation](https://docs.podplay.app/owners-playbook/accounting-and-stripe/revenue-reconciliation), this Role is required to export data.

#### Club Owner Role (location-specific / franchisee Owner)

Given by a PodPlay Admin, at franchise and multi-location Clubs where the Area Roles feature is turned on. A Club Owner has the same permissions as the Owner Role, scoped to only the location(s) assigned to their Profile.

Each of the Roles below can also be provided location-specific Role.

This Role CAN:

* Export data from the Dashboard for their assigned location only
* View and edit Memberships whose areas fall entirely within their assigned location(s)

This Role CANNOT:

* View or edit Memberships that extend beyond their assigned location(s); these appear read-only instead
* View or edit the Company Settings page, which is available to the Owner Role only
* View or edit the CMS/branding page, which is available to the Owner Role and PodPlay Admin only A Club Owner Profile with no location assigned can manage all locations, the same as the Owner Role.

#### Admin Role

Given by a PodPlay Admin to a Club GM or Programming Manager. This Role can perform every action in the Dashboard except most data exports (those stay Owner-only). Admins can export Coach Time from the Coaches page.

#### Manager Role

For a lead employee or staff member of the Club. This Role CAN:

* Bypass the DUPR gate
* Book a Customer beyond their Booking Horizon
* Create new Customer Accounts
* Edit Customer Account details
* View the Customer Account page, with write access to Credits, Session Pass, Replays, and Membership
* Refund a charge
* Provide a Membership, including editing its price or initiation fee and overriding any Membership Cap Limit
* Add Customers to an Event
* Copy Events
* View and edit Event settings on the Overview and Events pages
* Transfer money to Coaches
* View and edit the Promo Codes page
* View the Purchase page

This Role CANNOT:

* View the Analytics page
* See dollar totals on the Overview or Calendar pages
* View a Customer's lifetime $$ history

#### Front Desk Role

For an employee handling check-in, booking, and payment at the Club. For the full guide, see [Front Desk Dashboard Role](/overview/the-dashboard/admin-roles/front-desk-role). This Role CAN:

* Charge a Customer up to $1,000 (requires the Pro Shop feature)
* Create, cancel, and reschedule private court Reservations (**Regular** type)
* View Events and Classes created by others
* Edit Event or Class settings
* View the **Coaches & Robots** page (read-only coach profiles)
* Add or remove a Customer on a Reservation or Event
* Change the Player quantity on a Reservation when guest modification is enabled
* Charge No-show fees on Events and Classes when that feature is on
* View the Promo Codes page (read-only)
* Create Customer Profiles and on-behalf signups
* Open Customer Profiles, including the **Purchases** tab (order lines; not refunds or monthly expense reports)
* View **Activity Logs** for all Customers when the activity feed is enabled
* Write notes on a Profile
* Provide a Membership at the catalog price shown in the Dashboard

This Role CANNOT:

* Refund a charge
* Create Events, Classes, or Clinics
* Create or edit **Recurring** series (**Repeats** is read-only)
* Reschedule, cancel, clone, settle, or delete programmed Events or Classes
* Create or edit Promo Codes
* Delete notes on a Profile
* Edit a Membership's price, initiation fee, charge date, or grant date
* Provide Credits
* Delete a credit card from a Profile
* View revenue or customer visit statistics

#### Viewer Role

For a part-time employee or staff member the Club Owner does not want to have much functionality in the system. For the full guide, see [Viewer Role](/overview/the-dashboard/admin-roles/viewer-role). This Role CAN:

* View Events and Reservations on the Overview and Events pages
* Manage Matches (write) when the matches feature is enabled — including publishing eligible matches to DUPR
* View Activity Logs when the activity feed is enabled
* View the Promo Codes page

This Role CANNOT:

* Open the Customers page
* Edit Event settings
* Give a Customer a Membership
* Charge a Customer from their Profile
* Create or edit Promo Codes
* View the Analytics page
* View the Purchase page or a Profile Purchases tab

#### Security Role

Exclusively for a security camera. This Role is for connected hardware and does not need to be provided to a real person/Profile.

#### Kiosk Role

Exclusively for a kiosk. This Role is for connected hardware and does not need to be provided to a real person/Profile.

#### Beta Tester Role

Provided to a Profile by a PodPlay Admin, to test upcoming features in beta mode.

#### CMS Admin

This role can access the CMS page of the Dashboard, where watermark ads can be changed and adjusted on Replays and Scoreboards. This role is additive and does not need to be provided if a Profile already has the Owner or Admin role.

#### Insights User

The role is additive, so it can sit alongside any role a Profile already holds. This role gives a Profile access to the Insights page of the Dashboard and nothing else.

This role CAN:

* Open Insights
* Read charts
* Apply filters
* Export data
* Save favorites
* Use the AI assistant.

This role CANNOT:

* Create, edit, publish, or otherwise manage other aspects of the Dashboard

This role is NOT NECESSARY to provide to someone with the Owner role, since the Owner role can access the Insights page.

#### Coach Profile

A separate function from the Admin Roles above. Adding this Role to a Profile allows that Profile to begin teaching lessons. Learn more from [Add a Coach to the Club](https://help.podplay.app/en/articles/833665) and the [Coaches category](https://help.podplay.app/en/categories/132481-coaches).

#### Tracking Customer Activity in Slack

Club employees who want to follow incoming Customer orders, purchases, charge errors, and signups can ask their PodPlay Customer Success Manager to add them to a dedicated Slack channel. The same information is available on the Purchase page of the Dashboard. Learn more about [Dedicated Slack channels](https://help.podplay.app/en/articles/733953).


# Front Desk Role

### Overview

The **Front Desk** role gives front-of-house staff access to the Dashboard for day-to-day club operations, without the broader powers of **Manager** or **Admin**. Use it for employees who need to help Customers at the counter but should not create Events, issue refunds, clone Events, or change membership pricing.

For employees who only need to **browse** the Dashboard without making changes, use the **Viewer** role instead. See [Viewer Dashboard Role](/overview/the-dashboard/admin-roles/viewer-role).

Owners and Admins assign Front Desk from a Customer Profile on the **Customers** page.

**Area access:** When your club uses **area-scoped roles**, Front Desk employees can be assigned to one or more **areas** (locations) to limit their access to those areas only. If no areas are assigned, they can access all areas — the same behaviour as **Viewer** and **Manager**. When area scoping is turned off for your club, Dashboard users (including Front Desk) can access all areas.

### Dashboard Pages Front Desk Can Open

In addition to the pages **Viewer** can open (Overview, Events, **Activity Logs**, etc.), Front Desk can also use:

* **Customers** — search and open Customer Profiles
* **Coaches & Robots** — view coach schedules and open coach profiles (settings edits remain Manager+)
* **The Shop** — when your club has the Shop page enabled (`admin.feature.enableShopAdminPage`)
* **Promo Codes** — view only (cannot create or edit codes)

Front Desk does **not** open the top-level **Purchases** page (Manager+). They review orders from a Customer's Profile **Purchases** tab instead.

### Permissions at a Glance

#### Charges

* **Can** charge a Customer through **The Shop** (Pro Shop), up to **$1,000** per transaction
* **Cannot** issue refunds on orders or payments (Manager or above)

#### Reservations (private court bookings — **Regular** type only)

* **Can** create, cancel, and reschedule private court Reservations on behalf of Customers
* **Can** create a Reservation for another Customer as the booking owner
* **Cannot** create, update, or delete a **recurring** reservation/event series (**Repeats** is read-only — Manager or above)
* **Can** add or remove participants on Reservations
* **Can** change player quantity when your club has the **booking guest modification** feature enabled
* **Can** book for free or with cash/check when your club allows those options for staff
* **Can** edit **reservation** settings (courts, timing, group size, etc.) via the **Settings** tab on a **Regular** reservation

#### Events and Classes (programmed Events, Classes, Clinics, etc.)

* **Can** view Events and Classes on the Overview and **Events** pages
* **Can** open Event details and the **Attendees** section
* **Can** add Customers to an Event or Class (**Add** in Attendees)
* **Can** remove Customers from an Event or Class (row menu → **Delete**)
* **Can** accept an invitation on a Customer's behalf when needed
* **Can** perform **security check-in** and vaccination checks on invitations
* **Can** charge **No-show fees** on Events and Classes when that feature is on (available 15 minutes after start; same **$1,000** per-transaction limit as Shop charges)
* **Cannot** create new Events, Classes, or Clinics
* **Can** edit Event or Class settings after creation (Settings tab)
* **Cannot** reschedule or cancel programmed Events or Classes (only private Reservations)
* **Cannot** delete an entire programmed Event or Class
* **Cannot** clone Events, settle Events, create series from an Event, or manage rainouts

#### Promo Codes

* **Can** view the Promo Codes page and open existing codes
* **Cannot** create, edit, or delete promo codes

#### Customer Profiles

* **Can** search for and open Customer Profiles
* **Can** create Customer Profiles and on-behalf signups
* **Can** view the **Purchases** tab on a Customer Profile (order lines; not refunds or expense reports)
* **Can** view **Activity Logs** for all customers (when the activity feed feature is enabled)
* **Can** view and write **User Notes** (Security tab)
* **Cannot** delete notes (clearing notes is blocked for this role)
* **Can** grant a Membership at the **catalog price** shown in the Dashboard
* **Cannot** edit membership pricing, billing dates, grant dates, or custom prorated charges
* **Cannot** add virtual credits
* **Cannot** remove a saved credit card from a Profile
* **Cannot** change roles, delete accounts, or edit most Profile fields (name, email, etc.)

#### Customer Tags

* **Can** open the **Customer Tags** page and see which Customers hold each Tag
* **Can** add and remove Tags on a Customer Profile, and add Customers to a Tag from the Tag's own page
* **Cannot** create, rename, recolour, or delete Tags (Manager or above)

#### Phone validation on on-behalf actions

When your club has **admin phone-validation skip** enabled (contact your PodPlay Customer Success Manager), Front Desk staff **automatically** skip phone-number validation on **on-behalf** bookings, signups, and membership grants. Front Desk **cannot** turn this on in Company Settings — Owners or PodPlay enable it for the tenant.

This is separate from the public **Require Phone Number on Signup** toggle in Company Settings, which applies to Customer self-signup.

### What Front Desk Staff Can Do (step-by-step)

* **Reservations (private court bookings)**
  * Create court Reservations on behalf of Customers (**Regular** reservation types)
  * Book for free or with cash/check, when your club allows those options for staff
  * Reschedule or cancel **private court Reservations**
  * Add or remove participants on Reservations
  * Adjust group size on Reservations (when guest modification is enabled)
  * Edit reservation settings on **Regular** bookings
* **Events and Classes**
  * View Events and Classes created by others on the Overview and **Events** pages
  * Open Event details and the **Attendees** section
  * Edit Event or Class **Settings**
  * **Add** Customers to an Event or Class (**Add** button in Attendees)
  * **Remove** Customers from an Event or Class (row menu → **Delete**)
  * Accept an invitation on a Customer's behalf when needed
  * Charge **No-show fees** on Events and Classes when your club has that feature turned on
* **Customers**
  * Search for Customer Profiles and open the Profile drawer
  * View the **Purchases** tab on a Profile
  * View and edit **User Notes** on Profiles
  * View **Activity Logs** (global Activity Logs page and the Logs tab on a Profile)
  * Grant a Membership at the **catalog price** shown in the Dashboard
* **The Shop**
  * Ring up Pro Shop purchases and charge a Customer's card on file (max **$1,000** per transaction)
* **Promo Codes**
  * View existing promo codes

#### Add or Remove Attendees on an Event or Class

1. Open the **Overview** or **Events** page
2. Click the Event or Class to open the side panel
3. On the **Overview** tab, expand **Attendees**
4. To **add** a Customer, click **Add** and search for their Profile
5. To **remove** a Customer, open the row menu (⋯) and choose **Delete**

When you remove an attendee, any existing orders for that Customer on the Event may be cancelled according to your club's policies.

### What Front Desk Staff Cannot Do

* Issue **refunds** on orders or payments
* Create programmed **Events**, **Classes**, or **Clinics**
* Create or edit **Recurring** reservation/event series (**Repeats** — Manager or above)
* Reschedule, cancel, clone, or delete programmed **Events** or **Classes** (only private Reservations)
* Settle Events, create series from an Event, or manage rainouts
* Change **membership pricing**, duration, or charge dates outside the standard catalog options
* Add **virtual credits** or remove saved **payment methods**
* Edit Customer **roles**, **delete accounts**, or change most Profile details beyond User Notes
* View **revenue**, **customer visit statistics**, or the **Monthly Expenses Report** on a Profile
* Open the top-level **Purchases** page (use the Profile **Purchases** tab instead)
* Create or edit **promo codes**
* Change **Company Settings** (including tenant-wide phone-validation flags)
* Access Owner-only areas such as API keys or full financial exports (unless they also hold a higher role)

## How This Compares to Other Roles

| Task                                     | Front Desk                                             | Viewer                                                 | Manager / Admin                                        |
| ---------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
| Dashboard access                         | Operational                                            | Read-only                                              | Full                                                   |
| Pro shop charge limit                    | $1,000                                                 | Cannot charge                                          | No limit                                               |
| Refunds                                  | No                                                     | No                                                     | Yes                                                    |
| Create Events / Classes                  | No                                                     | No                                                     | Yes                                                    |
| **Manage Matches** (write)               | Yes (when feature on)                                  | Yes (when feature on)                                  | Yes (when feature on)                                  |
| **Customers** page                       | Yes                                                    | No                                                     | Yes                                                    |
| Cancel / move Events & Classes           | No                                                     | No                                                     | Yes                                                    |
| Cancel / move private Reservations       | Yes                                                    | No                                                     | Yes                                                    |
| Create / edit Recurring series (Repeats) | No (read-only)                                         | No                                                     | Yes                                                    |
| Edit reservation (Regular) settings      | Yes                                                    | No                                                     | Yes                                                    |
| Edit Event / Class settings              | Yes                                                    | No                                                     | Yes                                                    |
| Add / remove Event or Class attendees    | Yes                                                    | No                                                     | Yes                                                    |
| Security check-in                        | Yes                                                    | No                                                     | Yes                                                    |
| No-show fees on Events / Classes         | Yes (if feature on)                                    | No                                                     | Yes                                                    |
| Grant Membership (catalog price)         | Yes                                                    | No                                                     | Yes                                                    |
| Custom membership pricing                | No                                                     | No                                                     | Yes                                                    |
| Virtual credits                          | No                                                     | No                                                     | Yes                                                    |
| Profile **Purchases** tab                | Yes (orders only; no expense report)                   | No                                                     | Yes (Manager+; expense report Admin+)                  |
| **Activity Logs** (all users)            | Yes (when feed enabled)                                | Yes (when feed enabled)                                | Yes (when feed enabled)                                |
| Promo codes                              | View only                                              | No page access                                         | Full access                                            |
| Revenue / visit stats                    | Hidden                                                 | Hidden                                                 | Admin+ (varies)                                        |
| Area access (when area roles on)         | All areas if unassigned, otherwise assigned areas only | All areas if unassigned, otherwise assigned areas only | All areas if unassigned, otherwise assigned areas only |

{% hint style="warning" %}
Front Desk is intended for counter staff. If someone only needs to observe the calendar and profiles, assign **Viewer**. If they need to create Events or Classes, cancel or reschedule programmed Events, issue refunds, clone Events, or manage promo codes, assign **Manager** or **Admin**, following your club's internal policies.
{% endhint %}


# Viewer Role

### Overview

The **Viewer** role gives mostly read-only access to the Dashboard. Use it for employees or partners who need to **see** what is happening at the club — calendars, Events, replays, and activity — without browsing the **Customers** directory, charging Customers, or changing profiles. **Matches** are an exception: Viewers can manage match records (write), when the matches feature is enabled.

The legacy **Staff** role was renamed to **Viewer**. Existing Staff users are upgraded automatically; no action is required unless you want to change their role to **Front Desk** for counter work.

Owners and Admins assign Viewer from a Customer Profile on the **Customers** page.

**Area access:** When your club uses **area-scoped roles**, a Viewer with **no** locations selected can see **all** areas (same as Manager). Assign specific areas only when you want to limit what they can browse.

#### Dashboard Pages Viewer Can Open

* **Overview** — calendar of Reservations and Events (read-only)
* **Areas** — area overview tabs when your club uses them
* **Events** — browse and open Event details (cannot create or edit)
* **Matches** — when your club has the matches feature enabled (**manage / write**, including publishing eligible matches to DUPR)
* **Templates** — browse templates (cannot create, edit, or delete)
* **Activity Logs** — when your club has the activity feed enabled
* **Replays** — browse the replays list (cannot manage replay servers or cameras)

Viewer **cannot** open **Customers**, **The Shop**, **Promo Codes**, **Purchases**, **Analytics**, **Insights**, or most **Company Settings** pages.

#### What Viewer Can Do

* Browse the Overview calendar and open Reservations or Events in the side panel (read-only)
* Review Event details and attendee lists without saving booking or roster changes
* **Manage Matches** (view, update, and publish eligible matches to DUPR when that feature is on)
* Review templates and activity log entries
* Browse replays already recorded for Events

Drawers and forms for reservations and Events open in **read-only** mode: action buttons such as **Save**, **Delete**, and charge-on-behalf controls are hidden or disabled. Match management actions (for example **Publish DUPR Match**) remain available.

#### What Viewer Cannot Do

* Create, edit, cancel, or reschedule Reservations or Events
* Browse the **Customers** page or search Customer Profiles from the main menu
* Add or remove attendees, check in Customers, or charge on behalf of anyone
* Charge through **The Shop** or issue refunds
* Create or edit Customer Profiles, roles, notes, virtual credits, or payment methods
* Grant Memberships or change membership pricing
* Create or edit promo codes or templates
* View revenue or customer visit statistics (same restriction as Front Desk)
* Change **Company Settings**

### How Viewer Compares to Front Desk and Manager

| Task                                 | Viewer                                                 | Front Desk                                             | Manager / Admin                                        |
| ------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
| Dashboard access                     | Read-only                                              | Operational                                            | Full                                                   |
| Charge through The Shop              | No                                                     | Yes ($1,000 cap)                                       | Yes (no cap)                                           |
| Book / change Reservations on behalf | No                                                     | Yes (Regular only)                                     | Yes                                                    |
| Manage Event / Class attendees       | No                                                     | Yes                                                    | Yes                                                    |
| Security check-in                    | No                                                     | Yes                                                    | Yes                                                    |
| Grant Membership (catalog price)     | No                                                     | Yes                                                    | Yes                                                    |
| Custom membership pricing            | No                                                     | No                                                     | Yes                                                    |
| Create Events / Classes              | No                                                     | No                                                     | Yes                                                    |
| **Manage Matches** (write)           | Yes (when feature on)                                  | Yes (when feature on)                                  | Yes (when feature on)                                  |
| **Customers** page                   | No                                                     | Yes                                                    | Yes                                                    |
| Profile **Purchases** tab            | No                                                     | Yes (orders only)                                      | Yes                                                    |
| **Activity Logs** (all users)        | Yes (when feed enabled)                                | Yes (when feed enabled)                                | Yes (when feed enabled)                                |
| Customer Tags                        | No page access                                         | Tag and untag Customers                                | Full access                                            |
| Promo codes                          | No page access                                         | View only                                              | Full access                                            |
| Revenue / visit stats                | Hidden                                                 | Hidden                                                 | Admin+ (varies)                                        |
| Area access (when area roles on)     | All areas if unassigned, otherwise assigned areas only | All areas if unassigned, otherwise assigned areas only | All areas if unassigned, otherwise assigned areas only |

For day-to-day counter work, assign **Front Desk** instead of Viewer. See [Front Desk Dashboard Role](/overview/the-dashboard/admin-roles/front-desk-role).


# Navigation Menu

### Overview

The navigation menu is the black panel along the left side of the Dashboard. It is how you move between the different pages of PodPlay. The items you see depend on your Admin Role and on which features your Club has turned on, so your menu may be shorter than the full list below.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FuALdKrMLpEOMYLDO7frA%2FScreenshot%202026-08-20%20at%2009.52.18.png?alt=media&amp;token=c0468741-4763-4230-bd6c-70f500887ab5" alt=""><figcaption></figcaption></figure>

To keep the menu tidy, the less common pages are tucked into two grouped items near the bottom — **Settings** and **More** — which expand when you click them.

#### Opening the menu on a phone or small screen

On a smaller screen the menu is hidden by default to save space. Tap the Club logo in the top-left corner to slide the menu open, and tap a menu item (or the logo again) to close it.

### Main Pages

These sit at the top of the menu:

* **Dashboard** — the main calendar view of your courts and tables.
* **Locations** — a day view of the courts and tables at a specific location.
* **Events** — a month calendar of Events across all locations.
* [**Customers**](https://docs.podplay.app/profiles/creating-a-customer-profile) — the list of all Customer Accounts.
* [**Coaches & Robots**](https://docs.podplay.app/coaches/coach-setup-and-profile) — Coach profiles, Ball Machines, and their availability.
* **Purchases** — every Customer purchase, including Reservations, Events, and Memberships.
* [**Shop**](https://docs.podplay.app/payments/the-shop-page) — your product catalog and point-of-sale, when enabled.
* [**Insights**](https://docs.podplay.app/owners-playbook/analytics/insights-page) — reporting dashboards, when enabled.
* **Analytics β** — Customer data you can filter by date range (*deprecated soon*).
* [**Promo Codes**](https://docs.podplay.app/payments/promo-codes) — the Promo Codes available at your Club.
* **CMS** — branding and content management (for Clubs on the [Pro/Autonomous(+) tier](https://docs.podplay.app/owners-playbook/accounting-and-stripe/revenue-reconciliation#revenue-reconciliation))

### Settings

Click **Settings** to expand the configuration pages for your Club. Depending on your Role and enabled features you may see:

* **Company settings** — general Club settings and Integrations.
* **Venues** — location setup (coming soon).
* **Memberships** — Membership plans and pricing.
* **Packages** — package templates.
* **GoTab** — GoTab integration settings, when enabled (coming soon).
* **Agreements** — Customer waivers (coming soon).

Some advanced Settings pages are reserved for PodPlay staff and will not appear for most Admins.

### More

Click **More** to reach the pages used less often:

* **Matches** — match results, when enabled.
* **Replays** — video replays.
* **Templates** — Event templates, when enabled.
* **Activity Log** — a record of recent changes made in the Dashboard.

As with Settings, some advanced More pages are reserved for PodPlay staff.

### Signing Out

The **Sign Out** button sits at the very bottom of the menu.

{% hint style="info" %}
Menu items are tied to Admin Roles. If you cannot see a page described here, your Role may not have access to it, or the feature may not be turned on for your Club. See [Admin Roles](/overview/the-dashboard/admin-roles) for more on access levels.
{% endhint %}


# Photos & Sizes

### Overview

The PodPlay system uses different image dimensions for each photo type. Using the recommended size avoids cropping and ensures the image displays correctly across the App and Web App.

#### Location Pictures

The recommended size for a Location picture is 500x375. Some organizations have multiple venues at different Locations.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FRIHLAWxn4EPV08J9RQs7%2Fimage.png?alt=media&amp;token=540a1070-55e7-473c-96a3-b596f7acf050" alt=""><figcaption></figcaption></figure>

#### Region Pictures

The recommended size for a Region picture is 1060x530. Region photos are only necessary if your organization has Clubs in various states.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FjYrO6WyNqjqAXjy5lIJX%2Fimage.png?alt=media&amp;token=2358fb7d-707d-4c9a-ad37-5fae40af3887" alt=""><figcaption></figcaption></figure>

#### App Loading Screen

The recommended size for a Loading Screen picture of the iOS and Android Apps is 1050x1050 pixels. This is the first screen a Customer will see when they open the native phone app to “Log in,” and the Customer will see this screen for a brief 0.5 seconds when opening the App after they have logged into their Profile.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fd9g37UJZddmEPuMKAvi0%2Fimage.png?alt=media&amp;token=2aedef8d-dd32-4737-b49f-fca495e2e546" alt=""><figcaption></figcaption></figure>

#### Event Pictures

The preferred and most optimal picture size to add to your Events is 1200x630. If you use a different size picture, the PodPlay system will automatically ask you to crop the photo when uploading it to the Event.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FJx4VfuuajCLyHnFtiABY%2Fimage.png?alt=media&amp;token=7c8460a5-c8dc-43d0-a888-cabdced15543" alt=""><figcaption></figcaption></figure>

Events photos are also visible in Spotlight carousel

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FKlok1v7kwy2uxCVTNsSg%2Fimage.png?alt=media&amp;token=439bd7ca-348c-4cee-a59b-06b7520923ff" alt=""><figcaption></figcaption></figure>


# Rapidly Assist Walk-ins

### Overview

{% hint style="info" %}
**Preparing for a Grand Opening?** See [Front Desk Set-up](https://docs.podplay.app/owners-playbook/new-to-podplay/onboarding/front-desk-set-up) for the standard front desk hardware, Dashboard tabs, and staff training.
{% endhint %}

Walk-in Customers get on court fastest when they create their own Profile and sign the Liability Waiver on their own phone. Post QR Codes at the front desk so Customers scan a code instead of waiting for staff. Staff then save a payment method and complete the booking, with or without a credit card terminal.

### QR Codes at the front desk

Print and post these QR Codes at the front desk. They are listed in order of priority.

| Label under the QR Code                   | URL                                                             | Notes                                                                               |
| ----------------------------------------- | --------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `Scan & Sign Waiver`                      | `https://<your-club>.podplay.app/app-menus`                     | Opens the More tab of the Web App. Use for single-location Clubs.                   |
| `Scan & Sign Waiver` (multiple locations) | `https://<your-club>.podplay.app/login?utm_location=<location>` | Use one QR Code per location. `<location>` is the Club location the sign-up is for. |
| iOS App                                   | Link to the Club's App in the Apple App Store                   | Basic+ plan or higher.                                                              |
| Android App                               | Link to the Club's App in the Google Play Store                 | Basic+ plan or higher.                                                              |
| `Buy a Membership`                        | `https://<your-club>.podplay.app/account/membership`            |                                                                                     |
| `Book a Reservation`                      | `https://<your-club>.podplay.app/book`                          |                                                                                     |
| `Join an Event`                           | `https://<your-club>.podplay.app/community/events`              |                                                                                     |

{% hint style="info" %}
**The same URLs work outside the Club.** Add them to your Club's website and to email marketing campaigns. During a migration, pair them with the [Draft Emails for Migration](https://docs.podplay.app/owners-playbook/new-to-podplay/onboarding/draft-emails-for-migration) templates.
{% endhint %}

### Assist a walk-in without a credit card terminal

1. Have the walk-in Customer scan the `Scan & Sign Waiver` QR Code
2. The Customer creates a Profile and signs the Liability Waiver
3. Walk around the front desk and stand next to the Customer
4. Show the Customer how to add a payment method in the Web App. You can skip this step, because the Web App prompts the Customer for a payment method when they book or sign up
   1. Tap the `Account` button at the top of the More tab
   2. Tap `Payment Methods`
   3. Tap `Add Payment Method`
   4. The Customer enters their credit card
5. Show the Customer how to book a Reservation or sign up for an Event
   * For a Reservation: tap the `Book` tab, choose a time to play, and complete the booking
   * For an Event: tap the `Events` tab, choose an Event, and sign up

### Assist a walk-in with a credit card terminal

1. Have the walk-in Customer scan the `Scan & Sign Waiver` QR Code
2. The Customer creates a Profile and signs the Liability Waiver
3. In the Dashboard, refresh the Customer Page
4. Click the new Profile. It appears at the top of the page
5. On the `Overview` tab, scroll to the bottom
6. Click `Add Payment Method`
7. Have the Customer tap their physical card on the terminal
8. Click `Save` and close the side panel
9. Copy the walk-in Customer's email address
10. Go to the Overview page
11. Create a Reservation and paste the Customer's email in the `Reservation Holder` field
12. Finalize the Reservation. PodPlay charges the saved credit card

{% hint style="warning" %}
**Tapping a phone on the terminal does not save the card.** Apple Pay and Google Pay encrypt the card number, so PodPlay cannot store it for later charges. The Customer must tap their physical card.
{% endhint %}

### Customers without a phone

Some walk-in Customers do not have a phone to scan the QR Code. A Sign Up Kiosk turns a Club device, such as an iPad, into a shared station where Customers create a Profile and sign the Liability Waiver. See [Kiosk Sign-up](https://docs.podplay.app/overview/kiosk-sign-up) to set one up.


# Signup Kiosk

{% hint style="info" %}
This feature is in development.
{% endhint %}

### Overview

Many Clubs post a QR Code at the front desk so walk-in Customers can create a Profile and sign the Club's Liability Waiver on their own phone (see [Rapidly Assist Walk-ins](https://docs.podplay.app/overview/rapidly-assist-walk-ins)). Some Customers do not have a phone. A Sign Up Kiosk turns a Club device, such as an iPad, into a shared sign-up station. Customers fill in the form on the Kiosk, sign the Liability Waiver, and the form resets for the next Customer.

### Request a Kiosk URL

The PodPlay CS team creates Kiosks for now. Contact the Customer Success team with a name for each Kiosk device, for example `Front Desk iPad`. The team generates the Kiosk's QR Code and 6-digit PIN and sends them to you.

{% hint style="warning" %}
**The PIN is valid for 5 minutes.** Have the Kiosk device unlocked and ready when the CS team sends the PIN.
{% endhint %}

### Add a Kiosk in the Dashboard

{% hint style="info" %}
**The Venue page is still in development.** When it is available to your Club, you can add Kiosks yourself with the steps below. Until then, contact your PodPlay CS team for a Kiosk.
{% endhint %}

1. In the Dashboard, go to the `Venue` page
2. Go to the `General` tab
3. Open the `Sign Up Kiosks` drawer. The drawer is closed by default
4. Click `+ Add Kiosk`
5. Enter a `Kiosk Name`, for example `Front Desk iPad`
6. Save the Kiosk

PodPlay shows two things for the new Kiosk:

* A QR Code that opens the Club's sign-up page in Kiosk mode.
* A 6-digit PIN that activates the Kiosk.

{% hint style="warning" %}
**The PIN is valid for 5 minutes.** Have the Kiosk device unlocked and ready before you add the Kiosk.
{% endhint %}

### Activate the Kiosk

1. On the Kiosk device, scan the Kiosk's QR Code. The device opens the sign-up page for your Club
2. Bookmark the page so staff can reopen it
3. When prompted, enter the 6-digit PIN

After activation, the device shows the sign-up form. The device remembers the activation, so staff do not enter the PIN each time the page opens.

The Kiosk link is your Club's normal sign-up link with `&kiosk=true` added, for example `https://<your-club>.podplay.app/login?utm_location=<location>&kiosk=true`. The `utm_location` value is the Club location the sign-up is for.

### Lock the Kiosk

We recommend locking the Kiosk device so Customers can use only the sign-up page and cannot open other apps, change settings, or browse elsewhere. On iPad this is called **Guided Access**, and on Android it is called **App pinning** (sometimes **Screen pinning**). Both keep the device on a single app until a staff member enters a passcode.

#### iPad (Guided Access)

1. Go to `Settings` > `Accessibility` > `Guided Access`, and turn on `Guided Access`
2. Tap `Passcode Settings`, then tap `Set Guided Access Passcode` and enter a passcode that only staff know
3. Optional: set `Display Auto-Lock` to `Never` so the Kiosk screen stays on
4. Open the Kiosk page in Safari
5. Triple-click the top button (or the Home button on iPads that have one). If a shortcuts menu appears, tap `Guided Access`
6. With your finger, circle Safari's address bar and tab bar. These areas turn gray and stop responding to touch
7. Tap `Start`

To end Guided Access, triple-click the top button (or Home button), enter the passcode, and tap `End`.

#### Android tablet (App pinning)

1. Open `Settings` and go to `Security` (or `Security & privacy`) > `More security settings` > `App pinning`. The menu names vary by manufacturer. If you can't find it, search Settings for `pinning`
2. Turn on `App pinning`, and make sure `Ask for PIN before unpinning` is on
3. Open the Kiosk page in Chrome
4. Open the Overview screen. Swipe up from the bottom and hold, or tap the Overview (square) button
5. Tap the Chrome icon at the top of the app preview, then tap `Pin`

To unpin, swipe up and hold (or touch and hold `Back` and `Overview`), then enter the device PIN.

{% hint style="warning" %}
**App pinning locks the device to Chrome, not to the sign-up page.** Customers cannot leave Chrome, but they could still use the address bar. Check on the Kiosk regularly.
{% endhint %}

### What Customers see on the Kiosk

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FJyaHZUMBazYaFXObZU9T%2Fimage.png?alt=media&amp;token=6be0da2d-c2a1-47b9-9ad6-79c3eb4d22bb" alt=""><figcaption></figcaption></figure>

At the top of the screen, a `Register on Your Device` banner shows a QR Code. Customers who have a phone can scan it to fill in the form on their own device. Everyone else fills in the form on the Kiosk.

The form asks for:

* Email.
* First Name.
* Last Name.
* Phone Number. The device shows a number keypad where available.
* Birthday, if your Club collects it.
* Sex, if your Club collects it.
* Agreement to the Terms of Service and Privacy Policy.

After the Customer submits the form, PodPlay shows the Club's Liability Waiver. This is the location waiver or the general waiver, depending on how your Club is set up.

After the Customer signs the Liability Waiver, a message confirms `Your Account has been successfully created.` The Customer taps `Done`, or the page resets on its own after 10 seconds. A blank form then appears for the next Customer.

In landscape orientation, the form is in the left column and the QR Code is in the right column.

### FAQs

<details>

<summary>Does the Kiosk verify the Customer's email or phone number?</summary>

No. The form checks only that the email and phone number are in a valid format. It does not send a verification code.

</details>

<details>

<summary>Can a Club have more than one Kiosk?</summary>

Yes. Set up a Kiosk for each device, and give each one a name you can recognize.

</details>

<details>

<summary>The Kiosk is asking for a PIN again. What do I do?</summary>

The device no longer has its activation, for example after the browser's data was cleared. Contact your PodPlay CS team for a new PIN, or add a new Kiosk on the `Venue` page once it is available to your Club. Enter the PIN on the device within 5 minutes.

</details>


# Check-in Button

### Overview

QR Code Check-in lets a Club confirm a Customer's arrival for a Reservation or Event by scanning a QR code at the Front Desk, using a USB-compatible QR Code Scanner connected to the front desk computer.

The hardware to purchase is:

* A USB-compatible [QR Code Scanner](https://www.amazon.com/dp/B06XD8MFFC?ref=ppx_yo2ov_dt_b_fed_asin_title\&th=1) ([UK version](https://www.amazon.co.uk/Barcode-Omnidirectional-Hands-Free-Automatic-Computer/dp/B07CYLVHSV/ref=asc_df_B07CYLVHSV?tag=bingshoppinga-21\&linkCode=df0\&hvadid=80745591571118\&hvnetw=o\&hvqmt=e\&hvbmt=be\&hvdev=c\&hvlocint=\&hvlocphy=162586\&hvtargid=pla-4584345061925766\&psc=1\&msclkid=81ebae8cc8721e47302bc4be6f56af89)), available on Amazon for $70
* A [USB-C adaptor](https://www.amazon.com/dp/B01GGKYXVE) ($10) ONLY IF the front desk computer only has USB-C ports

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FdZ8Qhckc3p6X7T4qvwEo%2Fimage.png?alt=media&amp;token=54da808a-9935-4e79-aca6-18501235fc5d" alt=""><figcaption></figcaption></figure>

### Customer Checks-in

Once the QR Code Scanner (and the USB-C adaptor if needed) are plugged into the front desk computer, the scanner should work.

1. **Customer clicks the Check-in Button:** Before a Customer's Reservation or Event starts, a Check-in Button appears in the Reservation tab of the App.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FsK1Nf85n6Pv367osfTwJ%2Fimage.png?alt=media&amp;token=d9fb464f-d16d-4a80-bc2f-ff9dbb1dd438" alt=""><figcaption></figcaption></figure>

The Customer sees a countdown until the button becomes clickable; when it ends, the bar expands and the Check-in Button appears.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FNEyzjmfj59ha34t62vwn%2Fimage.png?alt=media&amp;token=3c3ed602-9f17-4e34-9f4f-4a5179c06048" alt=""><figcaption></figcaption></figure>

This timing is configurable, with the default being 15 minutes. If you have the Owner role, you can edit the check-in threshold on the Company Settings page of the Dashboard.

2. **Customer scans the QR code:** Clicking the Check-in Button shows a QR code (or verification) on the Customer's phone. The Customer waves it in front of the scanner, which buzzes to confirm the check-in.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FQ5TxnYwR5uKoKMZigHS5%2Fimage.png?alt=media&amp;token=eed4fb44-e497-4c4f-b156-beb5db4ce726" alt=""><figcaption></figcaption></figure>

### In the Dashboard

Clicking the Check-in button also flips the Check-in toggle on the Dashboard side panel, the same toggle an Admin at the Front Desk could flip manually when welcoming a Customer in.

Staff can always flip the check-in toggle if the Customer forgot their phone at home.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FSQ422jTFiNPVzEzebwI9%2FScreenshot%202026-10-07%20at%2011.33.05.png?alt=media&amp;token=cd23baa9-5722-418f-9321-5f0ad3387f59" alt=""><figcaption></figcaption></figure>

There will also be a little notification in the bottom of the screen saying the check-in was successful after the Customer performs a QR code scan, with the Customer's name visible. This is the alert shown to the front desk on the Dashboard, and there is an audible ping from the QR code scanner. The audible ping is positive or negative for a successful or unsuccessful Customer check-in.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FromgsWVv043qJFyYcqRM%2Fimage.png?alt=media&amp;token=159538a6-e452-46d1-802f-56e0948b98dc" alt=""><figcaption></figcaption></figure>

As the Customers are checking in, a count will show of all the Customers who are checked-in vs. not yet checked-in.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F4GdRhq61EcaXzzRyc2wu%2FScreenshot%202026-10-07%20at%2011.31.31.png?alt=media&amp;token=cf02bdad-6abb-405d-8d12-dfe694026fd0" alt=""><figcaption></figcaption></figure>


# Open Door Access (Autonomous)

### Overview <a href="#app-controlled-door-access" id="app-controlled-door-access"></a>

When a Club is on the Autonomous or Autonomous+ Tier, a security lock is installed on the Club's entrance. Customers can unlock the door to the Club when their Reservation or Event is in the near future. Staff can also be added to any of the door locking apps.

{% hint style="success" %}
This feature works on both upcoming Reservations booked and Event signups.
{% endhint %}

### **Unlock Door Button**

Customers are able to click a button that becomes visible in the Reservation tab of the App before any Reservation or Event. This allows the Customers to enter the Club without any need for staff onsite.

The amount of time before a Reservation or Event when the button becomes visible is configurable in the Company Settings page of the Dashboard. Meaning, if your Club would prefer to have this button become visible 10, 15, 20, or 30 minutes before the start of the Reservation or Event, it can be adjusted.

{% @supademo/embed url="<https://app.supademo.com/demo/cmog2j50x0pqlza2ivsibyc07>" demoId="cmog2j50x0pqlza2ivsibyc07" %}

If a Club does not have a door lock installed, the Reservation tab of the app will show a Check-in Button instead of the “Tap to unlock door” button. To learn more, read about the [Check-in Button](https://help.podplay.app/en/articles/2007937).

<details>

<summary>What happens if my internet goes out?</summary>

If your Club's internet goes out and your door isn't always locked, the good news is that your door locking mechanism should be on a schedule and the door will lock at the appropriate time based on the cached information inside the mechanism.

If your door is locked and the internet it out, Customers will not be able to unlock it since they click a button and the "unlock door" action is passed through the internet to your door locking mechnism.

</details>

### Related Updates

* [Set Autonomous Access Hours](/overview/open-door-autonomous/set-autonomous-access-hours)


# Set Autonomous Access Hours

{% hint style="warning" %}
A door locking mechanism is required for this feature to work. Learn more about the [Autonomous tier](https://docs.podplay.app/owners-playbook/the-podplay-system/overview-of-tiers/further-details-of-tiers#door-access).
{% endhint %}

### Overview

If your Club is staffed and also unstaffed during certain times of day, you can use the Autonomous Access Hours feature to allow Customers to unlock the Club's doors when your Club staff is not working. This setting is on the Venue page of the Dashboard.

{% hint style="info" %}
**The Venue page is still in development.**
{% endhint %}

### Set the Experience's default access

Once enabled, Customers see [**Unlock door and Check-in**](https://docs.podplay.app/overview/open-door-autonomous) button or [**QR check-in**](https://docs.podplay.app/overview/how-to-use-the-check-in-button) depending on the time of day. Pick one option as the default, then schedule the hours when the other option should apply.

If your Club is staffed and also unstaffed, the QR check-in option is the correct default access to choose.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FmkAmSgC8iw9x56lCD3Dc%2FScreenshot%202026-10-02%20at%2010.25.00.png?alt=media&amp;token=e153afe8-479b-4385-9a24-8f1f5b198e30" alt=""><figcaption></figcaption></figure>

* Go to the **Venue** page
* Open the **Experience** in the Dashboard
* Select the **Access** tab
* Find **Autonomous Access**, below **Locks** and above **Access Instructions**
* Under **Default access (when no scheduled change applies)**, select **Unlock door** or **QR check-in**
* Save the Experience

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FnZKT8SPn9wZpUSaccHo5%2FScreenshot%202026-10-02%20at%2010.15.23.png?alt=media&amp;token=60553e0c-6e66-4269-9cc0-b172534784b1" alt=""><figcaption></figcaption></figure>

If the courts already use different access, the Experience starts with no default selected. The help text reads **Courts currently differ**, with a count of courts on **Unlock door** and a count on **QR check-in**. Choose a default before scheduling hours. That choice becomes the access for the whole Experience once you save and apply it to the courts.

### Schedule a change during Opening Hours

The schedule always uses the option opposite the default. If the default is **QR check-in**, the schedule is labeled **Unlock door during these hours**. If the default is **Unlock door**, the schedule is labeled **QR check-in during these hours**.

* Add the days and time ranges when access should switch from the default
* Save the Experience

Scheduled changes must fit inside the Experience's **Opening Hours**. Outside those ranges, including hours when the Experience is closed, Customers get the default. A different access mode cannot be set for closed hours. Meaning, make sure your **Opening Hours** are a wide enough range to cover both the staffed and unstaffed hours your Club will be open for Customers.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FMtFDeMjP70UtuAduf0bZ%2FScreenshot%202026-10-02%20at%2010.36.01.png?alt=media&amp;token=7678883a-d6dc-47ba-a813-cc29495e8709" alt=""><figcaption></figcaption></figure>

If Opening Hours change later, adjust any access schedule that no longer fits before saving.

### Apply Experience settings to every court

Saving an Experience access change that affects courts with their own settings asks **Apply to all courts?** The message names those courts and says saving replaces their settings with the Experience settings. This also appears when the courts currently differ and the Experience does not have a default yet.

* Select **Apply to all courts** to replace those court settings.
* Select **Cancel** to keep editing without saving.

After you apply, those courts show **Use experience settings**. The inherited default is shown for reference. A court that inherits scheduled hours displays that schedule, and the schedule cannot be edited there. Change it on the Experience, or switch the court to its own settings.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F852rXSQzBm9bM3BxKATq%2FScreenshot%202026-10-02%20at%2010.38.14.png?alt=media&amp;token=41e8837a-70b4-43d2-ab89-bc0e551d1748" alt=""><figcaption></figcaption></figure>

### Customize one court

On a court level, the **Open Access** switch is hidden while Autonomous Access is available. Court access is managed in **Autonomous Access** instead.

* Open the court from the Experience.
* Open **Autonomous Access**.
* Select **Customize for this court**.
* Choose the court's **Default access** and, if needed, add scheduled hours.
* Save the court.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FhXoHtpDPOKPvUyiZEoib%2FScreenshot%202026-10-02%20at%2010.28.03.png?alt=media&amp;token=3ed3dccf-14cb-460e-958d-2b13deb37cb8" alt=""><figcaption></figcaption></figure>

To follow the Experience again, select **Use experience settings** and save the court. That option appears when the Experience has a default access setting.

{% hint style="warning" %}
Editing Autonomous Access requires a PodPlay admin and an [Autonomous](https://docs.podplay.app/owners-playbook/the-podplay-system/overview-of-tiers/further-details-of-tiers#autonomous) or [Autonomous+](https://docs.podplay.app/owners-playbook/the-podplay-system/overview-of-tiers/further-details-of-tiers#autonomous-1) tier. If the controls are locked, contact your PodPlay CS team.
{% endhint %}


# Booking Private Reservations

{% hint style="success" %}
This is the booking flow for the **Per Player pricing model**.
{% endhint %}

### Booking a Reservation

For a Customer to book a private Reservation, they can:

* Open up the App
* Navigate to the Book tab in the App
* Choose a preferred day and time for the Reservation
* Review the Order Summary page
* Click on the `Submit Payment` to complete the Reservation booking

{% @supademo/embed url="<https://app.supademo.com/demo/cmuogi61m079xqmh17mxj4hrc>" demoId="cmuogi61m079xqmh17mxj4hrc" %}

Pricing for the private Reservation respects your Club's settings, including Member vs. Non-member pricing status.

<details>

<summary>Can a Customer book multiple Reservations?</summary>

Yes! Customers can book private Reservations at different times and on different days (if your environment configurations allow for it). So a Customer can book a private Reservation from 3 - 5 pm on Saturday, and then book 6 - 7 am on Monday.

</details>

<details>

<summary>Can a Customer book multiple tables/courts concurrently?</summary>

The default settings is to allow a Customer to book one Reservation during the same hour. Meaning, a Customer can book a private Reservation from 3 - 4 pm, and cannot book a second court or table from 3 - 4 pm. The default settings are set up like this so your Club can support a Customer who wants to book two or more courts/tables at a time and can create a [**Private Event**](https://help.podplay.app/en/categories/130881-private-event). Private Events are lucrative opportunities for a Club. Some common Private Events could be a birthday party, corporate buyout, or simply a large group of people.

If you would like to allow Customers to book two courts or tables at a time, an Owner of the Club can turn ON the "Allow concurrent reservations for the same customer" toggle in the Company Settings of the Dashboard. If this is turned ON, Customers booking concurrent Reservations will eat in to Private Events. Once changed, a Customer can book one, two, three, or more courts/tables at the same time.

</details>

### Edit Reservation before Booking

If a Customer wants to change their Group Size, add a Ball Machine, or lock down their court, they can do so on the last page of the booking flow, before clicking on the `Submit Payment` button.

{% @supademo/embed url="<https://app.supademo.com/demo/cmuogryrs00dfv90jgp7ftqeu>" demoId="cmuogryrs00dfv90jgp7ftqeu" %}

### Invite Friends to the Reservation

Once a Customer books a private Reservation, they land on the “You’re booked!” confirmation page. The Customer will have a prompt at the bottom of the screen to “Invite Friends →”

Once the Customer clicks on this button, there are options to invite their friend with:

1. A “Paid invite (they pay)”
   1. By sending this out, the Reservation Holder is saying their friend will pay for their spot
2. A “Free invite (you cover)”
   1. By sending this out, the Reservation Holder is saying their friend can join for free and the Reservation Holder will cover the cost of their spot

{% @supademo/embed url="<https://app.supademo.com/demo/cmuoh3w8r00gbv90juoa1f4ur>" demoId="cmuoh3w8r00gbv90juoa1f4ur" %}

The Reservation Holder can send out as many invitations to friends as needed, up to the quantity of players selected on the Order Summary page, and the cost of the Reservation will reduce accordingly (# of participants / cost = price per player).

### Edit Reservation Group Size

If the Reservation Holder wants to change the group size, they have the ability to edit it to a different number of Players, respecting the total amount of Customers who can join a private Reservation.

{% hint style="info" %}
**For any spots not filled on the Reservation, the Reservation Holder is responsible for those "shares" of the Reservation cost.**
{% endhint %}

{% @supademo/embed url="<https://app.supademo.com/demo/cmuohkq5700c4uu0jcevrl7kt>" demoId="cmuohkq5700c4uu0jcevrl7kt" %}

### Manage Invitations

The Reservation Holder can manage the invites for the Reservation within the Reservations/My Bookings tab of the App. Once on this tab, the Reservation holder can click on the `Manage booking` button to see a list of all attendees.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FiHOBM3ffE94CPgbUXF9z%2FScreenshot%202026-09-30%20at%2015.31.05.png?alt=media&amp;token=434d0864-4c8d-4c6a-9457-9b10189e7a8a" alt=""><figcaption></figcaption></figure>

The Reservation hold can then send out more invitations, or they can click on the `Remove player` link and delete other Customers from their private Reservation.

{% hint style="info" %}
The price of the invite is subject to change depending on how many Customers join the Reservation.
{% endhint %}

### Accept a Reservation Invite

When the Reservation holder sends out an invite, they can copy the preferred type of invite (Paid invite or Free invite) and send the link to a friend. Any friend who clicks on the invite link will hop in to the App and see the invite.

* **If the invite is a Free invite**, the Customer can click on the Accept invite button to join the Reservation at the bottom of the page, and they are informed their spot is covered.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fs3jhfrwdK27G0Vm2a9kM%2FScreenshot%202026-09-30%20at%2015.26.25.png?alt=media&amp;token=36a6e6ab-3d1c-4fb6-97c6-7cda74382b37" alt=""><figcaption></figcaption></figure>

* **If the invite is a Paid invite**, the Customer will be prompted to acknowledge there will be a payment.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FpQ9MV7berwH22Uqj9P2b%2FScreenshot%202026-09-30%20at%2015.24.28.png?alt=media&amp;token=410387e4-bbaa-476f-9e9c-aa0617410727" alt=""><figcaption></figcaption></figure>

If the Customer has Credits, their Credits are automatically applied and the invite will inform them there is no charge to their card.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FE9YYmcIIq8ylGVzrsQc1%2FScreenshot%202026-09-30%20at%2015.24.18.png?alt=media&amp;token=d648b26c-60e3-43f7-a94e-7810c21c5a19" alt=""><figcaption></figcaption></figure>

The invitee can then see they are part of a Reservation and can cancel their participation by clicking on the "Leave booking" option.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FZWJFAl1ACkALXBAPi3Ph%2FScreenshot%202026-09-30%20at%2015.27.41.png?alt=media&amp;token=ca651445-5416-4881-9d0a-d9ae778e7c96" alt=""><figcaption></figcaption></figure>


# Admin Creates a Reservation

{% hint style="success" %}
This is the booking flow for the **Per Player pricing model**.
{% endhint %}

### Overview

While anyone in the Dashboard can create a Reservation for a Customer, your Club's staff should teach Customers how to book a Reservation. Once a Customer knows how to book a Reservation without assistance, more Customers will create more Reservations, reducing staff tasks, and allowing staff to focus on building community, rather than performing actions on behalf of Customers.

{% hint style="success" %}
Give a man a fish and he will eat for a day. Teach a man to fish and he will eat for a lifetime.
{% endhint %}

### Admin Creates a Reservation

On the Overview page of the Dashboard, employees can create a Customer's private Reservation by:

1. Select the desired day, time, and court
2. Search for the Customer's name (unique by email)
3. Click the `Book` button
4. Ensure the charge type for the Reservation is the Customer's card on file (sometimes shown as `Visa` or `Mastercard`)
5. Click the `Book` button in the pop-up window

{% @supademo/embed url="<https://app.supademo.com/demo/cmuojy9ga0evxqmh1qb3sm6sg>" demoId="cmuojy9ga0evxqmh1qb3sm6sg" %}

Once the Reservation is booked, it will also be visible to the Customer on their App.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FmFu7pqYVwni1YXNuGCbP%2FScreenshot%202026-09-30%20at%2016.34.23.png?alt=media&amp;token=dc3433f4-a40c-4d60-9370-24f7fb2c1452" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
When the front desk books a Reservation that is FREE, the system does not process ANY charges and the Reservation is confirmed immediately. If the front desk creates a Reservation on behalf of a Customer and it's not FREE, all charges would go through as expected.
{% endhint %}

### Add Others to a Reservation

Employees can add Customers to a Reservation by:

1. Opening the specific Reservation
2. Click on the `Add player` button in the PLAYERS list
3. Search for the Customer's name (unique by email) in the pop-up window
4. Confirm how the invitee will be added to the Reservation (`Paying for self` or `Paid by booker`)
5. Review the charges on the right side of the pop-up window
6. Confirm by pressing the `Add player` button

Steps 2 through 6 can be repeated by staff to add more Customers (invitees) to the Reservation.

{% @supademo/embed url="<https://app.supademo.com/demo/cmuokaikm007bxv0jts52edpe>" demoId="cmuokaikm007bxv0jts52edpe" %}

The icons under the invitee's names show if the invitees are paying for their spot or if they are covered by the Reservation holder.

* If the Customer is paying for themselves, the icon is a dollar sign in a circle <i class="fa-circle-dollar">:circle-dollar:</i>

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FGuHOot0QTVUqd8E8JOgM%2FScreenshot%202026-09-30%20at%2016.48.21.png?alt=media&amp;token=2e2838bd-cf35-4452-9481-3a8e0c1426aa" alt=""><figcaption></figcaption></figure>

* If the Customer is covered by the Reservation holder, the icon is a minus sign in a square <i class="fa-square-minus">:square-minus:</i>

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F9LMvNsvBbJcryEkgYFqO%2FScreenshot%202026-09-30%20at%2016.48.42.png?alt=media&amp;token=7c6a1ca9-5e07-4469-ab23-c66be4c9fbe4" alt=""><figcaption></figcaption></figure>

* If the Customer is using a Pass, the icon is a ticket <i class="fa-ticket">:ticket:</i>

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FHLaKbZGBuK1Ia1TXtHnB%2FScreenshot%202026-09-30%20at%2016.47.57.png?alt=media&amp;token=839fa470-f35d-4046-b5da-3b0741337cac" alt=""><figcaption></figcaption></figure>

* For any unfilled spot in the Reservation (based on group size), the Reservation Holder is on the hook for that "share" of the Reservation.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fw9iXYSWnMyiF5oAZqdkb%2FScreenshot%202026-09-30%20at%2016.49.07.png?alt=media&amp;token=e9365b3f-eb7b-4e44-85c8-48b383617496" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
The price of the invite is subject to change depending on how many people join the Reservation. To learn more, read about **Charging Strategies**.
{% endhint %}

### Remove Invitees from a Reservation

For an Admin to remove anyone from a Reservation (or an Event), they can:

1. Click on the three vertical dots to the left of a Customer's name in the PLAYERS list
2. Notice the small window appear
3. Select the `Remove player` option

This will immediately remove the Customer from the Reservation's Attendee list

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FRftTpC6srff3UWOq8288%2FScreenshot%202026-09-30%20at%2016.51.29.png?alt=media&amp;token=53fedfc8-bbd3-486b-839d-266877734b13" alt=""><figcaption></figcaption></figure>

### Common Errors

* **Liability Waiver**: If the Customer has not accepted the Club's Liability Waiver, staff can accept the Waiver on behalf of the Customer, though this is not always a good idea. An error message will appear and prevent that Customer from being included.
* **No Card on File**: If the Customer does not have a credit card on file, the Customer cannot be added and pay for their portion of the private Reservation.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F4o02DzAz70ExYpmwsasq%2FScreenshot%202026-09-30%20at%2016.53.45.png?alt=media&amp;token=733bc446-a3e1-4f2f-b6e6-942aa38d38d9" alt=""><figcaption></figcaption></figure>

* **No Phone Number**: If the Customer does not have a phone number on file, the Customer cannot be added to the private Reservation.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FjRgwJj9WHIGvzbdKMTIg%2FScreenshot%202026-09-30%20at%2016.56.03.png?alt=media&amp;token=1ffd6ebe-3ec7-41d2-af5b-b0f8d6224e35" alt=""><figcaption></figcaption></figure>

* **Adding the same Customer Twice**: If the Customer is already in the Reservation, they cannot be added twice to the same Reservation (or Event).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FFDByxhw9FnLo8thk2oIv%2FScreenshot%202026-09-30%20at%2016.57.25.png?alt=media&amp;token=89e7057b-1654-4dfb-9da4-99f0ceab2e3f" alt=""><figcaption></figcaption></figure>

### FAQs

<details>

<summary>Can an employee add multiple Customers to a Reservation?</summary>

Yes. Staff can add as many Customer Profiles to a Reservation, one by one, as the player count will allow.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F1pTaOnOj0p4HBvdSdcnH%2FScreenshot%202026-05-07%20at%2015.48.38.png?alt=media&amp;token=d41e5f7e-d187-4829-81db-fa4a9c886648" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Can I receive notifications when a Customer books a Reservation?</summary>

To review booked Reservations, staff can review the Purchase page of the Dashboard and filter the page by `Booking`. This will show anyone interested who is booking a Reservation and how many Reservations have been booked, shown in chronological order.

</details>

### Create a Free Booking

{% hint style="danger" %}
When a Reservation is booked for `Free`, any **additional Customers added to the Reservation will not be charged** because everything in the Reservation is considered free-of-charge.
{% endhint %}

On the Overview page of the Dashboard, employees can create a Customer's private Reservation for free by:

1. Click, drag, and highlight the Customer's preferred time
2. Search for the Customer's name (unique by email)
3. Click on the blue `Go to checkout` button
4. Select the `Free` payment method in the pop-up window in the TENDER dropdown

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FCu2FWxVcCwFgMR2kFsbp%2FScreenshot%202026-09-30%20at%2022.48.34.png?alt=media&amp;token=4c547742-a1fb-4514-a65d-74d43c3b2728" alt=""><figcaption></figcaption></figure>

5. Finalize the Reservation booking
6. Notice the "Payment method" is `Free`

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FxqweHW6K2PWYzRX2KSQd%2FScreenshot%202026-09-30%20at%2022.48.43.png?alt=media&amp;token=b8fed5d9-9fa9-4ef8-a1d7-0d83343b21b1" alt=""><figcaption></figcaption></figure>

When the front desk books a Reservation that is `Free`, the system does not process any charges and the reservation is confirmed immediately. If the front desk creates a Reservation on behalf of a Customer and it's not `Free`, all charges would go through as expected.

Reservations booked for `Free` are also the pinkish/red color on the Dashboard. This color denotes something in the Dashboard that has been created BY an employee. To learn more, read about [color-coding on the Overview page](https://podplay.gitbook.io/docs/owners-playbook/venue/the-dashboard#color-coding-on-the-overview-page).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fqe93f02Jm5y9pLV7dLEI%2FScreenshot%202026-05-07%20at%2014.51.25.png?alt=media&amp;token=314aa4b6-e3b7-4ae2-b60c-f9e0b4b08cc3" alt=""><figcaption></figcaption></figure>

### Book with Cash (or Check)

{% hint style="info" %}
**If your Club does not accept Cash, skip this section.**
{% endhint %}

The `Cash` option is used for bookings when there is a payment from a Customer that is outside the PodPlay system. While the system will track the revenue of this `Cash`, there is no formalized way for the system to know that `Cash` was handed from a Customer to an employee.

{% hint style="warning" %}
A Customer cannot book a Reservation or join an Event using `Cash` (or Check) unless they are at the Club and assisted by a staff member at the front desk.
{% endhint %}

For a staff member to help a Customer book using `Cash`, they can create a private Reservation for the Customer from the Overview page of the Dashboard:

1. Click, drag, and highlight the Customer's preferred time
2. Search for the Customer's name (unique by email)
3. Click on the blue `Go to checkout` button
4. Select the `Cash` payment method in the pop-up window in the TENDER dropdown
5. Finalize the Reservation booking
6. Collect any Cash from the Customer

{% @supademo/embed url="<https://app.supademo.com/demo/cmuoxguid0sgjqmh1rj5hresi>" demoId="cmuoxguid0sgjqmh1rj5hresi" %}

#### End-of-day Reconciliation

Because all `Cash` payments are tracked by the system, the Club GM should check for any `Cash` payments at the end of the day and count the `Cash` received to ensure all payments were collected.

#### Canceling a Cash Booking

When a booking paid in `Cash` is canceled, the system will prompt staff with a recommendation to refund the Customer in [Credits](https://docs.podplay.app/payments/virtual-credits), rather than handing the money back to the Customer.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FNoMZpdXPtpAAGT9S7YN5%2FScreenshot%202026-09-30%20at%2023.10.45.png?alt=media&amp;token=a2c1ffea-80bb-4ae4-9c4a-8ffe34251005" alt=""><figcaption></figcaption></figure>

Choosing the Credits option is not mandatory, it is only suggested. To learn more, read about [Cancellations](https://docs.podplay.app/payments/what-is-a-cancellation-policy) and [Canceling a Reservation](https://docs.podplay.app/reservations/cancel-a-reservation#cancellations).


# Adjusting Group Size

{% hint style="success" %}
This is the booking flow for the **Per Player pricing model**.
{% endhint %}

### Overview

A few important things to keep in mind for Group size in a Reservation:

***Customers cannot invite more people to a Reservation than the Group size quantity***

* If a Customer booked a private Reservation for 4 people and wants to invite 5 people, that's 6 total people instead of 4. The Customer will NOT be able to invite more people to the Reservation than the Group size is set to.

***Prices per "share" of the Reservation will change based on the Group size***

* If a booking is $40, booked for 4 people, the cost per "share" is $10. If the group size is [chaged by the Customer](https://docs.podplay.app/reservations/customer-books-reservation#edit-reservation-group-size) or by staff in the Dashboard, the cost per "share" is $8. If the group size is changed to 2, the cost per "share" is $20.

***Reservation Holders are on the hook for the cost of each "share"***

* If a booking is $40, booked for 4 people, and only 1 other Customer joins, the Reservation Holder is on the hook for the remaining balance of the booking.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FQJg2An8Xq7UZcYZo5WMR%2FScreenshot%202026-09-30%20at%2022.08.09.png?alt=media&amp;token=19c4840e-812a-4152-a5f1-2d9b31959457" alt=""><figcaption></figcaption></figure>

[***Customers***](https://docs.podplay.app/reservations/customer-books-reservation#edit-reservation-group-size) ***and Admins*** (this article) ***can change the group size***

### Admins Update Player Count

For any Club employee to change the Player count, they can:

1. Click on the Reservation
2. Notice the side panel appear
3. Select the pencil icon next to the player count
4. Choose the new quantity of players in the pop-up window
5. Notice any cost adjustments in the pop-up window
6. Finalize the change by clicking on the `Update reservation` button

At the end of the Reservation, when charges are processes, any new amount changed to the Customers in the Attendee list of the Reservation will be visible in the Purchases tab of the Reservation.

{% @supademo/embed url="<https://app.supademo.com/demo/cmuowcb7r0ra6qmh1f4n332ce>" demoId="cmuowcb7r0ra6qmh1f4n332ce" %}

### Projected Settlement

This section of the Reservation is on the Overview tab and shows Club staff a high-level view of all information as it pertains to the anticipated charges to Customers.

At the top level:

* **Price** — total cost for the booking charged to a card on file minus any discounts
* [**Credits**](https://docs.podplay.app/payments/virtual-credits) — total amount of Credits that will be used to pay for the booking
* **To collect** — total amount that has yet to be collected, with sub-copy showing how much I currently on hold

The table beneath the top level shows

* Customers name
* How much they owe for their "share" of the booking
* How the Customer is paying
* How the Customer will be charged

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F94ss2iwJbw1cxN3aHYDX%2FScreenshot%202026-09-30%20at%2022.31.13.png?alt=media&amp;token=a5f54121-8c7a-4893-9a88-e66080d60df6" alt=""><figcaption></figcaption></figure>

Further details can be expanded by clicking on the `Show breakdown` hyperlink.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FWO1bPvu3tKGmXY2ZLmTz%2FScreenshot%202026-09-30%20at%2022.32.01.png?alt=media&amp;token=cf1105e8-902c-4668-840b-eb54951457c5" alt=""><figcaption></figcaption></figure>

### Revisions

Anytime there is a change to prices or a change to the amount to be charged to Customers, the Revisions section on the Purchases tab will update.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F6UkJGwoLjLNlBNjZx2Dv%2FScreenshot%202026-09-30%20at%2022.32.48.png?alt=media&amp;token=7984bec9-a97c-4f96-a99a-484742c3ba8a" alt=""><figcaption></figcaption></figure>

This is similar to [Activity Logs](https://docs.podplay.app/support-and-troubleshooting/customer-activity-log), except that it's always about money movement. The information here will show how a Customer joined a Reservation (if they were added by staff or joined through an invite link sent by the Reservation Holder) and how much money the Reservation Holder will owe at the end of the booking.


# Admin Edits a Reservation

{% hint style="success" %}
This is the booking flow for the **Per Player pricing model**.
{% endhint %}

### Overview

Club staff can edit a Customer's Reservation in the Dashboard by opening a Reservation and clicking on the `More actions` button. This button is in the bottom left of the side panel.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F1M84NlkKXSiVHTKvorJY%2FScreenshot%202026-09-30%20at%2022.53.26.png?alt=media&amp;token=4bce50fa-0651-46d8-87ab-ca27e6df4b2d" alt=""><figcaption></figcaption></figure>

### Cancellations

When a Reservation is booked, it can be canceled by either the Customer who booked or an Admin in the Dashboard. Any cancellations for a Reservation will be impacted by the environment's [cancellation policy](https://podplay.gitbook.io/docs/cancellations/cancellation-policy).

{% hint style="info" %}
**When a Customer cancels** a Reservation, your App's cancellation policy will apply.

**When an Admin cancels** a Reservation from the Dashboard, the system presumes the Admin knows what is best and no cancellation policy is applied (meaning, it is free of charge).
{% endhint %}

#### Customer Cancels a Reservation

For a Customer to cancel their Reservation, they can:

1. Open the Club's App
2. Navigate to the Reservations/My Bookings tab (could have different names based on Club's configuration)
3. Locate the specific Reservation card
4. Click on the `Cancel reservation` link
5. Notice the pop-up window with any listed cancellation fees
6. Click on the `Yes, cancel` button

If the Customer was invited to the Reservation, they can click on the `Leave booking` link and they are removed from that booking.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F6rze91ZaHRZnwxHrbXjJ%2FScreenshot%202026-09-30%20at%2022.56.56.png?alt=media&amp;token=86a6d303-92f9-41b9-a973-5889f7fc96cc" alt=""><figcaption></figcaption></figure>

For a Customer to cancel their participation in an Event, the same flow applies.

{% hint style="info" %}
When a cancellation fee is charged, it appears as a separate `Cancellation Fee` purchase on the Customer's profile (Purchases tab) — useful when a Customer calls asking about the charge.
{% endhint %}

#### Admin Cancels a Reservation

For a Club employee to cancel a Customer's Reservation, they can:

1. Open the Overview page in the Dashboard
2. Click on the specific Reservation to cancel
3. Press on the `More actions` button in the bottom left of the side panel
4. Click on the `Cancel` option
5. Choose a cancellation `Reason` in the pop-up window
6. Notice any messages provided by the system based on your Club's cancellation policy
7. Click on the `Cancel reservation` button to complete the cancellation

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FzbST3jTVHFyyrdHFW0aW%2FScreenshot%202026-09-30%20at%2023.06.42.png?alt=media&amp;token=04d6f2eb-589b-45f7-8f8f-d7f533d835bc" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**When a Reservation is canceled in the Dashboard, there is NO cancellation fee**. The system presumes the Admin in the Dashboard knows what is best. If a cancellation fee should be applied, the Customer should cancel from the front side of the App.
{% endhint %}

{% hint style="info" %}
For staff **to cancel an Event** from the Dashboard, **the same process applies**.
{% endhint %}

### Rescheduling

Club employees in the Dashboard can move a Reservation (and Events) in two ways:

1. Reschedule to another day or time
2. Move from court to court

{% hint style="danger" %}
Using the Reschedule feature is not a retroactive change, it only moves the booking from one day or time to another day or time. Meaning, if a Reservation is on Off-peak hours and is moved to Peak hours, the price charged to Customers is not updated.
{% endhint %}

Club staff can use the Reschedule feature to update the time or day of a Reservation. To do so:

1. Locate and select the Reservation
2. Click on the three vertical dots in the bottom left corner
3. Choose the `Reschedule` option
4. Select the new date, start time, and end time
5. Click on the Save button in the pop-up window

{% @supademo/embed url="<https://app.supademo.com/demo/cmovy369206a4u7akzkxslmhl>" demoId="cmovy369206a4u7akzkxslmhl" %}

#### Human Error

If a Customer arrives at the Club on a different day than their scheduled Reservation (for example, arrives on Tuesday and has a Reservation for Thursday), staff can decide how to handle the situation.

* **Club is full**: If the Club is fully booked and cannot accommodate the Customer, ask the Customer to return at their scheduled Reservation time
* **Club has availability**: If the Club is not fully booked, staff can update the Reservation from the day it was booked to the current day and time

#### Extend a Reservation

By using the Reschedule feature, staff can also extend a Reservation in length. This is not a retroactive update, meaning the price paid by the Customers will remain the same, and the employee who extended the Reservation should charge the Customers more within the Purchase tab.

{% hint style="warning" %}
**Customers like to game the system**. If a Customer is asking for a Reservation to be Rescheduled to another day, is it an honest mistake or are they asking you to Reschedule the Reservation so they can cancel without a cancellation fee? If the Customer asks to cancel first, then Reschedule when staff says they can cancel from the App, this is a good tell the Customer is seeking a loophole.
{% endhint %}

#### Move a Reservation to another Court

This is a `drag-and-drop` feature in the Overview page. To move from one court to another:

1. Click and hold the specific Reservation (or Event)
2. Drag the Reservation vertically to another court
3. Accept the system query pop-up asking if you want to change the court
4. Verify that the Reservation has changed courts

{% @supademo/embed url="<https://app.supademo.com/demo/cmovyhg5d0720u7akk2th0uhv>" demoId="cmovyhg5d0720u7akk2th0uhv" %}

### Resolve Double-booked Courts

If you move the Reservation onto a court that already has a booking, the system will show an error message indicating further action is required. To resolve the issue:

1. Observe the indicators
   1. System error message at the top of the page
   2. Increased height of the court short name on the left side of the Overview page
   3. Highlighted times that cannot be booked until the error is resolved
2. Select and move one of the two Reservations (or Events) that are overlapping on the same court
3. Confirm the conflict is resolved and the error message disappears

{% @supademo/embed url="<https://app.supademo.com/demo/cmovypo4d07kuu7aksq4sozri>" demoId="cmovypo4d07kuu7aksq4sozri" %}


# Customer Books a Reservation

### Booking a Reservation

For a Customer to book a private Reservation, they can:

* Open up the App
* Navigate to the Book tab in the App
* Choose a preferred day and time for the Reservation
* Review the Order Summary page
* Submit payment to complete the Reservation booking

{% @supademo/embed url="<https://app.supademo.com/demo/cmoujvd7x05o8o2ikcwui0rnu>" demoId="cmoujvd7x05o8o2ikcwui0rnu" %}

Pricing for the private Reservation depends on your Club's settings, including Member vs. Non-member status

<details>

<summary>Can a Customer book multiple Reservations?</summary>

Yes! Customers can book private Reservations at different times and on different days (if your environment configurations allow for it). So a Customer can book a private Reservation from 3 - 5 pm on Saturday, and then book 6 - 7 am on Monday.

</details>

<details>

<summary>Can a Customer book multiple tables/courts concurrently?</summary>

The default settings is to allow a Customer to book one Reservation during the same hour. Meaning, a Customer can book a private Reservation from 3 - 4 pm, and cannot book a second court or table from 3 - 4 pm. The default settings are set up like this so your Club can support a Customer who wants to book two or more courts/tables at a time and can create a [**Private Event**](https://help.podplay.app/en/categories/130881-private-event). Private Events are lucrative opportunities for a Club. Some common Private Events could be a birthday party, corporate buyout, or simply a large group of people.

If you would like to allow Customers to book two courts or tables at a time, an Owner of the Club can turn ON the "Allow concurrent reservations for the same customer" toggle in the Company Settings of the Dashboard. If this is turned ON, Customers booking concurrent Reservations will eat in to Private Events. Once changed, a Customer can book one, two, three, or more courts/tables at the same time.

</details>

### Invite Friends to the Reservation

Once a Customer books a private Reservation, they land on the “You’re booked!” confirmation page. The Customer will have a prompt at the bottom of the screen to “Invite Friends →”

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FNoyMHNvGo0ns6XoBdWUc%2FScreenshot%202026-05-04%20at%2017.04.10.png?alt=media&amp;token=cfda9cc3-b90b-45f0-94a7-e10170981063" alt=""><figcaption></figcaption></figure>

Once the Customer clicks on this button, there are options to invite their friend with:

1. A “Paid invite (they pay)”
   1. By sending this out, the Reservation Holder is saying their friend will pay for their spot
2. A “Free invite (you cover)”
   1. By sending this out, the Reservation Holder is saying their friend can join for free and the Reservation Holder will cover the cost of their spot

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FGfFTZXSYz56kOq0YzyC4%2FScreenshot%202026-05-04%20at%2017.04.21.png?alt=media&amp;token=052d837a-0934-41e0-8222-16e91d065b20" alt=""><figcaption></figcaption></figure>

The Reservation Holder can send out as many invitations to friends as needed, up to the quantity of players selected on the Order Summary page, and the cost of the Reservation will reduce accordingly (# of participants / cost = price per player).

<details>

<summary>Booking a Reservation on the Spot+ Pricing Model</summary>

Depending on the Pricing Model selected for your Club, Customers will either pay for the court/table reservation up front (**Court+**) or they will pay for their spot on the court/table up front (**Spot+**).

In the Court+ pricing model, the Reservation holder will pay for the entire court up front and is on the hook for the court/table cost. The Reservation Holder then is incentivized to send out invites to friends so they can reduce their cost, as sending out an invite where the invitee "pays for their spot" will take away the cost that the Reservation Holder is on the hook for at the end of the booking.

In the Spot+ pricing model, the Reservation holder ONLY PAYS FOR THEIR SPOT and must send out an invite link to their friends, who will then PAY FOR THEIR RESPECTIVE SPOT. The full cost of the Reservation is not covered by the Reservation holder. The invite flow is the same.

</details>

### Accept a Reservation Invite

When the Reservation holder sends out an invite, they can copy the preferred type of invite (Paid invite or Free invite) and send the link to a friend. Any friend who clicks on the invite link will hop in to the App and see the invite.

**If the invite is a Free invite**, the Customer can click on the Accept invite button to join the Reservation.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F7XBykbgF8TA870ChrgSf%2FScreenshot%202026-05-07%20at%2014.32.23.png?alt=media&amp;token=03dcadce-699d-49ef-a688-566e610428f3" alt=""><figcaption></figcaption></figure>

**If the invite is a Paid invite**, the Customer will be prompted to acknowledge there will be a payment.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FogyFl2Naexjf2PG8qHWz%2FScreenshot%202026-05-07%20at%2014.29.46.png?alt=media&amp;token=65b29b48-02c5-4272-9b9d-aa9aa5350817" alt=""><figcaption></figcaption></figure>

### Manage Invitations

The Reservation holder can manage the invites for the Reservation within the Reservations/My Bookings tab of the App. This is the same App tab that has cards for upcoming Reervations and Events.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FD6KPs7Il0hKWgW5OBxqt%2FScreenshot%202026-05-07%20at%2015.43.30.png?alt=media&amp;token=ebb7a859-b3b9-4c29-95dd-4d98d7fd6f28" alt=""><figcaption></figcaption></figure>

Once on this tab, the Reservation holder can click on the `See invites` button and a pop-up appears.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F7mIzf5g4mWdUgJIWdAlW%2FScreenshot%202026-05-07%20at%2015.43.37.png?alt=media&amp;token=f756ad44-5b17-4667-9adb-9d09fc0a2de7" alt=""><figcaption></figcaption></figure>

The Reservation hold can then send out more invitations, or they can click on the `remove` link and delete other Customers from their private Reservation.

{% hint style="info" %}
The price of the invite is subject to change depending on how many people join the Reservation. To learn more, read about **Charging Strategies**.
{% endhint %}


# Access in a different Country

### Overview

When a Club operates in more than one country, each country is a separate Environment. The App shows the locations for one country at a time, so a Customer sees another country's locations only after they select that country on the App's logged-out screen.

The App selects the country automatically from the time zone set on the Customer's phone. A Customer in New Zealand sees New Zealand by default, and a Customer in Australia sees Australia. A Customer who is outside the country they want to book in, or whose phone uses a different time zone, must select the country manually.

### Select a country in the App

The Country selector shows only when the Customer is logged out.

1. Open the App while logged out
2. Tap the Country selector and choose the country where the Club location is
3. Log in to the App. The App saves the selected country
4. Book at the location as usual

<div><figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FXu1he4NTqpN0QC8PCJyz%2Fimage.png?alt=media&amp;token=f980fb98-b2f9-491d-95c8-adb180797a8a" alt=""><figcaption></figcaption></figure> <figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Frq2Osn4VsyyNSBF30C1q%2Fimage.png?alt=media&amp;token=d23e0932-5257-488c-b77a-f11b748b429a" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
**The App remembers the country after login.** The Customer does not need to select it again each time they open the App.
{% endhint %}

### Switch to a different country later

Because the Country selector shows only on the logged-out screen, a Customer who is already logged in must log out to change country.

1. Log out of the App
2. Select the other country in the Country selector
3. Log back in

### Book from the Web App instead

Each country's Environment has its own Web App address, for example `houseofpickle.podplay.app` for Australia and `houseofpicklenz.podplay.app` for New Zealand. A Customer with a browser can book directly at the address for the country they want, without changing anything in the App.

### Verify it worked

After login, the locations for the selected country show in the booking flow. If the Customer still sees the other country's locations, the App is using the wrong country.

### Common issues

* **The location in the other country does not show in the App:** The App is set to a different country. Log out, select the correct country, and log back in.
* **The Customer reaches a message in the booking flow and cannot continue:** This message shows when a Customer tries to book a location in one country from another country's booking flow. Select the correct country on the logged-out screen.
* **The location does not show on an Android phone:** Check the selected country before treating it as an Android problem.


# Admin Creates a Reservation

### Overview

While anyone in the Dashboard can create a Reservation for a Customer, your Club's staff should teach Customers how to book a Reservation. Once a Customer knows how to book a Reservation without assistance, more Customers will create more Reservations, reducing staff tasks, and allowing staff to focus on building community, rather than performing actions on behalf of Customers.

{% hint style="success" %}
Give a man a fish and he will eat for a day. Teach a man to fish and he will eat for a lifetime.
{% endhint %}

### Admin Creates a Reservation

On the Overview page of the Dashboard, employees can create a Customer's private Reservation by:

1. Select the desired day, time, and court
2. Search for the Customer's name (unique by email)
3. Click the `Book` button
4. Ensure the charge type for the Reservation is `Card` (sometimes shown as `Visa` or `Mastercard`)
5. Click the `Book` button in the pop-up window

{% @supademo/embed url="<https://app.supademo.com/demo/cmovv2xln00kvu7ak1wy13d7i>" demoId="cmovv2xln00kvu7ak1wy13d7i" %}

Once the Reservation is booked, it will also be visible to the Customer on their App.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FkNc8uPQydb7fSxjNLlPj%2FScreenshot%202026-05-07%20at%2015.16.29.png?alt=media&amp;token=3f9714b7-199d-4570-8ed3-b0ee5bf3c0d2" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
When the front desk books a Reservation that is free, the system does not process any charges and the reservation is confirmed immediately. If the front desk creates a Reservation on behalf of a Customer and it's not free, all charges would go through as expected.
{% endhint %}

### Add Others to a Reservation

Employees can add Customers to a Reservation by:

1. Opening the specific Reservation
2. Click on the `Add` button
3. Search for the Customer's name (unique by email) in the pop-up window
4. Click the `[+]` button next to their Profile
5. Press the `Add Attendee` button
6. Choose if the invitee is paying for themselves or is covered
7. Confirm by pressing the `Confirm & Add Participant` button in the pop-up window

Steps 4 through 7 can be repeated by staff to add more Customers to the Reservation.

{% @supademo/embed url="<https://app.supademo.com/demo/cmovvckxf00wwu7ak5by4pzbe>" demoId="cmovvckxf00wwu7ak5by4pzbe" %}

The icons under the invitee's names show if the invitees are paying for their spot or if they are covered by the Reservation holder.

* If the Customer is paying for themselves, the icon is <i class="fa-circle-dollar">:circle-dollar:</i>

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FsUSotI9ZKAn1xmJivBzS%2FScreenshot%202026-05-07%20at%2015.33.20.png?alt=media&amp;token=7e1b4e41-0ad4-4d67-997d-84921696803d" alt=""><figcaption></figcaption></figure>

* If the Customer is covered by the Reservation holder, the icon is <i class="fa-square-minus">:square-minus:</i>

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F0RpSaVTdmhJMnQCUdRzh%2FScreenshot%202026-05-07%20at%2015.33.28.png?alt=media&amp;token=4b4f87c9-1873-4de7-9969-0ef87e96521a" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
The price of the invite is subject to change depending on how many people join the Reservation. To learn more, read about **Charging Strategies**.
{% endhint %}

### Remove Invitees from a Reservation

For an Admin to remove anyone from a Reservation (or an Event), they can:

1. Click on the three vertical dots to the left of a Customer's name in the Attendee list
2. Notice the small window appear
3. Select the `Delete` option

This will immediately remove the Customer from the Reservation's Attendee list

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FYva4vTXEAWF5hpJsRsM4%2FScreenshot%202026-05-07%20at%2015.46.37.png?alt=media&amp;token=1d14ab47-8b50-431c-92f8-5ed2651927d5" alt=""><figcaption></figcaption></figure>

### Common Errors

* **Liability Waiver**: If the Customer has not accepted the Club's Liability Waiver, an Admin will not be able to add that Customer to a Reservation (or an Event). An error message will appear and prevent that Customer from being included.
* **No Card on File**: If the Customer does not have a credit card on file, the Customer cannot be added and pay for their portion of the private Reservation.
* **No Phone Number**: If the Customer does not have a phone number on file, the Customer cannot be added to the private Reservation — unless your club has **admin phone-validation skip** enabled for on-behalf staff actions (Front Desk and Admin). Contact your PodPlay CSM if Front Desk needs this capability.
* **Adding the same Customer Twice**: If the Customer is already in the Reservation, they cannot be added twice to the same Reservation (or Event).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FrLcVK4yk7OxHMqdCojgl%2FScreenshot%202026-05-07%20at%2015.38.40.png?alt=media&amp;token=e81ae21c-2efd-4a1a-95fa-f0a667a98646" alt=""><figcaption></figcaption></figure>

### FAQs

<details>

<summary>Can an employee add multiple Customers to a Reservation?</summary>

Yes. Staff can add as many Customer Profiles to a Reservation, one by one, as the player count will allow.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F1pTaOnOj0p4HBvdSdcnH%2FScreenshot%202026-05-07%20at%2015.48.38.png?alt=media&amp;token=d41e5f7e-d187-4829-81db-fa4a9c886648" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Can I receive notifications when a Customer books a Reservation?</summary>

To review booked Reservations, staff can review the Purchase page of the Dashboard and filter the page by `Booking`. This will show anyone interested who is booking a Reservation and how many Reservations have been booked, shown in chronological order.

</details>


# Admin Adjusts Group Size

### Overview

If a Customer booked a private Reservation for 4 people and wants to invite 5 people, that's 6 total people instead of 4, and the cost of the Reservation may change (depending on the up-charge your Club set in the Venue page of the Dashboard). Changing the `Group size` is a useful and easy way to update the cost of the private Reservation. This feature also applies when decreasing the `Group Size` for a booking for 4 people to 2 people.

### Admins Update Player Count

For any Club employee to change the Player count, they can:

1. Click on the Reservation
2. Notice the side panel appear
3. Select the `Group size`
4. Choose the new quantity of players
5. Notice any Reservation cost adjustments in the pop-up window
6. Finalize the change of `Group size`

At the end of the Reservation, when charges are processes, any new amount changed to the Customers in the Attendee list of the Reservation will be visible in the Purchases tab of the Reservation.

{% @supademo/embed url="<https://app.supademo.com/demo/cmovx7mc9042qu7akobfshqu3>" demoId="cmovx7mc9042qu7akobfshqu3" %}

This is the view from the Dashboard.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fng4wILJ4gLuRCio52JOa%2FScreenshot%202026-06-08%20at%2010.47.16.png?alt=media&amp;token=9c5d69ca-94f4-4f85-85d5-0aefb5fd8759" alt=""><figcaption></figcaption></figure>

### Customers Update Player Count

{% hint style="warning" %}
This feature is not yet available.
{% endhint %}


# Book for Free

{% hint style="danger" %}
When a Reservation is booked for `Free`, any **additional Customers added to the Reservation will not be charged** because everything in the Reservation is considered free-of-charge.
{% endhint %}

On the Overview page of the Dashboard, employees can create a Customer's private Reservation for free by:

1. Select the desired day, time, and court
2. Search for the Customer's name (unique by email)
3. Click the `Book` button
4. Update the charge type for `Free`
5. Click the `Book` button in the pop-up window
6. Notice the `Payment Method` is `Free`

When the front desk books a Reservation that is free, the system does not process any charges and the reservation is confirmed immediately. If the front desk creates a Reservation on behalf of a Customer and it's not free, all charges would go through as expected.

{% @supademo/embed url="<https://app.supademo.com/demo/cmovtxx0303styq3kzreahyds>" demoId="cmovtxx0303styq3kzreahyds" %}

Reservations booked for free are also the pinkish/red color on the Dashboard. This color denotes something in the Dashboard that has been created BY an employee. To learn more, read about [color-coding on the Overview page](https://podplay.gitbook.io/docs/owners-playbook/venue/the-dashboard#color-coding-on-the-overview-page).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fqe93f02Jm5y9pLV7dLEI%2FScreenshot%202026-05-07%20at%2014.51.25.png?alt=media&amp;token=314aa4b6-e3b7-4ae2-b60c-f9e0b4b08cc3" alt=""><figcaption></figcaption></figure>


# Book with Cash (or Check)

### Overview

The Cash option is used for bookings when there is a payment from a Customer that is outside the PodPlay system. While the system will track the revenue of this Cash, there is no formalized way for the system to know that Cash was handed from a Customer to an employee.

{% hint style="info" %}
**If your Club does not accept Cash, skip over this article.**
{% endhint %}

### Staff Books for the Customer

{% hint style="warning" %}
A Customer cannot book a Reservation or join an Event using Cash (or Check) unless they are at the Club and assisted by a staff member at the front desk.
{% endhint %}

For a staff member to help a Customer book using Cash, they can create a private Reservation for the Customer from the Overview page of the Dashboard:

1. Click, drag, and highlight the Customer's preferred time
2. Release your mouse
3. Notice the side panel appears
4. Search for the Customer's name (unique by email)
5. Click on the blue `Book` button
6. Select the `Cash` payment method in the pop-up window
7. Finalize the Reservation booking
8. Collect any Cash from the Customer

{% @supademo/embed url="<https://app.supademo.com/demo/cmoukgr9606xzo2ikt51be875>" demoId="cmoukgr9606xzo2ikt51be875" %}

#### End-of-day Reconciliation

Because all Cash payments are tracked by the system, the Club GM should check for any Cash payments at the end of the day and count the Cash received to ensure all payments were collected.


# Cancel a Reservation

### Overview

When a Reservation is booked, it can be canceled by either the Customer who booked or an Admin in the Dashboard. Any cancellations for a Reservation will be impacted by the environment's [cancellation policy](https://podplay.gitbook.io/docs/cancellations/cancellation-policy).

{% hint style="info" %}
**When a Customer cancels** a Reservation, your App's cancellation policy will apply.

**When an Admin cancels** a Reservation from the Dashboard, the system presumes the Admin knows what is best and no cancellation policy is applied (meaning, it is free of charge).
{% endhint %}

### Customer Cancels a Reservation

For a Customer to cancel their Reservation, they can:

1. Open the Club's App
2. Navigate to the Reservations/My Bookings tab (could have different names based on Club's configuration)
3. Locate the specific Reservation card
4. Click on the `Cancel reservation` link
5. Notice the pop-up window with any listed cancellation fees
6. Click on the `Yes, cancel` button

{% @supademo/embed url="<https://app.supademo.com/demo/cmovsxg0l01gayq3kb4tv19j6>" demoId="cmovsxg0l01gayq3kb4tv19j6" %}

For a Customer to cancel their participation in an Event, the same flow applies.

{% hint style="info" %}
When a cancellation fee is charged, it appears as a separate `Cancellation Fee` purchase on the Customer's profile (Purchases tab) — useful when a Customer calls asking about the charge.
{% endhint %}

### Admin Cancels a Reservation

For a Club employee to cancel a Customer's Reservation, they can:

1. Open the Overview page in the Dashboard
2. Click on the specific Reservation to cancel
3. Press on the three vertical dots in the bottom left of the side panel
4. Click on the `Cancel` option
5. Choose a cancellation reason in the pop-up window
6. Click on the `Yes, cancel` button to complete the cancellation

{% hint style="warning" %}
**When a Reservation is canceled in the Dashboard, there is NO cancellation fee**. The system presumes the Admin in the Dashboard knows what is best. If a cancellation fee should be applied, the Customer should cancel from the front side of the App.
{% endhint %}

{% @supademo/embed url="<https://app.supademo.com/demo/cmovt6705026syq3k62k4z1kb>" demoId="cmovt6705026syq3k62k4z1kb" %}

For staff to cancel an Event from the Dashboard, the same flow applies.


# Move a Reservation

### Overview

Club employees in the Dashboard can move a Reservation (and Events) in two ways:

1. Reschedule to another day or time
2. Move from court to court

### Reschedule a Reservation

{% hint style="danger" %}
Using the Reschedule feature is not a retroactive change, it only moves the booking from one day or time to another day or time. Meaning, if a Reservation is on Off-peak hours and is moved to Peak hours, the price charged to Customers is not updated.
{% endhint %}

Club staff can use the Reschedule feature to update the time or day of a Reservation. To do so:

1. Locate and select the Reservation
2. Click on the three vertical dots in the bottom left corner
3. Choose the `Reschedule` option
4. Select the new date, start time, and end time
5. Click on the Save button in the pop-up window

{% @supademo/embed url="<https://app.supademo.com/demo/cmovy369206a4u7akzkxslmhl>" demoId="cmovy369206a4u7akzkxslmhl" %}

#### Human Error

If a Customer arrives at the Club on a different day than their scheduled Reservation (for example, arrives on Tuesday and has a Reservation for Thursday), staff can decide how to handle the situation.

* **Club is full**: If the Club is fully booked and cannot accommodate the Customer, ask the Customer to return at their scheduled Reservation time
* **Club has availability**: If the Club is not fully booked, staff can update the Reservation from the day it was booked to the current day and time

#### Extend a Reservation

By using the Reschedule feature, staff can also extend a Reservation in length. This is not a retroactive update, meaning the price paid by the Customers will remain the same, and the employee who extended the Reservation should charge the Customers more within the Purchase tab.

{% hint style="warning" %}
**Customers like to game the system**. If a Customer is asking for a Reservation to be Rescheduled to another day, is it an honest mistake or are they asking you to Reschedule the Reservation so they can cancel without a cancellation fee? If the Customer asks to cancel first, then Reschedule when staff says they can cancel from the App, this is a good tell the Customer is seeking a loophole.
{% endhint %}

### Move a Reservation to another Court

This is a `drag-and-drop` feature in the Overview page. To move from one court to another:

1. Click and hold the specific Reservation (or Event)
2. Drag the Reservation vertically to another court
3. Accept the system query pop-up asking if you want to change the court
4. Verify that the Reservation has changed courts

{% @supademo/embed url="<https://app.supademo.com/demo/cmovyhg5d0720u7akk2th0uhv>" demoId="cmovyhg5d0720u7akk2th0uhv" %}

### Resolve Double-booked Courts

If you move the Reservation onto a court that already has a booking, the system will show an error message indicating further action is required. To resolve the issue:

1. Observe the indicators
   1. System error message at the top of the page
   2. Increased height of the court short name on the left side of the Overview page
   3. Highlighted times that cannot be booked until the error is resolved
2. Select and move one of the two Reservations (or Events) that are overlapping on the same court
3. Confirm the conflict is resolved and the error message disappears

{% @supademo/embed url="<https://app.supademo.com/demo/cmovypo4d07kuu7aksq4sozri>" demoId="cmovypo4d07kuu7aksq4sozri" %}


# Reservation Rules & Settings

### Overview

Each Club can configure how Customers book Reservations through a set of back-end settings that control booking windows, duration limits, court selection, future-booking caps, and edit cut-off times.

#### Notifications

Staff can track all Customer purchases and Reservations on the Dashboard's Purchase page, which lists every Customer interaction with the App in chronological order.

### Attendee List Icons

The icons under the invitee's names show if the invitees are paying for their spot or if they are covered by the Reservation holder.

* If the Customer is paying for themselves, the icon is <i class="fa-circle-dollar">:circle-dollar:</i>

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FsUSotI9ZKAn1xmJivBzS%2FScreenshot%202026-05-07%20at%2015.33.20.png?alt=media&amp;token=7e1b4e41-0ad4-4d67-997d-84921696803d" alt=""><figcaption></figcaption></figure>

* If the Customer is covered by the Reservation holder, the icon is <i class="fa-square-minus">:square-minus:</i>

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FwFlQ38PhD2EOgVcXg8Jr%2Fimage.png?alt=media&amp;token=1f029a16-291c-41f2-9c52-a9bd078a9f8d" alt=""><figcaption></figcaption></figure>

### Booking Horizon

The Booking Horizon is the number of days in advance from today that a Customer can book a private Reservation. A Booking Horizon of 7 days means a Customer can book a Reservation up to one week from today. The current Booking Horizon is shown at the top of the booking flow. Non-members, Members, and individual Membership tiers can each have their own Booking Horizon.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FEMrFCOl90fL2LHs3rWrz%2FScreenshot%202026-05-07%20at%2018.00.58.png?alt=media&amp;token=e0d85ef5-1fd9-418b-839c-5a435047d8a2" alt=""><figcaption></figcaption></figure>

For example:

* Non-members: 5 days in advance
* Membership A: 7 days in advance
* Membership B: 14 days in advance

{% hint style="info" %}
New Reservation slots open to the Customer at 12 am (midnight) local to the Club.
{% endhint %}

A Member with a 14-day Booking Horizon will see day 14 become available at 12 am. This differs from the Events Booking Horizon, which publishes new days at 12 pm (noon) local to the Club. Customers cannot book past their Booking Horizon. Admins can book private Reservations from the Dashboard as far into the future as needed, regardless of the Customer's Booking Horizon.

### Court Locking

Court Locking lets a Customer pick a specific court during the booking flow instead of letting the PodPlay algorithm assign one.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FLNwuYIa7EIQ6iT19nuF8%2FScreenshot%202026-05-07%20at%2018.02.44.png?alt=media&amp;token=3aa5d505-4381-4690-bb4a-634d36f11d46" alt=""><figcaption></figcaption></figure>

When a court is locked, the algorithm has to work around it when placing other Reservations. Auto-select is the most efficient option because the algorithm can move Reservations as needed to maximize court utilization and minimize court switching.

We track how often Customers want to lock down courts, and on average, 11% of all Reservations used Court Locking. **We recommend charging a fee for Court Locking** to incentivize Customers to use auto-select and preserve optimal court utilization.

Court selection options can also be turned off on the Venue page of the Dashboard by updating a booking Experience from Multi-court to Private. By updating an Experience to Private, the court selection for the Customer during the booking flow is removed.

More information is at the bottom of this article for **Table/Court Locking Icons**.

### Enforce 1-hour Minimum

This restriction requires all Customers (Members and Non-members) to book private Reservations of at least 1 hour. If Show 1-hour Bookings is off, this setting still enforces a 1-hour minimum, and the Customer can extend by 30 minutes for a total of 90 minutes on the Reservation, forcing the first click of the Customer to select two 30-minute slots.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F62vvdL8EphaAOJexttt7%2FScreenshot%202026-05-07%20at%2018.06.03.png?alt=media&amp;token=f2f8eeb6-8fcc-48b9-b6b7-abb0265d9bb3" alt=""><figcaption></figcaption></figure>

### Show 1-hour Bookings

This restriction limits the booking grid to whole-hour slots. Customers will see options at 1:00 pm, 2:00 pm, 3:00 pm, and so on, instead of 1:00, 1:30, 2:00, 2:30, etc.

{% hint style="info" %}
If Show 1-hour Bookings is enabled, Enforce 1-hour Minimum must also be turned on.
{% endhint %}

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F76dCABcEiC1pm681Z9ay%2FScreenshot%202026-05-07%20at%2018.07.53.png?alt=media&amp;token=06ad192f-f801-45cc-9a47-55b326f20b4b" alt=""><figcaption></figcaption></figure>

### Max Hours per Reservation

This setting caps the length of a single Reservation. A value of 2 means each Reservation can be at most 2 hours long.

If the Max Hours per Reservation is set to 1, then each Customer can book Reservations for a maximum length of 1 hour. This does not prevent a Customer from booking two 1-hour Reservations back-to-back. In this example, when the Customer goes to select more than 1 hour for a single Reservation, they will receive an error message.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FvuZ9lrujUUrYf22ORA2o%2FScreenshot%202026-05-07%20at%2018.08.44.png?alt=media&amp;token=1ae6dfa4-f5d9-4af3-80ef-94449aa726d0" alt=""><figcaption></figcaption></figure>

### Max Future Reservations per Customer

This setting limits how many Reservations a Customer can have on the calendar at one time. If set to 5, a Customer can hold 5 future Reservations and cannot book a 6th until one of the existing Reservations has been attended. The limit can be configured per Membership tier. For example, Membership A might allow 4 future Reservations while Membership B allows 8.

### Why These Restrictions Exist

Each of these settings lives in the back-end configuration of the Club's environment, giving every Club room to be creative about how it limits Customer Reservations. The PodPlay team are Club owners ourselves, so we know that some Customers will hog or hoard play time on time-bound inventory. These controls are how Clubs handle that.

### Reservation Edit Cut-off Times

The system enforces cut-off times for when an Admin or Customer can no longer adjust a Reservation. This keeps the record of Customer engagement and bookings accurate. These cut-off times apply to both Reservations and Events.

**Admin Cut-offs**

* **Booking:** Cannot book a Reservation 20 minutes or more past its start time. Booking 19 minutes past the start is allowed. Example: at 8:20 am, an Admin cannot book an 8:00 am start. At 8:19 am, they can.
* **Canceling:** Cannot cancel a Reservation 25 minutes or more after its start. Example: an 8:00–8:30 am Reservation can be canceled at 8:24 am, not at 8:25 am.
* **Rescheduling:** Cannot reschedule a Reservation after it has ended. An 8:00–8:30 am Reservation can be rescheduled at any point before 8:30 am to a later time the same day or another day. At 8:30 am or later, rescheduling is no longer allowed. See the Rescheduling Reservations article for details.

**Customer Cut-offs**

* **Booking:** Cannot book on the Book tab of the App 20 minutes or more past the start time. Booking 19 minutes past the start is allowed. Example: at 8:20 am, a Customer cannot book an 8:00 am start. At 8:19 am, they can.
* **Canceling:** Cannot cancel a Reservation 25 minutes or more after its start. An 8:00–8:30 am Reservation can be canceled at 8:24 am, not at 8:25 am.

**Quick Reference**

* Admins cannot book 20 minutes into the past.
* Admins can reschedule up to 25 minutes into the past.

### Table/Court Locking Icons

A Reservation has a Settings tab in the side panel; within this Settings tab is the Table Assignment. A Table Assignment can have different Status icons, each icon indicates a different situation.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FdLmhc9DWCWIdkZ3fXIEv%2FScreenshot%202026-05-07%20at%2022.05.22.png?alt=media&amp;token=0b8204cd-7d26-40b3-901c-698a3ca8a5f0" alt=""><figcaption></figcaption></figure>

#### Status icons when the Reservation is upcoming

* **Clock icon**: The Customer did not pick a court when booking their Reservation. There is an algorithm running in the background and it will pick the Customer's court 15 minutes before the Reservation begins.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FwEWhFqxOVWyvCXVyP0Cx%2FScreenshot%202026-05-07%20at%2022.06.10.png?alt=media&amp;token=4a8e6c2b-42fd-4df5-a022-ac4b261c1273" alt=""><figcaption></figcaption></figure>

* **Shield + Lock icon**: The Customer picked a court when booking their Reservation (court locked by Customer).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FIGUnQpBGup8sGuPX4KZW%2Fimage.png?alt=media&amp;token=26d6c116-95a9-4433-a812-495c8912d927" alt=""><figcaption></figcaption></figure>

* **Silhouette + Lock icon**: Someone in the Dashboard booked or adjusted the Reservation for the Customer (court assigned/moved by staff in the Dashboard).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F2h4rVFyDIpYGvUnzwa6q%2Fimage.png?alt=media&amp;token=03a8d523-692c-4e48-9c8a-3d91004ff136" alt=""><figcaption></figcaption></figure>

* **Clock icon with Lock**: The algorithm assigns the court 15 minutes before the Reservation and has now locked the court/table down.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FNVzYHzZn6Q1WTz8YVvZX%2Fimage.png?alt=media&amp;token=47420e3d-c658-46b9-b08f-0e47c084fdb3" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Once the Reservation is 15 minutes away, any Reservation that is not yet locked to a specific court will receive a Lock icon next to the Status, signifying the court selection has now been locked in place (including Reservations where the algorithm decided the court).
{% endhint %}

#### Icons that remain the same after the Reservation passes

Courts or tables adjusted by an Admin keep the **Silhouette + Lock icon** both when upcoming and after the Reservation. Courts or tables locked by the Customer (Customer-selected court) keep the **Shield + Lock icon** both when upcoming and after the Reservation.


# Peak vs Reduced vs Off-Peak

### Overview

There are three different Reservation price-types that can be used for private Reservations:

1. **Peak** (no flag)
2. **Reduced** (flag visible)
3. **Off-peak** (flag visible)

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FY16uHcYgDIp4DA39bKHb%2FScreenshot%202026-05-07%20at%2015.54.33.png?alt=media&amp;token=82281105-8af4-43d7-af12-811922ff86b4" alt=""><figcaption></figcaption></figure>

### How Reservation price-types Work

Each of these three options can have unique rates. The unique rates can be set for:

* Non-members
* Members
* And by Membership tier (if desired)

Depending on how pricing is set in your App, this means that:

* Non-member can have a unique rate for Peak times, Reduced times, and Off-peak times
* Members can have a different rate for each of these same times
* And unique pricing can be set by Membership tiers

The hours can also change depending on a Membership tier, so that:

* Non-members have Peak hours from 3 pm to closing on weekdays and all day on weekends
* Membership A has Peak hours from 4 pm to closing on weekdays and from 8 am to 10 pm on Friday and Saturday
* Membership B has Peak hours all day, every day, except for 5 am to 8 am
  * Useful for selling a Membership that drives Customers toward certain hours of the day

Etcetera, for as many unique prices a Club wants to set.


# Holiday Hours and Pricing

{% hint style="info" %}
This feature is in development. Ask the Customer Success team to set holiday rates.
{% endhint %}

### Overview

Changing the booking rate for private Reservations or opening hours for the Club during the holidays is a common practice. Changing these aspects for a specific day in the future are accomplished on the Venue page, within a booking Experience, on the Holidays tab.

To reach this area:

* Click on the gear icon in the left black side panel of the Dashboard
* Select the Venue page
* Open the Region drawer
* Open a Venue drawer
* Select the booking Experience

Once on the Experience page, navigate to the Holidays tab at the top and change the hours of operation and pricing on a particular day.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FI2xIjVJ2csRQ0hrsXr6w%2FScreenshot%202026-05-07%20at%2021.48.37.png?alt=media&amp;token=22e8ea4f-1922-4922-85b1-088ee7d67d3c" alt=""><figcaption></figcaption></figure>

### Holiday Hours

Once a date is selected and added, the schedule for that selected date can be set. The `Opening Hours` are the first selection. If you want to open and close your Club on hours not normall set, you can do so here.

### Pricing Schedule

After the `Opening Hours` are completed, the Owner or GM (anyone with the Owner role) can:

1. Set new Peak, Reduced, or Off-peak hours
2. Choose unique hours Peak, Reduced, and Off-peak hours for Members (not normally leveraged on holidays)
3. Update the pricing during said Peak, Reduced, and Off-peak hours

And the toggle on the bottom will `Respect member discounts`. When enabled, any discount percentage a Membership receives normally will continue to apply on top of the holiday rate. When disabled, all Customers, regardless of Non-member or Member status, pay the full holiday rate selected. Meaning, the Membership overrides are not affected by this setting when it is off.


# Seasonal or Contracted Courts

### Overview

A Seasonal Court or Contracted Court (sometimes called a Timeshare Court) is when a Customer pre-pays for a court on a specific day and time for several weeks or months into the future. Clubs offer these to lock in predictable revenue and let a Customer secure a standing slot that would otherwise be limited by the Booking Horizon.

There are two ways to set this up: an Admin books each week as a standalone Reservation, or an Admin creates a single Event as a Series. The right choice depends on whether the Customer needs to invite different groups of friends to different weeks.

### Admin Books Reservations

An Admin can book as far into the future as needed for a Customer, bypassing the Booking Horizon. Because each booking is a standalone Reservation, the Customer can invite a different group of friends to each one. The Reservation Holder can invite one group to the week 3 Reservation and a different group to the week 4 Reservation.

Use this method when the Customer wants flexibility over who joins each week.

To set it up:

1. Charge the Customer inside their Profile for the total value of the Contracted/Seasonal Courts.
2. Book each Reservation for the Customer using the FREE booking option.
3. Notify the Customer they can invite their friends from inside the App using the `Invite` button.

Once the Reservations are booked, the Reservation Holder invites friends to each one individually through the App.

### Events as a Series

An Admin can book an Event as a Series, creating a single Event with all Sessions connected. The Customer is added to the first Session and populates across every Session in the Series.

The Customer cannot invite different groups of friends to different Sessions. Once a Customer is added to a Series, they populate across all Sessions in it. Everyone who joins the Series appears in every Session.

To set it up:

1. Charge the Customer inside their Profile for the total value of the Contracted/Seasonal Courts.
2. Create an Event as a Series on the preferred day and time.
3. Add Sessions to the Series for as far out as needed.
4. Add the Customer to the Series.
5. Generate a signup link.
6. Send the signup link to the Customer to share with their friends.

Once the Series is booked and the Customer is added as an Attendee, they see every Session in their App. To bring friends, the Customer shares the signup link the Admin provided.

{% hint style="warning" %}
**A Series does not enforce a per-Session player cap.** If the Club allows only 4 players per Session and different groups join the Series, 6 or more people can end up in a Session. The Admin should remind the Reservation Holder to keep each Session within the Club's player limit.
{% endhint %}

### Choosing Between the Two Methods

|                                   | Admin Books Reservations                               | Events as a Series                              |
| --------------------------------- | ------------------------------------------------------ | ----------------------------------------------- |
| Structure                         | Standalone Reservations, one per week                  | One Event with connected Sessions               |
| Invite different friends per week | Yes, each Reservation is invited separately            | No, Attendees populate across all Sessions      |
| How friends are added             | Reservation Holder uses the `Invite` button in the App | Customer shares the Admin-generated signup link |
| Per-Session player cap            | Controlled per Reservation                             | Not enforced, Admin must monitor                |

### Timing of Charge and Discounts

For both methods, charge the Customer inside their Profile for the full value of the Contracted/Seasonal Courts before booking, then use the FREE booking option so they are not charged again.

Whether the Customer receives a discount is entirely the Club's choice. A Club might offer a discount to pull revenue forward into the immediate future. A Club might charge full price because it is already giving the Customer the benefit of bypassing the Booking Horizon to secure a preferred day and time. Either approach is valid.


# Create / Edit an Event

### Overview

Admins create Events from the Admin Dashboard by highlighting a time slot and court, then filling in the Event details and publishing. Events are the things Customers sign up for, and each Event has its own pricing, capacity, and visibility settings that are separate from the pricing used for Court Bookings. This article covers the Event types you can choose from, the steps to create an Event, and every setting available during creation or editing.

For Events that are already created, clicking on the Event to open it and reviewing the Settings tab will allow Club staff to edit the Event.

### Event types

Choose the Event type in the **Reservation Type** section when creating an Event. Each type serves a different programming purpose.

* **Open Play** — Customers sign up, come into the Club, and play alongside other Customers who have also signed up. Anyone with an open spot can join.
* [**Clinic**](https://docs.podplay.app/events/create-an-event/class-clinic) — Education-focused Event led by a Coach. Use this type for lessons, workshops, or skill-building sessions.
* **League** — Customers sign up and compete against each other over a period of time for a championship. Leagues run across multiple dates, but Customers sign up once.
* **Tournament** — Customers sign up and compete for a championship in a single day.
* **Party** — Party is another type of social play type Event.
* **Custom Event type** — Admins can create new Event types from the Company Settings page of the Dashboard. Before creating a custom type, consider its long-term use carefully.

{% hint style="warning" %}
Once a Customer signs up for a custom Event type, that type can **never** be deleted, because it becomes a direct accounting source. Only someone with the Owner role should create a new Event type, and only after the Club has decided how it will be used long-term.
{% endhint %}

* [**Private Event**](https://docs.podplay.app/events/create-an-event/private-events) — A specific type of Event, normally reserved for birthday parties or corporate buyouts; this selection has a unique revenue category when performing revenue reconciliation.

Adding Tags to existing Events is often a better approach than a new type. Tags let Customers filter by activity type using the Quick Filter in the App without requiring a new Event type.

### Create an Event

Admins create Events from the Admin Dashboard by highlighting a time slot and court, then filling in the Event details and publishing.

1. **Highlight the time slot and court.** In the Admin Dashboard, click and drag to highlight the specific time and court or table where the Event will take place.
2. **Create the Event.** Select **Create an Event** from the action menu that appears.
3. **Choose the Event type.** In the **Reservation Type** section, choose the type of Event you want to create.
4. **Fill in the Event details.** Complete the required fields:
   * **Event Name**
   * **Event Price** — set separate rates for Members and Non-members in the Admission Rate section
   * **Event Picture** (recommended size: 1200x630)
5. **Publish the Event.** Change the publishing status from **Draft** to **Published**.
6. **Book.** Click the **Book** button at the bottom to confirm.

Once published, Customers can sign up for the Event. In the Reservations tab of the App, they will see the specific court or table assigned to their Event.

{% hint style="info" %}
Event pricing is separate from the Member vs. Non-member pricing used for Court Bookings. Every Event requires its own pricing.
{% endhint %}

### Add / Delete Courts or Tables

An Admin can add courts to an Event and delete courts from an Event during Event creation by choosing from the available courts/tables at venue.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FMDvs5m5Hv4OkswoB8NwK%2FScreenshot%202026-08-24%20at%2023.13.50.png?alt=media&amp;token=df3f9e06-2b36-4a01-a1ba-962129d0e0ae" alt=""><figcaption></figcaption></figure>

One an Event is created, to add a court means that Event is drawing heavy interest and the Club wants to increase the number of Customers who can attend. Delete a court when an Event draws less interest than expected and the Club wants to open that court for other bookings.

**Add a court**

1. Click on the Event.
2. Navigate to the `Settings` tab.
3. Scroll to the bottom section labeled `TABLES ASSIGNMENT`.
4. Click the `+ Table` button.
5. Select the court name.
6. Confirm the court is added to the Event.

**Delete a court**

1. Click on the Event.
2. Navigate to the `Settings` tab.
3. Scroll to the bottom section labeled `TABLES ASSIGNMENT`.
4. Click the three vertical dots next to the court name.
5. Select `Release table`.
6. Confirm the court is deleted from the Event.

#### Other options on the court menu

The three vertical dots next to a court name also offer two more actions.

* **`Unlock table`:** The court is no longer locked. The PodPlay court assignment algorithm can move the Event to another court if the algorithm finds that valuable. See "Algorithmic Court Assignment" (the fourth subheader in "The PodPlay Advanced, Managing Time-Bound Inventory") and "Table Assignment Status icons".
* **`Move courts`:** The Event moves from one court to another court. This is the same feature as drag-and-drop.

From the same three-dot menu, Admins can also **Unlock table** (which allows the PodPlay algorithm to reassign the court if needed) or **Move** the court (the same as drag-and-drop). See [Algorithmic Court Assignment](https://help.podplay.app/en/articles/733377) and [Table Assignment Status icons](https://help.podplay.app/en/articles/2275969) for more context.

To move an Event to a different court directly on the Dashboard, click and hold the Event block, drag it to an open slot on the target court, then release and confirm in the pop-up by clicking **Move**. To change the time or date of an Event, use the Reschedule feature instead.

### [Event Descriptions](https://docs.podplay.app/events/create-an-event/templates/event-description-examples)

Use the description field to communicate details Customers should know before arriving, such as rules, pricing differences between Members and Non-members, and what to bring. Descriptions support Markdown formatting, including headers, bold, italic, underline, quotes, and alerts.

### Admission Rate

Membership perks are dynamic. Customers who sign up for your Memberships receive perks you choose before the Environment is set up, or as you increase the complexity of your Environment. The pricing of Booking a Court, participating in an Event, and joining a League or Tournament can all be set to different amounts for Members and Non-members.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Ft6trrayYF7O2dnEeXsDk%2Fimage.png?alt=media&amp;token=9baf897f-d7af-4d24-8a4b-96b709e275f5" alt=""><figcaption></figcaption></figure>

For an Event, set the Member and Non-member prices in the **Admission Rate** section during creation. Every Event requires its own pricing, and Customers pay the chosen amount when they join.

For a Reservation, the Member and Non-member pricing is set by the Environment. If your Club wants to change the pricing for a Reservation, contact your PodPlay Customer Success Manager (CSM) for assistance.

### Capacity and admission

Set the total number of Customers who can participate in the **Capacity and Admission** section. Enter the preferred number in **Total Teams** with **Team Size** set to 1. This means each team is one person, so Total Teams equals total participants.

If you enter a value greater than 0 in **Max Guests per Person**, Customers can pay for a Guest's spot during signup. A Customer who brings one Guest occupies two spots toward the total capacity. See our article on Guest Pass for Events for more detail.

### Members-only Events

To restrict an Event to Members only, check the **Members only** box. Non-members will not see or be able to sign up for the Event.

You can set this during Event creation, or apply it to an already-published Event by opening the Event, going to the **Settings** tab, scrolling to **Admission**, checking **Members only**, and saving.

If your Club has multiple Membership types and you want to restrict signup to only specific Memberships rather than all Members, use **Membership Restrictions**:

1. Create an Event.
2. Click on **Membership Restrictions**.
3. Toggle **Members only**.
4. Select the specific Memberships allowed to sign up.
5. Complete the remaining Event details and publish.

The Event will be visible to all Members, but only Customers with the selected Membership types can sign up.

Guests and teammates are the exception. A Customer who is eligible can still pay for a Guest's spot or add a teammate to a team Event, and that person does not need a Membership. Use **Max Guests per Person** set to 0 when an Event should hold only Customers who meet the restriction themselves.

This applies to Customer Tags Restrictions too. From the dashboard, adding an Attendee or adding someone to the Waitlist for a Customer who does not meet a restriction keeps the button disabled and tells you what is missing, naming the Memberships or Tags that would let them in, for example *The Customer needs one of these Tags: VIP*. Where the same Tag name exists at more than one location, the location is shown alongside it, so you know which one to assign. Adding a Guest or a teammate is not checked.

### Customer Tags Restrictions

Customer Tags are labels on a Customer's Profile. Use the **Customer Tags Restrictions** panel when an Event should only be open to a specific group of Customers, such as a junior squad, a league roster, or a corporate partner's staff, rather than to a Membership type.

The panel sits in the **Capacity and Admission** section of the Event drawer, just below **Membership Restrictions**.

1. Create or open an Event.
2. Expand **Customer Tags Restrictions**.
3. Check **Restrict to Tag**.
4. In **Tags allowed**, select one or more Tags. Start typing to search.
5. Complete the remaining Event details and save.

A Customer holding **any one** of the selected Tags can join. They do not need all of them.

The Tag list only offers Tags available at the Event's location, so you cannot restrict an Event to a Tag that Customers there cannot hold.

This restriction works alongside the others rather than replacing them. An Event can require a Membership type **and** a Customer Tag at the same time, and a Customer must satisfy both to sign up. As with Membership Restrictions, Guests and teammates are not checked against the Tag, so set **Max Guests per Person** to 0 when only Customers holding the Tag should be in the Event.

A Customer who does not hold one of the allowed Tags does not see the Event in the App at all, the same way a restricted Membership hides an Event. If they reach it through a direct link, Sign Up and Join Waitlist are unavailable and they are told admission is restricted and to contact support.

The message never names the Tags. Customers cannot give themselves a Tag, so naming it would only invite arguments about how they have been labelled.

{% hint style="warning" %}
**Restrict to Tag** cannot be saved without at least one Tag selected, because an Event restricted to no Tags would admit nobody. If you save with the box checked and the field empty, the Event will not save until you either select a Tag or uncheck the box.
{% endhint %}

Unchecking **Restrict to Tag** clears the Tags it held. If you turn the restriction back on later, select the Tags again.

A Tag that still admits Customers to an Event cannot be deleted. Remove it from the Tag restrictions on those Events first.

Adding, changing, or removing this restriction is recorded in the Event's **Logs** tab, naming the Tags involved. See [Activity Log](https://docs.podplay.app/support-and-troubleshooting/customer-activity-log).

### [Spotlighting an Event](https://docs.podplay.app/events/create-an-event/spotlight-an-event)

Adding the **Featured** tag to an Event makes it appear in the Programs/Community tab of the App. Use this to surface Events you want Customers to discover first.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FDVEtmuTjWxB3czbmJt4W%2Fimage.png?alt=media&amp;token=5a6a079e-60fc-4d4b-adf6-4ca0a4082b66" alt=""><figcaption></figcaption></figure>

### [Team Signup](https://docs.podplay.app/events/create-an-event/team-signup)

The Team Size feature is visible when creating an Event. This aspect of an Event will be editable for every type of Event, excluding Open Plays. Meaning, it is editable for Clinics, Leagues, Tournaments, and Party Event types.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FU8Iobmm8pmzC4FKWgVCd%2Fimage.png?alt=media&amp;token=f5025b37-f789-41c0-a527-e9a50d3c9037" alt=""><figcaption></figcaption></figure>

The Team Size is part of our **Team Sign-ups** feature. It is used when the Club wants to track which Customers are signing up with each other. The Team Size feature is available for Clinics, Leagues, Tournaments, and Party Events, not Open Plays. Use it when the Club wants to track which Customers are signing up together.

When enabled, a Customer can pay for a friend's spot during signup and send an invite after their signup is confirmed. If the friend has a Membership and the Event has a Member discount, they receive that discount automatically.

### Auto-Cancel Events for Low Turnout

Auto-Cancel for Low Turnout cancels an Event automatically when it has fewer than a minimum number of attendees at a set time before the Event starts. This lets a Club avoid running Events that never reached enough signups without an Admin having to watch and cancel them by hand. The cancellation behaves the same as a manual cancellation with the "Low Turnout" reason, and every registered Customer receives a cancellation email.

#### Set Auto-Cancel on an individual Event

1. Open the Event Drawer for the Event and expand the **Cancellations** section.
2. Under **Auto Cancel for Low Turnout**, enter the **Minimum Attendees** required to keep the Event live.
3. Set **Time Before Event To Cancel** — how many hours before the start time the attendee count is checked. If the Event does not meet the Minimum Attendees by that time, it is canceled automatically.

Leave both fields blank to disable Auto-Cancel for that Event.

#### Set Club-wide defaults

Open Play Events can pre-fill Auto-Cancel values so an Admin does not have to set them on every Event.

1. Go to **Company Settings → Booking → Community Events**.
2. Enter a **Default Open Play Minimum Attendees for Auto-Cancel** (accepts 1–10).
3. Choose a **Default Open Play Time Before Event To Auto-Cancel** from the preset options.

Both fields are blank by default. Once set, new Open Play Events pre-fill these values in the Event Drawer's Auto Cancel for Low Turnout section, and you can still adjust or clear them on any individual Event.

#### What happens when an Event auto-cancels

* The Event is canceled with the "Low Turnout" reason, the same as a manual cancellation.
* All registered Customers receive a cancellation email.
* The cancellation record indicates the Event was auto-canceled, so Club staff can tell it apart from a manual cancellation when reviewing Event history.

#### Single Events vs. Event Series

A **Single Event** is held on one specific day and time. This is the default for most Events.

An **Event Series** spans multiple days. Customers sign up for the entire Series at once and are registered for all sessions. For example, an eight-week Clinic Series on Mondays at 5 pm requires one signup that covers all eight sessions. Any Event type can be created as a Series.

### Generate a Signup Link

Inside a Reservation or an Event, the three vertical dots at the bottom left of the side panel open the link options. These links let an Admin invite specific Customers directly instead of waiting for them to find the Event in the App.

Which options appear depends on whether you are in a Reservation, a Draft Event, or a Published Event.

#### From a Reservation

A Reservation offers one option, `Generate guest link (not as participant)`. Any Customer who receives that link can join the Reservation free of charge.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FsiTxdhnNYktleptJKWB9%2FScreenshot%202026-08-24%20at%2023.17.33.png?alt=media&amp;token=b143fb8e-90b4-468f-87a6-60119473a476" alt=""><figcaption></figcaption></figure>

#### From a Draft Event

A Draft Event (Open Play, Clinic, Tournament, League) offers three options.

* **`Generate guest link (not as participant)`:** Customers who receive this link can join the Event and will not count toward the total attendee quantity.
* **`Generate signup link`:** Customers who receive this link can join the Event normally.
* **`Preview draft`:** Lets the Admin view the Event from the public perspective before it is published.

#### From a Published Event

A Published Event (Open Play, Clinic, Tournament, League) offers three options.

* **`Generate guest link (not as participant)`:** Customers who receive this link can join the Event and will not count toward the total attendee quantity.
* **`Generate signup link`:** Customers who receive this link can join the Event normally.
* **`Open in web app`:** Lets the Admin view the Event from the public perspective.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fa2801sPHLCfyWLo1u23F%2FScreenshot%202026-08-24%20at%2023.17.41.png?alt=media&amp;token=b2130a15-6619-4521-97c0-dd6b5b356f91" alt=""><figcaption></figcaption></figure>

Selecting any of these opens a pop-up window. Copy the link from that window and send it to the Customer.

#### Comparing the three link types

| Option                                     | What the Customer gets                                                          | Counts toward participants | Charged admission |
| ------------------------------------------ | ------------------------------------------------------------------------------- | -------------------------- | ----------------- |
| `Generate guest link (not as participant)` | Joins the Event as a Non-participant                                            | No                         | No                |
| `Generate signup link`                     | Opens the Event in their App                                                    | Yes                        | Yes               |
| `Open in web app`                          | Same destination as the signup link, opened as a browser tab you copy and share | Yes                        | Yes               |

{% hint style="info" %}
`Open in web app` produces the same link as `Generate signup link`, with an extra step.
{% endhint %}

### Reschedule an Event

You can move any Event inside the Dashboard.

1. Find the Event you want to reschedule.
2. Click into the Event.
3. Click the three vertical dots at the bottom left of the side panel.
4. Select `Reschedule`.
5. Choose the new time or day for the Event.
6. Click `Save`.
7. Click yes on the confirmation notification.

{% hint style="warning" %}
**PodPlay does not send confirmation emails to Customers who signed up for a rescheduled Event.** To notify them, either cancel the Event and create a new one, or export the Customer list from the Event and send the update yourself.
{% endhint %}

{% hint style="warning" %}
**Moving an Event too far into the future causes the holds on Customer cards to fail.** See the article on [Hold on Cards](https://docs.podplay.app/payments/customer-payments/hold-on-card-process#when-the-hold-is-placed) for the time limits.
{% endhint %}

### Rainout and weather cancellations

When bad weather affects a Club, an Admin can cancel multiple Reservations and Events at once with the Weather Cancellation feature.

1. Click the dark rain cloud labeled `Add a Rainout`.
2. Select the location where the bad weather is incoming or happening.
3. Select the times when the bad weather starts and ends.
4. Review the canceled Reservations and Events.

Every Customer in a canceled Reservation or Event receives an email saying it was canceled because of bad weather.

#### Editing or canceling a Rainout

The top of the Overview page shows the active Rainout. From there you can extend it or cancel it. Canceling the Rainout lets Customers book during the time the Rainout currently blocks. It does not rebook the Events and Reservations that were already canceled.

#### Refunds during a Rainout

When you create the Rainout, if Reservations or Events fall inside the selected window, the feature lists them and asks whether to refund each one. That refund is 100% of the Customer's cost.

To give a partial refund instead, use the Refund feature. See the article [Refunds](https://docs.podplay.app/payments/refunds).

{% hint style="danger" %}
**Be very careful when using the Rainout feature because once a Rainout is committed, it cannot be undone.**
{% endhint %}

### FAQs

<details>

<summary>Can I set an Event to auto-publish in the future?</summary>

Scheduling and the [FOMO feature](https://docs.podplay.app/events/sign-up-for-an-event#fomo-feature) both control when an Event becomes visible or available for signup, and can stagger access between Members and Non-members.

To publish an Event at a future date, or to make it visible to Members before Non-members:

1. Create the Event and fill in all details.
2. Click the **Publishing status** dropdown (currently labeled **Draft**).
3. Select **Schedule**.
4. Choose how many days before the Event it should publish for Members and for Non-members.
5. Verify the publish date shown below.
6. Check **Publish** and click **Save**.

This is useful for building out programming in advance.

{% hint style="warning" %}
If you plan to copy a Scheduled Event, do so before it has published for either group. Copying a partially published Event carries that published state to the copies.
{% endhint %}

</details>

<details>

<summary>Can I review a canceled Event?</summary>

Yes, to review any canceled Event:

1. Go to the `Events` page.
2. Filter for `Canceled Events`, the date range you want, and the type of Event.
3. Find and select the canceled Event.

</details>

<details>

<summary>What if I change the admission price after Customers sign-up?</summary>

The suggested practice of any Event creation is to set the price and leave the pricing alone when set. When an Event is created, if a Customer signs up for an Event, and then an Admin goes back to edit the Event price, the Customer will have committed to the first Event pricing.

</details>

<details>

<summary>Can I limit an Event to only one Membership type?</summary>

If your Club has multiple Memberships, like a Member-only Event, an Admin has the ability to create Events for only some, or one type of Membership. This is an exclusive Members only Event. The Event will be visible for all Members, though only selected Memberships will be able to sign up. To create this Event:

* Create an Event
* Click on Membership Restrictions
* Toggle the box Members only
* Select the Memberships that are allowed to signup for this Event
* Fill out the remaining sections of the Event
* Click Book and Publish

</details>


# Class / Clinic

### Create a Class/Clinic

A Class or Clinic is an Event led by a Coach where Customers learn and improve their skills. Creating one follows the standard Event creation flow with the Reservation Type set to Class and a Coach assigned.

1. **Create an Event** from the Dashboard on the desired time and court
2. **Set the Reservation Type to Class/Clinic** and from the Reservation Type options
3. **Add a Coach** by searching for the Coach who will lead the Class/Clinic
4. **Set the Coach's Rate** when you add them in to the Class/Clinic; the rate auto-populates from the Coach Profile and can be adjusted once entered
5. **Fill Out the Remaining Event Details**
6. **Publish the Event** so Customers can find and book it in the App

Admins will see Classes/Clinics as green in the Overview page of the Dashboard.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FZ1F1ptKYVx0ao1C63laU%2FScreenshot%202026-05-02%20at%2020.44.17.png?alt=media&amp;token=eae91635-dbc3-40fa-978f-061bbc49c5c6" alt=""><figcaption></figcaption></figure>

### Add a Coach to a Clinic

When creating an Event that is not a Clinic, adding the Coach during Event creation is not visible. When creating a Clinic, adding a Coach during Event creation is possible.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FKqc5809qE1tqG0FY7XB9%2FScreenshot%202026-05-02%20at%2020.54.53.png?alt=media&amp;token=22754118-343f-423e-b169-8eb92d6f41cc" alt=""><figcaption></figcaption></figure>

A Coach can be added to a Clinic either while the Clinic is being created or after it's already on the schedule. Multiple Coaches can be added to the same Clinic or any Event.

If adding a Coach during the Clinic type Event creation, select the Coach's name and enter their rate. This rate is paid to the Coach once the Event ends.

If you want to pay a Coach some percentage of the revenue generated from the Clinic, create the Clinic and then add the Coach. When adding a Coach to an Event, once the Event is on the Dashboard, there are two options for how to pay a Coach:

1. Fixed rate
2. Percentage rate

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FHJv1813kqfOu8Pt8C7qB%2FScreenshot%202026-05-02%20at%2020.59.29.png?alt=media&amp;token=bdb7b89e-a3d4-4717-942e-11809d58065b" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Read here to learn more about Coach payouts during an Event.
{% endhint %}

### Customers Sign-up for Classes/Clinics

Published Classes/Clinics appear in the Programs or Events tab of the App (you can change the name in the Company Settings page of the Dashboard). Customers browse, filter, and sign up through the standard Event booking flow.

{% @supademo/embed url="<https://app.supademo.com/demo/cmop1ul4x201ww9do6oqvkl2i>" demoId="cmop1ul4x201ww9do6oqvkl2i" %}

### Turn a Clinic into a Multi-Day Series

When a Class or Clinic spans multiple days, you can create the Clinic as a Series which links all Class sessions together. Customers can sign up once and be registered for every date.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fy7OfatEanrw8keWKrq9q%2FScreenshot%202026-05-02%20at%2020.52.40.png?alt=media&amp;token=a1ab4eb9-8a79-4557-85d6-2e9b883d8d9a" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Read here to learn more about how a Series works.
{% endhint %}


# Private Events

### Overview

A Private Event is booked for a specific group rather than opened to the general public, and is typically arranged by phone or email. Clubs use Private Events for birthday parties, corporate buyouts, and bookings that span multiple courts. Because a Private Event can be booked on a Customer's behalf, it is also how an Admin books beyond a Customer's Booking Horizon.

Two things make Private Events a strong revenue tool. The Club can collect a single payment from the person organizing the Event, the Event Planner, instead of charging each Attendee. Adding a [Replay Package](https://docs.podplay.app/replays/private-event-replay-package) to the Private Event price lets guests capture Quick Replays during the booking in exchange for more revenue.

### Create a Private Event

A Private Event uses the `Party` Event type and defaults to `Unlisted`, so it is not publicly visible in the App. The Visibility can be changed later.

1. In the Admin Dashboard, highlight the time slot and courts for the Event.
2. Select `Create an Event`.
3. Choose `Party` as the Event type.
4. Set the capacity to the number of Attendees you anticipate.
5. Configure the remaining Event details (picture, description, tags, and so on).
6. Leave the Admission Rate at $0 if the Event Planner will be charged separately.
7. Keep the Visibility set to `Unlisted`.
8. Publish the Event.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FJuDOEw8Dqwdpy5JcMf9z%2Fimage.png?alt=media&amp;token=93c34670-7a75-4354-b9e3-7fad8f9b3e79" alt=""><figcaption></figcaption></figure>

### Invite Customers to a Private Event

Private Events are not open for general signup, so Attendees join through a signup link rather than finding the Event in the App.

1. Click into the Private Event.
2. Click the three vertical dots in the bottom left corner of the side panel.
3. Click `Generate signup link`.
4. Copy the link from the pop-up window.
5. Send the link to the Customer hosting the Event, the Event Planner.

The Event Planner can forward the link to everyone else attending. Each Attendee who accepts creates or logs into their Customer Profile and accepts the necessary legal documents. Once a Customer accepts, their name appears in the Attendee list.

{% hint style="info" %}
At Autonomous Clubs, the Host can cross-check which participants have accepted the invitation and which have not, since acceptance is what creates each Attendee's Profile and legal document sign-off.
{% endhint %}

The three different ways to create a signup link are:

1. ` Generate guest link`` `` `*`(as non-participant)`* — Sharing this link with Customers will allow for the Customer to join the Event as a Non-participant; [Non-participants](https://docs.podplay.app/events/sign-up-for-an-event#ways-an-admin-can-add-a-customer-to-an-event) do not count toward the total participant count and are not charged an admission rate
2. `Generate signup link` — Sharing this link with Customers will open the Event in their App
3. `Open in web app` — This opens a new tab in your browser, which can be copied and shared with Customers; it is the same link as the `Generate signup link` with an extra step

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FsXjKRazhYg6Uc6whEabc%2FScreenshot%202026-08-04%20at%2012.40.12.png?alt=media&amp;token=9c1fffea-a0e1-4386-965f-48e2f328abf0" alt=""><figcaption></figcaption></figure>

If you want to make the Private Event public, the `Visibility` can be changed from `Unlisted` to `Listed in app`. This will allow any Customer to sign-up for the Event without using the `Generate signup link` feature.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F7iIyIEHxBBlVVZebHa4V%2FScreenshot%202026-08-04%20at%2012.39.37.png?alt=media&amp;token=31bef0a8-f019-48e7-9f40-2b53f5eecc84" alt=""><figcaption></figcaption></figure>

### Charge the Event Planner

Use this flow when the Club collects a single payment from the Event Planner instead of charging each Attendee. Set the Event's Admission Rate to $0 during creation so no Attendee is billed, then charge the Event Planner directly.

Add the Event Planner to the Event before creating the charge.

* If the Event Planner already has a Profile, add them to the Private Event from the Attendee list.
* If the Event Planner does not have a Profile yet, send them the signup link (three vertical dots in the bottom left of the side panel, then `Generate signup link`).

Once the Event Planner appears in the Attendee list, create the charge.

1. Click the `Purchases` tab of the Event.
2. Click `+ Charge`.
3. Select the Event Planner's name. You may need to refresh the web page for their name to appear.
4. Click `+ Add Item`.
5. Select `Private Event` and enter the price and a description.
6. Click `Add`.
7. Click the blue `Create Charge` button.

If the Event Planner has a credit card on file, they are charged immediately. If not, click [Send Payment Link](https://help.podplay.app/en/articles/2662529) in the bottom left of the pop-up window. This creates a draft charge and prompts the Customer to enter their card to complete the payment.

{% hint style="warning" %}
A draft charge appears in the `Purchases` tab of the Event with a status of `Draft`. The status changes to `Complete` only after the Event Planner finishes the payment.
{% endhint %}

{% embed url="<https://www.loom.com/share/a1542a080f4e4b27a485d200f3803176>" %}

#### Charge multiple items at once

You can bundle several products or services into one charge.

1. Follow steps 1 through 6 above.
2. After clicking `Add`, click `+ Add Item` again.
3. Repeat for each additional item.
4. Click the blue `Create Charge` button once every item is added.

This charges the Customer for all items in one transaction.

{% embed url="<https://www.loom.com/share/33b4b4106d3e469dae50748eaf60c764>" %}

#### [Replay Package](https://docs.podplay.app/replays/private-event-replay-package)

Private Events (birthday parties, corporate events, and bookings spanning multiple courts) are typically arranged by phone or email and not open to the general public for signup. Adding a Replay package to the Private Event price lets the Club generate more revenue in exchange for giving their guests the option to capture Quick Replays during the booking.

### Make a Private Event Public

To open a Private Event to all Customers, change the Visibility from `Unlisted` to `Listed`. You can also add the `Featured` tag to surface it in the Programs/Community tab of the App.


# Spotlight an Event

To place an Event in the Spotlight for Customers, you can add a Featured tag in to any Event. It will place that Event at the top of your Events or Programs tab of the App. This is a great way to focus the attention of more Customers on to that Event. The Spotlight section is located at the top of the Events or Programs tab.

An Admin can add the `Featured` tag when creating an Event or when editing an Event. To do so:

* Create an Event
* Fill in the Event details
* Click on the bar named `Tags` (below the Event's picture, above the Event description)
* Check the box named Featured
* Save and publish the Event

{% @supademo/embed url="<https://app.supademo.com/demo/cmop0ggjh1zw5w9dobf6dqk8v>" demoId="cmop0ggjh1zw5w9dobf6dqk8v" %}

The `Featured` tag is always available to add to an Event inside the Tags dropdown. This is available during Event creation and after an Event is created (open the Event > Settings tab > scroll down to the Tags section > at the top of the list).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F9DpECMejSLTvuwC17eeF%2FScreenshot%202026-09-07%20at%2016.58.23.png?alt=media&amp;token=fd5ac501-93f8-41b4-bdfd-83b7ba073c11" alt=""><figcaption></figcaption></figure>


# Waitlists for Full Events

### Overview

When an Event reaches capacity, the signup option is replaced by a Waitlist option. A Waitlist is a queue of Customers who want to attend an Event that is full. When a spot opens, every Customer on the Waitlist receives an email at the same time, so no one gets preferential treatment based on their position in the queue. The first Customer to act on the email secures the spot.

### How Customers Join the Waitlist

In the App, a full Event shows a Waitlist option in place of the signup option. The Customer taps it to add themselves to the Waitlist.

Any Customer can join the Waitlist. There is no limit tied to position, and joining the Waitlist does not charge the Customer.

### When a Spot Opens

A spot opens when a signed-up Customer cancels their participation. Every Customer on the Waitlist receives an email at the same moment with a link to claim the open spot. The first Customer to claim it gets the spot.

{% hint style="info" %}
Any cancellation charge tied to the Event's Cancellation Policy applies to the Customer who cancels, not to the Customer who claims the open spot. See **Is the Cancellation Policy Different for Events?** for details.
{% endhint %}

#### Staff Moves Customer from Waitlist to Attendee list

If there are Customers on the Waitlist and a spot is open on the Event, Club staff can move a Customer from the Waitlist to the Event Attendee list by clicking on the arrow "<i class="fa-arrow-right">:arrow-right:</i>" button next to the Customer's name inside of the Waitlist.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FjAy95t54cZ7tKQN5hWEA%2FScreenshot%202026-10-15%20at%2010.06.15.png?alt=media&amp;token=7105e950-acba-41fc-a7ea-b286139bfea1" alt=""><figcaption></figcaption></figure>

Once a Customer is moved from the Waitlist to the Attendee list, the Customer's Profile shows in the attendee list.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FSBkk7L1eOLyW5jacfi6J%2FScreenshot%202026-10-16%20at%2016.15.47.png?alt=media&amp;token=23459270-2f39-4f57-8c9a-5581fc86dffb" alt=""><figcaption></figcaption></figure>

### Spots Remaining Display

Whether Customers see how many spots remain depends on the Club's configuration.

#### In the App

When `Show Spots Left` is enabled for an Event, the Event detail page shows how many spots remain, for example "3 spots left". Event cards show a blue `ONLY X SPOTS LEFT` tag when fewer than 10 spots remain. Events with 10 or more spots remaining do not show the blue tag on the card, though the count may still appear on the Event detail page.

#### Turning Off Spot Counts for One Event

1. Open the Event.
2. Go to `Advanced Features`.
3. Toggle off `Show Spots Left`.

{% hint style="info" %}
This per-Event toggle only appears when the area-level `Show Spots Left and Attendees List on Events` setting is on. See **Attendee List and Spots Left Configuration** for the full setup guide.
{% endhint %}

### Managing the Waitlist in the Dashboard

Admins see the Waitlist for an Event in the Overview tab of the Event side panel. Waitlist signups also appear on the All Areas Overview.

#### Remove a Customer from the Waitlist

1. Open the Event in the Dashboard.
2. Scroll to the `Waitlist` section in the `Overview` tab of the side panel.
3. Click the three dots next to the Customer's name.
4. Select `Remove from Waitlist`.

Once removed, the Customer no longer receives notifications if a spot opens.

#### Force-Push a Waitlist Notification

If spots are available but no one on the Waitlist has been notified, for example because spots were added manually, an Admin can trigger the notification email:

1. Open the Event.
2. Increase `Total Teams` by 1 to add one spot to the capacity.
3. Click the blue `Save` button at the bottom right of the side panel.
4. Reopen the Event.
5. Decrease `Total Teams` by 1 to remove the extra spot.
6. Click `Save` again.

Adding the spot triggers the automated Waitlist email to every Customer on the Waitlist. Removing it afterward returns the Event to its intended capacity.

{% hint style="warning" %}
Complete both halves of this process. If the extra spot is left in place, the Event can accept one more signup than intended.
{% endhint %}

### Common Issues

* **Customers on the Waitlist did not get an email when a spot opened:** Spots added manually do not always trigger the automated email. Use the force-push process above.
* **A Customer says they claimed the spot but did not get in:** The spot goes to the first Customer to act on the email. Another Customer claimed it first.
* **A removed Customer expects updates:** Removal from the Waitlist stops all notifications for that Event. The Customer must rejoin the Waitlist in the App.


# No Show Fees

### Overview

When a Customer signs up for an Event and never checks in, that space goes unused: another Customer could have taken it. An admin can charge that Customer a No Show Fee directly from the Event's attendee list. The fee defaults to the Club's configured amount and can be adjusted per Customer before charging.

{% hint style="info" %}
**Best practices for No Show Fees:**

1. Notify your Customers before you begin to charge No Show Fees
2. Charge a higher rate than the admission rate

**Why?**

1. Surprise charges are not a welcomed experience
2. Encourage the behavior of canceling attendence instead than letting the system charge for not showing up
   {% endhint %}

#### Never Charged Automatically

The system will not charge a no-show on its own. An admin always decides who gets charged, because a missed check-in is not always a true no-show, and charging is not always the right call. Reasons a Club may choose to give grace instead of charging:

* Customer loyalty or value: long-term or high-value Customers may get grace as a retention strategy.
* First-time offense: giving a Customer one free pass before enforcing fees.
* Customer goodwill: preserving the relationship over short-term revenue.
* Legitimate emergencies: medical issues, family emergencies, or other extenuating circumstances.
* Service-side fault: no one at the Front Desk, or the Customer walked past the Front Desk without checking in.
* Regulatory restrictions: some jurisdictions limit or prohibit certain fees.
* Check-in edge cases: the Customer moved from an Event to a Reservation or the reverse, came in through a side door, or showed up late, so they read as a no-show without being one.

#### Prerequisites

* A Default No Show Fee set under Company > Overview > Event Signup Settings (defaults to $10).
* The No Show Fee product enabled under Other products.
* The Event has started at least 15 minutes ago.
* At least one eligible no-show on the Event.

#### Set the Default No Show Fee

Go to Company > Overview > Event Signup Settings and set Default No Show Fee. The default value is $10. This amount pre-fills the Charge Amount in the No Show modal for every Event. The No Show Fee is its own product listed under Other, alongside Infraction. To charge tax on it, add NO\_SHOW\_FEE to the Tax JSON.

#### Who is eligible to be charged

A Customer appears in the No Show modal only when all of these are true:

* They have not checked in.
* They have not already paid (cash, card, or credits).
* They are not already covered by an inviter.
* They have a valid payment method on file.
* They are not a Coach or a Guest / Non-Participant.
* They have not already been charged a No Show Fee.

### Steps to Charge

1. **Open the Event's attendee list:** The No Show button sits above the list of attendees. It stays greyed out until 15 minutes after the Event's start time. Hovering over it before then shows a tooltip explaining when it becomes available. It is also greyed out when the Event has no eligible no-shows.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FnwuZ2Y3gSdEDOp43WXPk%2Fimage.png?alt=media&amp;token=36f5e889-a252-4c92-af43-1c4750e2337b" alt=""><figcaption></figcaption></figure>

2. **Click No Show:** A modal opens listing every Customer eligible to be charged a No Show Fee.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FoSWQVnBQxX1SibjPNlVm%2Fimage.png?alt=media&amp;token=56031ded-c51d-46cd-a54c-52dadd9d718e" alt=""><figcaption></figcaption></figure>

3. **Select who to charge:** Check each Customer you want to charge. The Event's non-member price is shown above the Charge Amount as a reference.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F1z5bYeS6TwqPcb4uFZvH%2Fimage.png?alt=media&amp;token=8630dc9c-6df1-41b0-b04b-e156fcf26f1a" alt=""><figcaption></figcaption></figure>

4. **Set the Charge Amount:** The Charge Amount defaults to the Club's Default No Show Fee. Adjust it per charge if needed. Charging is disabled when the amount is $0.00.
5. **Confirm the charge:** Every selected Customer moves to a status of Queued.

#### Verify it worked

Each Customer you charged shows a status of Queued in the modal. Customers who are not eligible never appear in the list.

#### Charging no-shows for Reservations or paid Events

The No Show button covers free Event sign-ups. For a Reservation (court or table) or any other case the button doesn't handle, the Front Desk can charge a no-show manually as part of a Club SOP:

1. Monitor who checks in to the Reservation or Event and note who hasn't.
2. Decide your cutoff for charging. Common choices: 45 minutes after start, one hour after start, or 10 minutes after the Reservation or Event ends.
3. Charge the Customer inside the Reservation or Event. Add a "No Show Fee" item to your catalog so it's quick to apply. See Add to the Product Catalog and Add to Shop from Product Catalog.

#### Common issues

* **No Show button is greyed out:** Either fewer than 15 minutes have passed since the Event start, or the Event has no eligible no-shows. Hover the button to see which applies.
* **A Customer is missing from the modal:** They have checked in, already paid, are covered by an inviter, have no valid payment method, are a Coach or Guest / Non-Participant, or were already charged a No Show Fee.
* **The charge can't be submitted:** The Charge Amount is set to $0.00. Enter an amount greater than zero.

{% hint style="success" %}
**Before you start charging,** if your Club is going to charge No Show Fees, publish the policy where Customers will see it. Adding "No Show Fees" to your marketing website's FAQ page is strongly recommended so the charge is never a surprise.
{% endhint %}


# Early Bird Pricing

### Overview

Early Bird Pricing gives Customers a discounted rate for signing up to an Event early, so a Club can reward and drive early commitment. When it's active, the Event shows a strikethrough on the standard price with the reduced Early Bird price, and the discount is applied automatically at checkout and carried through to Settlements.

A price is only offered as Early Bird when all of the availability conditions are met. Once a Customer signs up, their price is locked at that moment and does not change afterward.

### Setting Up Early Bird Pricing

Early Bird Pricing is configured on the Event's admission rate in the Dashboard. Add the Early Bird section to a rate and set the three fields below.

* **Early Bird Spots** — The number of discounted spots available. When the participant count reaches this threshold, Early Bird Pricing stops being offered to new sign-ups.
* **Early Bird Expires** — How many days before the Event the discount stops being offered. This defaults to 7. With the default, the Early Bird price is available up to and including 7 days before the Event, and disappears once the Event is closer than that.
* **% Discount** — The percentage taken off the standard admission rate to produce the Early Bird price.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FY0E1UpcpzFYLX5Yusa1k%2Fimage.png?alt=media&amp;token=49dac051-7d30-455a-987b-24e9e1edd558" alt=""><figcaption></figcaption></figure>

### When Early Bird Pricing Applies

Early Bird Pricing is offered only when all of these conditions are true at the moment a Customer signs up:

* The current participant count is below the Early Bird Spots threshold.
* The current date is on or before the Early Bird Expires cutoff (the standard cutoff is 7 days before the Event).
* For a series, the first session has not yet started.

If any one of these is not met, the Customer is charged the standard rate.

### How It Appears to Customers

When Early Bird Pricing is available, Customers see it at each stage of sign-up.

* **Events List** — A green Early Bird badge appears on the Event in the Events list.
* **Event Page** — The Event page shows the standard price with a strikethrough alongside the lower Early Bird price.
* **Checkout** — The discount is applied automatically at checkout, where it appears as an Early Bird Discount line item.

### Edge Cases

#### Pricing Is Locked at Sign-up

A Customer's price is set at the moment they sign up and does not change afterward, even if conditions later shift.

For example, a Club offers 5 Early Bird spots. A Customer signs up as participant #6 and pays the standard rate because the threshold has been reached. Two of the earlier participants then cancel, which frees up Early Bird spots again for the next Customers to sign up. The Customer who already paid the standard rate keeps that rate. Locked pricing never goes down after purchase.

#### Guests That Cross the Threshold

When a Customer signs up with guests, each spot is priced individually against the remaining Early Bird spots. If a sign-up crosses the threshold partway through, some spots get the Early Bird price and some do not.

For example, 2 Early Bird spots remain and a Customer signs up with 2 guests (3 people total). The Customer and the first guest receive the Early Bird price. The second guest crosses the threshold and is charged the standard rate.

#### Series Events

For a series, Early Bird Pricing applies only before the first session starts. Once the first session has begun, the Early Bird price is no longer offered, and later joiners pay the standard (or pro-rated) rate.

### Settlements and Reporting

The Early Bird discount flows through to financial reporting. It appears in the Line Items for the sign-up and in the Settlement reports, where it is recorded in the Other Discount column.


# External Event Links

### Overview

A Club might, at times, want Customesr to sign-up for Events outside the system. A Club may run a Tournament on Eventbrite, collect waivers on its own form, or take payment through another registration tool. External Event Links replace the Sign Up button on an Event's public page with a button you name, pointing at a URL you choose. The Event still appears in your listings, and registration happens on the outside site.

{% hint style="info" %}
**This feature must be enabled for your Club.** If you do not see the setting in Company Settings, or the External Link section on an Event, contact Customer Success team.
{% endhint %}

### Turn on External Event Links

1. Open Company Settings.
2. Go to the Booking tab.
3. Find Event Signup Settings.
4. Turn on External Event Links.
5. Save.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fgit-blob-1595e7681e74230fbbd9aef413851b1907e623f0%2Fexternal-event-links-company-settings.png?alt=media" alt="Company Settings Booking tab showing External Event Links enabled under Event Signup Settings"><figcaption></figcaption></figure>

The setting is OFF by default. Once it is on, staff can add an external link when they create an Event.

### Add an External Link to an Event

1. Open the Event in the Dashboard. Create a new Event, or edit an existing one (*External Links cannot be added to an Event if it has any sign-ups*).
2. Expand the External Link section. It sits above Advanced Features and is collapsed by default.
3. Enter a Link Name. This is the button label Customers see, up to 20 characters. Example: `Register on Eventbrite`
4. Enter a Link URL. This is where the button goes. Example: `https://example.com/register`
5. Save the Event.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fgit-blob-cec3f39dd7a0e8bf049afc2e0bea2ae21bd6f544%2Fexternal-event-links-event-drawer.png?alt=media" alt="Manage event drawer with External Link section showing Link Name and Link URL"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Both fields are required together.** Fill in Link Name and Link URL, or leave both empty. A save with only one field filled in is blocked.
{% endhint %}

### What Customers see

On the public Event page:

* The Sign Up button at the top of the page and the Sign Up button at the bottom of the page both become your Link Name.
* Either button opens the Link URL in a new browser tab. In the App the link opens outside the App, in the Customer's native browser.
* The Price and Signups row is removed from the page.
* Signup and payment for that Event happen on the outside site, not in PodPlay. PodPlay records no participants, no roster, and no payment for the Event.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fgit-blob-f6b7c9b8069e695efbaa32cc845faa7845eb2fe4%2Fexternal-event-links-public-event.png?alt=media" alt="Public event page showing the custom external link button instead of Sign Up"><figcaption></figcaption></figure>

### Rules and edge cases

* **Events that already have PodPlay signups** — set or change the external link before any Customer signs up in PodPlay. After an Event has one or more PodPlay signups, the Link Name and Link URL fields are disabled and the Dashboard shows this message:
  * *External Links cannot be added to an Event if it has any sign-ups.*
  * The lock protects Customers who already signed up in PodPlay. Sending them to an outside site would leave their PodPlay signup stranded.
* **Clear a link** — to remove the external button, clear both Link Name and Link URL, then save. The Event must still have no PodPlay signups.
* **Turn the feature off** — if you turn External Event Links off in Company Settings, the custom button is hidden even when a link is still saved on the Event. Normal PodPlay signup returns to the Event page. Turn the setting back on and the saved link appears again. You do not re-enter it.
* **Series Events** — on an Event that belongs to a Series, the External Link fields may be locked when you edit a single occurrence. Set the link when you create the Event. Or update the occurrences with your usual Series save options while the fields are editable.

### Tips

* Write a Link Name that tells Customers they are leaving PodPlay, for example `Register on Eventbrite`.
* Use a full `https://` URL so the button opens reliably.
* Use External Event Links when registration, waivers, or payment must happen on another platform. Use normal PodPlay signup when you want attendees, waitlists, and payments managed in the Dashboard.


# Templates & Repeating Events

### Overview

Admins can save any Event as a reusable Template and use it alongside the Recurring Events feature to programmatically schedule the same Event far into the future. A [demo video](https://www.loom.com/share/107dbae600b84307b178debe370eeede) shows both features working together.

{% embed url="<https://www.loom.com/share/107dbae600b84307b178debe370eeede>" %}

### What are Templates?

Templates save and reuse Event and Series configurations so Admins don't have to manually re-enter the same settings each time. Load a Template when creating an Event and all the details pre-fill automatically. Benefits include:

* Save time by reusing common Event or Series configurations
* Ensure consistency across similar Events at your Club
* Share standardized setups across different locations
* Track version history and roll back to previous configurations if needed

#### Template types

Templates come in two types:

1. **Event Template** — stores configuration for a single Event (Open Play, Clinic, Tournament, etc.), including optional default recurrence settings
2. **Series Template** — stores configuration for a series of recurring Events, including both the series settings and the underlying Event configuration

#### Template statuses

* **Draft** — being worked on, not yet available for use
* **Published** — active and available when creating new Events or Series
* **Archived** — no longer in use but kept for historical reference

Only Templates with Published status appear in the Template selector when creating an Event. Templates scoped to specific locations only appear when creating Events at those locations.

#### Accessing Templates

Navigate to **Templates** from the main menu. You'll see a list of all Templates for your Club, filterable by type, status, name, and location.

### Creating a Template

#### From Scratch

1. Click **+ Template** in the top right corner.
2. Select the template type: **Event Template** or **Series Template**.
3. Enter a **Name** (required) and optional **Description**.
4. Choose which locations this Template applies to:
   * Check **All Locations (Global)** to make it available everywhere.
   * Or click **Restrict to specific locations** to select specific regions, areas, or pods.

**Franchise permissions:**

* Admins with franchise-level permissions (e.g., Pickleball Kingdom) can only see and use Templates saved within their franchise.
* Admins with global permissions can save a Template to all Clubs.
* Global Templates cannot be edited by a franchisee Admin without global privileges.

**Configure Event settings**

* **Reservation Type** — Event type (Open Play, Clinic, Tournament, etc.)
* **Duration** — default duration in minutes
* **Event Name** — default name for Events created from this Template
* **Total Teams** — number of teams/spots available
* **Team Size** — players per team
* **Max Guests** — maximum guests per participant

**Configure Pricing**

* **Admission Rate** — prices for Members and Non-members
* **By Membership** — custom pricing for specific Membership types
* **Signup Opening** — controls when different Customer types can sign up (Members vs. Non-members)

**Configure Restrictions**

* **Membership Restrictions** — limit the Event to members only, or to specific Membership types
* **Customer Tags Restrictions** — limit the Event to Customers holding one of the selected Customer Tags
* **Rating Restrictions** — minimum and maximum rating requirements for participants

**Configure Features**

Toggle on or off for Events created from this Template:

* Waitlist
* Show Spots Left
* Public Attendee List
* Quick Replays
* Custom Replays
* Enhanced Replays
* Submit Match Results

**Configure Publishing settings**

* **Picture** — upload a default image (1200x630 PNG or JPG)
* **Tags** — add Event tags for categorization
* **Public Description** — rich text description Customers will see
* **Visibility** — listed in the App or unlisted

**Configure Recurrence (Event Templates only)**

Set default recurrence patterns:

* **Repeats** — Daily, Weekly, Monthly, Yearly, or Custom
* **Quantity** — number of repetitions
* For Custom recurrence, select specific days of the week

**Configure Series settings (Series Templates only)**

* **Series Description**
* **Signup Limit Offset** — days before the series when signups close
* **Listed** — whether the series appears in public listings
* **Series Pricing** — full series and per-unit rates for Members and Non-members

**Save the Template**

Set status to **Draft** (still in progress) or **Published** (ready for staff), then click **Save**.

#### Copy a Template

Once a Template has been created, you can `Copy` the Template for ease when you want to create a similar Template.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F0sdHheh0BTlMmV5ECXxB%2FScreenshot%202026-10-07%20at%2011.37.40.png?alt=media&amp;token=869fbf46-24e1-41d5-89b3-ec58a9bdd82e" alt=""><figcaption></figcaption></figure>

#### Creating a Template from an existing Event or Series

1. Open the Event or Series you want to use as a Template
2. Select **Save as Template** option from the three vertical dots in the bottom left corner of the side panel
3. Enter a Name and optional Description
4. Click the link in the success notification to edit the Template further

All settings from the source Event or Series are carried over automatically.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FEgJCPn73Uhc6sd8fdjJk%2FScreenshot%202026-10-07%20at%2011.40.46.png?alt=media&amp;token=b4b9ac70-756b-450e-bb46-ae810cbdacf1" alt=""><figcaption></figcaption></figure>

#### Applying a Template when creating an Event

1. Start creating a new Event from the Dashboard.
2. Open the **Load from template...** dropdown and select a Template.
3. All settings from the Template pre-fill automatically.
4. Modify any settings before saving.

> **Important:** The Template dropdown is only available at Event creation. Once an Event has been saved, the dropdown is greyed out and cannot be applied.

Templates are filtered by Event Type and location. For example, an Open Play Event only shows Open Play Templates.

If the courts saved on the Template are unavailable, an error appears. You can continue without courts or coaches applied.

#### Editing a Template

1. Click the Template name to open it.
2. Make your changes.
3. Click **Save**.

Each save automatically creates a new version. Previous versions are preserved in version history.

#### Version history and rollbacks

Open a Template and click **Version History** to see all previous versions, including who made changes and when.

To roll back:

1. Open Version History.
2. Find the version to restore.
3. Click the Rollback icon and confirm.

Rolling back creates a new version with the restored settings. The full version history is preserved.

#### Filtering and searching Templates

Use the filters at the top of the Templates page:

* **Type** — Event or Series
* **Status** — Draft or Published
* **Search** — by name
* **Location** — by region, area, or pod
* **Show Archived** — toggle to include archived Templates

#### Archiving a Template

Open the Template, change the status to **Archived**, and save. Archived Templates:

* Are hidden from the list by default
* Cannot be used when creating new Events
* Can be viewed by enabling **Show Archived**
* Can be restored by changing status back to Draft or Published

### Repeating Events

Repeating or recurring Events lets Admins create an Event on a repeating schedule, similar to a calendar app.

**Conflict handling**

When creating a Recurring Event, the system checks for:

* **Court conflicts** — one or more Events in the recurrence overlap with existing Events using the same courts during the same time range
* **Coach conflicts** — one or more coaches assigned to the Event are unavailable on one or more recurrence dates

If conflicts are found, a list of all conflicting Events and/or coaches is displayed with two options:

* **Ignore conflicts / Apply anyway** — Events are created as scheduled. Conflicts will exist and must be resolved manually from the calendar.
* **Cancel** — No Events are created. Adjust the recurrence or resolve conflicts first.

> **Note:** Series editing (modifying all instances of a recurrence at once) is not yet supported. It will be added in a future release.

#### Using Templates with Recurring Events

The recommended workflow for scheduling the same Event type far into the future:

1. Create an Event with all desired settings and save it as a Template.
2. Start a new Recurring Event and select the Template from the dropdown.
3. Configure the recurrence pattern (frequency, end date).
4. Review any conflicts and choose to apply or cancel.


# Event Description Examples

### Overview

When creating an Event, the Admin writes a public description that Customers see before signing up. An enticing, informative description builds Customer interest and reduces surprises about pricing, format, or skill expectations. The drafts below cover seven common Event types. Copy any of them into the description field and edit pricing, timing, and policy details to match your Club. The drafts cover:

* Open Play: beginner
* Open Play: general
* Open Play: level-based
* Clinic: beginner
* Clinic: drill and play
* Tournament: fixed-partner round robin
* League: weekly evening

### Open Play: beginner

> New to pickleball or still learning the basics? Our Beginner Open Play is the perfect way to gain experience in a fun, no-pressure environment. This session is designed for players who know the basic rules and are still developing their consistency and court awareness.
>
> What to expect:
>
> * Welcoming, supportive atmosphere
> * Casual games with other beginners
> * Basic rules and scoring guidance available
> * Court rotation to ensure everyone plays
> * Maximum 6 players per court
>
> Ideal for players who:
>
> * Are new to pickleball
> * Can maintain basic rallies
> * Are learning to serve consistently
> * Want to practice in a relaxed setting
>
> Cost: Members: $15 Non-members: $20
>
> Cancellation policy: Full refund until 24 hours before the session starts. No-shows or cancellations within 24 hours are subject to a full charge.

### Open Play: general

> Join us for fun and energetic Open Play sessions. Perfect for players looking to enjoy casual games and meet new pickleball friends. Players rotate using a "4 on, 4 off" format, ensuring everyone gets plenty of court time and a chance to play with different partners.
>
> Details:
>
> * 2-hour sessions
> * Maximum 8 players per court
> * All games played to 11, win by 2
> * Players rotate after each game
> * Winners split up and take new partners
>
> Pricing: Members: $15 Non-members: $20
>
> Cancellation policy: Full refund is available 24 hours before the session starts. Cancellations within 24 hours are subject to full charge.
>
> Low enrollment: Sessions requiring minimum participation may be canceled by 8 PM the previous evening. You'll receive an email notification and a full refund if canceled.

### Open Play: level-based

> Looking for level-appropriate matches? Join our 3.0-3.5 Open Play session. This program is designed for players who understand pickleball fundamentals and want to play with others at a similar skill level. Perfect for those who can sustain rallies, know positioning, and are working on developing their strategic game.
>
> Format:
>
> * 2-hour session
> * 6 players maximum per court
> * Rotating partner format
> * Organized rotation system to ensure balanced play
> * Court host available to facilitate matches
>
> Cost: Members: $18 Non-members: $25
>
> Cancellation policy: Full refund for cancellations made 24 hours in advance. Late cancellations or no-shows will be charged full price.
>
> Note: We reserve the right to cancel sessions that don't meet minimum enrollment by 8 PM the day before. You'll receive an email notification and full refund if canceled.

### Clinic: beginner

> Ready to start your pickleball journey? Join our Beginner Clinic, the perfect introduction to the fastest-growing sport in America. Our experienced instructors will guide you through the fundamentals in a fun, structured environment.
>
> What you'll learn:
>
> * Basic rules and scoring
> * Proper grip and stance
> * Essential shots (dinks, serves, returns)
> * Court positioning and strategy
> * Game flow and etiquette
>
> Format:
>
> * 90-minute session
> * Maximum 6 players per court
> * Equipment provided if needed
> * Combination of instruction and guided practice
> * Concludes with supervised gameplay
>
> Perfect for:
>
> * Complete beginners
> * Players with minimal experience
> * Those wanting to build proper fundamentals
> * Anyone looking to learn in a structured setting
>
> Price: Members: $35 Non-members: $45
>
> Note: No prior experience is necessary. Just bring comfortable athletic clothing, court shoes, and a water bottle.
>
> Cancellation policy: Full refund available up to 24 hours before clinic start. Late cancellations are subject to full charge.
>
> Low enrollment: Clinics require a minimum of 3 players to run. You'll be notified by email and receive a full refund if canceled.

### Clinic: drill and play

> Take your game to the next level with our dynamic Drill & Play session. This coach-led program combines focused skill development with supervised gameplay to help you immediately apply what you've learned. Our coaches provide personalized tips while ensuring you get plenty of repetitions to reinforce proper technique.
>
> Session format:
>
> * First 60 minutes: intensive drills and skill development
> * Final 60 minutes: structured gameplay with coach feedback
> * Maximum 6 players per court
> * Professional instruction throughout
>
> Skills covered:
>
> * Shot placement and consistency
> * Strategic positioning
> * Advanced serving techniques
> * Third shot drops
> * Dinking control
> * Game strategy implementation
>
> Perfect for players who:
>
> * Want to improve specific skills
> * Can maintain basic rallies
> * Are looking to develop game strategy
> * Want immediate feedback on technique
> * Enjoy both structured drills and gameplay
>
> Cost: Members: $30 Non-members: $40
>
> What to bring:
>
> * Your paddle
> * Water bottle
> * Court shoes
> * Energy and enthusiasm
>
> Low enrollment: Drill & Play sessions require a minimum of 4 players to run. You'll be notified by email and receive a full refund if canceled.
>
> Cancellation policy: Full refund until 24 hours before the session starts. No-shows or cancellations within 24 hours are subject to a full charge.

### Tournament: fixed-partner round robin

> Join our Spring Fixed Partner Tournament. Grab your favorite partner and compete against other teams in your skill division for prizes and bragging rights.
>
> Tournament format:
>
> * Round-robin format followed by playoff brackets
> * Each team plays all other teams in their group
> * Games to 11 points, win by 2
> * Top teams advance to the championship bracket
> * Consolation matches for remaining teams
>
> Requirements:
>
> * Both players must have DUPR ratings between 3.5-4.0
> * Teams must be registered together
> * Maximum 12 teams total
>
> Prizes: 1st place: $100 facility credit + medals 2nd place: $50 facility credit + medals 3rd place: medals
>
> Entry fee: Members: $45/player Non-members: $60/player
>
> Cancellation policy: Full refund is available up to 72 hours before the tournament. No refunds for later cancellations to ensure proper bracket organization.

### League: weekly evening

> Ready to level up your game? Join our Spring Evening League. This 6-week program combines competitive play with consistent matchups to help you develop your skills and track your progress.
>
> League details:
>
> * 6-week commitment
> * Weekly matches every Wednesday evening
> * 2-hour time slots (6:00-8:00 PM)
> * Players rotate partners each week
> * Minimum 4 matches guaranteed
> * Weekly standings and statistics tracked
> * Final week playoffs and awards
>
> Format:
>
> * Round-robin style matches each week
> * Games to 11 points, win by 2
> * Scores recorded for league standings
> * Players grouped by skill level
> * Flexible scheduling for one bye week per player
>
> Cost: Members: $85 for full session Non-members: $120 for full session (Court fees included)
>
> Registration deadline: February 25th League runs: March 4th through April 8th
>
> Minimum 12 players needed for the league to run. Players will be notified of league status by February 26th.
>
> Special note: Can't make every week? Let us know your conflicts at registration and we'll try to accommodate your schedule with bye weeks.


# Copy Events

{% hint style="info" %}
**If you are seeking to build out programming rapidly**, use the [Templates & Repeating Events feature](/events/templates).

**If you want to copy a single Event**, use the Copy feature below.
{% endhint %}

#### Copy an Event

Copying creates an independent duplicate of an Event on a new date. The two Events are not connected — Customer signups, for example, do not carry over.

To copy an Event:

1. Navigate to the Event in the Dashboard
2. Click into the Event
3. Click the three vertical dots
4. Select **Copy**
5. In the pop-up window, click **+ Event**
6. Choose the future date(s) for the copy (you can also adjust time, court, visibility, and publish status)
7. Click **Add Item** — repeat to add more copies
8. Click **Copy**

Best practices:

* Copy Events before editing them. Copies reflect the Event's state at the moment of copying — changes made after copying only apply to the Event you edited.
* Copy Events that are still in Draft or Scheduled status (not yet published to Members or Non-members). Copying a partially published Event carries that published state to all copies.
* For connected Events where Customers sign up for all sessions at once, use a \[Series] instead.

#### Schedule an Event to auto-publish

Admins can set an Event to publish automatically at a future date, with the option to publish to Members before Non-members.

To schedule an Event:

1. Create the Event and fill in all details
2. Click the **Publishing status** dropdown (labeled **Draft**)
3. Select **Schedule**
4. Enter the number of days before the Event date when it should publish — set separately for Members and Non-members
5. Review the calculated publish date shown below the input
6. Check **Publish** and click **Save**

> **Example:** If an Event is two weeks away and you schedule it to publish 7 days in advance, it will become visible one week from today.

#### Move or reschedule an Event

To change the time or date of an existing Event:

1. Find the Event in the Dashboard
2. Click into the Event
3. Click the three vertical dots in the bottom left of the side panel
4. Select **Reschedule**
5. Choose the new time or date
6. Click **Save**, then confirm

> **Note:** PodPlay does not send automatic notifications to signed-up Customers when an Event is rescheduled. To notify Customers, either cancel the Event and create a new one, or export the Attendee list and contact them directly. See \[Exporting Attendee List].

#### Generate a link for an Event

Admins can generate links to share Events directly with specific Customers, without requiring them to search the App.

From inside any Reservation or Event, click the three vertical dots in the bottom left of the side panel. The available options depend on the Event's status:

**Draft Event:**

* **Generate guest link** (not as participant) — Customer joins but does not count toward attendee quota
* **Generate signup link** — Customer joins normally
* **Preview draft** — lets the Admin view the Event from the Customer's perspective before publishing

**Published Event:**

* **Generate guest link** (not as participant)
* **Generate signup link**
* **Open in web app** — view the live public-facing Event page


# Event Sign-up & Attendees

### Overview

Customers browse all currently active Events in the **Programs/Community** tab of the App. They can filter by Event type using Quick Filters or Advanced Filters, then tap into any Event with open spots to sign up.

If an Event is full, Customers can join the Waitlist instead.

#### When a Customer can sign up

A Customer can sign up for an Event any time there is an open spot and they have visibility of the Event. This includes signing up shortly before the Event starts — as long as a spot is available.

### FOMO feature

The FOMO feature makes Member-only Events visible to Non-members with a countdown showing when they can sign up. Non-members see the Event but cannot join until their signup date arrives, and they also see a prompt to purchase a Membership.

To enable FOMO:

1. Create an Event and complete all required fields.
2. Find the **Signup Opening** section above the Cancellation window.
3. Set separate signup dates for Members and Non-members.
4. To set different dates per Membership type, use the **By membership** override section.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FdeCsz5JBSFrOgo9lDQ88%2Fimage.png?alt=media&amp;token=1280b5e5-8864-4bd3-8530-7d0432deab42" alt=""><figcaption></figcaption></figure>

Once active, Members with access can sign up immediately. Non-members see a countdown timer and a Membership signup prompt.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F8Es2NzeiIUwAiw45M9gz%2Fimage.png?alt=media&amp;token=76aac8aa-0c9a-45fc-9443-c84a57a49362" alt=""><figcaption></figcaption></figure>

If the Event is Members-only, Non-members see only the Membership signup prompt.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FSRsprw0tmXw1aCmnl3sp%2Fimage.png?alt=media&amp;token=50d3d7ee-a55b-4002-b7d0-b01ab4ec6622" alt=""><figcaption></figcaption></figure>

#### Why some Events show spots remaining and others don't

Whether Customers see how many spots remain depends on your Club's area and per-Event settings.

When **Show Spots Left** is enabled:

* Event cards show a blue tag with how many spots remain when fewer than 10 spots are left
* The Event detail page always shows the spot count in the **Sign Ups** section

When **Show Spots Left** is disabled for an Event, Customers do not see a spot count.

### Booking Horizon

The Booking Horizon normally limits how many days out a Customer can book a Reservation. It does not limit Events. When an Event is published as `Listed in app`, every Customer can see it, Member and Non-member alike.

Events publish at 12 pm, noon, local time to the Club's location. If a Member has a 14 day Booking Horizon, they see the 14th day in the future at 12 pm, noon, today. Reservations behave differently. The last day of a Booking Horizon for a Reservation becomes available at 12 am, midnight.

{% hint style="info" %}
Use the Schedule feature to publish an Event without making it immediately visible to Customers. Schedule lets you show the Event to Members before Non-members, or to both at the same time. This is not the same as a Members-only Event. See the article "Can I create a Members-only Event?" for that.
{% endhint %}

To let Customers see an Event but block them from signing up, use the [FOMO feature](https://docs.podplay.app/events/sign-up-for-an-event#fomo-feature).

### Add a Customer to an Event

When adding a Customer from the Dashboard, there are two options:

* **Participant** — The customer is charged the set amount (based upon Member vs. Non-member pricing) for the Event, and the customer is counted toward the total number of participants
* **Non-participant** — The customer is not charged anything for joining the Event, whether they are a Member or Non-member, and the customer is NOT counted toward the total number of participants

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FmbdY5bx5ifkPdwcKAhF8%2FScreenshot%202026-08-04%20at%2012.17.40.png?alt=media&amp;token=38555779-6f2b-4f27-b08e-b35b4cfa297a" alt=""><figcaption></figcaption></figure>

When the **Participant** option is selected, the checkout window appears and provides further options for how to charge the Customer for their admission in the Event.

* **Card** — Depending on the Customer's card on file, this will say Visa, Mastercard, Amex, etc.
* **Cash** — Similar to a [booked Reservation](https://docs.podplay.app/reservations/admin-creates-a-reservation/book-a-reservation-on-behalf-of-a-customer-for-free) in `Cash`, money movement between the Customer and the Club is tracked for record-keeping purposes only; the system cannot verify with money movement outside the system (useful for cash, checks, or outside payments that the Club wants to track)
* [**Card Terminal**](https://docs.podplay.app/payments/credit-card-terminals) — If your Club has a terminal onsite, it can be used to charge the Customer at the front desk
* **Free** — The Customer is not charged anything for their sign-up and they count toward the total participant count

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fx1LE2gvtLXk2q5bEtLME%2FScreenshot%202026-08-04%20at%2012.16.57.png?alt=media&amp;token=fdfafcb2-0c2c-4795-ad50-70be6133f158" alt=""><figcaption></figcaption></figure>

### Guests on an Event

When a Customer signs up and includes a Guest, both spots are deducted from the Event's total capacity. After signing up, the Customer can send an invitation to their Guest through the Reservations tab of the App — the same flow as [inviting friends to a Reservation](https://help.podplay.app/en/articles/831489). Once the Guest accepts, both Profiles appear in the Attendee list.

If a Customer wants to remove their Guest but keep their own spot, they must cancel their full participation and sign up again without a Guest. If an active Cancellation Policy would charge them for canceling, an Admin can help by removing the Customer (which removes the Guest too) and re-adding only the Customer.

### Edit Guests on an Event

Staff in the Dashboard can now edit the guests for a Customer who signs up for an Event. If an Event allows for Guests to be added during booking, staff in the Dashboard can add or change the Guests within the Attendee list, as long as the Event is not sold out. Event Guest Passes and Credits, if available, auto-apply.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F1kbURp40W78XHRbV0wKz%2Fimage.png?alt=media&amp;token=d287afc5-1e71-4ae7-968d-b988f6bccf4a" alt=""><figcaption></figcaption></figure>

### Add a Customer after an Event has ended

If a Customer attended but was never signed up, you can add them retroactively:

1. Click into the Event
2. Scroll to the Attendees section
3. Click **Add Participant**
4. Select **Guest** (no charge, does not count toward quota) — Regular Participant is not available for past Events
5. Search for the Customer's name
6. Click the **+** button next to their name
7. Click the blue **Add Participant** button
8. Click **Save**

To also charge them for attending:

1. Click the **Purchases** tab
2. Click **Charge**
3. Select the Customer's name
4. Click **Add Item** → **Booking**, enter the cost and description
5. Click **Add**, then **Create Charge**

### Payment Issue on Sign-up

If a Customer has signed up for and secured a spot at an Event, they will be marked as a participant for that Event. If there is an issue during sign-up, the Customer will receive an error message about their credit card (cc) and will be asked to update their cc information. Once the Customer has updated their cc information, they can attempt to sign up again and secure their participation in the Event.

If there is an issue after sign-up, an Admin will see a tag labeled Charge Failed in the Event’s Purchase tab.

If an Admin notices this, please note that the Customer is also aware the signup failed, as the Customer is provided an error message in the front of the App.

Normally, a Customer will update their cc on file and try again, so the Purchase tab of the Event will look like a Customer had a Charge Failed, then Confirmed (or Settling in x-time if the Event has yet to finish).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FonxjUkN4xGl1a4SDQ6hw%2Fimage.png?alt=media&amp;token=b2a22fe7-e67f-4a05-8234-4b1d02614857" alt=""><figcaption></figcaption></figure>

If the Customer has a Canceled tag next to their name, the Customer signed up for the Event and then canceled their participation in the Event. That spot be free for another Customer to join the Event.

### Generate a link for an Event

Admins can generate links to share Events directly with specific Customers, without requiring them to search the App. From inside any Reservation or Event, click the three vertical dots in the bottom left of the side panel. The available options depend on the Event's status:

**Draft Event:**

* **Generate guest link** (not as participant) — Customer joins but does not count toward attendee quota
* **Generate signup link** — Customer joins normally
* **Preview draft** — lets the Admin view the Event from the Customer's perspective before publishing

**Published Event:**

* **Generate guest link** (not as participant)
* **Generate signup link**
* **Open in web app** — view the live public-facing Event page

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FTGL1M1UIY47QunaC5eSg%2FScreenshot%202026-09-22%20at%2013.15.14.png?alt=media&amp;token=6db40ddf-fe45-4dbc-981b-a14466f0f3d9" alt=""><figcaption></figcaption></figure>


# Team Signup

### Overview

Customers can sign up for an Event as a team instead of individually. The first Customer to sign up is the team lead and the Reservation Holder. At booking the team lead pays a hold that covers every spot on the team, then invites the remaining teammates with a share link. Each invited teammate either pays their own share (bill split) or joins on an invite the team lead covers. The hold and the final charge adjust as teammates accept, so the team lead only pays for the spots no one else covered.

Watch this demo video below to see the feature in action.

{% embed url="<https://www.loom.com/share/55087c2d5a874e1e94cd62c70f7dfe44>" %}

{% hint style="warning" %}
Bill splitting is not available for international Clubs and at those Clubs where the team lead pays for every spot on the team.
{% endhint %}

### Signing Up as a Team

[The team size is set on the Event by an Admin](https://docs.podplay.app/events/create-an-event#team-signup) (see Setting Up a Team Event).

#### On the Event Page

A team Event shows `Team Sign-Up (N Players)` under the Event details at the top of the page, along with a price-per-player module. The submit button shows the total price for all N players.

#### At Checkout

Checkout shows the price per player and a team of N on the submit button. If the Event requires a team name, the Customer enters one here. The team name is limited to 20 characters.

#### Purchase Confirmation

After purchase, the Customer sees a headline and a call to action to invite their teammate.

### Inviting Teammates

The team lead manages invites from the Reservations tab.

While the number of accepted invites is below the team size, the team lead sees a share link to invite people. Each person who accepts takes one spot. Once the team is full, the link stops accepting new people. If someone tries to accept after the team is full (for example, a third person on a 2-player team), they get an error.

The team lead can remove an accepted invitee to swap someone out. If the Event has a team name, it is shown here and the team lead can edit it.

When sending an invite, the team lead chooses whether that teammate pays their own share (bill split) or joins on an invite the team lead covers.

{% hint style="info" %}
Bill split is only available when the Club has bill splitting enabled. If the Club has bill splitting turned off, invited teammates join on covered invites and the team lead is responsible for the full cost of unfilled and covered spots at settle time.
{% endhint %}

### How Team Charges Work

The team lead's charge is a hold placed at booking that shrinks as paid teammates join. Settle time is the day of the Event, when PodPlay releases the hold and bills the team.

At booking, PodPlay places a hold for the team lead's own rate (Member or Non-member, depending on their Membership) plus the Non-member rate for each of the other spots. For a team of N, that is: own rate + (N − 1) × Non-member rate. A team lead who is a Member gets the Member rate on their own spot from the start.

Every time a teammate accepts a paid (bill split) invite and pays, the hold on the team lead drops by one Non-member rate. What the teammate actually pays depends on their own Membership: a Member pays the Member rate, a Non-member pays the Non-member rate.

The outcomes at settle time:

| Situation                          | What the team lead pays                                                            |
| ---------------------------------- | ---------------------------------------------------------------------------------- |
| All spots filled by paid teammates | Only their own rate (Member or Non-member)                                         |
| Empty spots remain at settle       | Their own rate, plus the Non-member rate for each empty spot                       |
| Covered ("free") invites           | Their own rate, plus the invitee's Member or Non-member rate for each covered spot |

{% hint style="info" %}
When a teammate accepts a covered ("free") invite, the hold on the team lead shrinks by the membership discount if that teammate is a Member (Non-member hold rate minus Member rate). A Non-member covered teammate leaves the Non-member hold unchanged. Empty spots stay at the Non-member rate until settle.
{% endhint %}

#### Passes

A Play Pass can cover the team lead's own spot at signup. A guest pass reduces the hold placed for a teammate's spot. A teammate who pays their own share on a bill split invite can redeem their own Play Pass when they accept the invite.

### Email Reminders

When a team still has open spots, PodPlay emails the team lead to prompt them to invite teammates:

* Two days after signup, if the team still has missing members.
* Seven days after signup, if the team still has missing members and no reminder has been sent in the last 24 hours.
* 24 hours before the Event.

### Setting Up a Team Event

Team signup is configured on the Event in the Dashboard.

#### Total Size

Set `Total Size` greater than 1 to make the Event a team Event. `Total Size` sets both the cap on invites (invites can be accepted up to that number of people) and the number of people the price can be split across.

#### Require Team Name

Check `Require Team Name` to force the team lead to enter a team name at checkout. Leave it unchecked to skip the team name field.

### Managing Team Members

Admins can adjust a team's roster from the Dashboard.

If a Customer is signed up for a team Event and has no partner, an Admin can add another Customer as their teammate. By default the team lead pays for the added teammate. If the added Customer has a payment method on file, the Admin can set that teammate to pay their own share instead.

An Admin can remove a teammate from a team. The team lead cannot be removed. To replace the team lead, cancel the signup.

### Common Issues

* **Invite link returns an error:** The team is already full. The link stops accepting people once accepted invites reach the Event's `Total Size`. Remove an accepted invitee first if the team lead wants to swap someone in.
* **Team lead's charge looks too high at signup:** The amount shown at signup is a hold covering every spot at the Non-member rate, not a charge. See Team Signup Appears to Overcharge the Customer Who Signed Up the Team.
* **No bill split option when sending an invite:** The Club has bill splitting turned off, or the Club is international. Invited teammates join on covered invites instead.
* **Team name field is missing at checkout:** `Require Team Name` is unchecked on the Event.


# Overcharge Confusion

### Overview

When a Customer signs up a team for an Event, the App authorizes a hold on their card for the full team total (their own spot plus every teammate's spot at the Non-member rate). The hold looks like an overcharge on a bank statement, and no money has moved. PodPlay releases the hold and splits out the final charges when it bills the team on the day of the Event.

### Symptoms

* The Customer signs up a team for an Event and sees a total that covers both spots (for example, $35 for an Event priced at $15 Member and $20 Non-member).
* The Customer agrees to the total, then sends an invite to a teammate.
* The invited teammate accepts and sees their own spot rate.
* The Customer believes they are charged the full team total on top of the teammate's separate charge, and reports an overcharge.

### Cause

The Hold for Teammates function places a pending authorization on the team lead's card for the full team total at the Non-member rate. This is a hold, not a charge, and PodPlay captures no funds at signup. The hold exists so that the spot is still paid for if the teammate fails to pay on the day of the Event. The team lead stays on the hook for it.

A Play Pass can cover the team lead's own spot at signup, and a guest pass reduces the teammate hold. A teammate who pays their own share on a bill split invite can redeem their own Play Pass when they accept the invite.

PodPlay releases the hold at charge time, on the day of the Event:

1. PodPlay first attempts to charge the teammate for their own spot.
2. If the teammate's charge succeeds, PodPlay releases the hold on the team lead's card. PodPlay then charges the team lead only their own portion.
3. If the teammate's charge fails, the full team total falls back onto the team lead's card. This is why PodPlay placed the original hold.

### Resolution Steps

1. Open the Event in the Admin Web App and locate the team's order or orders.
2. Confirm the team lead's order shows an authorization hold, not a captured charge, for the full team total at the Non-member rate.
3. Confirm the teammate's order shows their own spot rate as a separate order once they accept the invite.
4. Tell the Customer that the larger amount at signup is a hold, not a charge. PodPlay releases it automatically when it charges the teammate on the day of the Event.

After PodPlay bills the Event, check the order history. Confirm PodPlay charged the team lead only their own portion, and charged the teammate their own spot.

{% hint style="info" %}
A released hold can take several business days to disappear from the Customer's bank or card statement. The delay depends on the card issuer. This is normal and is not a PodPlay-side issue.
{% endhint %}

### If This Doesn't Fix It

* **The teammate never accepted the invite and PodPlay billed the Event.** Expect the full team total on the team lead's card. This is the fallback behavior, not an overcharge.
* **The teammate joined on a covered ("free") invite.** The team lead stays liable for that spot at the invitee's Member or Non-member rate. If the teammate is a Member, the hold shrinks by the membership discount when they accept. See Team Signup.

{% hint style="success" %}
If you want to allow for Customes to sign-up for an Event that is configured for `Team Signup` and pay only their share, ask the PodPlay CS team to turn on this system configuration.

This changes the Team Signup feature from "team" based pricing that can be split to "spot" based pricing where each Customer is still paying for their spot in the Event.
{% endhint %}


# Email Attendees or Waitlist

## Emailing Event Attendees and the Waitlist

### Overview

Admins can send a formatted email, including links and images, to the Customers signed up for an Event or Clinic, or to the Customers on that Event's Waitlist. This is useful for last-minute updates such as schedule changes, location reminders, Promo Codes, or alternative Open Play options.

### Open the Email Composer

#### Email Event Attendees

1. Navigate to the Event you want to message.
2. Open the attendee list (`Manage Customers`).
3. Click the `Email` button.

#### Email the Waitlist

1. Navigate to the Event you want to message.
2. Open the `Waitlist` panel.
3. Click the `Email` button above the Waitlist list.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fp4XxqkATMAVGaks4mDlB%2FScreenshot%202026-08-24%20at%2021.46.56.png?alt=media&amp;token=cc810ecc-deab-4898-9d8a-cee5c4f20517" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
The `Email` button only appears when the Waitlist is not empty. If the button is disabled, none of the Waitlisted Customers have an email address on file.
{% endhint %}

### Choose Who Receives the Email

The composer opens as `Email to Attendees` or `Email to Waitlist`. The `Edit Recipients` panel is selected by default and includes everyone with an email address on file.

1. Click `Edit Recipients` to expand the recipient list.
2. Use `Select all` to include or exclude everyone at once.
3. Check or uncheck individual recipients as needed.

{% hint style="info" %}
Only Customers with an email address can be selected. A Customer with no email on file appears in the list but cannot be selected.
{% endhint %}

### Write the Subject and Message

1. Enter a `Subject`.
2. Write the message under `Body` using the editor tools.

The editor supports bold, italic, and underline text, font size, left/center/right alignment, bulleted and numbered lists, links, and images uploaded as JPG or PNG.

Keep image files small. Large images load slowly in email.

### Send a Copy to the Company Email

If the Club has a company email configured, the composer shows a `BCC company email` checkbox with that address.

* Leave it enabled to send a copy of the email to the company email address.
* Turn it off if no copy is wanted.

### Send the Email

Click `Send`. A confirmation shows how many recipients received the email.

{% hint style="warning" %}
Check the recipient count at the top of the `Edit Recipients` panel before sending to a large group.
{% endhint %}

### Common Issues

* **The Email button is missing or greyed out on the Waitlist:** The Waitlist is empty, or none of the Waitlisted Customers have an email address on file.
* **Fewer recipients received the email than expected:** Skipped recipients are usually missing an email address, or they were unchecked in `Edit Recipients` before sending.
* **A Customer cannot be selected as a recipient:** That Customer's Profile has no email address. Add one to the Profile, then reopen the composer.


# Names on Events

### Overview

By default, Customers signed up for an Event are visible to other Customers in the **Attendees** section at the bottom of the Event page in the App, showing first name and first initial of last name (for example, Jane D.).

Venues can opt in to show full surnames instead (for example, Jane Doe) from the area drawer: **Booking → Events → Show Full Surnames on Event Attendee List**. This toggle is off by default and only affects customers who have opted in to share their name in app preferences.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FHkgNMVHkG9zqw60l39nz%2Fimage.png?alt=media&amp;token=223d6c42-5283-4070-bee9-fe82862735e1" alt=""><figcaption></figcaption></figure>

See [Attendee List and Spots Left Configuration](broken://pages/b3GQXwvbad4gglLui4Br) for the full setup guide, including how **Public Attendee List** works independently from **Show Spots Left**.

#### Customer controls their own visibility

If a Customer does not want their name visible:

1. Open the **Account** tab in the App
2. Tap **Preferences**
3. Open **Social Settings**
4. Turn off name visibility

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FLOdhzWcgTHF9sbIjMHtO%2Fimage.png?alt=media&amp;token=d43b442d-62fb-4dcd-9119-3f76113e7d9f" alt=""><figcaption></figcaption></figure>

When a Customer turns this off, their name is not shown on the Event. The Event still shows how many players are signed up.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fq5S5NHzE8XnEstfrUM60%2Fimage.png?alt=media&amp;token=38bf60ab-0c51-4219-8a2b-9d501da23e1c" alt=""><figcaption></figcaption></figure>

#### Admin controls for a specific Event

To turn off name visibility for an entire Event:

1. Open the Event in the Dashboard
2. Go to **Advanced Features**
3. Toggle off **Public Attendee List**

When disabled, the App shows the total number of players rather than individual names. This does not affect whether Customers see how many spots are left — use the separate **Show Spots Left** toggle for that.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F9pmntBLQPDOV9mtyZO2B%2Fimage.png?alt=media&amp;token=79d4594a-7d69-4658-98ed-41e5db597d72" alt=""><figcaption></figcaption></figure>

**Public Attendee List** is automatically disabled for Kids Only Events.


# Event Sign-up with Terminal

When a walk-in Customer wants to join an Event but doesn't have a card saved on their Profile, you can collect the payment on your club's Credit Card Terminal instead. You add the Customer to the Event from the Dashboard as usual, choose **Card Terminal** as the payment method, and the Customer taps their card or phone on the Terminal. The sign-up is created automatically once the payment goes through.

This pairs well with the walk-in flow described in [Rapidly Assist Walk-ins](/overview/rapidly-assist-walk-ins) — the Customer can sign the waiver, create a Profile, and pay for the Event without ever entering a card in the app. Your club needs a [Credit Card Terminal](/payments/credit-card-terminals) connected to use this feature.

### When the Card Terminal option appears

The **Card Terminal** payment option shows up automatically in the Add Attendee window when the Event supports it. It is hidden when:

* The Event is a **kids Event** or part of a **Series** — use a saved card or cash for these
* The Event charges a hold at sign-up (instead of charging right away) and takes place **more than about 2 days from now** — card holds from the Terminal expire, so the option only appears when the Event is soon enough for the hold to settle
* You are adding a **guest** rather than a Customer with a Profile

### Collect an Event sign-up at the Terminal

* Open the Event in the Dashboard and click **Add Attendee**
* Search for and select the Customer
* Choose any sign-up options as usual (guests, coupon code, passes, credits)
* Select **Card Terminal** as the payment method — the charge preview shows the total the Customer will pay
* Click **Add Attendee**
* In the **Collect at terminal** window, choose the Terminal the Customer is standing next to
  * Only Terminals in the Event's area are available
* Click **Send to terminal**
* Ask the Customer to tap their card or phone on the Terminal

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F0u2LWov6V9o1hS3Ty3Ay%2FScreenshot%202026-08-24%20at%2022.54.32.png?alt=media&amp;token=c623108c-b372-491f-84b5-be824e588674" alt=""><figcaption></figcaption></figure>

The window shows the amount and waits while the Customer taps. Once the payment is collected, the sign-up is created automatically and you'll see **Payment collected and signup created** with a green check mark.

### If the payment doesn't go through

If the card is declined or the tap fails because the Customer didn't hold their card long enough on ther Terminal, the window shows the reason and gives you two choices:

* **Retry** — ask the Customer to tap again, or pick a different Terminal from the dropdown first
* **Cancel** — stop the collection; no sign-up is created and the Customer is not charged

### Closing the window while the Terminal is waiting

If you close the window while the Terminal is still waiting for a tap, you'll be asked whether to:

* **Cancel collection** — the Terminal stops waiting and no sign-up is created
* **Keep waiting** — the collection keeps running in the background; the Customer can still tap and the sign-up will be created when they do

If you try to start a new Terminal collection for the same Customer and Event while one is still running, the Dashboard resumes the existing collection instead of starting a second one.

{% hint style="warning" %}
**PLEASE NOTE:** If the card was already charged by the time you cancel, you'll be asked to confirm a refund — choose **Cancel & refund** to return the money to the Customer's card.
{% endhint %}

### Tips

* Tapping a phone (Apple Pay/Google Pay) works for the payment, but the card cannot be saved to the Customer's Profile — encryption on phone payments prevents it
* If the collection is left unfinished, it expires on its own and any hold on the Customer's card is released
* Coupons, passes, and virtual credits apply exactly as they would for a normal sign-up — the Terminal only collects the remaining balance shown in the charge preview


# Event / Series Non-participants

Spectators are Customers who are in an Event (or Series) and are not part of the Customers playing in the Event. A spectator can be added to any Event by being added to the Attendee List as a Non-participant.

### In an Event

To add a Customer as a Non-participant to an Event:

* Open the Event
* Click the “Add” button in the Attendees section of the Event
* Type in the Customer’s full name
* Select Non-participant at the top
* Check the box to the right of the Customer’s name
* Notice the box turns into a checkmark
* Click the Add button at the bottom

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FfopoNVLAbQzlVxV4qQHv%2Fimage.png?alt=media&amp;token=29bdc98f-b784-46fa-b9d0-fa4943ba4c78" alt=""><figcaption></figcaption></figure>

Now the Customer will show up in the Attendee section as a “… + 1 non-participants” and there will also be an envelope icon below their name. If an Admin hovers of this icon, it will say “Customer was added as non-participant.”

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F8HZIbpR2e5us8cXZlUzR%2Fimage.png?alt=media&amp;token=80555cb3-08ff-40e4-88e8-b21be1fe62ba" alt=""><figcaption></figcaption></figure>

### In a Series

Normally, when Customers sign up for a Series, or when added by an Admin, the Customer will be added to all Event session within a Series. This is not the case with the Non-participant.

When adding a Non-participant to a Series, the Customer added WILL NOT be propagated across all Event sessions in the Series. This means, by adding a Customer as a Non-participant, there’s also a way to add a Customer to a single Event session within a Series.

The process of adding a Non-participant to a Series is to:

* Open the Series
* Click the “Add” button in the Attendees section of the Event
* Type in the Customer’s full name
* Select Non-participant at the top
* Check the box to the right of the Customer’s name
* Notice the box turns into a checkmark
* Click the Add button at the bottom

Now the Customer will be added ONLY to that Event session of the Series.

Adding a Customer as a Non-participant to a Series is also how an Admin can add a Customer and charge them within the Event session of a Series. Meaning, once the Customer has been added to an Event session of a Series, their name will be available to charge in the Purchase tab of the Event.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F5tc6NvMB3u4ybrbSVg0t%2Fimage.png?alt=media&amp;token=62330aba-399f-45f7-9437-9661ecca9e1e" alt=""><figcaption></figcaption></figure>

An Admin can then charge the Customer for a single Event signup for the Series.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FHiX7apKS4tIe0e531LFM%2Fimage.png?alt=media&amp;token=817c5b69-932d-4997-81a9-444285d87a83" alt=""><figcaption></figcaption></figure>


# Create a Series

### Overview

A Series is an Event that spans multiple days. A Customer signs up for every session at once and pays for the whole Series upfront, which is what separates a Series from a copied Event. Copies are independent of each other; the sessions in a Series stay linked.

Use a Series for Leagues, multi-session Clinics, or any programming where you want Customers committed to the full run.

### Create a Series

1. In the Dashboard, highlight the time slot and court for the first session.
2. Create an Event and select the Event type.
3. Click **Create a Series** at the top right of the side panel.
4. Fill in the Event details (name, picture, description, pricing).
5. Click **Book as Draft** or **Book & Publish**.
6. In the new side panel that appears, click **+ Sessions**.
7. Add the remaining sessions to the Series.
8. Click **Save**.

The Series icon (triple square) appears on the Dashboard Overview once the Series is saved.

{% hint style="warning" %}
**Build the full Series before you publish it.** Adding sessions after Customers have signed up can cause unexpected errors.
{% endhint %}

### Edit a Series

Click into any session in the Series to open the Series editor. The following fields are editable:

* Name, picture, and description
* Capacity (Total Teams)
* Courts and tables
* Members-only toggle
* Member and Non-member pricing
* Prorated pricing and the late-join cutoff
* Scheduling and visibility settings

A Series has its own invitation link, so there is no need to share a link for an individual session.

{% hint style="warning" %}
**Editing a published Series that already has signups can disrupt it.** If Customers report confirmations that do not appear on the Dashboard after an edit, tell your PodPlay CSM.
{% endhint %}

### What lives at the Series level

Most attributes belong to the Series and apply to every session in it: name, picture, description, advanced features, Settle Now (Court+), publishing status, Admin notes, capacity, pricing, and the invitation link. Signups are also handled at the Series level.

Coaches are the exception. A Coach is assigned per Event, not per Series.

### Team signup for a Series

A team Series lets Customers sign up as a team (doubles or a squad) instead of individually. It works the same way as team signup on a single Event, with one difference: a teammate who joins is added to the team for **every** session in the Series at once.

#### Set up a team Series

1. Create the first Event in the Series.
2. Open the **Capacity and Admission** section.
3. Set the **Team Size** (players per team, for example 2 for doubles).
4. Set **Total Teams** to the number of teams that can join.
5. Save the Series.

#### How team capacity behaves

* Capacity counts teams, not players. A Total Teams of 8 with a Team Size of 2 means 8 teams, or 16 players.
* Team Size and Total Teams are set at the Series level. Both fields are read-only when you edit a single session, so change them through the Series.
* The team leader signs up and pays for the team's spots upfront, then invites teammates. One invitation covers the whole Series.
* Split payment, where enabled for your Club, lets each teammate pay their own share at the Series rate. The team leader is refunded that share when the teammate accepts.
* If a teammate declines or cancels, the spot is removed from every session and freed for the team.

{% hint style="info" %}
Team signup for a Series must be enabled on your account. Contact your PodPlay CSM if **Team Size** does not appear on a Series.
{% endhint %}

### Schedule a Series to publish to Members before Non-members

The process matches auto-publishing a single Event.

1. Create the first Event in the Series.
2. Click **Create a Series** at the top right of the side panel.
3. Fill in the Event details.
4. Open the **Visibility options** drawer.
5. Select **Scheduled**.
6. Set the number of days in advance for Members and for Non-members separately.
7. Review the publish date shown below each value and confirm it is what you want.
8. Click **Publish** at the bottom left of the side panel.
9. Click **Book and Publish** at the bottom right of the side panel.
10. Add the remaining sessions to the Series.

### Series pricing

#### Series price

The Series price is the total for all sessions combined. To charge $10 per session across a three-session Series, set the Series price to $30. The per-session pricing adjusts automatically, and you do not need to price any other session in the Series.

#### Unit pricing

The unit price is the price of one session in the Series. Set the unit price higher than the Series price divided by the number of sessions, so that Customers have a reason to sign up for the full Series on time.

For example, a four-session Series is priced at $40, or $10 per session. Set the unit price to $12. A Customer who joins after the first session has passed pays $12 for each of the three remaining sessions, or $36 in total.

#### Prorated pricing

Prorated pricing lets a Customer join a Series after it has started at a rate other than the full Series price. Set the prorated per-session rate during the booking flow, before anyone signs up.

For example, a three-session Series is priced at $30 for Members with a prorated rate of $12 per session. A Member who joins after the first session pays $24 for the last two sessions. The same Series priced at $60 for Non-members with a prorated rate of $24 per session costs a Non-member $48 for those two sessions.

You can also set the last day a Customer can sign up. After that date, no new signups are accepted.

### Add a Customer to one session of a Series

Adding a Customer to a Series normally enrolls them in every session. Non-participants are the exception. Adding a Customer as a Non-participant to a single session adds them to that session only.

This is also how to charge a Customer separately for one session.

1. Open the specific session.
2. Click **Add** in the Attendees section.
3. Select **Non-participant**.
4. Find and select the Customer.
5. Click **Add**.

The Customer's name then appears in the **Purchases** tab of that session, where you can charge them individually.

### FAQs

<details>

<summary>Can I add a session to a Series after Customers have signed up?</summary>

Avoid it where possible. Adding sessions after a Series is published can cause unforeseen errors. Build the full Series before publishing, and let Customers sign up from the App or Web App.

</details>

<details>

<summary>Can an Admin add a Customer to a Series manually?</summary>

Yes. First confirm there is space left in the Series. Then add the Customer as a Regular participant from the Dashboard. Front-end signup through the App or Web App is still the preferred path.

</details>

<details>

<summary>Why isn't a manually added Customer showing in every session right away?</summary>

Propagation is a background job. Each time you add or remove an invite on a Series, the system runs that job across every session. It takes a few seconds to finish, and the Customer's name appears once it completes.

</details>

<details>

<summary>A Customer has a confirmation but isn't showing on the Dashboard. What happened?</summary>

This is likely a bug, so report it to the Customer Success team. An edit made to a Series after Customers signed up can also disrupt it. Tell your PodPlay CSM if that is what happened.

</details>


# Series Capacity

### Overview

The **Total Teams** field controls how many signups a Series accepts. What it counts depends on the Series. On a solo Series (Team Size of 1), Total Teams is the number of Customers who can join. On a team Series, it is the number of teams that can join, not the number of players.

An Admin can change this quantity after a Series exists. The new value writes to every remaining session at once.

{% hint style="warning" %}
**Editing capacity after a Series is published is not a best practice.** Set the quantity before Customers sign up where you can.
{% endhint %}

### Change the quantity

1. Find and click the Series you want to edit.
2. On the **Overview** tab, expand the **Capacity and Admission** section.
3. Change the **Total Teams** quantity to the new number of Customers, or on a team Series, the new number of teams.
4. Click **Save** in the corner of the Series side panel.

{% hint style="info" %}
On a team Series, both **Total Teams** and **Team Size** are set at the Series level. Both fields are read-only when you edit a single session. See Team signup for a Series in the Create a Series article.
{% endhint %}

### Which sessions the new quantity reaches

A save writes the new quantity only to sessions that have not happened yet. Cancelled sessions are left alone.

Sessions that already finished keep the capacity they ran with, so the Series holds its historical record. After you save, the drawer reports how many sessions were held back, for example `1 completed session kept its original capacity`.

Because of this, a Series that has already run can legitimately show different Total Teams values across its sessions.

### The lowest quantity you can set

The quantity cannot go below the largest number already signed up among the remaining sessions: Customers on a solo Series, teams on a team Series.

Completed sessions do not hold the quantity up. A Series that filled to 20 in week 1 can still be lowered to 12 for the sessions that are left.

If the value you enter is below that floor, the save is rejected and an error explains why. Raise the quantity, or cancel signups on the remaining sessions first.

### Common issues

* **The save is rejected with a capacity error:** The new quantity is below the number already signed up on one of the remaining sessions. Raise the quantity, or cancel signups on those sessions first.
* **Sessions show different Total Teams values:** Completed and cancelled sessions keep their original capacity. Only future sessions receive the new value.
* **A Customer you added is not in every session yet:** Propagation runs as a background job and takes a few seconds to finish.


# Export Event Data

### Overview

Use this feature to download a summary of your events as a spreadsheet. The export includes attendance counts, fill rates, revenue, coach assignments, cancellation details, and more — making it useful for reporting, payroll, and operational reviews.

### How to Export Events

* Navigate to the **Events** page in the Dashboard
* Apply any filters you want included in the export (locations, tags, status, event types, date range)
* Click the **Export** button in the top right corner of the page
* The **Export Events** modal will open
* Choose a date range:
  * **Current month** – from the start of this month through today
  * **Previous month** – the full calendar month prior to today
  * **Custom** – pick any start and end date (up to a two-month span)
* Review the **Page filters** summary at the bottom of the modal — this confirms which active filters will be applied to your export
* Click **Export**

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Ffy9lFVq7UY1OzBasgfZk%2FScreenshot%202026-08-24%20at%2023.04.03.png?alt=media&amp;token=370e0893-21cf-4a2f-8dfb-c870602d7da2" alt=""><figcaption></figcaption></figure>

A download will begin automatically. The file will be named `Events_YYYY-MM-DD.csv`.

### What's Included in the Export

Each row in the CSV represents one event and includes:

* Event name and type
* Start and end times, day of the week (in the event location timezone)
* Location(s) and court names
* Status (Published, Draft, Cancelled) and cancellation reason
* Capacity, total attendees, member attendees, non-member attendees, and member percentage
* Fill rate
* Waitlist count
* Assigned coaches
* Member rate and non-member rate
* Total revenue

### Tips

* The export respects all active filters on the Events page — search terms, locations, tags, status, and event types are all carried over.
* If your date range exceeds two months, the Export button will be disabled. Shorten the range to proceed.
* If your account is scoped to specific locations, the export will automatically include only events from the locations you manage.

{% hint style="info" %}
This feature is available to Club Owners, Owners, and PodPlay Admins only.
{% endhint %}

### Export the Attendee List

To download a CSV of all Customers in a Reservation or Event:

1. Open the Reservation or Event
2. Scroll to the Attendee list in the side panel
3. Click the **Export** button next to the **Add** button

The CSV includes:

* Full name
* Email address
* Phone number
* Invitation type (self-signup, guest of another Customer, or Waitlist)
* Invitation status (Accepted, Checked in, or Waitlist)
* Waitlist enrollment time (ordered by signup time)


# Event Payments

### Overview

Every Event has its own pricing, set separately from the Member and Non-member pricing used for Reservations. Pricing is configured in the `Admission Rate` section during Event creation. Customers are not charged at signup — PodPlay places a hold on the Customer's credit card to verify funds, and the charge settles after the Event ends.

### Set Event pricing

1. Create an Event and choose the Event type.
2. In the `Admission Rate` section, enter the price for Members and the price for Non-members.
3. Complete the remaining Event details and publish.

Once pricing is set, a Customer pays the configured amount when they sign up, based on their Non-member status or Membership tier.

### When Customers are charged

The default charge time is 45 minutes after the Event ends. At signup, PodPlay places a hold on the Customer's credit card that verifies sufficient funds on the Profile's card. The hold appears in the Customer's Purchase History in the App and on their card statement, and the Dashboard shows a `Settling in X days` status on the purchase.

A Customer who signs up today for a Tournament two weeks out sees the purchase in their Purchase History immediately. The card is not charged until the day of the Tournament, 45 minutes after it ends.

{% hint style="info" %}
**A visible hold is not a completed charge.** Customers often call about the pending amount on their statement. The money moves only after the Event ends.
{% endhint %}

#### Series

A Customer who signs up for a Series is charged for the whole Series after the first session ends. The hold is placed the day before the Series starts.

For example, a Customer signs up on Monday for a Series that starts on Saturday. The hold is placed on Friday. The charge processes on Saturday, after the first session ends.

### Cancellations and refunds

Because the charge does not process until after the Event ends, canceling beforehand does not require a refund — there is nothing yet to refund. The hold is released when the Customer cancels. The same applies when an Admin removes a Customer from an Event.

Until the Event ends and the charge settles, the purchase shows `Settling in X days` on the Event's Purchases tab and on the Customer's Profile in the Dashboard.

{% hint style="warning" %}
**A canceled signup can still incur a Cancellation Policy fee.** Whether a fee applies depends on how the Event is configured. See Is the Cancellation Policy Different for Events?
{% endhint %}

### Payment issues at signup

Every Customer needs a phone number and full credit card details on their Profile before signing up for any Event or booking any Reservation. PodPlay requires the full 16-digit card number, the expiration date, the security code, and the zip code. Missing or incorrect information produces an error and blocks the signup. The Customer is prompted to enter the correct information before the signup completes.

Once a Customer signs up successfully, an Admin sees their details in the Admin Dashboard by clicking into the Event.

#### Less than 6 days before the Event

The card is authorized at signup. If the authorization fails, the Customer sees an error immediately and cannot secure a spot until they update the card and sign up again.

#### More than 6 days before the Event

The hold is placed 24 hours before the Event rather than at signup. If the hold fails at that point:

* The Customer receives an email asking them to update the card.
* The Admin sees a flag in the Attendee list.
* The Admin may need to charge the Customer manually through the Dashboard. See Situations when an Admin needs to charge a Customer.

### Charge Failed and Canceled tags in the Purchases tab

A `Charge Failed` tag on the Event's Purchases tab means the Customer secured a spot and the payment then failed. The Customer already knows — the App shows them an error and notifies them to update the card. In most cases the Customer updates the card and retries, so the Purchases tab shows `Charge Failed` followed by `Confirmed`, or `Settling in X days` if the Event has not happened yet.

A `Canceled` tag means the Customer signed up and then canceled. That spot is open for another Customer.

### Charging for a Private Event

For a Private Event, an Admin normally charges the Event Planner a lump sum instead of charging each attendee. See Private Events → Charge an Event Planner for the full workflow.

### Series pricing

See Series → [Series pricing](https://docs.podplay.app/events/event-series#series-pricing) for how to price a Series, set unit pricing, and configure prorated costs for late joiners.


# Operation Blocks

Operation blocks are a unique way for you to block off a court/table to stop Customers from reserving. Operations are used as a means to perform maintenance, either on the court/table or because of something around the court/table. To block off a court/table, or multiple courts/tables:

* Create an Event like you would in an other situation
* Choose Internal, and then `Operations > Internal`
* Select the courts/tables you want to block off
* Write any internal notes on the reason why the court/table is blocked off
* Book the Operation Event

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Ff3tgO42kq7uNPC9e220t%2FScreenshot%202026-05-02%20at%2020.19.34.png?alt=media&amp;token=cc4ca0fb-03d6-4519-9cac-2409a3d8f9f7" alt=""><figcaption></figcaption></figure>

Customers will not be able to select any of the courts/tables which are blocked off.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FXg54zFpiyUp940KFXKAB%2FScreenshot%202026-05-02%20at%2020.19.55.png?alt=media&amp;token=226193f5-33d0-4ac8-9c3d-20c76addadc5" alt=""><figcaption></figcaption></figure>

Customers cannot be added to the Operation blocks, so if an Admin wants to hold courts for a Private Event, they should create the Private Event. Private Events are by default Unlisted and not visible for Customers to sign-up. If an Admin wants to hold courts for an Event like an Open Play or a Clinic, the Admin should leave the Event as a draft and publish when they're ready.

{% hint style="danger" %}
**Operation blocks are NOT Event placeholders.**
{% endhint %}

### Impact of Operation Blocks

Operation Events will not be reflected on your revenue in the Analytics page of the Dashboard. This ensures they do not negatively or incorrectly impact your court utilization metrics. The system will exclude Operation blocks so that it does not interfere with Analytics (e.g. the court utilization).


# Add a Coach

### Overview

To add a Coach to your Club:

1. Open a Profile in the Customer page of the Dashboard
2. Flick ON the toggle for the `Coach Profile` (on the Overview tab)
3. Confirm the Coach role is to be provided to this Customer's Profile
4. Verify the `Coach` role tag is added
5. Click the blue `Save` button to close their Profile sidepanel

{% @supademo/embed url="<https://app.supademo.com/demo/cmpzrn05m0ak6qmghlkjkw5rq>" demoId="cmpzrn05m0ak6qmghlkjkw5rq" %}

**As a next step,** [**set-up the Coach Profile**](https://podplay.gitbook.io/docs/coaches/coach-setup-and-profile/set-up-a-coach-profile)**.**

### Why Coaching?

#### You Need Coaches

A Coach is an employee or contractor at your Club who provides instruction. Coaches lead classes, run private Lessons, or both. The PodPlay system supports your Coaches and makes scheduling Lessons easy for your Customers.

Customers who book private Lessons improve faster and tend to become more active. Years of PodPlay data show these Customers generate 17x more revenue than Customers who don't book private Lessons. They are among your most valuable Customers.

{% hint style="success" %}
To learn more about the value of a Coach, read [The Coaching Flywheel](https://podplay.app/blog/the-coaching-flywheel).
{% endhint %}

#### And Coaches Need Your Club

Coaches teach because they love the sport and they want to make money. The PodPlay system turns your Club into a marketplace for private Lessons.

A Coach Profile is public-facing, and Coaches compete for your Customers' attention. An Admin or Owner assigns each Coach a Tier. The Coach sets their own rate.

Price too high and Customers won't book. Price too low and Customers assume the Coach is inexperienced.

When your Club is a real marketplace for Lessons, Coaches will seek you out.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fe2APhJg6AeLJmzWvtRj1%2FScreenshot%202026-05-13%20at%2021.23.01.png?alt=media&amp;token=c4d3a896-53e2-4a7c-8c64-1c206e9afcdf" alt=""><figcaption></figcaption></figure>

### Related Updates

* [Export Coaching Sessions from the Coaches Page](/coaches/manage-coach-tiers/export-coaching-sessions-from-the-coaches-page)

### FAQs

<details>

<summary>Can a Coach be available in multiple locations?</summary>

Yes. To learn more, read about **Weekly Availability**.

</details>

<details>

<summary>Can I export data from the Coach page?</summary>

Yes. Owners and Admins can export coaching activity for the whole club. Coaches can also export their own sessions from the Coaches page when the feature is enabled for your club. See [Export Coaching Sessions from the Coaches Page](/coaches/manage-coach-tiers/export-coaching-sessions-from-the-coaches-page).

</details>

<details>

<summary>Can a Coach be included in an Event?</summary>

Yes! A Coach can be included in an Event. When an Event is being created by an Admin, there is a space to include a Coach in that Event. The different types of Events a Coach can be included in are

* Open Play
* Kids Class/Clinic
* Adult Class/Clinic
* League
* Tournament
* Party
* When a Coach is added to an Event, the Coach rate needs to be detailed.

**⚠️ It is a best practice to ask the Coach to set their Availability before adding a Coach to any Events.**

</details>


# Set-up a Coach Profile

### Overview

When an Admin has given the Coach role to a Profile, that Profile will see a new button in their More tab of the App. By clicking on this button, the new Coach can go to the Coach page of the Dashboard to set up or edit their Coach Profile.

Anyone who is a Coach and wants to make money at your Club needs to set up their Coach Profile.

{% @supademo/embed url="<https://app.supademo.com/demo/cmp4rg66a0o43c0qm9hmqbu33>" demoId="cmp4rg66a0o43c0qm9hmqbu33" %}

### Coaching Details

This is where the Coach edits their basic information, like:

* **Short Name**: This is the abbreviated name for the Coach.
* **Slug**: This is the unique URL that can be shared with Customers to reach the Coach's Bio from outside the App.
* **Ball Machine toggle**: Don't turn on unless this is a Ball Machine.
* **Tier**: This cannot be changed by the Coach, can be changed by an Admin or Owner.
* **Photo**: Every Coach should add a photo.
* **Bio**: When a Coach adds a little information about who they are, they receive more requests for Lessons.

#### Coach URL/Slug

The Slug is a URL you can use on your Club’s marketing website as a call to action (CTA). This CTA might be a button, like “Find out more about our coach Kyle” or “Book a Lesson with Kyle.”

The Slug is at the end of your Club’s URL, where:

* Club Name = your brand name
* Slug = the value a Coach inputs into their Coach Profile Details

And looks like this:

* `https://club_name.podplay.app/coach/kyle-nielson-ryen`

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fhq5ccsN8rnStTLy6ksnM%2FScreenshot%202026-05-12%20at%2009.49.29.png?alt=media&amp;token=d5f5ecb1-b743-4578-a682-c6c18d82be2e" alt=""><figcaption></figcaption></figure>

### Coach Rate

A Coach can set a rate for up to six (6) Customers per Lesson. Depending on how many Customers a Coach is willing to train, the Customer will see a group size selector when attempting to book the Coach. The Customer will also have the option to adjust this group size on the last page of the booking flow. For example, if the Coach will only teach a lesson with 2 Customers at a time for a Reservation, then a Customer can only book said Coach with one other person.

Rates should be entered according to the Coach's preference for player counts.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FRHApfxzhgkRpuMQJxZT8%2FScreenshot%202026-05-12%20at%2009.50.17.png?alt=media&amp;token=06bd069d-e7fb-4ed3-9363-e722fff597f8" alt=""><figcaption></figcaption></figure>

### My Locations

Without a Location selected, the Coach is not associated with anything. **Coaches must select a location** in this section of the Coach Profile.

If a Coach wants to work at more than one location, they can add all preferred locations here. If more than one location is selected, they'll want to set a Switch Cushion (see below).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FymIyqqIWqNZBGIG0fSZU%2FScreenshot%202026-05-12%20at%2009.50.30.png?alt=media&amp;token=801fcbca-d0de-4e61-a1b5-6cd99db66025" alt=""><figcaption></figcaption></figure>

### Student List

The Student List inside the Coach profile is a section where the Coach can detail which Customers are able to book the Coach.

* **If the switch is toggled OFF**, anyone can request to book the Coach.
* **If the switch is toggled ON**, only the Customers on the list are able to book this Coach for a Lesson.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FwCC2uGl07t5150BTn8j0%2FScreenshot%202026-05-12%20at%2009.50.52.png?alt=media&amp;token=42029a3b-9122-4460-a58b-d088fab32d4a" alt=""><figcaption></figcaption></figure>

**This is a helpful tool If the Coach is highly sought after** and is receiving lots of Customer requests for lessons. The Coach will be able to choose which Customers can book a Reservation with them, allowing the Coach some flexibility in who are their students.

**This is not a helpful tool if the Coach wants anyone to be able to book a private Lesson with them**.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F0imH0UARVPs0qkV0va95%2FScreenshot%202026-05-12%20at%2009.50.39.png?alt=media&amp;token=871c95c8-da6a-43f9-b6e4-90a7dd829ee5" alt=""><figcaption></figcaption></figure>

### Weekly Availability

***This is a drafting space*** to edit the potential times when a Coach wants to work. This section of the Coach Profile should be completed thorough during Coach Profile setup.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FWcCoW5F8XaH64OjoI6gO%2FScreenshot%202026-05-13%20at%2020.18.12.png?alt=media&amp;token=6b7dcb96-f50d-4311-b260-411cc3235db1" alt=""><figcaption></figcaption></figure>

As each of the open time blocks in the Weekly Availability are clicked on (or click and drag your mouse to highlight several at once), the time blocks will change color.

{% hint style="warning" %}
**Once the Weekly Availability is set, the Coach should set up their** [**Public Availability**](https://podplay.gitbook.io/docs/coaches/set-up-a-coach-profile/public-availability)**. If they do not set their Public Availability, Customers cannot book a Lesson with the Coach.**
{% endhint %}

### Switch Cushion

{% hint style="info" %}
**If your Club only has one Location**, the Switch Cushion will not apply to your Coaches.
{% endhint %}

The Switch Cushion inside the Coach Profile is a time buffer that a Coach can set between when a Customer can book them and when they will be ready for a lesson when moving between Locations.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fi5u5rABnsiH3V6ymRJib%2FScreenshot%202026-05-12%20at%2009.51.11.png?alt=media&amp;token=e8bc4313-b3d5-4801-aade-ca0517636a18" alt=""><figcaption></figcaption></figure>

In some examples:

* **Switch Cushion is 1 hour**: Assuming the Coach has a private Lesson at 8 am, if a Customer wants to book this Coach at another Location for 10 am, the Customer CAN do so.
* **Switch Cushion is 1.5 hours**: Assuming the Coach has a Clinic scheduled for 12 pm, if a Customer wants to book the Coach at another Location for 1 pm, the Customer will NOT be able to do so. The Customer can book the Coach for a Lesson starting at 2 pm.
* **Switch Cushion is 12 hours**: Assuming the Coach has a private Lesson at 8 am, if a Customer wants to book this Coach at another Location for 4 pm, the Customer will NOT be able to do so.

To illustrate further in the screenshot below from the Coach page of the Dashboard:

* The Coach Is teaching a Clinic at Venue 1 at 10 - 11 pm
* Their Switch Cushion is 12 hours
* Someone can book them at Venue 1 again once there is Public Availability the next day
* The earliest someone can book them at Venue 2 is 11 am the following day

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FbqnfMQjCe63tnZfKB4qs%2FScreenshot%202026-05-13%20at%2021.07.10.png?alt=media&amp;token=a557d51c-188f-44f5-9f1a-d6f1e990f3ad" alt=""><figcaption></figcaption></figure>

### Notice Cushion

The Notice Cushion inside the Coach Profile is a time buffer that a Coach can set between when a Customer can book them, and when they will be ready for a lesson.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FcIsW4pQdiKl64Z7qa3wU%2FScreenshot%202026-05-12%20at%2009.51.17.png?alt=media&amp;token=93763d62-ab9b-4353-8014-ab80abf94763" alt=""><figcaption></figcaption></figure>

In some examples:

* **Notice Cushion is 1 hour**: The current time is 8:45 am. Customers can book a Lesson with the Coach starting at 10 am.
* **Notice Cushion is 1.5 hours**: The current time is 5 pm. Customers can book a Lesson with the Coach starting at 6:30 pm, if they book immediately.
* **Notice Cushion is 12 hours**: The curren time is 4:50 am. The earliest any Customer can book this Coach is 5 pm that evening.

To illustrate further in the screenshot below from the Coach page of the Dashboard:

* The Gray highlight shows this time slot has passed
* The Yellow highlight suggests the Coach has a Notice Cushion of 1 hour
* The Green highlight shows open time for when Customers are able to book a Reservation with the Coach

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FxZHGTcPXdu1M59mfe5yk%2FScreenshot%202026-05-13%20at%2021.12.19.png?alt=media&amp;token=cf26837c-689e-4ed8-87cd-56793f408a51" alt=""><figcaption></figcaption></figure>

### Payments

When a Coach sets up their Profile, a blue **Start Onboarding** button appears under the Payments section. This button routes the Coach to Stripe to create the account that receives their payouts.

Without finishing the Stripe account, the Coach cannot be paid through PodPlay. If the Coach has not completed Stripe onboarding, an Admin sees an error message in the Coach Profile when clicking the Payments section.

Once the Coach completes Stripe onboarding, they start receiving income for their work at the Club.

{% hint style="info" %}
To learn more, read about [Coach Payments & Payouts](/coaches/manage-coach-tiers/coach-payments-and-payouts).
{% endhint %}

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FTjYqB4QIA0kmmAEIDQj8%2FScreenshot%202026-05-12%20at%2009.48.06.png?alt=media&amp;token=e1c7aa2a-b7f9-4037-b748-8caa2caf64b4" alt=""><figcaption></figcaption></figure>


# Public Availability

### Overview

Once the [Weekly Availability](https://podplay.gitbook.io/docs/coaches/coach-setup-and-profile/how-does-a-coach-set-up-their-profile#weekly-availability) is set for a Coach, they need Public Availability.

What's the difference?

* **Weekly Availability**: A drafting space for the Coach's preferred time
* **Public Availability**: Times when a Customer sees a Coach is open for a Lesson, can pull preferred times from Weekly Availability

#### Weekly Availability

***This is a drafting space*** to edit the potential times when a Coach wants to work. This section of the Coach Profile should be completed thorough during Coach Profile setup.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FWcCoW5F8XaH64OjoI6gO%2FScreenshot%202026-05-13%20at%2020.18.12.png?alt=media&amp;token=6b7dcb96-f50d-4311-b260-411cc3235db1" alt=""><figcaption></figcaption></figure>

As each of the open time blocks in the Weekly Availability are clicked on (or click and drag your mouse to highlight several at once), the time blocks will change color.

{% embed url="<https://www.loom.com/share/621824c7ff6a4e9b8b78e5df86b61b5d>" %}

#### Public Availability

Once a Coach finalizes their Weekly Availability, the Coach needs to then add Public Availability. This is the Availability tab at the top of the Coach Profile. ***Anything added here is visible to Customers***.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Ffck4pBoXhiZF3Qa1WwF0%2FScreenshot%202026-05-13%20at%2020.23.55.png?alt=media&amp;token=0ea24369-98f6-4d7f-a07f-b9eec09cd057" alt=""><figcaption></figcaption></figure>

In this space, the Coach can click on the:

* **Broom icon** <i class="fa-broom-wide">:broom-wide:</i> to sweep away Public Availability (*does not sweep away booked Lessons or Events*)
* **Paint roller icon** <i class="fa-paint-roller">:paint-roller:</i> to add Public Availability from the Weekly Availability
* **Today button** to navigate back to the current day
* **Back arrow** navigate back and review the previous week (*cannot navigate back in time beyond the current week*)
* **Forward arrow** to skip forward and review the following week (*up to five weeks in advance*)

There are up to five weeks into the future when a Coach can add Public Availability. This means a Coach only needs to manage their Public Availability once or twice a month (input the month, then revisit in \~three weeks to build the remaining weeks).

{% embed url="<https://www.loom.com/share/59a1abc113de435f85f2ceb03dd08592>" %}


# Ball Machines

### Customer Books a Ball Machine

Customers can book a Ball Machine during the Reservation booking flow. For a Customer to reserve, they can:

* Go to the Book tab of the App
* Select a preferred day and time
* Land on the Order Summary page
* Choose to add a Ball Machine
* Complete the booking

{% @supademo/embed url="<https://app.supademo.com/demo/cmp4ppxjk0mpwc0qmp55wwrcq>" demoId="cmp4ppxjk0mpwc0qmp55wwrcq" %}

### How to Set Up a Ball Machine as a Coach

Ball Machines are configured using the Coach feature. A dedicated Front Desk Profile is given the Coach role with the Ball Machine toggle enabled, so Customers can book the machine like any other Coach Reservation while Front Desk staff manage the bookings on its behalf.

#### **1. Create a Front Desk Profile with a general Club email**

Use a general Club email like `info@clubname.com` for the Ball Machine Profile so multiple Club employees can monitor incoming Customer requests. Keep this email signed in on the Front Desk computer so any Front Desk employee can monitor and manage lesson requests. If a general Club email isn't available, use a `+` variant on an existing address (e.g. `info`**`+ballmachine`**`@clubname.com`). The address continues to receive all email while being treated by the system as a separate Profile.

#### **2. Rename the Profile**

Update the Profile name to:

* First name: Front Desk
* Last name: Ball Machine

#### **3. Provide the Coach role to the Ball Machine Profile**

* Turn on the Coach role toggle

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F1Qe3lzU1bmMlXESF6LTp%2FScreenshot%202026-05-13%20at%2019.33.49.png?alt=media&amp;token=c76d12d4-c632-457b-97bc-283e735e3652" alt=""><figcaption></figcaption></figure>

#### **4. Turn on the Ball Machine toggle**

* Go to the Coach page
* Open the Coach settings for the Ball Machine
* Expand the Coach Details drawer
* Flick on the `Ball Machine` toggle

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FXe3Ev9BZw9asf1IuLCWH%2FScreenshot%202026-05-13%20at%2019.37.16.png?alt=media&amp;token=e2acbbef-7e92-41ea-9043-b15351bcfe52" alt=""><figcaption></figcaption></figure>

This tells the system that the Profile represents a Ball Machine rather than a human Coach.

#### **4. Set the hourly rate and availability**

* Set the desired hourly rate for using the Ball Machine ([Coach Rate](https://podplay.gitbook.io/docs/coaches/coach-setup-and-profile/how-does-a-coach-set-up-their-profile#coach-rate))
* Add public availability so the machine appears as bookable during the desired hours ([Weekly Availability](https://podplay.gitbook.io/docs/coaches/coach-setup-and-profile/how-does-a-coach-set-up-their-profile#weekly-availability) and [Public Availability](https://podplay.gitbook.io/docs/coaches/set-up-a-coach-profile/public-availability))

#### **5. Monitor and accept Customer Reservations**

When a Customer books the Ball Machine Coach, a Front Desk employee accepts the Reservation on behalf of the Coach Profile from the shared Club email inbox.

### Verify It Worked

If you set up the Ball Machine correctly, you will see the Ball Machine Profile appear as an add-on option during the Reservation booking flow

#### Common Issues

* **Ball Machine doesn't appear bookable:** Confirm Public Availability is set and that the Ball Machine toggle is on inside Coach Details.
* **Multiple Ball Machines at one Club:** Create a separate Profile per machine using distinct `+` variants of the same Club email so each machine can carry its own hourly rate and availability.


# Private Lessons

### Overview

Any Customer can book a private lesson (Reservation) with a Coach directly through the App.

Customers will see a unique tab at the bottom of the app called Lesson (can be renamed) and can book a Coach through this tab.

When a Customer is on the Lesson tab, they will see the different Club locations. If your Club only has one location, they will not see a location selection. After selecting a location, the Customer will see each Coach who is available to teach a Lesson at that location.

When the Customer selects a Coach they would like to a Lesson from, the Coach’s Profile remains at the top of the page, and their availability by date is below. Customers can click on the Coach’s Profile and read more about the Coach.

{% @supademo/embed url="<https://app.supademo.com/demo/cmp4j4cpu0k17c0qm03xoexo4>" demoId="cmp4j4cpu0k17c0qm03xoexo4" %}

After the Coach is booked, the Reservation holder can split the cost of the Coach with other players ([bill splitting with a Coach](https://podplay.gitbook.io/docs/coaches/manage-coach-tiers/coach-payments-and-payouts/bill-splitting-with-a-coach)). Once a Customer completes the Reservation booking, the Coach will receive an email request from the system, stating a Customer has request to receive a lesson

{% hint style="info" %}
If the Coach does not accept the invite for a private Lesson, the Customer will keep the booking and they will not be charged for the Coach.
{% endhint %}

{% hint style="success" %}
The ability for a Coach to be booked by a Customer depends on the [Coach’s Availability](https://podplay.gitbook.io/docs/coaches/coach-setup-and-profile/how-does-a-coach-set-up-their-profile#weekly-availability). If a Coach has set their Availability, any Customer can reserve time with the Coach.
{% endhint %}

### Coaches Must Accept Invites

The Coach is responsible for accepting or declining the email invitation. If the Coach wants to accept the Lesson invitation, they can click on the link in the system email and accept. If the Coach wants to decline the Lesson invitation, they can click on the link in the system email and decline.

{% hint style="danger" %}
It’s important for the Coaches to accept or decline Customer invitations for Lessons because when a Coach does not interact with the email, the Customer will still have the Reservation booked and does not know the Coach has declined the invite.
{% endhint %}

When a Coach declines the Lesson invitation, the Customer receives an email saying the Coach did not accept.

If the invite is not accepted, the Coach's Status in the Reservation will remain as `Pending`.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FtLPfDL5rPnn53yWIEDhE%2Fimage.png?alt=media&amp;token=75a26067-3f49-4fe9-aef4-22ebedf3203f" alt=""><figcaption></figcaption></figure>

### Coach Payments for Lessons

A Customer reserves a court and adds a Coach to the Reservation. The flow of money is:

* `Customer booking payment` split between `Coach` and `Club`

For a Coach to be paid through the system:

* The [Coach Payments](https://podplay.gitbook.io/docs/coaches/manage-coach-tiers/coach-payments-and-payouts#enable-coach-payments) must be enabled
* The Coach must complete their [Payment Onboarding](https://podplay.gitbook.io/docs/coaches/coach-setup-and-profile/how-does-a-coach-set-up-their-profile#payments)
* The [Payouts and Splits](https://podplay.gitbook.io/docs/coaches/manage-coach-tiers#configuring-payout-and-splits) must be set

### Multiple Customers Booking a Coach

If a Customer would like to book a Coach and include others in the Lesson, the booking flow is the same as when a Customer books a Coach for themselves, except this time, they will need to select a number of participants. During the booking flow, there is an option to select the number of participants. Depending on how many Customers the Coach is willing to teach during a Reservation, the Customer will be able to choose how many other people can be included in this Reservation with a Coach.

If the Coach wants to include more people, they can edit their Coach Profile in the rates section ([rates section of the Coach Profile](https://podplay.gitbook.io/docs/coaches/coach-setup-and-profile/how-does-a-coach-set-up-their-profile#coach-rate)).

<details open>

<summary>Adding more Customers to a Lesson after it is booked</summary>

A Reservation Holder books a Lesson for two people, the Coach accepts, and the Reservation Holder later wants to bring two more people. When an Admin adds attendees to an existing Lesson from the Dashboard, the system does not add a charge to the Reservation. If the Coach charges a per-player rate, the Coach's payout stays at the amount from the original booking.

To add the attendees and pay the Coach for them, an Admin can:

1. Open the Reservation on the Overview page of the Dashboard and add the new attendees.
2. Charge the Reservation Holder the difference between the original Coach rate and the rate for the new participant count.
3. Open the `Purchase` tab of the Reservation and click `+ Transfer` to send an ad-hoc transfer to the Coach for the added amount.

{% hint style="info" %}
The `+ Transfer` button only appears on the `Purchase` tab of a Reservation or Event that has a Coach attached.
{% endhint %}

</details>

### Lessons from the Dashboard

{% hint style="success" %}
The best way for a Coaching Lesson to be booked is by a Customer through the App.
{% endhint %}

If an Admin is trying to help a Customer, they can:

1. Create a Reservation on the Overview page on the desired day and time
2. Book the Reservation as `Regular/Coaching`
3. Select the Customer
4. Select the Coach
5. Go to the checkout
6. Ensure the Lesson is NOT `Free`
7. Complete the booking
8. Accept on the Coach's behalf

{% @supademo/embed url="<https://app.supademo.com/demo/cmp4jtwpi0kiwc0qmlf5u62fz>" demoId="cmp4jtwpi0kiwc0qmlf5u62fz" %}

{% hint style="warning" %}
If payments from the Customer has already settled, meaning the Customer paid in Cash, or it is past the Reservation and the system has already captured a payment, adding a Coach to this Reservation will not lead to the Coach receiving any money from the Customer. The Reservation needs to be Pending in the Purchase tab of the side panel.
{% endhint %}

### Booking with Credits

Customers can book a private Reservation lesson with a Coach using Credits ONLY IF an Owner has turned ON the toggle to `Allow Credits for Coaching` on the Venue page of the Dashboard.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FB8xsZfwzZ7JgsEyGhbM3%2FScreenshot%202026-05-13%20at%2017.06.44.png?alt=media&amp;token=b2ec2dc4-0059-44dd-bb1f-bc1db2203461" alt=""><figcaption></figcaption></figure>

For a Customer to book a Lesson with Credits, they can go through the normal booking flow, and the system will automatically apply the Credits in their Profile to the Coach’s rate. When a Customer books a Lesson with a Coach using Credits, they may want to split the bill with their friends if the private Lesson is for 2 or 3 people. The system can accommodate three different scenarios:

1. Reservation holder pays for the Coach with Credits and invites a friend to the Reservation who pays with a credit card (CC)
2. Reservation holder pays for Coach with Credits and invites a friend to the Reservation who pays with Credits
3. Reservation holder pays for a Coach using a CC and invites a friend to the Reservation who pays with Credits

If an Admin is booking a Lesson with a Coach on behalf of a Customer, they can book the Lesson and apply the Customer’s Credits to the cost of the Reservation (only available if the Customer has Credits in their Profile)

### Discounts for Members

A unique perk your Club can provide to Members is the ability to discount the Coach rate for Memberships. When a Membership is given a Coach Rate Discount, all Customers who buy this Membership will receive the same discount when booking any Coach.

In an example:

* The rate for a Coach is $100 / hour
  * When a Non-member books a Coach, they pay $100 / hour for a Coach
* Membership A receives 10% discount on Coaching
  * Any Customer with "A Membership" will pay $90 / hour for a Coach
* Membership B receives 20% discount
  * All Customers with "B Membership" will pay $80 / hour for a Coach

If you would like to provide a discount to your Club’s Memberships for private lessons with a Coach, add it into the **Membership's settings** on the Membership page of the Dashboard.

{% hint style="info" %}
The Membership page of the Dashboard is a feature in development.
{% endhint %}

### FAQs

<details>

<summary>What happens when a Customer cancels a private Lesson?</summary>

* When a Customer cancels a Reservation with a Coach, the Coach will be notified of the cancellation through email.
* The availability that the Coach had during this time does not become open again, so the Coach will need to re-add this time to their Coach Profile if they want other Customers to have the option of booking them during this canceled time.
  * To learn more, read about [**Coach availability here**](broken://pages/u4wLlGs9sJvBKkN8EIgz).

</details>

<details>

<summary>Can a Customer use Credits for private Lessons?</summary>

* Not entirely, Credits cannot be used when booking a Reservation with a Coach.
* When a Customer tries to use Credits during the booking flow, the Credits will be applied to the Reservation and not the Coach.

</details>

<details>

<summary>Coach doesn't see the invite. Where is it?</summary>

If your Coach is having trouble accepting Reservation bookings, there are a few things to check:

***Has the Coach opened their*** [***Weekly Availability***](https://podplay.gitbook.io/docs/coaches/coach-setup-and-profile/how-does-a-coach-set-up-their-profile?q=court+%2B+court#weekly-availability) ***to allow Customers to book a Lesson with them during the days and times when the Coach is having trouble?***

* The Coach will set their Availability inside their Coach profile. If a Customer tries to book a Coach during a day or time when the Coach did not set free availability, the Customer will not be able to book the Coach.

***Is the*** [***Coach on an Event***](https://podplay.gitbook.io/docs/coaches/how-does-the-coach-club-split-work-for-an-event) ***at the same day and time?***

* In the same way that the system will not allow Customers to book courts/tables at the same time as another Event or Reservation they are attending, the system also monitors the Reservations and Events the Coach is attending. If the Coach are attending another Reservation or Event, the PodPlay system will believe they are unavailable.

***At which Location is the Customer booking their Reservation?***

* For Customers, they will only be able to select this new Coach when booking their Reservation if they are booking a Reservation at the Location the Coach has specified in their Coach settings

</details>


# Coach on Events

### Overview

When an Event is created, a Coach can be added to the Event. If the Event type is a Class or Clinic, you will see an option for a Coach rate during the Event creation.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FxCNlHZT14rfeaWNSmP3H%2Fimage.png?alt=media&amp;token=07a2900c-7209-4834-af63-5249bf581787" alt=""><figcaption></figcaption></figure>

If the Event type is an Open Play, Tournament, League, or Party, you will not see an option for a Coach rate during the Event creation. Once the Event is published, you will see in the side panel a button to `+ Coach`.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FxFdd2jJ3mSRsqzvbdIQW%2FScreenshot%202026-05-13%20at%2016.23.31.png?alt=media&amp;token=24e7e8bc-5faf-493b-8e10-c7f61030aafb" alt=""><figcaption></figcaption></figure>

After this button is clicked, a pop-up window will appear where you can choose which Coach to add to the Event and set their rate at the bottom.

### Coach View of Attendees

When a Coach is part of an Event or Reservation, the Coach can see these on the Coach page of the Dashboard.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F8eG8E6zAO7HFe6vWG1kY%2FScreenshot%202026-10-21%20at%2014.54.31.png?alt=media&amp;token=e8454fa6-2350-4b54-a5fe-3663f61cbaff" alt=""><figcaption></figcaption></figure>

Coaches can click on the Event or Reservation and see all of the Customers on the Attendee list.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FnYZ9zA9Cpfm8IjScFY4f%2FScreenshot%202026-10-21%20at%2014.50.48.png?alt=media&amp;token=7163c1be-5d7e-462c-81d8-5b5fbbb624ef" alt=""><figcaption></figcaption></figure>

Should a Coach need to message a Customer, they can click on the Customer's Chat name and direct message the Customer through the Community Chat (only available if your Club has the [Community Chat](https://docs.podplay.app/marketing/community-chat) feature).

### Event Payments for a Coach

There are two types of Coach payments for an Event:

1. Coach is paid a **$value**
2. Coach is paid a **%value** of Event revenue

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fmvpgpt9unB7EKxZkX4nJ%2FScreenshot%202026-05-13%20at%2016.24.26.png?alt=media&amp;token=05ba6a44-ea03-4596-b28b-d8f3054b71f4" alt=""><figcaption></figcaption></figure>

When a Coach is added to an Event, staff will set the Coach's rate during that process. The flow of money is:

* `Customer signup payment` <i class="fa-arrow-right">:arrow-right:</i> sent to `Club`
* `Club payment` <i class="fa-arrow-right">:arrow-right:</i> `Coach`

The money movement in these bullets are separate and do not rely on each other at all. When a Coach is added to an Event, staff should verify the Coach has an `Accepted` status flag next to their name.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FWM5BQ6XIT86cCYuXZv9x%2FScreenshot%202026-05-12%20at%2014.08.10.png?alt=media&amp;token=487608f5-56a6-4a3f-ac96-01eacd832947" alt=""><figcaption></figcaption></figure>

### Coach is paid a $value

The rate is static. If the Coach rate is set at $50, the Coach receives $50 for the Event. The rate does not change based on Event length (1 hour vs. 2 hours).

The rate does not change based on the number of Customers who join the Event (4 Customers or 10 Customers — the Coach rate is fixed). The Club sets the Customer-facing price for the Event and receives all Customer funds, regardless of attendance. The Coach is paid from the Club's Stripe account. **Payout flow:** the L shape. Funds move from the Customer to the Club, and the Club pays the Coach.

### Coach is paid a %value of Event revenue

The rate is dynamic. The way this will work is that the Coach payment is a **%value** of the revenue captured for the Event. In an example:

* 6 Customers sign up for the Event
  * 3 Customers pay $10
  * 2 Customers pay $5
  * 1 Customer pays $10 in Credits
    * $50 in revenue is generated
* The Coach's **%value** = 50%
  * Coach is paid $25 (50% of the $50)

Total revenue from the Event includes:

* Cards
* Credits
* Cash (if used)

If coupons are used (Promo Code or Passes), this is not money movement and thus is not added to the sum from which the Coach **%value** is split.

<details open>

<summary>What if the Event generates $0?</summary>

**With the $value option**: The Coach is paid $n at the end of the Event. If $50 is added here and the Event generates $0, the Coach is still paid $50 (this is how the system works today)

**With the %value option**: The Coach is paid n% of $0, which is $0. If the Coach is supposed to be paid more than $0, [an ad-hoc payment](https://help.podplay.app/en/articles/2095233) can be made to the Coach.

</details>

<details>

<summary>How do cancellation fees work?</summary>

**With the $value option**: The Coach is paid the rate entered.

**With the %value option**: The Coach is only paid a **%value** of the attendees, not any revenue generated from cancellations.

</details>

<details>

<summary>What if multiple Coaches are added to an Event?</summary>

**With the $value option**: Each of the Coaches are paid their rate.

**With the %value option**: If there are 2 Coaches added to the Event with 50% each, then 100% of the Event's revenue is sent to the Coaches. If there are 2 Coaches added to an Event with 25% each, then 50% of the Event's revenue is sent to the Coaches. If there are 2 Coaches added to the Event with 60% each, a 120% value of the Event's revenue is not possible, thus no Coaches are paid

</details>

<details>

<summary>How does this work on a Series?</summary>

**With the $value option**: This is the only Coach payment option on a Series.

**With the %value option**: The %value option is NOT AVAILABLE on a Series.

</details>


# Manage Coaches

### Overview

Coach Tiers are a section in the Company Settings page, **only available to those with the Owner role in the Dashboard**. Coach Tiers allow you to organize Coaches into different levels and configure how each level is paid. For example, you might have tiers like Club, National, or Olympic, each with different payout settings and fee structures.

The Coach Tier is set inside the Coach Profile on the Coach page in the Dashboard. Only someone with an Owner or Admin role can change the Coach's Tier. The Coach cannot change their own Tier if they do not have either of those two roles.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FwwrSOLPPyFttofUEhAdf%2FScreenshot%202026-05-13%20at%2015.41.11.png?alt=media&amp;token=b0a641f0-70c2-43c9-be35-958fb10000d4" alt=""><figcaption></figcaption></figure>

### Editing Coach Tiers

* Navigate to `Company Settings` in the Dashboard
* Search at the top or location the `Coach Tiers` section
* All existing tiers are displayed in a list, ordered by priority

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FQsR8x4Rgz9UmNnHU3fuk%2FScreenshot%202026-05-13%20at%2015.25.09.png?alt=media&amp;token=170fb3f8-3bd8-4a25-96a1-241740c0663d" alt=""><figcaption></figcaption></figure>

Each tier displays:

* **Priority number** — The tier's position in the list
* **Name** — The tier's display name
* `Payment toggle` — Whether Coaches in this tier receive automatic payments through the system or if the Coach is paid directly by the Customer in cash ([paying a Coach in cash](https://podplay.gitbook.io/docs/coaches/manage-coach-tiers/coach-payments-and-payouts#paying-a-coach-in-cash))
* **Split type** — Either a percentage or a fixed dollar amount taken as a platform fee
* **Split amount** — The value of the fee

### Adding a New Tier

* Click the `New Tier` button at the top of the Coach Tiers section
* Enter a name for the tier (required)
* Configure the payout and fee settings (see below)
* Click `Save` at the top of the page to create the tier

{% hint style="danger" %}
A tier name is required. If you try to save a tier without a name, an error message will appear and the tier will not be created.
{% endhint %}

The new tier is added to the bottom of the list.

#### Reordering Tiers

* Click and hold the drag handle (the six-dot icon) on any tier
* Drag the tier up or down to change its priority
* Release to confirm the new position
* Click `Save` at the top of the page to apply the new order

#### Deleting a Tier

* Click the red delete <i class="fa-trash">:trash:</i> button on the tier you want to remove
* If no Coaches are assigned to the tier, the tier is marked for deletion
* Click `Save` at the top of the page to confirm

If active Coaches are currently assigned to the tier, a message will appear listing the assigned Coaches. You must reassign those Coaches to a different tier before the tier can be deleted. Inactive Coaches do not block deletion.

### Configuring Payout and Splits

Each tier has a `Payment toggle`:

* **Payment ON** — Customers booking a Coaches for private Lessons will be charged the Coach rate, with the Coach receiving their rate (minus any splits); you must also configure a fee.
* **Payment OFF** — Coaches in this tier are not paid through the system; Customers pay the Coach directly.

When the `Payment toggle` is enabled, choose a Split type:

* **% Rate** — A percentage of the Coach's earnings is retained as a platform fee and sent to the Club; you can enter a value between 0 and 100.
* **Fixed $** — A fixed dollar amount is retained as a platform fee per transaction and send to the Club.

{% hint style="info" %}
Percentage and fixed fees are mutually exclusive. Setting one will reset the other to zero.
{% endhint %}

In some examples that reference the screenshot below:

* **National tier Coaches** — Paid in cash by the Customer.
* **Touring Pro tier Coaches** — Money captured through the system and whatever their rate, $20 is split off and sent to the Club.
* **Club Pro tier Coaches** — Money captured through the system and whatever their rate, $30 is split off and sent to the Club.
* **Beginner Pro tier Coaches** — Money captured through the system and whatever their rate, 40% is split off and sent to the Club.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F4nBjrduBaZNYn2w3DKh4%2FScreenshot%202026-05-13%20at%2015.45.19.png?alt=media&amp;token=edf4ace6-d4ef-472a-862a-ae177618d019" alt=""><figcaption></figcaption></figure>

### Enable Coach Payments

{% hint style="danger" %}
If your Club has elected not to pay Coaches through the system, anyone with the Owner role can turn OFF the Coach Payments toggle. To learn more, read about [Enabling Coach Payments](https://podplay.gitbook.io/docs/coaches/manage-coach-tiers/coach-payments-and-payouts#enable-coach-payments).
{% endhint %}


# Coach Payments & Payouts

### Overview

There are two options available within PodPlay, Clubs can either:

1. Allow for Coach payouts through the system ([*not available for international Clubs*](https://podplay.gitbook.io/docs/coaches/manage-coach-tiers/coach-payments-and-payouts#payment-process#international-clubs))
2. Not allow for Coach payouts through the system

Coaches will receive money through PodPlay by completing Stripe onboarding from their Profile. **Without a finished Stripe account, a Coach cannot be paid through the system** for Reservations or Events. If a Coach does not have a Stripe account completed or the Club does not allow for Coach payouts through the system, all revenue from Lessons and Clinics (or any Event) is sent to the Club's bank, and then the Club can pay the Coach outside the system.

### Stripe Onboarding

When a Coach sets up their Profile, a blue `Start Onboarding` button appears under the [Payments drawer](https://podplay.gitbook.io/docs/coaches/coach-setup-and-profile/how-does-a-coach-set-up-their-profile#payments). This button routes the Coach to Stripe to create the account that receives their payouts. Without finishing the Stripe account, the Coach cannot be paid through PodPlay. If the Coach has not completed Stripe onboarding, staff will see an error message ([reference](https://podplay.gitbook.io/docs/coaches/manage-coaches/coach-payments-and-payouts/no-payment-received#coach-doesnt-set-up-payments)) in the Coach Profile when clicking the Payments drawer. Once the Coach completes Stripe onboarding, they start receiving income for their work at the Club.

### Enable Coach Payments

{% hint style="danger" %}
**If your Club has elected not to pay Coaches through the system, anyone with the Owner role can turn OFF the Coach Payments toggle.**
{% endhint %}

Turn OFF the Enable coach payments toggle to take all Coaching lesson revenue and send it to the Club's Stripe account. Turning this toggle ON to allow the Coach to set up a Stripe ID. The Coach MUST also (as a second step) set up their Stripe ID in their Coach Profile to enable Stripe-based payouts, calculated as the Lesson's list price minus any fees configured to be sent to the Club (see Coach Tiers for more information).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FgfWDnZZHgOk5naAuA0vd%2FScreenshot%202026-05-12%20at%2009.37.53.png?alt=media&amp;token=35643d60-1e5d-412a-b7de-73ba67b20cfa" alt=""><figcaption></figcaption></figure>

### International Clubs

Coaches at Clubs located outside the U.S. are not paid through PodPlay. Paying a Coach through the system would require a cross-border transfer and currency exchange, reducing the amount of money captured. Thus, the system does not support international Coach payments.

For all international Clubs, you should still:

* Add Coaches to all Events as normal
* Allow for Customers to book private Lessons from the App

Then, your Club pays the Coach outside the system. To manage Coach payments outside the system, when Coaches be added to Events normally and Customers book private Lessons from the App, anyone with the Owner role can use the `Export` button on the Coach page of the Dashboard.

Using the `Export` button on the Coach page in the Dashboard to generate a CSV summary of Coach compensation. The CSV includes:

* A list of all private lessons, clinics, and other activities each Coach taught
* The Coach's rate for each Lesson, Clinic, or Event

### Related Updates

* [Coach Payouts When a Lesson Pass Is Used](/coaches/manage-coach-tiers/coach-payments-and-payouts/coach-payouts-when-a-lesson-pass-is-used) — includes unused single-coach Lesson Pass payouts after expiry

### Payout Schedule

Coaches set up their public Profile, availability, rates, and Stripe payout account inside PodPlay from within the Coach Settings. Once Stripe is connected, payouts run on this schedule:

* Weekly payouts
* Thursday - Wednesday pay period
* Payouts arrive on Fridays

### How Coaches Earn Money

There are two ways a Coach earns money through PodPlay:

1. Private Lessons (Reservations)
2. Events (Clinics, Private Events, Parties)

#### Private Lessons (Reservations)

A Customer reserves a court and adds a Coach to the Reservation. The flow of money is:

* `Customer booking payment` <i class="fa-arrow-right">:arrow-right:</i> split between `Coach` and `Club`

To learn more, read about [Coach + court rates](https://podplay.gitbook.io/docs/coaches/manage-coach-tiers/coach-payments-and-payouts/coach-plus-court-rate).

When a Coaching lesson is on the Dashboard, the Coach is sent an email and must accept the Lesson invitation. If the Coach does not accept the invitation, the status of the Coach on the Lesson will be `Pending`. To learn more, read about [Private Lessons](https://podplay.gitbook.io/docs/coaches/private-lessons).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FiHd8TPamgSLUXkfgsGLo%2FScreenshot%202026-05-12%20at%2014.11.26.png?alt=media&amp;token=29d7fd71-b38b-4db5-8bc4-749f1a7c6182" alt=""><figcaption></figcaption></figure>

#### Events (Clinics, Private Events, Parties)

When a Coach is added to an Event, staff will set the Coach's rate during that process. The flow of money is:

* `Customer signup payment` <i class="fa-arrow-right">:arrow-right:</i> sent to `Club`
* `Club payment` <i class="fa-arrow-right">:arrow-right:</i> `Coach`

The money movement in these bullets are separate and do not rely on each other at all. To learn more, read about [Coach on Events](https://podplay.gitbook.io/docs/coaches/how-does-the-coach-club-split-work-for-an-event). When a Coach is added to an Event, staff should verify the Coach has an `Accepted` status flag next to their name.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FWM5BQ6XIT86cCYuXZv9x%2FScreenshot%202026-05-12%20at%2014.08.10.png?alt=media&amp;token=487608f5-56a6-4a3f-ac96-01eacd832947" alt=""><figcaption></figcaption></figure>

### Coach in a Series

A Series is several Events connected together. To learn more, read [Create a Series](https://podplay.gitbook.io/docs/events/create-a-series). When a Customer signs up for a Series, they sign up for all Event sessions in that Series. For example:

* Series is across 4-weeks, with 1 Event per week, or
* Series is across 12-weeks, with 2 Events per week

You may want to add a Coach to every Event in a Series (for a Clinic) or to only one Event in a Series (for a Beginners League where the Coach demonstrates how to play and score matches). For a Coach to be paid across a Series, **the Coach must be added to each Event** in the Series.

When a Coach is added to an Event within a Series, the Coach is paid the rate set for that single Event. In an example:

* 4-week Clinic Series where the Coach's total rate is $200
  * Add the Coach to each of the 4 Events at $50 each

The Coach is not paid for the entire Series at once, even if the Customer pays for the full Series up front. Paying the Coach per Event in a Series reduces the chances of misrouted payments to a Coach who gets sick or calls out for one Event in the Series.

### Paying a Coach in Cash

If the `Payment toggle` is turned OFF for a [Coach Tier](https://podplay.gitbook.io/docs/coaches/manage-coach-tiers), then any Coach in that Tier will not be paid through the system, nor will the Club receive revenue from the Customer when the private Lesson is booked.

When the `Payment toggle` is OFF, the Customer will have a notice on the Order Summary page of the booking flow (last page) which states "**Note that you will have to pay the Coach directly.**"

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FBIOkzO5a4sCVWritnMaN%2FScreenshot%202026-05-13%20at%2015.32.38.png?alt=media&amp;token=82012258-cbaf-499f-8bfa-6874d71beb19" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Coaches at Clubs located outside the U.S. are not paid through PodPlay. Paying a Coach through the system would require a cross-border transfer and currency exchange, reducing the amount of money captured. Thus, the system does not support international Coach payments.
{% endhint %}


# Pay a Coach ad hoc

If a Coach works longer hours than anticipated, or if a Coach was sent an incorrect amount of funds for their work, the system allows for an Admin to pay a Coach when necessary. For an Admin to transfer extra or missed money to a Coach, they can:

1. Click into any Reservation or Event where a Coach worked (the Coach must be added to the Reservation or Event for this to work)
2. Navigate to the Purchase tab of the Reservation or Event
3. Notice the button “Transfer” above all the Purchase Details
4. Click on the Transfer button
5. Click on the Coach to transfer funds to
6. Type in the Amount to Transfer and a Description
7. Click on the blue button labeled Create Transfer

{% @supademo/embed url="<https://app.supademo.com/demo/cmp4f9yi80f4jc0qmuk9wztr3>" demoId="cmp4f9yi80f4jc0qmuk9wztr3" %}

This type of ad-hoc payment to a Coach can be done with Reservations or Events in the past, and the funds always come from the Club’s Stripe Express Account (similar to how the Coach receives funds during an Event).

{% hint style="info" %}
Coaches at Clubs located outside the U.S. are not paid through PodPlay. Paying a Coach through the system would require a cross-border transfer and currency exchange, reducing the amount of money captured. Thus, the system does not support international Coach payments.
{% endhint %}


# No Payment Received

A few scenarios can lead to a Coach not receiving payment for a Reservation:

### FREE Reservation

If an Admin creates a free Reservation for a Customer and adds the Coach, the Coach will not receive payment. The Coach does not receive payment for working a Free Reservation because the system presumes anything that is Free, needs to remain Free.I f the Reservation is free of charge, the Coach is free of charge.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FdaOxTzn3QvGg5NJcZKmd%2FScreenshot%202026-05-13%20at%2015.06.42.png?alt=media&amp;token=7649c703-75c1-4c66-b328-183c44779d5d" alt=""><figcaption></figcaption></figure>

### Coach DOESN’T Accept

If the Coach does not accept the Customer’s Lesson request within the email invite, their acceptance in the private Lesson remains `Pending`. While staff can accept on behalf of the Coach, it is the Coach’s responsibility to accept the invitation to the Customer’s private Lesson.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FLXhi6HIxx1CGfBMa1nRc%2Fimage.png?alt=media&amp;token=1f7725d2-2a6d-4f02-8b5e-4f0fc2f6b231" alt=""><figcaption></figcaption></figure>

### Coach Added AFTER Event/Reservation Ends

If a Coach is added to a Lesson after it has already been booked by the Customer, there isn’t a hold on the Customer’s credit card for the Coach rate, and the Coach will not be paid. You can still pay a Coach when this happens by charging the Customer and sending an ad-hoc payment to the Coach.

As a general rule, when the Status of a Coach payment on the Purchase tab of a Reservation or Event is `Pending`, they will not receive payment. The `Pending` Status could be from a Coach not accepting the request, it could be form the Coach being added to the Reservation or Event after it already finish.

### Customer Cancels The Lesson

When a Customer cancels a Lesson, the Coach isn't paid, even if a cancellation fee is charged.

Cancelling the Reservation also cancels the Coach's invitation to it, which removes the Coach from the Reservation, so no transfer is processed even though the Customer is charged and the Club receives the fee.

To pay the Coach in this case, [send the Coach an ad-hoc payment](https://docs.podplay.app/coaches/manage-coach-tiers/coach-payments-and-payouts/pay-a-coach-ad-hoc) for the Lesson.

### Coach DOESN’T Set Up Payments

If the Coach has not set up their payment account in Coaching Settings, they will not be paid. If this is the case, revenue from any Coaching lessons (Reservations) will be directed to the Club’s Stripe Express account.

It is always recommended that [the Coach set up their Coaching Profile](/coaches/coach-setup-and-profile/set-up-a-coach-profile) and that a Customer books their Reservations from the App.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FK7oHYG89z6qx1CNyijoe%2FScreenshot%202026-05-12%20at%2009.53.51.png?alt=media&amp;token=ac81b5ed-72c5-441e-9d0b-1da3f47ff70d" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Coaches at Clubs located outside the U.S. are not paid through PodPlay. Paying a Coach through the system would require a cross-border transfer and currency exchange, reducing the amount of money captured. Thus, the system does not support international Coach payments.
{% endhint %}

### Related Updates

* [Membership vs Standalone Lesson Pass Coach Payouts](broken://pages/BE67wNcpmZGQxJWgk5pK)


# Reverse a Coach Payment

Any time a Coach is paid in the PodPlay system, whether through a private Lesson (Reservation) or I a Clinic (Event), the Club can reverse the payment. If the Club wants to reverse a payment to a Coach, they can:

1. Open the Reservation or Event where the Coach worked
2. Click the Purchase tab
3. Open the specific payment details for the Coach payment
4. Scroll down to the Transfers drawer
   1. Open the Transfers drawer if it is closed
5. Click on the three vertical dots
6. Click on the button Reverse
7. Select a value amount to reverse in the pop-up window
8. Click the red Reverse button

In short:

* Click into the payment details (dotted line)
* Click on the three vertical dots in the Transfer drawer
* Click on the Reverse button

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FEaVHgJPebymkQOagQ3vI%2Fimage.png?alt=media&amp;token=5d3ef9fc-8bde-4782-8f47-f8c01ace0dd6" alt=""><figcaption></figcaption></figure>

When the pop-up window appears, this is where an Admin can select how much to reverse.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FmGrrdrqrUyikAvjwSacP%2Fimage.png?alt=media&amp;token=90994f2e-4e51-4942-bf34-e39a3b2b4a0d" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Coaches at Clubs located outside the U.S. are not paid through PodPlay. Paying a Coach through the system would require a cross-border transfer and currency exchange, reducing the amount of money captured. Thus, the system does not support international Coach payments.
{% endhint %}


# Bill Splitting with a Coach

### Clubs on Court+ Pricing

If a Customer books a private Reservation and adds a Coach for a lesson, the Coach rate CAN BE SPLIT between all Customers attending the Reservation. If the Reservation holder wants to invite their friends to the private lessons, it’s important that the Reservation holder selects the correct Group size of players who will take the private lesson with the Coach.

{% hint style="warning" %}
**It is extremely important for the Customer to select the correct group size** because a Coach can be paid different amounts when different quantities of players are taking a private lesson. If the Customer does not select the proper quantity of players, the Coach might be under or overpaid by the Customer.
{% endhint %}

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FqAfl3Oa6wGb2d9ePRRv5%2Fimage.png?alt=media&amp;token=d1a69a9a-0e4e-4f3a-bbe3-615edc40e7a5" alt=""><figcaption></figcaption></figure>

When the correct quantity of players is picked, the Reservation holder will invite their friends to the private lesson with a “split the bill” link, or a link that will allow their friend to “join for free,” meaning the Reservation holder will cover their friend’s portion of the bill

### Clubs on Spot+ Pricing

If a Customer books a private Reservation and adds a Coach for a lesson, the Coach rate CANNOT BE SPLIT between the Reservation holder and the other Customers attending the Reservation lesson. Instead, the Reservation holder is on the hook for the total cost of the Coach rate. The reason why the cost cannot be split is because with Spot+ pricing:

* The Reservation Holder is on the hook during the booking flow ONLY for their spot
* Then the Reservation Holder invites their friends to join with a Paid or Free invitation link
  * The Paid invitation link means the invitee will pay for their spot
  * The Free invitation link means the invitee will have their spot covered by the Reservation Holder

The system does does not know how many Customers will join the private Reservation, and thus does not know how to accurately split the Coach rate.

{% hint style="warning" %}
**It is extremely important for the Customer to select the correct group size** because a Coach can be paid different amounts when different quantities of players are taking a private lesson. If the Customer does not select the proper quantity of players, the Coach might be under or overpaid by the Customer.
{% endhint %}


# Lesson Pass Payouts

{% hint style="info" %}
This feature is in development.
{% endhint %}

### Overview

When a Customer uses a Lesson Pass, they may pay **$0** for Coaching at checkout. The Coach can still receive [Payments & Payouts](https://docs.podplay.app/~/revisions/TfIwMvWWY68wqCOY7bv9/coaches/manage-coach-tiers/coach-payments-and-payouts). The Coach payout is calculated from the Lesson Pass payout rules, not from the Customer’s final charged amount.

{% hint style="info" %}
This applies to private Lessons where Coach payments are enabled and the Coach has completed Stripe onboarding. International Clubs that pay Coaches outside PodPlay are unchanged.
{% endhint %}

#### Why this matters

* A Lesson Pass can zero out the Customer’s Coaching charge
* Without Lesson Pass payout rules, the Coach would receive nothing for that private Lesson
* The system pays the Coach using Lesson Pass payout rules and the [Club/Coach split](https://docs.podplay.app/coaches/manage-coach-tiers#configuring-payout-and-splits) configured for that pass (or the Coach’s tier split if the Pass has no override)

### How Coach Payout is calculated

**1. Lesson Pass from a Membership package**

* Use the [Coach’s set rate](https://docs.podplay.app/coaches/coach-setup-and-profile/set-up-a-coach-profile#coach-rate) for the covered time (not the coach-tier hourly rate)
* Subtract the club fee using:
  * The [Club/Coach split](https://docs.podplay.app/coaches/manage-coach-tiers#configuring-payout-and-splits) saved on the Lesson Pass, if one was set
  * Otherwise, the Coach tier’s normal [Club/Coach split](https://docs.podplay.app/coaches/manage-coach-tiers#configuring-payout-and-splits)

**2. Lesson Pass from a purchased standalone package**

* Divide the Package price by the total number of Passes in that Package (all Pass types)
  * Example: a $100 package with 5 one-hour Lesson Passes → each pass is worth $20 of coaching value
  * Example: a $100 package with 5 Lesson Passes and 5 Reservation Passes → each Lesson Pass is worth $10
* Subtract the Club fee using the same split rules as above

**3. Partial coverage**

* If a 2-hour lesson is only partly covered by a 1-hour Lesson Pass, PodPlay pays the Coach for:
  * The covered hour using the Lesson Pass rules above
  * The uncovered hour using the normal coaching value for that time
* Court fees never count toward the Coach payout, even when **Includes court fee** is on

#### [Club/Coach split](https://docs.podplay.app/coaches/manage-coach-tiers#configuring-payout-and-splits) on the Lesson Pass

When you set up a Lesson Pass, you can optionally store a [Club/Coach split](https://docs.podplay.app/coaches/manage-coach-tiers#configuring-payout-and-splits) as either:

* A percentage, or
* A fixed amount in dollars

**You cannot set both.**

Leave both blank to use the Coach tier’s default split.

{% hint style="info" %}
The split saved on the granted Package is what the system uses later. [Editing the Package template](https://docs.podplay.app/~/revisions/TfIwMvWWY68wqCOY7bv9/play-passes/create-and-manage-package-templates) afterward does not change payouts for Passes already given to Customers.
{% endhint %}

### Membership vs. Standalone Lesson Passes

When a Customer’s Coaching line is **$0** because a Lesson Pass was used, PodPlay still pays the Coach. The **gross** amount depends on whether the Lesson Pass came from a **Membership package** or a **purchased standalone** Lesson package. The [Club/Coach split](https://docs.podplay.app/coaches/manage-coach-tiers#configuring-payout-and-splits) (options detailed above) is applied after that.

Use this page to check that the Coach transfer matches the right rule after settlement. Full setup and split fields are on [Coach Payouts When a Lesson Pass Is Used](/coaches/manage-coach-tiers/coach-payments-and-payouts/coach-payouts-when-a-lesson-pass-is-used).

#### Membership Lesson Package

* PodPlay pays using the **teaching Coach’s personal lesson rate** for the covered time
* Do **not** expect the Club **coach-tier hourly rate** when the Coach has their own rate set
* Then subtract the club fee:
  * The **Club / coach split** on the Lesson Pass, if one was saved
  * Otherwise the Coach tier’s normal split

In an example:

* Coach personal rate: **$100/hour**
* Club tier hourly rate listed on the tier: **$50/hour** (ignored for this payout)
* 1-hour lesson fully covered by a Membership Lesson Pass
* Pass club fee: **70%** (or use the tier split if the pass has no override)

Gross coaching value = **$100**. After a 70% club fee, the Coach receives about **$30**.

{% hint style="info" %}
If the Coach has party-size rates (for example 1 guest vs 4 guests), PodPlay uses the personal rate for the lesson party size, not the tier default hourly.
{% endhint %}

#### Standalone Lesson Package

* PodPlay divides the **package price** by the **total number of passes** in that package (all pass types on the grant)
* That unit value is the coaching gross for each redeemed Lesson Pass
* Then subtract the club fee the same way as above

In an example:

* Package price: **$500**
* Package contains **5** Lesson Passes (and no other pass types)
* 1-hour lesson fully covered by one redemption
* Coach tier club fee: **30%** (pass has no override)

Unit value = **$500 ÷ 5 = $100**. After a 30% club fee, the Coach receives about **$70**.

{% hint style="info" %}
If the package mixes Lesson Passes and Reservation Passes, the price is spread across **all** pass units. A $100 package with 5 Lesson + 5 Reservation passes values each Lesson Pass redemption at **$10**, not $20.
{% endhint %}

### Lesson Pass is Remapped

{% hint style="info" %}
Remapping exists only with the **Legacy** booking engine. With the **Unified** booking engine, a Lesson Pass never applies to a different Coach.
{% endhint %}

When staff apply a Customer’s **single-coach** Lesson Pass for **Coach B** while booking a lesson with **Coach A**, the Customer can still get the Lesson Pass discount. **Coach A** (the teaching Coach) is still paid using normal Lesson Pass payout rules — not **Coach B’s** rate.

For when and how staff confirm the remap at checkout, see [Apply a Lesson Pass for a Different Coach](/play-passes/create-and-manage-package-templates/set-up-lesson-passes/apply-a-lesson-pass-for-a-different-coach).

#### What stays the same

* Membership Lesson Pass → teaching Coach’s **personal** lesson rate for covered time (not the coach-tier hourly rate)
* Purchased Lesson Package → Package price ÷ total Pass units in that package
* [Club/Coach split](https://docs.podplay.app/coaches/manage-coach-tiers#configuring-payout-and-splits) → Lesson Pass override if set, otherwise the **teaching** Coach’s tier split
* Court fees never count toward Coach payout

#### What remapping does NOT do

* It does not pay Coach B for the lesson
* It does not switch valuation to Coach B’s list rates
* It does not remap tier-scoped or multi-coach Lesson Passes (those never apply this way)

### What staff should verify

* The Coach is added to the Reservation
* The Coach has accepted the Lesson invitation
* [Coach Payments are enabled](https://docs.podplay.app/coaches/manage-coach-tiers/coach-payments-and-payouts#enable-coach-payments) for the Coach’s tier
* [The Coach's Stripe onboarding](https://docs.podplay.app/coaches/manage-coach-tiers/coach-payments-and-payouts#stripe-onboarding) has been completed
* After settlement, the Purchase tab of the private Lesson shows the Coach transfer for the expected amount
* The Reservation was [NOT Free](https://docs.podplay.app/reservations/admin-creates-reservation/book-a-reservation-on-behalf-of-a-customer-for-free) (Coach is not paid on free bookings)

If a Coach was not paid and should have been, see [No Payment Received](/coaches/manage-coach-tiers/coach-payments-and-payouts/coach-wasnt-paid-for-an-event-or-reservation) or [Pay a Coach ad hoc](/coaches/manage-coach-tiers/coach-payments-and-payouts/pay-a-coach-ad-hoc).

#### Tips

* Customer charge and Coach payout are separate: a $0 Customer coaching charge can still produce a Coach transfer
* Reservation Passes and other Play Pass types do not use these Lesson Pass payout rules
* For setup of Lesson Pass fields, see [Set Up Lesson Passes](/play-passes/create-and-manage-package-templates/set-up-lesson-passes)
* [Apply a Lesson Pass for a Different Coach](/play-passes/create-and-manage-package-templates/set-up-lesson-passes/apply-a-lesson-pass-for-a-different-coach)
* Remapped single-coach Lesson Passes still pay the **teaching** Coach using these same [Membership Package](https://docs.podplay.app/play-passes/play-pass-overview) / [Standalone Package](https://docs.podplay.app/~/revisions/TfIwMvWWY68wqCOY7bv9/play-passes/play-pass-overview/standalone-packages) rules.
* Court fees never count toward Coach payout, even when the [Coaching Lesson includes court fees](https://docs.podplay.app/coaches/manage-coach-tiers/coach-plus-court-rate)
* The system's scheduled capture of funds waits until the Lesson ends (staff can settle sooner from the Dashboard if the [Settle Now link](https://docs.podplay.app/payments/customer-payments#charge-immediately-with-settle-now) is used)

### Unused Lesson Passes after expiry

When **Pay Coaches for unused Lesson Passes** is ON in Company Settings → Booking → Lessons, and a Lesson Pass is limited to **exactly one Coach**, and the Package expires with unused Lesson Passes remaining (and the Package was not canceled), the system pays that Coach for the unused quantity using the same valuation and [Club/Coach split](https://docs.podplay.app/coaches/manage-coach-tiers#configuring-payout-and-splits) rules as detailed above and configured in the Lesson Pass's Package.

* Membership Lesson Passes use the Coach’s current Lesson rate for the remaining duration
* Standalone Lesson Passes use the Package price divided across all pass units in the Package
* Multi-Coach and Coach-tier Lesson Passes do not receive an unused-expiry payout
* Coaches still need payments enabled and a finished Stripe account
* The setting defaults to OFF; turn it ON to enable these payouts

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FZFkHe7jh5jdRzuxW7ds0%2FScreenshot%202026-10-02%20at%2013.15.16.png?alt=media&amp;token=f87352f6-3d5b-47e2-859e-76d4ca7ece47" alt=""><figcaption></figcaption></figure>


# Coach Rate + Court Price

There are two options when charging Customers for booking a private Lesson.

### Option 1 — Coach Rate, no court price

If option 1 is selected, there is no court booking price and the Customer pays exclusively for the Coach Rate. [The Coach Rate can be Split](/coaches/manage-coach-tiers#configuring-payout-and-splits) further between Coach and Club using either a **% Rate** or a **Fixed $**.

### Option 2 — Coach Rate + court price (default setting)

If option 2 is selected, the Customer pays for the court price + the Coach Rate.

The Court rate goes to the Club, and the Coach Rate (hourly) is set in the Coach Profile. [The Coach Rate can be Split](/coaches/manage-coach-tiers#configuring-payout-and-splits) further between Coach and Club using either a **% Rate** or a **Fixed $**.

Example with an additional split:

* A $60 Lesson where the Court costs $10 (Club receives) and the Coach costs $50, with a 20% split on the Coach Lesson
  * Club revenue: $20 ($10 Court + $10 from the 20% split on the $50 Coach Lesson)
  * Coach receives: $40

Example without an additional split:

* $60 Lesson where the Court costs $10 (Club receives) and the Coach costs $50, with a 0% split between Club and Coach:
  * Club revenue: $10 (Court only)
  * Coach receives: $50 For longer Reservations, both the Court and Coach costs scale up because rates are per hour.

In the screenshot below:

* **On the left** is Option 1, with no court price. Customers are only paying for the Coach Rate.
* **On the right** is Option 2, where Customers pay for the court price + Coach Rate.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FOQbQjkSWbjcREFifvljO%2FScreenshot%202026-05-13%20at%2015.54.51.png?alt=media&amp;token=25c7f0c6-0c54-4da1-b46d-0fc368b2d834" alt=""><figcaption></figcaption></figure>

### User's Choice

{% hint style="info" %}
The Venue page of the Dashboard is a feature in development.
{% endhint %}

Once you have selected your preferred option, anyone with the Owner role can:

1. Navigate to the Venue page of the Dashboard
2. Open a booking Experience
3. Click over to the Pricing tab
4. Flick ON or OFF the `Free court for lessons` toggles

**Turing it OFF will** keep the court/table price when a Lesson is booked.

**Turning it ON will** take away the court/table price when a Lesson is booked.

{% hint style="danger" %}
**When this setting is turned ON, the court discount also applies to all** [**Ball Machine**](https://docs.podplay.app/coaches/set-ball-machine-as-coach) **bookings. If you are turning this setting ON, adjust the Ball Machine prices to include the discounted court price.**

In some examples with this setting turned ON:

* The court rate is $40. When a Customer books the court, they pay $40. If the Customer books a Ball Machine, they pay $10 for the Ball Machine and the court will be $0. In this situation, change the Ball Machine from $10 to $50.
* The table rate is $25. When a Customer books the table, they will pay $25. If the Customer books a Ball Machine, they pay $15 for the Ball Machine and the court will be $0. In this situation, change the Ball Machine from $15 to $40.
  {% endhint %}

This setting is available for Members and Non-members.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FWNarkYBfruqTzt9iOnNC%2FScreenshot%202026-05-13%20at%2020.01.43.png?alt=media&amp;token=e633960f-ed85-44b0-b70e-0a813571f137" alt=""><figcaption></figcaption></figure>


# Export Coach Sessions

### Overview

Owners and now Coaches can download a CSV from the **Coaches** page of the Admin Dashboard. The **Export** button is on the top right of the Coaches page (to the left of **My Settings** when the signed-in user has a Coach Profile).

#### Owner / Admin export

Anyone with the **Owner**, **Club Owner**, **Admin**, or **PodPlay Admin** role can export coaching activity for the club.

* Open **Coaches** in the Dashboard
* Click **Export**
* Choose a date range (**Current month**, **Previous month**, or **Custom**)
* Click **Export** in the modal to download the CSV

The Owner / Admin CSV includes sessions for **all Coaches** in range, with revenue and transfer amounts, plus location, court, event name, event type, and a link to each session.

#### Coach export

Coaches can export a CSV of **only the sessions they worked**.

* Sign in as the Coach and open **Coaches**
* Click **Export** (left of **My Settings**)
* Choose a date range and download the CSV

The Coach CSV includes date, duration, location, court, event name, event type, and a link to each session. It does **not** include revenue or transfer amounts — Coaches review earnings in Stripe.

{% hint style="info" %}
To learn more, read about [Exporting Data](https://docs.podplay.app/owners-playbook/data-and-security/export-data#exporting-the-coach-robot-page).
{% endhint %}


# Create a Customer Profile

### Overview

**Each Profile is unique**. The system recognizes every Customer by their:

1. Email
2. Phone Number

**These two identifiers cannot be used on >1 Profile at a time**.

When a Customer creates a Profile for the first time, they enter:

* First name
* Last name
* Birthday (optional)
* Gender (optional)
* Phone Number (optional)

{% hint style="info" %}
The more information a Customer needs to provide a Club during Profile creation, the higher the drop-off rates for Profile creation. **For every additional piece of information requested, there's a 5% increase in drop-off rate, on a generous day**. Some studies have shown as high as 40% drop-off rates when asking for more information than what is necessary.
{% endhint %}

Then Customers agree to the:

* Terms of Service
* Privacy Policy
* Liability Waiver (optional, and 99% of Clubs have one)

Once the Profile is created, the Customer can book! Customers are prompted to enter their

* Phone number
* Payment Method (credit card)

Our system brings the Customer to the edge of their seat during the booking flow, retaining the Customer within the booking flow, to gives your Club the optimal path for Customers to book private Reservation and signup for Events.

### Customer Creates a Profile

When a Customer wants to create a Profile, they will:

1. Navigate to your Web App or App
2. Type in their email and hit enter
3. Notice the system is sending them an email (similar to MFA/2FA security, the system verifies the email address is real here)
4. Open the email with a 6-digit code
5. Copy the code
6. Navigate back to the App or Web App
7. Enter the 6-digit code
8. Type in first name, last name, and accept the Terms of Service and Privacy Policy
9. Accept the Liability Waiver (should your Club have one)

The Customer will land on the More tab of the app, and can then begin to book Reservations, join Events, or purchase a Membership.

{% @supademo/embed url="<https://app.supademo.com/demo/cmp0i749z1jop4qul6rzhi39p>" demoId="cmp0i749z1jop4qul6rzhi39p" %}

If the Customer wants to add their credit card and phone number, they can either:

* Go to book a Reservation or sign up for an Event, where the system will prompt them to enter these details during the booking flow

Or:

* Click on the Account Info button at the top of the More tab
* Click on Payment Method
* Enter credit card details

### Admin Creates a Profile

Staff can create a Profile for Customers from the Customer page of the Dashboard. The information needed is:

* First Name
* Last Name
* Email address
* Phone number (added once the Profile is generated)

{% @supademo/embed url="<https://app.supademo.com/demo/cmp0irne11js34qul9m5jd1fo>" demoId="cmp0irne11js34qul9m5jd1fo" %}

To agree to the Terms of Service, the Privacy Policy, and the Liability Waiver on behalf of the Customer, staff can:

{% hint style="danger" %}
While staff can also sign the Terms of Service, the Privacy Policy, and the Liability Waiver on behalf of the Customer, it is a poor security practice to allow for staff to do this on a Customer's behalf. It is very normal and completely acceptable to ask the Customer to do this themselves. For any Customer pushing back, they have not stepped out of their house in over a decade; your staff can be gentle with them as they are re-introduced to the normal world of sports Clubs, where everyone needs to accept the terms of playing at the Club.
{% endhint %}

1. Navigate and click on a Customer’s Profile in the Customer page of the Dashboard
2. Scroll down in the Overview tab of the side panel
3. View the drawer labeled WAIVERS AND AGREEMENTS
4. Click on the three dots to the right of the any unconfirmed waiver
5. Click the button that pops up labeled “Sign on behalf of the user”

### Social Login

A Club that has Social Login enabled sees some Customer email addresses in the form `xyz@privaterelay.appleid.com`. These are Apple alias addresses. When a Customer signs up with Apple, Apple offers them the option to hide their real email address and issue an alias instead. The alias belongs to that Customer and forwards to their real inbox, so the Club can email it like any other address.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FHtY4wS213QpJ5owBaJXO%2Fimage.png?alt=media&amp;token=9433022f-a0fd-408c-8c75-64f962e1100f" alt=""><figcaption></figcaption></figure>

#### Why the alias addresses appear

At sign-up, Apple gives the Customer a choice: share their real email address, or hide it. A Customer who hides it receives an alias in the form `xyz@privaterelay.appleid.com`. That alias is what PodPlay stores on the Customer's Profile, because it is the only address Apple provides.

#### Emailing a Customer who uses an alias

The Club's domain can email an alias address the same way it emails any other address. Apple forwards the message to the Customer's real inbox. No separate setup is needed, and nothing changes in how the Club sends Reservation confirmations, Membership notices, or marketing email.

{% hint style="info" %}
An alias address is a valid, deliverable address. Do not remove these Customers from an email list or treat the address as a typo.
{% endhint %}

#### When a Customer stops sharing their email

A Customer can revoke the alias from their Apple ID settings at any time. Email sent to a revoked alias no longer reaches them. This is rare. No Club has reported a problem from it so far.

The Customer's phone number is still on their Profile, so the Club can reach them by phone or SMS if their alias stops working.

#### Why use Social Login

Sign-up friction is the reason. Letting a Customer tap one button instead of creating a password raises completion for both new and returning Customers. Spotify and Etsy offer Google and Apple sign-in for the same reason, and accept the alias addresses that come with it.

### FAQs

<details open>

<summary>What is a Customer Profile?</summary>

A Customer Profile is the unique account each Customer has within your Club’s App. When a Customer signs up on your App, they create a Profile. They will enter their name and email during sign-up by default. You can add options for birthday and gender. Customers will enter their phone number and credit card information during the booking flow.

</details>

<details>

<summary>What Customer information is in the Dashboard?</summary>

The basic Customer information inside of the Dashboard is their name, email, phone number, and the last four of their credit card information. All other information inside the Admin Dashboard relates to the Customer’s engagement with your Club.

</details>

<details>

<summary>What information is available about the Customer in relation to my Club?</summary>

Navigate to the Customer page of the Dashboard and click on any Profile. At the top, you will see options for:

* `Overview`: The Customer's general information, including name, email, phone number, account status, membership type, waivers and agreements, last four digital of their payment method.
* `Activity`: A history of the Customer's participation and revenue across time, plus a calendar view of previous Events. Revenue panels are hidden for Front Desk and Viewer.
* `Purchases`: A chronological list of all Customer purchases at your Club. Visible to **Front Desk**, **Manager**, and **Admin+** (not Viewer). Front Desk sees order lines, not refunds or the Monthly Expenses Report.
* `Security`: Any notes connected to Event or Reservations the Customer has attended, or notes directly tied to the Customer.
* `Logs`: A chronological list of activity relating to the Customer's Profile, by staff in the Dashboard and by the Customer in the App. Visible to **Viewer**, **Front Desk**, and higher when the activity feed is enabled. See [Activity Log](/support-and-troubleshooting/customer-activity-log).

</details>

<details>

<summary>Where do I go to see a customer’s past and future reservations?</summary>

Navigate to a customer’s profile and click on the `Activity` tab at the top. Then scroll down to Events and Reservations. You will see a calendar view of the customer’s activity. In this calendar you will find future, past, and even canceled Reservations and Events.

</details>

<details>

<summary>Can Customers input their Birthday and Gender?</summary>

Yes, a Customer can enter this personal information into their Profile in one of two ways:

* When the Customer first creates a Profile
* After the Customer is logged into the App

If a Club wants the Customer to add their Birthday and Gender to their Profile when creating a Profile, the Club can make these fields mandatory. Mandatory fields must have a value entered for the Profile to finish being created.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FMFwcaOa3gDDGbYwaaGuw%2Fimage.png?alt=media&amp;token=b314cc4a-e0c2-4bd1-aace-32daacafc6ea" alt=""><figcaption></figcaption></figure>

If a Club is comfortable with the Customer adding their Birthday and Gender to their Profile after they have a Profile, the Customer can enter this information by:

1. Navigating to the More tab of the app
2. Clicking on the top button labeled `Account Info`
3. Clicking on the Gender section and selecting one of the available options
4. Clicking on the Birthday section and choosing the proper dates

</details>

<details>

<summary>Where would I review a Customer's Birthday or Gender?</summary>

If the Customer has entered in their Birthday and Gender, this information is available for staff to review inside of the Customer’s Profile. For anyone in the Dashboard to view this info, they will:

1. Navigate to the Customer page of the Dashboard
2. Search for the specific Customer
3. Open their Profile
4. Scroll down and open the Personal Info drawer
5. View the Customer’s information

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FYLxgBPMJfCx8XcCLFXPt%2Fimage.png?alt=media&amp;token=77f90dd1-8270-406c-bd84-1c2389bcdd13" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Can the Club see the Customer's real email address behind the alias?</summary>

No. Apple does not share it. The alias is the address the Club has.

</details>

<details>

<summary>Does the Customer see the alias when they receive our email?</summary>

The Customer receives the message in their normal inbox. Apple handles the forwarding.

</details>

<details>

<summary>Does this affect Google sign-in too?</summary>

No. Google sign-in returns the Customer's real Gmail address. The alias only comes from Apple sign-in.

</details>

<details>

<summary>Is there an <strong>Emergency Contact</strong> area for a Customer's Profile?</summary>

Yes. Customers can add or edit an **Emergency Contact** inside the App:

* Open the App
* Go to the More tab
* Click on the Account button at the top
* Tap **Emergency Contact Info**
* Add the contact

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FgMVYCykRfhYpt6BAgw1X%2FScreenshot%202026-09-16%20at%2013.02.09.png?alt=media&amp;token=88f80c5e-b595-454d-9449-21ae1f235ecc" alt=""><figcaption></figcaption></figure>

Admins can add or review **Emergency Contacts** inside a Customer's Profile, in the `Personal Info` drawer.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FeOJyEvQgw3xerdUN2L8y%2FScreenshot%202026-09-16%20at%2013.00.04.png?alt=media&amp;token=789b369a-211c-49e4-8e1b-513c82ffb2fb" alt=""><figcaption></figcaption></figure>

</details>


# Change Credit Card(s)

### Adding a Credit Card

For a Customer to add a credit card to their Profile, they will:

* Navigate to the More tab of the app (most frequently 1bottom right)
* Click on the `Account Info` button (top button)
* Click on the button called `Payment methods`

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FgG7aiuMEV716apITA319%2Fimage.png?alt=media&amp;token=73bb2829-578b-4a8b-a643-228e79569e03" alt=""><figcaption></figcaption></figure>

### Using multiple Credit Cards

Once a credit card has been added, the Customer has the option to use different payment methods for various purchases. As an example:

* One credit card for booking Reservations or Event signups (default card)
* Another credit card for their Membership subscription

If the Customer wants to have the same payment method for all purchases, the card they add on file will become the default.

If the Customer wants to use different credit cards, they can click on the “Payment methods” button inside the Account Info section of the app and add another credit card. They can do so by:

* Clicking on the Default Payment Method
* Notice a pop-up appears
* Select “ADD PAYMENT METHOD”

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FOHM4MSkrdYBmMavrqxAO%2Fimage.png?alt=media&amp;token=3c8b6375-a4ce-4449-8212-17b78f23d035" alt=""><figcaption></figcaption></figure>

* Completing the visible boxes to add their new credit card

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FVhnksCTNZe2FCMzpKeAm%2Fimage.png?alt=media&amp;token=7211f10b-5a9f-4356-bf86-97cdc4769610" alt=""><figcaption></figcaption></figure>

Once a 2nd credit card is on file, the Customer can choose which credit card is for which purchase.

In the below screenshot, there is one card used as the Default Payment Method and another card used as the Membership Payment Method.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fbwi2Nu6TXTE3u4UXCbsL%2Fimage.png?alt=media&amp;token=6dabdf60-7b8e-4f86-8e5a-abc664192d66" alt=""><figcaption></figcaption></figure>

Adding or selecting a different credit card is also available during the booking flow.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F0xOZBNW1XbQLaV3hORSt%2Fimage.png?alt=media&amp;token=ed146192-adef-470a-897a-fb5398efcb77" alt=""><figcaption></figcaption></figure>


# Edit Phone Number or Email

### Overview

A Customer can add or change their phone number in the App. Club staff can change a phone number or an email from the Dashboard. Customers cannot change their own email.

Each email address and phone number can belong to only one Profile. If you try to add one that another Profile already uses, PodPlay rejects the change. The usual cause is a duplicate Profile created during a Profile import. PodPlay has no merge option, so the fix is to move the details onto the Profile the Customer wants to keep.

### Edit a phone number

#### From the App

The Customer:

1. Taps the `More` tab (bottom right)
2. Taps `Account`
3. Taps `Account Info`
4. Taps `Phone`
5. Enters the phone number
6. Taps `Send Code`
   1. The system sends a verification code by text message
7. Enters the code in the App

{% hint style="info" %}
**For international phone numbers,** check the flag shown next to the `Phone` field. If it matches the Customer's country, enter the number without the +CODE. If it doesn't, either pick the correct country from the flag dropdown and enter the number without the +CODE, or enter `+CODE [number]` and the App selects the flag automatically.
{% endhint %}

#### From the Dashboard

A staff member:

1. Opens the Customer Page
2. Searches for the Customer
3. Clicks the Customer's Profile. A side panel opens
4. Clicks the pencil icon next to `Phone Number` at the top of the `Overview` tab
5. Enters the phone number
6. Clicks `Save`

### Edit an email

Only Club staff can change a Customer's email, and only from the Dashboard.

1. Open the Customer Page
2. Search for the Customer
3. Click the Customer's Profile. A side panel opens
4. Click the pencil icon next to `Email` at the top of the `Overview` tab
5. Enter the new email
6. Click `Save`

### Email or phone number already in use

Emails and phone numbers are unique, so normal sign-up cannot create two Profiles with the same details. When one Customer ends up with two Profiles, it almost always comes from a Profile import that loaded both an existing set of details and a second set.

To fix it, choose the Profile the Customer wants to keep (usually the one with the email they sign in with), then move the correct details onto it.

{% hint style="warning" %}
**Remove the value from the duplicate Profile first.** PodPlay rejects an email or phone number that another Profile still holds. Clear it from the duplicate Profile before you add it to the Profile you're keeping.
{% endhint %}

1. Open the Profile the Customer wants to keep and remove any incorrect email or phone number.
2. Open the duplicate Profile and remove the correct email or phone number from it. Note the value.
3. Return to the Profile the Customer wants to keep, add the value, and click `Save`.

{% hint style="info" %}
**History does not combine.** Reservations, Memberships, and other activity stay on the Profile where they were created. Moving an email or phone number does not move that history.
{% endhint %}

#### Example

A Customer has these two Profiles:

| Profile   | Email                | Phone number   |
| --------- | -------------------- | -------------- |
| Profile 1 | `kyle@podplay.app`   | `201-575-1234` |
| Profile 2 | `kyle10@podplay.app` | `201-575-4321` |

The Customer signs in with `kyle@podplay.app`, so Profile 1 is the one to keep. Their correct phone number is `201-575-4321`, which sits on Profile 2.

1. Delete `201-575-1234` from Profile 1
2. Remove `201-575-4321` from Profile 2
3. Add `201-575-4321` to Profile 1
4. Leave Profile 2 alone

Any variation of these steps is fine. The goal is one Profile that holds all of the Customer's correct information.

### Delete or leave the duplicate Profile

Once the Profile the Customer wants to keep is correct, decide what to do with the duplicate Profile.

* **Leave it as is:** The Customer stops using it. Choose this when the duplicate Profile has history worth keeping, such as past Reservations or purchases.
* **Delete it:** Choose this when the duplicate Profile is entirely a duplicate and holds nothing worth keeping.

### FAQs

<details>

<summary>Can a Customer change their own email in the App?</summary>

No. Only Club staff can change an email, from the Dashboard.

</details>

<details>

<summary>Can PodPlay merge two Profiles into one?</summary>

No. There is no merge option today. Move the correct details onto one Profile and either delete or leave the other.

</details>

<details>

<summary>Should I deactivate or delete the duplicate Profile?</summary>

Delete it if it is entirely a duplicate. If it holds history you want to keep, leave it in place and have the Customer use the other Profile.

</details>


# Customer Tags

### Overview

Customer Tags are labels on Customers that let you find them again as a group.

* **Custom Tags** — applied by staff in a Customer's Profile, like **VIP**
* **System Tags** — the platform applies on its own from what the Customer does, like **Lesson** for anyone who has booked a court with a coach

### Related Updates

* [Read a Customer Note from the Has Notes Tag](/profiles/creating-a-customer-profile/read-a-customer-note-from-the-has-notes-tag)

### Where you will see Tags

* **A Customer's Profile** — the **Customer Tags** section, on the Overview tab above Account Status
* **The Customers list** — a **Tags** column, and a **Tags** filter for narrowing the list
* **Customer Tags page** — the full list of your Club's tags, with how many Customers hold each one (`https://[club_name].podplay.app/adminv2/companies/current/customer-tags`); this is visible from the Front Desk role up

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F0X5Cfw637orFz1wRnSpt%2FScreenshot%202026-10-01%20at%2020.32.12.png?alt=media&amp;token=6beb452c-5d41-4bce-bb14-de7e2b4e9b49" alt=""><figcaption></figcaption></figure>

### Who can do what

| Role              | Tags and untags Customers | Creates, edits and deletes Tags |
| ----------------- | ------------------------- | ------------------------------- |
| Front Desk        | Yes                       | No                              |
| Manager and above | Yes                       | Yes                             |

Viewer and lower roles do not reach the Customers or Customer Tags pages, so they do not work with Tags. No role can apply or edit a System Tag — see below.

### Tags in a Profile

* Search for the Customer and open their profile
* Find the **Customer Tags** section
* Click **Add tag** and pick a tag from the list
* To take a tag off, click the **×** on the tag

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F2I2B5U45JD77g95vfCSU%2FScreenshot%202026-10-01%20at%2020.34.49.png?alt=media&amp;token=95f674f3-c81f-4ec5-a8ed-15fbc7bce553" alt=""><figcaption></figcaption></figure>

Tags applied by the platform have no **×** and they cannot be removed. More on those below.

### Tag several Customers at once

* Go to **Settings**, then **Customer Tags**
* Click the Tag you want to apply
* Use **Add a customer to this Tag** to search for each Customer and add them

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FKzd5EoopgNh5ZNePXDX0%2FScreenshot%202026-10-01%20at%2020.37.42.png?alt=media&amp;token=c6b0088e-8037-4f9f-885a-1538beefaf43" alt=""><figcaption></figcaption></figure>

The same page lists everyone who currently holds the Tag, and lets you remove them one at a time. **Export** downloads that list as a spreadsheet.

### Find Customers by Tag

* Go to the **Customers** page
* Open **More Filters**
* Choose one or more tags under **Tags**

The list narrows to Customers holding those Tags, and the **Tags** column shows what each one holds.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FPePPNvjqLyUhRlhw75VD%2FScreenshot%202026-10-01%20at%2020.43.50.png?alt=media&amp;token=eb537d0f-0e97-4b02-bc9c-81a1e4a67bf9" alt=""><figcaption></figcaption></figure>

### System Tags

Some Tags are maintained by the platform from a Customer's activity — for example **Booked**, **Reservation**, **Lesson**, **Guest**, **Has Kids**, **On Chat**, the Replay Tags, and one Tag for each of your Event types. They are marked **System** on the Customer Tags page.

These tags:

* Go on and come off on their own as the Customer's activity changes
* Cannot be renamed, edited or applied by staff, by anyone
* Are useful for filtering and for restricting events when Customer Tag Restrictions are enabled, exactly like the tags you apply yourself

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FkMU76RXt2cOAHUgEHeBi%2FScreenshot%202026-10-01%20at%2020.38.07.png?alt=media&amp;token=efb27a10-73a2-4dae-80d5-b5653adf473b" alt=""><figcaption></figcaption></figure>

### Tags and Locations

A Tag is either available at **all locations** or limited to **selected locations**. The **Available at** column on the Customer Tags page shows which.

Staff whose role is limited to certain locations only see **Selected locations**, and can only create or edit Tags for the locations they cover.

A Tag limited to locations can only be held by Customers at those locations. Customers with a current Global or Angel membership count as being at every location, so they can always be tagged.

**If a Tag's locations are narrowed**, Customers who fall outside will lose it. Before the change is saved you will see a warning telling you how many Customers that is — for example, **12 customers outside these locations will lose this tag**.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FXY6yGg0d5q4d8msYvxW4%2FScreenshot%202026-10-01%20at%2020.42.14.png?alt=media&amp;token=7dd0cedc-4696-4893-9fd9-eaa45bb814ec" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Losing a Tag this way cannot be undone by widening the locations again. The Customers have to be added back and will not automatically have the Tag added again to their Profile.
{% endhint %}

### Why the same Tag name appears twice

Two Tags can share a name as long as they have no location in common — one club might have a **VIP** Tag at the Shibuya location and a separate **VIP** Tag at the Shinjuku location, each with its own list of Customers.

When that happens, the Tag shows its location beside the name, like **VIP · Shibuya**, so you can tell them apart. A Tag whose name is unique across the club just shows the name.

### What the numbers mean

On the Customer Tags page:

* **Customers** — how many Customers hold that Tag
* **Percentage of customers** — that Tag's share of your Customers

Both numbers follow the location filter at the top of the page. With no location chosen, they cover the whole club. Choose a location and both numbers describe that location only, so the same tag will show a smaller number.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fjk7rgQcxsI04BqdKvtgO%2FScreenshot%202026-10-01%20at%2020.45.15.png?alt=media&amp;token=e5da1358-cd1a-4fdc-8f7b-309dd8a474b8" alt=""><figcaption></figcaption></figure>

The same applies on a tag's own page, where the count beside the tag name reads, for example, **48 customers in Shibuya**.

### See who changed a Tag

Each Tag has an [**Activity Log**](https://docs.podplay.app/support-and-troubleshooting/customer-activity-log) (Logs) tab showing when it was created, renamed, given a new description or colour, had its locations changed, or was deleted, and who did it.

Applying a tag to a Customer, or removing it, is recorded on **that Customer's** activity feed rather than on the Tag.

Tags that the platform applies on its own are not recorded in either place — only changes made by staff are.

### Tips

* Deleting a Tag removes it from every Customer who holds it, including Customers outside your current location filter. The Customers themselves are not affected.
* Customers are not notified about Tags, and Tags are not shown to them anywhere in the App.
* Tags can also be used to restrict who may sign up for an Event — see the Event setup documentation.


# Read a Customer Note from the Has Notes Tag

A Customer who has a note on their Profile carries the **Has Notes** System Tag. Hovering that Tag shows the note itself, so you can read it without opening the Profile.

### Where it shows

* **The Customers list** — in the **Tags** column, hover **Has Notes**
* **A Customer's Profile** — in the **Customer Tags** section on the Overview tab, hover **Has Notes**

The note shown is the one staff write on the Profile under **Security**, in the **User Notes** section. Notes attached to a Reservation or an Event are not part of this Tag.

On the Customers list, only the first few Tags fit in the column and the rest are counted as **+2**, **+3** and so on. **Has Notes** is always first in the row, so it stays visible however many Tags a Customer holds. The Customer's other Tags follow it in their usual order.

### Good to know

* The Tag goes on by itself once a note is written, and comes off when the note is cleared — like every System Tag, it cannot be applied or removed by hand
* The tooltip shows the note as it was last saved; reload the Customers list after editing a note to see the new text
* Staff who are not allowed to read Customer notes see the Tag's standard description instead of the note
* Every other Tag still shows its own description on hover

\[SCREENSHOT NEEDED: Customers list with the Has Notes tag hovered, showing the customer's note in the tooltip]


# Security Notes

Security Notes are messages and reminders that staff can attach to a Profile for future reference. The Security Notes on a Customer’s Profile can be from a Reservation, an Event, or left directly on the Customer's Profile. To find the Security Notes on a Customer:

* Navigate to the Customer tab of the Admin Dashboard
* Search for a specific Customer
* Click into the Customer’s Profile
* Click on the Security tab at the top
* View any notes connected directly to the Customer Profile
* Review any notes from Reservations and Events the Customer has attended

There is also space to take a Customer's photo. By click on the photo, your computer will ask to access your camera (normal on any browser). If you have a camera connected to the front desk computer and want to take a photo of Customers coming in to the Club, take it here.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FEcZGdE7b2aZHdjzVKQrS%2FScreenshot%202026-05-10%20at%2022.09.41.png?alt=media&amp;token=4efa3d1c-dee2-4a3b-a8a8-41dbc0bb1db6" alt=""><figcaption></figcaption></figure>

### Related Updates

* [Read a Customer Note from the Has Notes Tag](/profiles/creating-a-customer-profile/read-a-customer-note-from-the-has-notes-tag)


# Liability Waivers

### Overview

This page details:

1. How the Customer can accept the waiver
2. How an Admin can accept the Customer’s waiver (not a good practice or common)
3. How an Admin can download the Customer’s accepted waiver

### Customer Accepts the Waiver

When a Customer first signs up for a Profile on your App, they will accept the Privacy Policy, the Terms and Conditions, and the Liability Waiver. To accept the Liability Waiver, the Customer must scroll through the waiver and click the button to “Accept,” which only becomes clickable after they have confirmed they have read the waiver.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FrQFnL7w2F23nNY9fMKeK%2Fimage.png?alt=media&amp;token=fc97cbac-59fa-45be-ac1c-40f68efe8104" alt=""><figcaption></figcaption></figure>

<details>

<summary>Where does the Customer agree to the Terms of Service and Privacy Policy?</summary>

This is where the Customer agrees during Profile creation.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FBMMchKl3Ih67EQ8rGeFu%2Fimage.png?alt=media&amp;token=ee4cfb1f-5904-4f92-a698-fc587084f3ee" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>What if my Club has multiple locations?</summary>

If your Club has multiple locations with specific waivers for different locations, Customers will be required to agree to each of the Waivers for each location, one location during Profile creation, and other location Waivers are signed if they go to book at that venue.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F770Ob9PUXfnYYLbfSsLk%2Fimage.png?alt=media&amp;token=4056990c-019e-4da3-a13e-e7a3161606bf" alt=""><figcaption></figcaption></figure>

</details>

### Admin Accepts the Waiver

For staff to accept the Liability Waiver (or Terms of Service & Privacy Policy) on behalf of a Customer, they can:

1. Navigate and click on a Customer’s Profile in the Customer page of the Dashboard
2. Scroll down in the Overview tab of the side panel
3. View the drawer labeled WAIVERS AND AGREEMENTS
4. Click on the three dots to the right of the any unconfirmed waiver
5. Click the button that pops up labeled “Sign on behalf of the user”

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FI44f94CgnJ29I5TEKaGS%2Fimage.png?alt=media&amp;token=71b803b4-3c40-488f-8ffa-6ac158b88847" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
While staff can also sign the Terms of Service, the Privacy Policy, and the Liability Waiver on behalf of the Customer, it is a poor security practice to allow for staff to do this on a Customer's behalf. It is very normal and completely acceptable to ask the Customer to do this themselves. For any Customer pushing back, they have not stepped out of their house in over a decade; your staff can be gentle with them as they are re-introduced to the normal world of sports Clubs, where everyone needs to accept the terms of playing at the Club.
{% endhint %}

### Download the Customer’s Waiver

For staff to download the Customer’s accepted waiver, they can:

1. Navigate and click on a Customer’s Profile
2. Scroll down in the Overview tab of the side panel
3. View the drawer labeled WAIVERS AND AGREEMENTS
4. Click on the three dots to the right of the any completed waiver
5. Click the button that pops up labeled “Download PDF”

The PDF will then download on to the computer and staff can print it out or send it via email, if desired.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F1bjTiROcBP9KeEOswj52%2FScreenshot%202026-07-28%20at%2017.00.53.png?alt=media&amp;token=928a031f-e53e-4870-834a-0e72e4548ecd" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
The Terms of Service & Privacy Policy cannot be downloaded to a PDF since this is hyperlinked to your marketing website. No software company will provide Customers with the ability to download their agreed-to Terms of Service & Privacy Policy.
{% endhint %}


# Set a Password

### You Should Know\...

**The PodPlay system is a password-less software**. Password-less access is considered safer than traditional password-based authentication for several reasons:

1. **Eliminates Weak Passwords**: Customers often create passwords, reuse them across multiple sites, or choose easy-to-guess passwords
2. **Protection Against Phishing**: Phishing attacks trick users into revealing their passwords
3. **Reduced Credential Stuffing**: Attackers often use credentials obtained from data breaches on other platforms (credential stuffing)
4. **No Passwords to Store**: Storing passwords securely is a challenge for companies
5. **Resistance to Brute Force Attacks**: Without a password to guess, brute-force attempts become ineffective
6. **Improved User Experience**: Not needing to remember and frequently reset passwords enhances user experience, reducing the risk of weak or poorly managed credentials

Password-less systems remove these vulnerabilities by replacing passwords with stronger authentication methods, like the PodPlay email access method.

### Customer Creates a Password

If a Customer wants to create a Password for their Profile, they can:

1. Click on the `Log out` button in the More tab of the App
2. Enter your email address
3. Ignore the system sending a 6-digit code
4. Click on the `login with your password instead` hyperlink below where the 6-digits would be entered
5. Notice two options will appear as next steps:
   1. `reset your password` or `sign in without a password`
6. Click on `reset your password`
7. Click the `Send link` button (the email address should already be populated)
8. Navigate to your email and click on the “RESET YOUR PASSWORD” button
9. Notice a new browser tab will appear
10. Type in your new desired password and hit `Reset password`

Now a password has been set for this Profile.


# Circular Signup & Sign-in Error

{% hint style="success" %}
**This issue is RESOLVED** by changing the Sign-up/Sign-in email from Magic Link to a One-Time Password (OTP). If you would like to update your environment, please reach out to the Customer Success team.
{% endhint %}

When a Customer wants to Sign-up or Sign in to your Club’s app, they will need to enter the email address associated with their Profile. If the Customer enters their email address, receives the system email to Sign-up/Sign in, clicks on the button inside the email, and it appears the system is asking them to Sign-up/Sign in again, they are likely stuck in a circular error.

**This error is a result of the email application on the Customer’s phone**. Meaning, the Customer’s email application (Gmail, Outlook, Mail, etc.) will open a browser INSIDE the email application, rather than opening the browser application on the Customer’s phone.

Staff (or a Customer) can notice if this error is happening by looking at the top of the phone’s screen, where there might be a “Done” or “Back” button available for the Customer to click.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FrHoijkOlEDYjdMUoRe19%2Fimage.png?alt=media&amp;token=d27e78b2-c58a-4604-ba6b-cf1ffdf4039f" alt=""><figcaption></figcaption></figure>

Or by looking at the bottom of the phone’s screen, where there will be an icon to open a browser like Safari or Chrome (the icon in this example is Safari).

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fl8fgBtzftzTDRBD05jkV%2Fimage.png?alt=media&amp;token=bc75497a-f50e-41ac-baa6-4edb9e08fd51" alt=""><figcaption></figcaption></figure>

The way to escape the circular sign-up error is to hold down a finger on the SIGN UP button inside the system email.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fl2Gx1VFwjAsTQWUVrQWc%2Fimage.png?alt=media&amp;token=96c2056f-dc1a-486a-af92-23776b059e44" alt=""><figcaption></figcaption></figure>

And to click on the “Copy Link” button, then paste that link inside the Customer’s preferred browser.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FHcd4j8GKZKQuLdeRIgQo%2Fimage.png?alt=media&amp;token=c24c7edd-0192-407b-918a-33fdafc020cb" alt=""><figcaption></figcaption></figure>

Another easy way to notice if the Customer is stuck in the circular sign-up error is to review the different applications open on the phone. Notice the below screenshot, where the Customer is clearly signed into the system on their Gmail application and not on Chrome, a browser application, where the Customer needs to be signed in.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FmrfFS7tExDHeAGAf5XuU%2Fimage.png?alt=media&amp;token=79e12ef6-4eb5-4cd1-8e0c-25411c589f1b" alt=""><figcaption></figcaption></figure>


# Delete or Deactivate

### Overview

A few reasons why an Admin might want to delete or deactivate a Profile are:

* Customer is seen as a bad actor
* Customer behaves in problematic ways
* Customer is continually exhibiting fraudulent behavior even after a Club staff member speaks with them

When these things happen, staff can go to the Customer’s Profile and deactivate or delete it.

#### Deactivating a Profile

* Stop that Customer from being able to sign-in to the App
* Stop the Customer from being able to use their email or phone number on another Profile
* Retain their information for future reference

#### Deleting a Profile

* Remove that Customer's information from the system, entirely
* Any reference to purchases they made will show up as "<account@deleted.com>" during [revenue reconciliation](https://podplay.gitbook.io/docs/owners-playbook/accounting-and-stripe/revenue-reconciliation)

[Customers can also delete their information from the App](https://podplay.gitbook.io/docs/owners-playbook/data-and-security/data-retention-policies#customers-deleting-data), if they want.

### Let's do it...

To deactivate or delete a Profile:

* Navigate to the Customer’s Profile
* Look for the Account Status section, near the top of the Overview tab of the side panel
  * Flick the `Status` toggle (deactivate)
  * Click the `Delete account` button (delete)
* Confirm the pop-up window

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fwhp70jSzxYEgumTQtFa3%2FScreenshot%202026-05-10%20at%2022.15.48.png?alt=media&amp;token=2910fa50-211e-476d-9f5b-37b6eb0ff952" alt=""><figcaption></figcaption></figure>


# Kid sub-Profiles & Kid-only Events

### Overview

If your Club has a lot of children coming in to the Club, you can ask your CSM to turn on the Kids Feature. This feature allows a Customer to create a Kid sub-Profile, within their Profile, so the Customer can sign their child up for Kids-only Events.

{% hint style="info" %}
**This feature is mainly used for:** after-school activities, summer camps, or holiday camps.
{% endhint %}

{% hint style="warning" %}
Today, a Kid sub-Profile cannot join a regular Event or Reservation, they can only join Kids-only Events. If a child needs to join a regular Event or Reservation, see Creating a standalone Profile for a child.
{% endhint %}

### Creating a Kid sub-Profile

There are three ways to create a Kid sub-Profile: a Customer creates one from Account Info in the App, a Customer creates one while signing up for a Kids-only Event, or an Admin creates one in the Dashboard.

{% tabs %}
{% tab title="Create in App" %}
For a Customer to add a kid to their Profile from the App:

1. Open the App
2. Tap the `More` tab
3. Tap `Account Info`
4. Tap `Kid Profiles`
5. Tap `Add a Kid Profile`
6. Fill in the child's name and date of birth
7. Add any allergies
8. Sign the waiver

Now that this Customer has a Kid sub-Profile attached to their Profile, they can sign their child up for Kids-only Events.
{% endtab %}

{% tab title="Admin Creates in the Dashboard" %}
For an Admin to create a Kid sub-Profile:

1. Navigate to the Customer's Profile
2. Open the `KIDS` drawer (near the top of the Overview tab)
3. Click the `Kid` button
4. Fill out the side panel that appears

{% hint style="danger" %}
**Admins cannot accept the child's waiver** on behalf of the parent.
{% endhint %}

The parent signs the waiver for their child when signing the child up for a Kids-only Event.
{% endtab %}

{% tab title="Create from a Kids-only Event" %}
A Customer can also add a Kid sub-Profile while signing up for a Kids-only Event:

1. Open the App
2. Tap the `Events` tab
3. Select a Kids-only Event
4. If no Kid sub-Profile exists, tap `Add a Kid Profile`
5. Fill in the child's name and date of birth
6. Add any allergies
7. Sign the waiver
8. Sign the child up for the Event

If the Customer already has one or more Kid sub-Profiles, the App prompts them to choose which children to add to the Event instead.
{% endtab %}
{% endtabs %}

### Creating a Kids-only Event

When you are [**Creating an Event**](https://help.podplay.app/en/articles/734977), an Admin checks the `Kids Only Event` box:

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FbfaxDvDQsACgFGoxsDnl%2Fimage.png?alt=media&amp;token=b11a15ad-e5e8-4a29-b867-e7a8d9ac9cab" alt=""><figcaption></figcaption></figure>

IIn doing this, the Admin is saying that ONLY Kid sub-Profiles can sign up for this Event. A regular adult with a regular Profile will not have the option to sign up for this Event when they review it in the App.

When a Customer goes to sign their child up for the Kids-only Event, the Customer receives a prompt to either choose one or several of their children to add, or to `Add a Kid` sub-Profile to their Profile.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FcKD2ubDvQkEkPItU4BPE%2Fimage.png?alt=media&amp;token=96df3935-0cef-45b2-b78e-dfcd7ae446d1" alt=""><figcaption></figcaption></figure>

Once a Customer has signed up for a Kids-only Event, their name and their child's name appear in the Attendee list of the Event.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F7lb7cvLkNX8iDI8jPaSp%2Fimage.png?alt=media&amp;token=40872d25-31d2-4e1b-bd79-024b7e38f747" alt=""><figcaption></figcaption></figure>

The icons under the Profile list show who is the parent and who is the child. If an Admin wants to review the children on the Event, they can click the `Print` button above the Attendee list and a pop-up appears. This pop-up shows all of the information pertaining to any child added to the Event.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FOtTrg8FgqM7RXScDcEBl%2Fimage.png?alt=media&amp;token=2e0bfda8-f75c-4dc4-a2e8-ee5eeb9fcf3f" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Today, a Kid sub-Profile cannot join a regular Event, they can only join Kids-Only Events.
{% endhint %}

### Creating a standalone Profile for a child (Admin-assisted)

Use this method when a child needs their own full Profile rather than a Kid sub-Profile, for example to join a regular Event or a Reservation. This requires Admin assistance because the child's Profile will not have its own phone number.

#### Customer steps

1. On a computer or phone browser, go to the Web App
2. Create a new Profile using the parent's email with a `+` modifier, for example `kyle@podplay.app` becomes `kyle+child@podplay.app`
3. Tap the `More` tab
4. Tap `Account Info`
5. Tap `Payment Methods`
6. Add a credit card to this Profile

{% hint style="info" %}
Emails sent to a `+` address are delivered to the parent's inbox, so the parent receives all confirmations and action receipts for the child's Profile.
{% endhint %}

#### Admin steps (at the front desk)

1. Search for the child's Profile (the one with the `+` email)
2. Add a placeholder phone number to the Profile (can be a fake phone number)
3. Sign up the child's Profile for an Event or add them to a Reservation


# Types of Memberships

### Overview

A Membership gives a Customer discounted access to court Reservations (and other perks) in exchange for recurring dues, and gives the Club predictable recurring revenue. The system supports three types:

1. Monthly
2. Annual
3. Non-recurring

{% hint style="success" %}
[Learn about Memberships](https://docs.podplay.app/owners-playbook/build-your-club/build-a-membership) and [Membership models](https://docs.podplay.app/owners-playbook/build-your-club/build-a-membership/membership-models#id-2.-metered-memberships-play-pass-models).
{% endhint %}

### Monthly Membership in App

Customers buy a Membership from the App by:

1. Opening the App
2. Tapping the More tab
3. Tapping the Membership button
4. Scrolling through and selecting a Membership (Customers who haven't added a card yet are prompted to add one)
5. Confirming the purchase

Membership perks apply immediately after purchase.

{% @supademo/embed url="<https://app.supademo.com/demo/cmrdd92102xc0qmo50rl25571>" demoId="cmrdd92102xc0qmo50rl25571" %}

### Provide a Membership from the Dashboard

For Staff to provide a Membership from the Dashboard:

1. Search for the Customer on the Customer page of the Dashboard
2. Open the Customer's Profile
3. Click on the pencil icon
4. Choose the preferred Membership
5. Choose the preferred `Charge type` of
   1. Free, Monthly, 6-Months, Yearly, Non-recurring
      1. Free and 6-Months are only available in the Dashboard
6. Verify the amount is correct
7. Confirm and click the blue button in the pop-up window

Once a Membership is provided from the Dashboard, you will see a blue Membership flag on the Customer's Profile.

{% @supademo/embed url="<https://app.supademo.com/demo/cmrdx14n4402zqmo5m3jwyr6w>" demoId="cmrdx14n4402zqmo5m3jwyr6w" %}

### Provide a Free Membership

This is how you can provide a complimentary Membership to a Customer using the same process as when providing a Membership from the Dashboard.

1. Open the Customer's Profile from the Customer page
2. Scroll to the Membership section under Account Status
3. Click the pencil icon
4. Select the Membership
5. Set Charge type to Free
6. Click Update Membership

Alternatively, provide a Membership to a Customer and choose Monthly or Annual option, and set the rate to $0.

The Customer now has the Membership and all its perks at no charge.

### Buy an Annual Membership

#### From the App

If a Club wants to offer Annual Memberships, ask your PodPlay CSM to set one up — it's quick. Once live, Customers buy it by:

1. Going to the Membership sign-up button on the Account tab
2. Toggling to Annual, above the Membership options
3. Clicking Join Membership
4. Clicking Activate Membership on the confirmation pop-up

The Customer is then billed once a year. If a Club doesn't offer an Annual option, the Membership shows a monthly cost only.

#### From the Dashboard

If a Club doesn't offer Annual on the front end, Admins can charge a Customer for an Annual Membership from the Dashboard, provided the Customer has a phone number and card on file.

1. Search for the Customer
2. Confirm they have an active payment method (ask them to update it if not)
3. Open the Membership section of their Profile
4. Select the Membership
5. Change the charge frequency to Yearly
6. Charge the Customer

### Buy a Non-Recurring (N-Day) Membership

**A standard Membership is a subscription**: the Customer is billed on the same day every month or year until they cancel.

**A Non-recurring (N-Day) Membership charges the Customer once and cancels automatically** after a set number of days.

* Customers pay one time
* The Membership runs for N days
* After N days it cancels automatically, and the Customer moves from Member status (blue flag) to Non-member status

Non-recurring Memberships work well for time-boxed offers:

1. Student Memberships
2. Summer Memberships
3. Seasonal Memberships

To offer a Non-recurring Membership, contact the Customer Success team to update an existing Membership or create a new one. Specify the duration in days, and if offering multiple options, provide the price and duration for each.

#### From the App

Non-recurring options only appear in the App if you are actively selling them as options for your Customers, otherwise they're Dashboard-only.

When visible, Customers go to the Membership button on the Account tab, tap the `ONE-TIME` tab, and choose from the dropdown of available Non-recurring Memberships. Perks apply for the specified number of days.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FE9IpiVzMCNwuxrloRkSJ%2Fimage.png?alt=media&amp;token=f484340e-65ce-46f2-a7ae-081b5ae26735" alt=""><figcaption></figcaption></figure>

#### From the Dashboard

1. Search for the Customer's Profile
2. Click the pencil icon under the Membership section
3. Select the Membership
4. Set Charge type to Non-recurring

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fxd4cawUglOiBUEGigZ18%2Fimage.png?alt=media&amp;token=6a2e7ae8-dc13-4d9a-a2c7-41888fdf38e3" alt=""><figcaption></figcaption></figure>

**Pre-set plans** gray out the Price and Duration fields. Choosing **Custom** unlocks both for a one-off price and duration. A system notice at the bottom of the modal shows the charge amount and how long the Membership will last.

#### Duration

The purchase day counts as day one.

* 1-day Membership: perks last until 11:59 pm that same day
* 30-day Membership: perks last 30 days from the purchase date and time (e.g., purchased Oct 1 at 8am, lasts until Oct 30 at 11:59pm)


# Group/Family Memberships

### Overview

A Group or Family Membership shares its perks across every Customer added to it, and either the Customer who bought it or Club staff can add more Customer Profiles to share it.

### Shared Perks

If Customer A buys a Group or Family Membership and adds Customer B, both Customers get:

* Discounts on private court Reservations
* The same Booking Horizon
* Discounts on Event sign-up
* A shared bucket of the Membership's Play

Passes Play Passes come out of one shared bucket rather than separate allotments. For example, a Membership with 20 Play Passes gives the group 20 total to use between them: if Customer A uses 10, 10 remain for Customer B; if Customer B uses 15 instead, 5 remain for Customer A; if Customer A uses all 20, none remain for Customer B. Each renewal period, the group receives a fresh bucket of Play Passes.

### Buying a Group or Family Membership

Buying a Group or Family Membership follows the same steps as buying any other Membership.

The difference shows up right after purchase: a pop-up asks the Customer if they want to invite someone to share it. Clicking Add members lets the Customer enter one or more email addresses, depending on how many people the Membership allows.

{% @supademo/embed url="<https://app.supademo.com/demo/cmrdd92102xc0qmo50rl25571>" demoId="cmrdd92102xc0qmo50rl25571" %}

The Customer doesn't have to add anyone right away. To add a Member later, they open the Membership button on the More tab of the App, then tap `Add a member` at the bottom of the Membership page to reach the same invite screen.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FeCE13vO2u1dt97eSKPfe%2FScreenshot%202026-07-09%20at%2017.38.09.png?alt=media&amp;token=768329e1-0390-4cc1-8a7c-ee05faef14fd" alt=""><figcaption></figcaption></figure>

### Adding a Member from the Dashboard

Club staff can add a Customer Profile to a Group Membership directly from the Dashboard:

1. Navigate to the Customer's Profile
2. Click the Customer's blue Membership flag
3. Scroll down in the Membership side panel
4. Click Add Group Member
5. Search for the other Customer's Profile
6. Click and confirm Add Group Member

The added Profile then appears in the Group Membership drawer of the side panel, where a trash can icon lets staff remove a Profile from the Group Membership.

{% @supademo/embed url="<https://app.supademo.com/demo/cmre159zn020zqmo49ddij0xl>" demoId="cmre159zn020zqmo49ddij0xl" %}

### Bypass Capacity

A Customer is capped at the Membership's normal group size, and Club staff is not. If a Group Membership allows 2 Customers to share it, the Customer who bought it can only add 1 other person on their own. Club staff can add a 3rd, 4th, or 5th person to that same Group Membership from the Dashboard.


# Corporate Memberships

### Overview

A Corporate Membership is a Hidden Membership that an Admin assigns to the employees of a Local Business Partner, billed to a single card instead of each employee paying individually. It is built on the Group Membership feature, so one card covers the whole group and the Club negotiates the price directly with the partner business.

### How a Corporate Membership is built

A Corporate Membership is a Group Membership hidden from the public Membership page, which an Admin assigns to multiple Customer Profiles from the Dashboard. One card is charged for the whole group, either the partner business's House Account or the card of a designated point person.

### Setting one up

1. Create the Membership in the Dashboard as a Hidden Membership, so it stays off the public Membership page.
2. Set the cap on the number of Customers allowed on the Membership.
3. Add each employee to the Membership manually from the Dashboard.
4. Set the price for the Membership.

{% hint style="info" %}
**An Admin can override the cap at any time.** The limit is a guardrail, not a hard block, so extra Customers can be added manually past the number set in step 2.
{% endhint %}

### Pricing

Pricing is manual, not dynamic. Adding employees to the Membership does not automatically raise its price. Admins typically negotiate tiered pricing with the partner up front, for example $300 for up to 10 people and $500 for up to 20, then manually increase the price once headcount crosses the agreed threshold. An Admin can adjust the price at any time.

### Caps on the number of Customers

A Group Membership can have a cap on the number of people, in the same way a Family Membership does. An Admin can always override the cap and add more people manually.

There is no built-in feature for rotating a fixed number of slots among a larger group of employees.

### Booking Horizon and Reservation limits

Booking Horizon can be customized for a Corporate Membership.

Concurrent Reservation and Open Play limits cannot be restricted specifically for a Corporate Membership, because a large group sharing a single pool would overload it.

### Alternatives to recurring billing

#### Play Passes for partnerships paid outside PodPlay

When a partnership was already paid for outside PodPlay, a Corporate Membership can grant a block of Play Passes, for example court-rental hours, directly to a point person instead of billing through PodPlay.

#### Non-recurring Memberships for one-time payments

For one-time payments, PodPlay supports a Non-recurring Membership type, valid for a set number of days from purchase.

{% hint style="warning" %}
**A Non-recurring Membership cannot be self-served by the point person.** It sends them to the general available-memberships page rather than the Membership's own signup page, so they cannot add teammates themselves. An Admin has to add each employee manually from a list.
{% endhint %}


# Setting up a Local Business Partner

### Overview

PodPlay supports structured partnerships with local businesses, such as a nearby gym, hotel, or corporate employer, who want to offer their members or employees access to the Club. A Local Business Partner gets a House Account for centralized billing, a Hidden Membership for its people, and a way to fill Private Events without exposing them in the App.

### House Account setup

A House Account lets the Club charge the partner business directly rather than each individual Customer. Create a Profile for the business, then attach its corporate credit card.

#### Create a Profile for the partner business

1. Go to the **Customer** page in the Dashboard.
2. Click **Create Customer**.
3. Enter the business name and the name of the primary contact.
4. Enter the contact's email address.

#### Add a credit card to the House Account

Send the following instructions to the partner contact:

1. Send them this link: `https://[clubname].podplay.app/app-menus`
2. Ask them to log in using the email address the Profile was created with.
3. Direct them to: **Sign in → More tab → Account → Payment Methods → Add card**

The card added here is the one the Club charges for future Private Events and other partnership invoices.

### Charging the partner and sending receipts

When billing the partner for a Private Event, add the partner's Profile as an attendee on the Event, then go to the **Purchase** tab to charge them.

#### Payment options

There are two options for collecting payment.

**Credit card** — charge the partner's card directly from the Purchase tab. This is the recommended approach, because it generates a receipt automatically.

**Cash** — when the Club prefers to accept a check or cash payment, use the **Cash** option in the Purchase tab of the Private Event. No receipt is generated from the Dashboard in this case. The partner can access their own receipts by going to: **App → More tab → Account → Purchase History → download icon**

#### Downloading a receipt for a card payment

1. Open the charge details in the Purchase tab.
2. Scroll to the bottom and click the **three vertical dots**.
3. Select **Download Receipt**.

### Adding partner Customers to an Event

There are two ways to add the partner's people to an Event.

#### Option 1: Manual entry from a list

1. Receive a list of attendees from the partner contact.
2. Add each person to the Event's attendee list in the Dashboard.
3. If a person does not have a Profile, create one for them first, then add them to the Event.

#### Option 2: Signup Link, recommended for Private Events

Private Events are hidden from the public-facing App, so the partner's people cannot find or join them independently. A Signup Link bypasses this.

1. Open the Event in the Dashboard.
2. Click the **three dots** in the bottom left corner of the Event panel.
3. Select **Generate Signup Link**.
4. Copy the link and send it to the partner contact.
5. The partner contact forwards the link to their people.
6. Anyone who clicks the link is prompted to join the Event. If they do not have a Profile, one is created automatically.

### Onboarding partner Customers with a Hidden Membership

For partnerships where the partner's people receive ongoing access or discounted rates, PodPlay can provision a Hidden Membership specifically for that group.

Send PodPlay the following:

* The partner business name.
* A list of the partner's people, with name, email, and phone number for each.

PodPlay then does the following:

* Creates a Hidden Membership invisible to all other Customers.
* Applies the Booking Horizon and pricing the Club specifies.
* Imports the list and assigns the Membership to each person.

{% hint style="warning" %}
**Event pricing is not applied automatically.** For Events such as Open Play and Clinics, the Club or its staff must enter a custom price on each Event to reflect the partner's discounted rate.
{% endhint %}

The Booking Horizon for this Membership can be set independently of the Club's standard Membership horizon.

For a partnership where the business pays for its employees on a single card, see Corporate Memberships.


# Insurance Memberships

### Overview

An insurance-sponsored Membership is paid for by a Customer's insurance provider, and the provider usually requires proof of attendance before it reimburses the Club or the Customer. There are two ways for a Club to pull this verification, depending on whether the provider wants one Customer's history or a full list of everyone on a given Membership type.

#### Who Sends the Verification

Sometimes the insurance provider asks the Customer directly for proof of attendance. In that case the Customer handles the submission themselves. When the provider asks the Club for verification, the Club exports the records using one of the two methods below and sends them over.

#### Method 1: Export a Customer's Monthly Report

Use this when the provider needs the attendance and spending history for a single Customer.

1. Open the Customer's Profile.
2. Click the Purchases tab.
3. Under the MONTHLY EXPENSES REPORT drawer, press Generate. The report downloads for that Customer and can be sent to the insurance provider as the verification of activity for the month.

#### Method 2: Export the Purchase Page and Filter by Membership Type

Use this when the provider needs to see everyone on a specific insurance Membership, or when you need to count visits across multiple Customers.

1. Open the Purchase page of the Dashboard.
2. Export the desired month. Only the Owner role can export data.
3. In the exported CSV, filter for Customers who hold the relevant Membership type (for example, a "Wellhub" Membership).
4. Filter further by a Customer's email to find all of the Reservations or Events that Customer signed up for.

{% hint style="info" %}
Not all wellness or "Wellhub" Memberships are the same. Different insurance programs run under different Membership names and different reimbursement terms, so confirm the exact Membership type before filtering.
{% endhint %}

#### Counting Visits for Per-Visit Reimbursement

Some insurance programs reimburse a flat amount per visit rather than a monthly subsidy. A "Silver and Fit" Membership, for example, is an insurance-sponsored option that reimburses $10 per visit, counting both private court Reservations and Open Play.

To produce a monthly visit count for a program like this, use Method 2:

* Export the Purchase page for the month
* Filter the CSV down to the relevant Membership type
* Count each Customer's Reservations and Events to get total visits

There is no dedicated report for this, so the CSV export is the path to an accurate per-visit count. The exported records give you both the number of visits and the underlying Reservations and Events that back up the figure for the provider.

#### Common Issues

* **Export button is missing or greyed out:** Only the Owner role can export data from the Purchase page. Confirm the Profile running the export has Owner permissions.
* **Customer's visits look incomplete:** A single Customer's full activity is easiest to confirm through their Monthly Report (Method 1), which pulls everything tied to that Profile.
* **Wrong Membership picked up in the filter:** Membership names vary by insurance program. Verify the exact Membership type with the Customer or the provider before filtering the CSV.

### How to Provide $0 Visits

Memberships provided with [**Play Passes**](https://docs.podplay.app/play-passes/play-pass-overview) can use their Passes to zero out the cost of Event sign-up or Reservations booked. Providing such a Membership perk to this type of to the Insurance-type Membership will provide a monthly allottment of Passes (say 10 Open Play Passes / month), and the Customer will then need to pay for the 11th and every following Open Play they wish to attend.


# Set-up Wellhub at your Club

### Overview

Wellhub (formerly Gympass) is a corporate wellness program. Employers pay for the program, and their employees use the Wellhub app to book and check in at partner facilities. A Club that partners with Wellhub can accept these Customers in two ways: a manual Wellhub Membership managed inside PodPlay, or a direct integration between PodPlay and Wellhub.

{% hint style="warning" %}
**The direct integration is not live yet.** PodPlay and Wellhub are building it as a custom integration, and there is no launch date yet. Until it launches, Clubs use the manual Membership setup described below. This article will be updated as the integration details are confirmed.
{% endhint %}

### Manual setup vs. direct integration

|                         | Manual Wellhub Membership                                             | Direct integration                                                                 |
| ----------------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| Status                  | Available now                                                         | In development                                                                     |
| Where Customers book    | In the PodPlay App or Web App                                         | In the Wellhub app only                                                            |
| What Customers can book | Anything the Membership allows, including private court Reservations  | Open Play and adult class Events (see Which Events sync)                           |
| How Customers check in  | Through PodPlay, like any other Membership                            | In the Wellhub app on arrival at the Club                                          |
| Attendance verification | The Club exports records from the Dashboard and sends them to Wellhub | Wellhub validates each Check-in itself, which triggers the Club's payout           |
| Waivers                 | Signed in PodPlay at sign-up                                          | Collected through a Wellhub-hosted Custom Registration Form before the first visit |

### Manual setup (available now)

Clubs already run Wellhub as an insurance-style Membership. The Club creates a Membership for Wellhub Customers, assigns it to each Customer, and pulls attendance records when Wellhub asks for verification.

1. Confirm the reimbursement terms with your Wellhub partner contact. Programs differ in what they pay for and how they want visits reported.
2. Create a Membership for Wellhub Customers. Name it clearly (for example, "Wellhub") so it is easy to filter in exports.
3. To give Wellhub Customers $0 visits, attach Play Passes to the Membership. Each pass zeroes out the cost of a Reservation or Event sign-up.
4. When Wellhub requests proof of attendance, export the records from the Dashboard.

Full instructions for steps 3 and 4 are in [Insurance Memberships](https://docs.podplay.app/memberships/types-of-memberships/insurance-memberships).

### Direct integration

The integration publishes the Club's PodPlay schedule in the Wellhub app. Wellhub Customers book and check in from the Wellhub app, and Wellhub passes each booking and Check-in to PodPlay. It is one integration shared by all PodPlay Clubs, not a separate build for each Club.

{% hint style="warning" %}
**Every Wellhub booking and Check-in must start in the Wellhub app.** Wellhub does not accept bookings or Check-ins from PodPlay. If a Wellhub Customer signs up in the PodPlay App, or staff check them in from the Dashboard, Wellhub never sees the visit. That visit is not validated, and it does not count toward the Club's Wellhub payout.
{% endhint %}

#### One Wellhub gym per Club location

Wellhub keeps each partner location separate, which matches how PodPlay keeps each Club's Environment separate. Wellhub maps each of its gyms to one PodPlay Club location, and each location has its own identifier and API key. A Wellhub Customer who selects a location sees only that location's Events.

Clubs with more than one location set up each location separately.

#### The visit, step by step

1. **Schedule sync.** Once an hour, Wellhub pulls the location's eligible Events from PodPlay. It adds new Events, updates changed ones, and removes deleted ones in the Wellhub app.
2. **Browsing.** The Customer opens the Club's location in the Wellhub app and sees the synced Events.
3. **Booking.** The Customer books an Event in the Wellhub app.
4. **Sign-up in PodPlay.** Wellhub creates a PodPlay Profile for the Customer and signs them up for the Event. Wellhub stores that Profile and reuses it on the Customer's later bookings, so repeat bookings do not create duplicate Profiles.
5. **Confirmation.** The Wellhub app tells the Customer whether the booking succeeded or failed.
6. **Check-in.** On the day of the Event, the Customer checks in from the Wellhub app on arrival. Wellhub only allows the Check-in when the Customer's phone is at the Club's location. Wellhub then records the Check-in in PodPlay.
7. **Validation.** Wellhub validates the Check-in, and the Customer attends the Event.
8. **Payout.** The validated Check-in starts Wellhub's payout to the Club.

Schedule changes reach the Wellhub app within an hour. A new Event, a time change, or a cancellation made in the Dashboard can take up to an hour to show in Wellhub.

#### Which Events sync

Two PodPlay Event types are in scope:

| Event type    | Includes                                                                                  |
| ------------- | ----------------------------------------------------------------------------------------- |
| `OPEN_PLAY`   | Open Play, plus any custom Event type the Club built on Open Play (for example, "Social") |
| `ADULT_CLASS` | Adult class Events, plus any custom Event type the Club built on adult classes            |

Custom Event type names sync automatically. A Club's "Social" or "Ranch Play" Event syncs under its base type, so Clubs do not need to rename anything. Events of any other type do not appear in the Wellhub app.

{% hint style="info" %}
**Private court Reservations are not part of the integration.** Wellhub's booking system is designed for group sessions, not court booking. Wellhub is reviewing whether Clinics should be included.
{% endhint %}

### Waivers and the Custom Registration Form

If a Club requires a waiver, Wellhub Customers complete a Custom Registration Form before their first booking or Check-in. The form collects the waiver and any other required details, such as emergency contact information or a health questionnaire. Clubs without a waiver skip this step.

#### What the Customer sees

1. The Customer tries to book or check in at the Club in the Wellhub app.
2. Wellhub shows a "Complete the requirements" screen. The Customer taps `Complete requirements`.
3. The registration form opens, with the Customer's Wellhub ID and the Club's location ID already attached.
4. The Customer fills in the form and accepts the terms and waiver, then submits it.
5. A confirmation screen appears with a `Back to Wellhub` button that returns the Customer to the Wellhub app.
6. Back in the Wellhub app, the Customer continues. For a Check-in, the status moves from `Request` to `Pending` to `Confirmed`, and the Customer shows the code on entry.

The requirement clears once Wellhub receives confirmation that the form was submitted. After that, the Customer books and checks in at the Club without seeing the form again.

#### Who hosts the form

For the first version of the integration, Wellhub hosts one registration form, built in Typeform, that serves every PodPlay Club. Wellhub forwards each submission to PodPlay. Clubs do not build, host, or maintain a form of their own.

This is the same Typeform setup Wellhub runs for hundreds of gyms today. It has limits a Club should know about. The form cannot check answers while the Customer fills it in, so it cannot:

* Block an underage date of birth
* Enforce a phone number format
* Confirm a Membership number or eligibility against the Club's records

Any checks on the answers happen only after the Customer submits the form. Wellhub is exploring longer-term options that allow more flexible data collection and validation.

{% hint style="info" %}
**Wellhub does not recommend partner-hosted forms.** A Club can host its own form instead. That requires development work on the Club's side to create the Customer's PodPlay Profile and to call Wellhub's registration API, which needs a separate Wellhub API key for the Club. Wellhub recommends the shared form for every PodPlay Club.
{% endhint %}

#### What to prepare

Gather these before the integration goes live and send them to PodPlay, so we can confirm the shared form covers your Club's requirements:

* The waiver and terms text Wellhub Customers must accept
* Any extra fields you require, such as emergency contact or health questions
* Any age or eligibility rules you enforce at the door

### FAQs

<details>

<summary>A Wellhub Customer signed up for Open Play in the PodPlay App. Does Wellhub count the visit?</summary>

No. Wellhub only counts bookings and Check-ins that start in the Wellhub app. Ask the Customer to book through the Wellhub app next time, and to check in there when they arrive.

</details>

<details>

<summary>Can front desk staff check in a Wellhub Customer from the Dashboard?</summary>

Not for Wellhub purposes. A Check-in made in PodPlay does not reach Wellhub, so it is not validated and does not trigger a payout. The Customer must check in from the Wellhub app while at the Club.

</details>

<details>

<summary>A new Event is not showing in the Wellhub app.</summary>

Wellhub syncs the schedule once an hour, so allow up to an hour. If the Event still does not appear, check its Event type. Only Open Play and adult class Event types, and custom types built on them, sync to Wellhub.

</details>

<details>

<summary>Does a Wellhub Customer fill out the registration form on every visit?</summary>

No. The form appears only until the Customer submits it once. After Wellhub records the submission, later Check-ins and bookings at the Club skip the form.

</details>

<details>

<summary>Does every Club need a Custom Registration Form?</summary>

No. The form is only for Clubs that require a waiver or other details before a Customer's first visit.

</details>

<details>

<summary>Can we keep using the manual Wellhub Membership after the integration launches?</summary>

Yes. The manual setup keeps working. The integration removes the need to export attendance records for Wellhub, since Wellhub validates each Check-in itself.

Private court Reservations are not part of the integration. A Club that wants Wellhub Customers to book private courts can keep the manual Membership for that.

</details>

<details>

<summary>Can Wellhub Customers book private courts through the Wellhub app?</summary>

No. The integration covers Open Play and adult class Events only. Wellhub's booking system is built for group sessions, so court Reservations are out of scope for now.

</details>

<details>

<summary>Our Club has several locations. Do we set up Wellhub once?</summary>

No. Each location is its own gym in Wellhub, with its own identifier. Wellhub Customers pick a location and see only that location's Events.

</details>

<details>

<summary>Who do we contact to become a Wellhub partner?</summary>

Wellhub manages its own partner agreements. Contact your Wellhub partner representative for enrollment and reimbursement terms, and contact PodPlay Support for anything inside your Dashboard.

</details>


# Hidden Memberships

### Overview

A Hidden Membership does not appear in the App for Customers to purchase.

Changing a Membership from `Listed` to `Unlisted` is done on the Membership page of the Dashboard. Anyone with the Owner role can change a Membership from `Listed` or `Unlisted` and back again.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FworYKwD61wipwQQ4pN8Y%2FScreenshot%202026-08-25%20at%2016.55.07.png?alt=media&amp;token=b60c2c03-1553-400f-8761-c82f9a517721" alt=""><figcaption></figcaption></figure>

Clubs can use Hidden Memberships for a single organization, an employer, a partner group, or an invited founding group, so those rates never become visible to every Customer. Two approaches exist, and the right one depends on whether the Customers buy it themselves or an Admin assigns it.

### Option 1: Share a direct Membership link

By leveraging the Slug of the Membership, a Hidden Membership can be shared with any Customer through a direct link. For example:

`https://club_name.podplay.app/memberships/founding`

Sharing this link with a specific Customer or a group of Customers allows those Customers to

* Click the link
* Land on the Membership page of the App
* See the Hidden Membership
* Buy the Hidden Membership

The Membership stays invisible to every other Customer in the App.

{% hint style="warning" %}
**The link is the only access control.** Anyone holding the link can purchase. Share it through the organization or the invited list rather than a public channel.
{% endhint %}

#### Offering more than one price tier

PodPlay builds one Hidden Membership per price tier, and each tier gets its own link. A Club offering an Individual tier and a Couple tier receives two links, and the slug names the tier:

```
https://club_name.podplay.app/memberships/founding-individual
https://club_name.podplay.app/memberships/founding-premier
```

Send both tier names and both prices in the same request so the Memberships and the links are created together.

### Option 2: Assign the Membership to Profiles manually

Use this when the Club wants control over who receives the Membership rather than distributing a link.

1. Have the Customers create a Profile in the App, or create the Profiles manually in the Dashboard.
2. Assign the Hidden Membership to those specific Profiles. A Club Admin or PodPlay can do this.

This is the approach behind a Corporate Membership or another Group Membership, where an Admin assigns one Membership across several Profiles at once.

### Using a Hidden Membership as a founding offer

A Hidden Membership is the usual vehicle for a founding or invite-only offer sold before a Club opens. The Club sends the link to an invited list, and the Membership never appears to the general Customer base.

The offer combines with two other settings:

* Payment choice at checkout, where the Club can apply the 3% processing fee to card payments and leave ACH without it. See Paying for a Membership with a card or bank account.
* A term longer than one year, held by the presale end date. See Selling multi-year and prepaid Memberships.

For the wider presale process around the offer, see Running a Membership presale.

### Verify the offer before sharing the links

1. Open each link in a browser while signed out.
2. Confirm the Membership name, tier, and price are correct.
3. Confirm the payment methods the Club expects appear at the payment step.
4. Confirm the Membership does not appear in the App's Membership list for a Customer without the link.

### Common issues

* **A Customer says the Membership is not in the App:** That is expected. A Hidden Membership is reachable only by direct link or Admin assignment.
* **A Customer cannot switch into the Membership:** A Membership currently in a presale period rejects a switch. See Upgrading and downgrading a Membership.


# Gift a Membership

### Overview

When Customer A wants to buy a block of Membership time for Customer B, staff will need to assist inside the Dashboard.

There are two possible situations:

* Customer A wants to pay for a Membership for Customer B, and Customer B HAS a Membership already
* Customer A wants to buy a Membership for Customer B, and Customer B DOES NOT HAVE a Membership already

### Customer A HAS a Membership

When Customer B has a Membership, staff can follow this process:

1. [Charge Customer A from the Dashboard](https://docs.podplay.app/payments/customer-payments#charging-from-the-dashboard) for N-months of the Membership
2. Open Customer B's Profile
   1. Click on the blue Membership flag
   2. Click on the `Settings` tab of the new side panel
   3. Change the `Next Charge Date` for the Customer N-months out from the current date
      1. IF there is also a Package connected to the Membership click OFF the `Sync dates` box so that the Customer will continue to receive their Package of Passes and will not be charged for the next month, or next several months

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FExSEyQFfNnFzbd9pNY4U%2FScreenshot%202026-07-09%20at%2015.57.10.png?alt=media&amp;token=6527ae8d-280f-4811-9bd9-c197775c9428" alt=""><figcaption></figcaption></figure>

### Customer A DOES NOT HAVE a Membership

When Customer B DOES NOT HAVE a Membership, staff can follow this process:

1. [Charge Customer A from the Dashboard](https://docs.podplay.app/payments/customer-payments#charging-from-the-dashboard) for N-months of the Membership
2. Give Customer B a `Free` Membership
   1. If Customer B does not already have a Profile, create a Profile for the Customer using their name, email, and phone number
3. Leave a reminder to update the Membership at a future date to the Monthly `Charge type`

Now you have provided a Membership to someone who did not have a Membership before, free of charge.


# Edit Memberships

### Overview

Staff with the [correct Role](https://docs.podplay.app/the-dashboard/admin-roles) can adjust a Customer's Membership from two places on the Customer's Profile:

* Click on the pencil icon (edit Membership)
* Click on the blue Membership flag

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fi7QXNNAUx85gkv1fMjOu%2FScreenshot%202026-07-09%20at%2022.36.56.png?alt=media&amp;token=cacc5c1a-2a54-499e-b7a8-1be3159e80f7" alt=""><figcaption></figcaption></figure>

### Edit Membership (pencil icon)

Clicking the pencil icon opens three options:

* [Update Memberships](https://docs.podplay.app/memberships/managing-memberships/upgrades-and-downgrades) — upgrade or downgrade a plan, make a price change, or switch their Charge Type
* [Pause Membership](https://docs.podplay.app/memberships/managing-memberships/pause-membership) — pause the Membership for a set number of weeks (if the plan is eligible and configured to include a Pause n)
* [Cancel Membership](https://docs.podplay.app/memberships/managing-memberships/cancel-a-membership) — cancel at the next billing cycle or immediately

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FSpWmePzlCSCjBjaIzYBo%2FScreenshot%202026-07-09%20at%2022.58.32.png?alt=media&amp;token=5f1afd88-3f3c-4401-8b05-c3c2b23f2780" alt=""><figcaption></figcaption></figure>

### Membership flag

Clicking the Customer's blue Membership flag opens the Membership details panel, where an Admin can:

* Review Membership details

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FfQTYhlA8xWMgpAVg4PiE%2FScreenshot%202026-10-14%20at%2016.33.02.png?alt=media&amp;token=4be931b1-536d-4872-91da-3d9c4a7659ea" alt=""><figcaption></figcaption></figure>

* [Add Group Members](https://docs.podplay.app/memberships/types-of-memberships/group-family-memberships#adding-a-member-from-the-dashboard)

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FZdFeJdK7SPqbt9SEtgAu%2FScreenshot%202026-10-14%20at%2016.32.14.png?alt=media&amp;token=b3b393da-0db2-4ebf-87c6-b8a2274645fa" alt=""><figcaption></figcaption></figure>

* Adjust Packages

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FvKZ2orbxFoxQ55WMlQqR%2FScreenshot%202026-10-14%20at%2016.31.23.png?alt=media&amp;token=b8471f59-cd9c-4f29-9872-1b132e2e4db5" alt=""><figcaption></figcaption></figure>

* Change Billing Price and Charge Date

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FdadpA8nbEScLmnrdNE5R%2FScreenshot%202026-10-14%20at%2016.33.28.png?alt=media&amp;token=434bc468-a41c-4754-8950-db64205bbbb0" alt=""><figcaption></figcaption></figure>

### Editing a Customer's Membership Price or Next Charge Date

An Admin can override what a single Customer pays without changing the Membership plan for anyone else, and can confirm the Customer's Next Charge Date from the same panel.

#### Change the Custom Monthly Price

1. Navigate to the Customer page of the Dashboard
2. Search for and open the Customer's Profile
3. Click the Customer's blue Membership flag near the top of the Overview tab of the side panel
4. Type a new value into the Custom Monthly Price field
5. Click Update The Membership's Current Price updates immediately to reflect the new value. Close and save when exiting the Customer's Profile.

> **Note:** Only an Admin Role can update a Customer's Custom Price.

#### What changing the price affects

* If the Customer later buys a new Membership, their Custom Monthly Price updates again to match the new purchase
* If the Customer has an Annual Membership, changing the Custom Monthly Price changes the amount they're charged on their next annual charge date, even though the field is labeled "Monthly"

#### Reviewing the Next Charge Date

The same blue Membership flag panel shows the Customer's current Next Charge Date next to their Custom Monthly Price, so an Admin can confirm both before making a change.

#### Converting a Monthly Membership to Annual mid-cycle

This is an edge case, best avoided by having the Customer ask about Annual Memberships before they sign up. To convert an existing Monthly Membership to Annual and charge the Customer correctly for the remaining balance of the year, contact your PodPlay CSM with:

* The Customer's name
* The amount of their Membership
* Confirmation the Customer acknowledges they'll be charged now for the remaining balance

### FAQs

<details>

<summary>What if I want to change a Membership's price?</summary>

Changing a Membership plan's price CAN update every Customer subscribed to it, taking effect on each Customer's next billing date. For example, raising a $50/month Membership to $60/month means every Customer on that plan pays $60 starting with their next bill.

Changing a Membership plan's price can also NOT update every Customer subscribed to it, taking effect on only future Customer's who buy the Membership. For example, raising a $50/month Membership to $60/month and only applying it to the Customers buying the Membership from this point forward, means everyone previously continues to pay $50/month and everyone moving forward pays $60/month

</details>

<details>

<summary>What Is Member vs. Non-Member Pricing?</summary>

A Membership's price is separate from what it charges a Customer for other things. A Club can set different rates for Members and Non-members on Reservations, Events, Leagues, and Tournaments, and can discount the Coach rate for specific Memberships.

Event pricing has separate, editable fields for Members and Non-members when the Event is created. Reservation pricing for Members and Non-members is set on the Venue page.

</details>

<details>

<summary>What about discounts for Coach rates on Memberships?</summary>

A Membership can include a discount on the Coach rate for private lessons. Every Customer holding that Membership gets the same discount when booking any Coach.

Example: a Coach costs $100/hour. A Non-member pays the full $100/hour. A Customer on a Membership with a 10% Coach discount pays $90/hour. A Customer on a Membership with a 20% Coach discount pays $80/hour.

Go to the Membership page of the Dashboard to edit the Membership discount on Coaching Lessons.

</details>


# Schedule Member's Start Date

### Overview

Staff can [assign a Membership](https://docs.podplay.app/memberships/types-of-memberships#provide-a-membership-from-the-dashboard) now and choose a future date for it to begin. The Customer is not charged and does not receive Membership pricing, access, or benefits until the selected start date.

### Schedule a New Membership

1. Navigate to **Customers** in the Dashboard
2. Search for and open the Customer
3. Click the pencil icon next to **Membership**
4. Select the Membership and Charge Type
5. Choose **Start date**. The date must be today or a future date
6. Click **Update Membership**

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F6k5ZCtR7ZeiqubXwyHIo%2FScreenshot%202026-10-14%20at%2023.14.32.png?alt=media&amp;token=0b08c2e2-c197-48f1-8829-671ebc8542d4" alt=""><figcaption></figcaption></figure>

The Customer must have a saved payment method for a paid Membership. A Membership scheduled for a future date displays as **Pending Start**.

### Change a Pending Start Date

Customers who have a Membership start date in the future are flagged as such inside their Profile.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FMVcx2nE2q5FhaaPkk4yI%2FScreenshot%202026-10-14%20at%2023.15.30.png?alt=media&amp;token=d391ea6e-4406-407b-b32c-14dc1e11268c" alt=""><figcaption></figcaption></figure>

1. Open the Customer's Membership
2. Select **Update Membership**
3. Choose a new Start date
4. Click **Update Membership**

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fb9KBZWVMkHLP2E3e8ppP%2FScreenshot%202026-10-14%20at%2023.15.39.png?alt=media&amp;token=e07e88e5-0bf8-424e-a6a7-cf6cf8a7a694" alt=""><figcaption></figcaption></figure>

You can move the date to today or another future date. Selecting today attempts the first charge and activates the Membership immediately.

### Cancel a Pending Membership

Open the pending Membership and select **Cancel Membership**. The Membership is canceled without charging the Customer.

### Group Memberships

Invited group members inherit the owner's scheduled start date. They do not receive Membership benefits before the owner’s Membership starts.

### What Happens on the Start Date

* The first Membership charge is attempted.
* Membership benefits and included Packages are granted after activation.
* The Customer begins receiving Member pricing and access.
* If payment fails, the Membership follows the standard failed-payment process.


# Upgrading & Downgrading

### Overview

A Customer or an Admin can move a Customer between Membership plans, and PodPlay calculates proration automatically. An upgrade to a more expensive Membership charges a prorated amount immediately and grants the new benefits right away by default. Admins can instead schedule an upgrade for an upcoming charge date. A downgrade to a less expensive Membership, or a switch of Charge Type on the same Membership such as Yearly to Monthly, is scheduled for the Customer's next billing date by default. All pricing calculations round to 2 decimal places.

{% hint style="warning" %}
**Two feature flags control this inside the Company Settings page of the Dashboard.**

* `membership_upgrade_downgrade` enables the feature for Admins in the Dashboard.
* `membership_upgrade_downgrade_client_facing` enables the feature for Customers in the App.
  {% endhint %}

### Related Updates

* [Group Member Buying Their Own Plan](broken://pages/LMRnGg8xfoKA311DcOHt)

### Before changing a Membership

* Confirm the Customer has an active, paid Membership.
* For an upgrade, confirm the Customer has a valid payment method on file.
* Review the Customer's current Membership details and billing cycle.
* Check for an existing scheduled change that might conflict.

### How proration works

On an upgrade, PodPlay calculates:

* **Days Remaining**, the days left in the current billing cycle.
* **Daily Rate**, the current Membership price divided by the days in the cycle.
* **Credit**, days remaining multiplied by the daily rate, rounded to 2 decimal places.
* **Prorated Charge**, the new Membership price minus the credit, rounded to 2 decimal places.

Example: a Customer on a $95 per month Membership is 10 days into a 30-day cycle, leaving 20 days, and upgrades to a $179 per month Membership. The credit is (20 ÷ 30) × $95 = $63.33. The prorated charge is $179 − $63.33 = $115.67, plus applicable taxes and fees.

The prorated amount affects that one charge only. Future charges bill at the regular Membership price.

#### Custom Price decides upgrade against downgrade

PodPlay decides whether a change counts as an upgrade or a downgrade based on the actual price the Customer will pay, including any Custom Price an Admin sets, not on the plan's default price. A Custom Price higher than the Customer's current rate is treated as an upgrade with immediate proration, even when the new plan's default price is lower.

Example: a Customer pays $150 per month for "Boston+." An Admin moves them to "Homepod Astoria," default $80 per month, and sets a Custom Price of $200 per month. Because $200 is more than the current $150, this is an upgrade with immediate proration, not a downgrade.

### Changing a Membership from the App

With the client-facing flag enabled, a Customer can change their own Membership without Admin help. The Customer opens the Membership page in the App. Their current plan shows a disabled **Your Membership** button, and other plans show a **Get Membership** button.

Selecting a new plan opens a confirmation modal, titled **Activate Membership** for a new activation or **Change Membership** for an upgrade, downgrade, or plan switch. The modal has these sections:

* **Membership Details**, the Minimum Commitment and Cancellation Notice where applicable, plus the Membership name and price. The row reads `MEMBERSHIP: [Plan Name]` for a new activation or `CHANGE TO: [Plan Name]` for a change, with the per-cycle price on the right.
* **Taxes & Fees** where applicable, each listed by name, percentage, and calculated amount.
* **Frequency Total**, the total recurring charge per billing cycle including base price, taxes, and fees.
* **Additional Charges** where applicable, including an `Adjustment for current cycle` line showing the credit from the unused portion of the current cycle on upgrades only, and the initiation fee with any applicable taxes.

When the Club has a Membership Terms of Service URL configured, the Customer must check **I have read and accept the terms and conditions** before the payment button unlocks.

On an upgrade, the Customer taps **Pay & Activate Membership**. The **Due today** amount reflects the prorated charge, payment processes immediately, and the new Membership takes effect right away.

On a downgrade or Charge Type switch, the Customer taps **Confirm Membership Change**. **Due today** shows `$0.00`, no payment is taken, and the change is scheduled for the next billing date while the Customer keeps their current benefits. The Customer's Membership Details page then shows `Switching to [New Membership Name] on [Date]` under the Type row, and tapping it shows more detail.

### Changing a Membership from the Dashboard

1. Open the Customer's Profile from the Customer page.
2. Click the **Edit Membership** button (pencil icon) in the Membership section of the side panel.
3. Select **Update Membership Plan** and click **Continue**. The other options are **Pause Membership** and **Cancel Membership**, covered in Pausing and canceling a Membership.
4. Select the plan in the **New Membership** dropdown, and select the **Charge Type** such as Monthly, Six months, or Yearly.

The **Price** field auto-populates from the selected Membership. The initiation fee is automatically waived on a switch, and the original fee still shows as a reference note.

Use **Effective date** to choose when the plan changes. Upgrades default to **Immediately**; downgrades and Charge Type switches default to the next charge date. Admins can choose from the next six charge dates. Mid-cycle dates are not available, so the charge and new benefits always begin together on a billing boundary.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FTw5e3B54D7ILIZRcDH3s%2FScreenshot%202026-10-14%20at%2016.27.49.png?alt=media&amp;token=d349358f-f8df-4d71-a161-853ae7f9cf18" alt=""><figcaption></figcaption></figure>

#### On an upgrade

A **Subscription Preview** shows the immediate charge amount, the target Membership price, the credit applied from the unused portion of the current cycle, the next billing date, and applicable taxes and fees.

An **Immediate Pro-Rated Charge** field appears, pre-filled with the calculated amount. An Admin can keep it, override it for special circumstances, or set it to `0` to waive the charge.

Clicking **Update Membership** processes payment immediately, cancels the old subscription, creates the new one starting today, and grants the new benefits right away.

To defer the upgrade, select an upcoming charge date under **Effective date**. No prorated payment is taken now, and the Customer keeps their current Membership benefits until the selected date. The new Membership is charged and its benefits begin together on that date.

#### On a downgrade or Charge Type switch

The preview shows the effective date and the new Membership's price, taxes, fees, and total. Keep the next charge date or select a later available charge date. Clicking **Update Membership** creates a scheduled change, keeps the current Membership active until the scheduled date, and takes no payment now.

### Minimum Commitment on the new Membership

When a Customer switches Memberships, they must hold the new Membership until they meet its Minimum Commitment before they can cancel.

Example: a Customer holds Membership X for 45 days, then switches to Membership Y. The Customer must meet Membership Y's Minimum Commitment before canceling the new subscription.

### Viewing a scheduled change

In the Customer's Profile, the Membership section of the side panel shows an alert reading `Update to [New Membership Name] scheduled for [Date]`.

On the Customer page list view, a Customer with a scheduled change shows a clock icon next to their Membership name, and hovering it shows the same message.

### Canceling a scheduled change

To keep the Customer on their current Membership, open the Membership drawer and click **Cancel update** in the scheduled update alert. Confirm the action. The scheduled update and clock icon disappear, while the current Membership and billing dates remain unchanged.

The same action is available from **Edit Membership**. Select **Cancel Scheduled Membership Change**, then click **Continue**.

Canceling the entire Membership also clears its pending scheduled change, but is not required to undo a plan update.

### Group Memberships and upgrades

Upgrading a Customer who **owns** a Group Membership automatically migrates every Member of the group to the new subscription. Existing enrollments are preserved, new enrollments are created for all Members, and staff takes no additional steps.

A Customer who is a Member of a Group or Team Membership, and who is not the subscription owner, can buy a different Membership for themselves. That purchase does not change the Group Membership.

#### What happens

* The Member leaves the group; only their enrollment ends.
* The owner keeps the Group Membership, and every other Member stays enrolled.
* The Member pays the full catalog price for the new Membership, including any initiation fee; the system does not apply proration credit from the owner's Group Membership.
* Extra-member fees on the owner's Group Membership decrease the same way they do when staff removes a Member from the group.

This is different from an owner upgrade. When the **owner** upgrades or downgrades a Group Membership, the system still moves or ends the whole group.

#### How to tell who is the owner

Open the Customer's profile and check the Membership section. The owner is the Customer who holds the subscription. Other people listed under Group Members are co-members.

If staff changes Membership on the **owner**, the group follows that change. If an Admin assigns a new Membership to a **co-member**, that person leaves the group and the owner's subscription stays in place.

### Email notifications

The automated system email are sent to the Customer automatically whenever a Membership change is processed.

An immediate upgrade notification confirms the new Membership name, the new charge amount and billing frequency, and the prorated amount charged for the current cycle. A scheduled upgrade, downgrade, or plan-switch notification confirms the Membership they are switching to, the new charge amount and billing frequency, and the date the change takes effect.

### Errors and troubleshooting

* **`Cannot switch to a membership that is currently on pre-sale`:** The target Membership is in a presale period. Wait until the presale ends, or choose a different Membership.
* **`You are already subscribed to this membership with the same payment plan`:** The Customer is switching to the Membership and Charge Type they already hold. Choose a different Membership or Charge Type.
* **Payment failed during an upgrade:** Confirm the payment method is valid and not expired, try a different payment method, then contact support if it persists. See Paying for a Membership with a card or bank account.
* **Feature not available for Customers:** `membership_upgrade_downgrade_client_facing` is not enabled. Contact the PodPlay CSM.
* **Feature not available for Admins:** `membership_upgrade_downgrade` is not enabled. Contact the PodPlay CSM.

### Tips

* Check the Customer's current Membership and billing cycle before making a change, and confirm no conflicting scheduled change is already in place.
* Override the calculated prorated charge only when there is a clear business reason, and document the override.
* Remember that every member of a Group Membership is affected when the **owner** upgrades. A co-member buying their own plan leaves the group and does not change the owner's subscription.
* Tell Customers that upgrades take effect immediately, downgrades take effect at the next billing date, the initiation fee is waived on any switch, and they keep their current benefits until a scheduled change takes effect.
* Point Customers to the Membership Details page in the App to check a pending change.
* A cancellation automatically cancels any pending scheduled change.


# Cancel a Membership

### Overview

The default setting is that a Customer who wants to cancel their Membership must contact the Club staff. For a Customer to cancel their Membership, they can click on the “Cancel Membership” button at the bottom of the Membership page in the App.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FoxtuB8DPn69ZfQ1dIQfS%2FScreenshot%202026-07-09%20at%2017.17.49.png?alt=media&amp;token=509dbc1c-88a8-475d-82c9-aa62c42d1a11" alt=""><figcaption></figcaption></figure>

Once clicked, the "Cancel your Membership" message will appear.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fa4oUa810rB9Dh8JX4zHu%2FScreenshot%202026-07-09%20at%2017.17.18.png?alt=media&amp;token=78c24abd-859c-4598-a8e5-a5efb890da54" alt=""><figcaption></figcaption></figure>

When staff receives a request to cancel a Customer's Membership, they will:

* Navigate to the Customer page of the Dashboard
* Search for the Customer in question
* Click into the Customer’s Profile
* Scroll down to the Membership in the Overview tab of the side panel
* Click on the pencil icon next to the blue Membership flag
* Notice a new Membership side panel pops up
* Click on Cancel

{% @supademo/embed url="<https://app.supademo.com/demo/cmre0en1n00xjqmo4v6wn72l7>" demoId="cmre0en1n00xjqmo4v6wn72l7" %}

### Commitment and Notice Periods

When a Customer cancels a Membership, two policies determine when the cancellation takes effect:

1. Minimum Commitment
2. Minimum Notice

The system default is a 60-day Minimum Commitment and a 30-day Minimum Notice. To change either setting for your Club's Memberships, someone with the [Owner Role](https://docs.podplay.app/the-dashboard/admin-roles) will need to go to the Membership page of the Dashboard and edit this per Membership type.

#### Minimum Commitment Period

This is the number of days a Customer must hold a Membership before they're allowed to cancel it. Example, with Minimum Commitment set to 60 days:

* Customer A joins on April 14th and is billed on the 14th of every month. They request to cancel on May 5th, after holding the Membership for only 21 days. Since they haven't reached the 60-day Minimum Commitment, they're charged once more on May 14th, and the Membership cancels on June 14th, the date they cross the 60-day threshold.
* Customer B is billed on the 14th of every month and has been subscribed for a year when they cancel on May 5th. Since they've already passed the 60-day Minimum Commitment, the Membership cancels on May 14th with no further charge.

#### Minimum Notice Period

This is the number of days before the next billing date that a cancellation must be requested in order to take effect without one more charge. Example, with Minimum Notice set to 20 days:

* Customer A is billed on the 14th of every month and cancels on May 5th, 9 days before the May 14th charge. Since that's short of the 20-day notice, the Membership is charged again on May 14th and cancels on June 14th.
* Customer B is billed on the 30th of every month and cancels on May 5th, 25 days before the May 30th charge. Since that clears the 20-day notice, the Membership cancels on May 30th with no further charge.

#### Minimum Commitment and Minimum Notice Together

Most Memberships have both policies active at once, and a cancellation has to clear both before it takes effect.

Example, with a 60-day Minimum Commitment and a 30-day Minimum Notice:

* Customer A is billed on the 10th of every month, joined on March 10th, and cancels on May 5th. They reach the 60-day Minimum Commitment on May 10th, but only gave 5 days of notice before that charge, short of the 30-day Minimum Notice. They're charged once more on May 10th, and the Membership cancels on June 10th.
* Customer B is billed on the 8th of every month, joined on April 8th of the prior year, and cancels on February 4th. They've long since cleared the Minimum Commitment, but only gave 4 days of notice before the February 8th charge, short of the 30-day Minimum Notice. They're charged once more on February 8th, and the Membership cancels on March 8th.

#### Switching Memberships

**If a Customer switches from one Membership to another, the Minimum Commitment resets**. They must hold the new Membership for its full Minimum Commitment period before they're eligible to cancel it.

Example: Customer A holds Membership X for 45 days, then switches to Membership Y. The Customer now has to meet Membership Y's Minimum Commitment before they can cancel.

### Staff Canceling a Membership

When the Club staff tries to cancel a Customer's Membership, they will see a notification and message about the Minimum Commitment and Minimum Notice for Normal Cancellation.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FwwtCkO56kyn3MXylLRfW%2FScreenshot%202026-10-14%20at%2016.23.44.png?alt=media&amp;token=19e73160-04c3-4035-8212-0e06e46e00c1" alt=""><figcaption></figcaption></figure>

The different ways to cancel a membership are:

When staff cancels a Customer's Membership, they choose a cancellation timing:

* **Normal Cancellation** — applies Minimum Commitment and Minimum Notice (existing policy)
* **Cancel at end of this billing period** — ends at the current period boundary with no further charges (bypasses notice/commitment)
* **Cancel at a future date** — allows Club staff to select a specific date when the Membership will cancel
* **Cancel Immediately** — ends membership benefits today

The yellow preview message updates based on the selected option.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FXJQpAvXuniZzQfP0pfuP%2FScreenshot%202026-10-14%20at%2016.24.04.png?alt=media&amp;token=0414ad19-7408-414e-85bf-6f0060294367" alt=""><figcaption></figcaption></figure>

#### Reactive a Canceling Membership

When a Membership is canceling, Club staff can reactivate the Membership for the Customer if the Customer changes their mind and doesn't want to cancel anymore.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FdNRoqqOYnhmQYiH3I6mu%2FScreenshot%202026-10-14%20at%2016.35.43.png?alt=media&amp;token=4553f4bb-f538-4aa1-aca6-f31f9ac624b9" alt=""><figcaption></figcaption></figure>

### Click-to-Cancel Button

If you want to give Customers the ability to cancel their own Membership, without needing to contact Club staff, you can turn update the cancellation settings for Memberships tab of the Company Settings page. Only a Profile with the [Owner Role](https://docs.podplay.app/the-dashboard/admin-roles) can view and edit the Company Settings page.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FCjYG1VnlODuwfcEENvRw%2FScreenshot%202026-07-09%20at%2017.27.17.png?alt=media&amp;token=f95c2180-5b51-4c04-a44f-03b6f1223f32" alt=""><figcaption></figcaption></figure>

Once updated, Customers can cancel their Membership from the App. If there is a Minimum Commitment or Minimum Notice period, these will apply.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FefKvSpRdd7QXCsMLXUGP%2Fimage.png?alt=media&amp;token=3f6d0d6c-7ffb-40be-8833-2316a04236cb" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Giving your Customers the ability to cancel their Membership withour needing to contact the Club is a legal requirement in some states. Make sure you perform plenty of due diligence on your local regulations.
{% endhint %}


# Cancellation Reasons

### Overview

When a Membership is cancelled, PodPlay can capture **why** the billing relationship ended. This helps Clubs understand cancellation trends over time.

There are two places a reason can be collected:

* When a **Customer** cancels their own Membership in the App (Click-to-Cancel)
* When **staff** cancel a Customer's Membership from the Dashboard

### Customer Cancellation (App)

If Click-to-Cancel is enabled for the Membership, the Customer must:

* Select a **Cancellation reason** from the dropdown (required)
* Optionally fill in **Tell us more** with extra details

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fk6vCon06ioZlf2zXheV0%2FScreenshot%202026-08-25%20at%2009.33.25.png?alt=media&amp;token=3ffe43dd-d06a-4162-a548-c94d5eb48272" alt=""><figcaption></figcaption></figure>

The Customer cannot confirm the cancellation until a reason is selected.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F6JDNCSdLsSD3QQpNqKJ3%2FScreenshot%202026-08-25%20at%2009.32.46.png?alt=media&amp;token=8bd87cd7-9d72-44e7-8e61-5c7674472672" alt=""><figcaption></figcaption></figure>

The Customer will see a confirmation screen once the Membership is canceled.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FH5oLo0O9HjfrXtkPW0kG%2FScreenshot%202026-08-25%20at%2009.33.34.png?alt=media&amp;token=b0bd5630-1e7a-4720-b8ab-011c8016192f" alt=""><figcaption></figcaption></figure>

### Staff Cancellation (Dashboard)

When staff cancel a Membership from the Customer's Profile, the cancellation reason is **optional**.

* Select a **Cancellation reason** if you know why the Customer is leaving
* Optionally add details in **Tell us more**
* You can still complete the cancellation without selecting a reason

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FuFqkfNGy6caZbccQcNdb%2FScreenshot%202026-08-25%20at%2009.38.30.png?alt=media&amp;token=ebf19b09-43dd-4979-a7ba-aa31fcd86375" alt=""><figcaption></figcaption></figure>

### Where staff can see the reason

After a cancellation includes a reason, staff can find it in these places on the Customer's Profile:

* **Membership History** — click **View reason** next to the membership period
* **Membership details drawer** — open the membership from History to see **Cancellation Reason** (and **Note:** when extra text was provided)

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FSAeT3R963GfhY6J8DwjT%2FScreenshot%202026-08-25%20at%2009.34.08.png?alt=media&amp;token=a62f9c26-c931-4dc1-a3dc-91a3f97c3351" alt=""><figcaption></figcaption></figure>

* **Activity log** — the cancelled membership activity includes the reason, and any written details appear after **Note**

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FTEFDVPnCRWJVOqY6avpG%2FScreenshot%202026-08-25%20at%2009.36.03.png?alt=media&amp;token=f545297b-1d99-44af-9ee9-d5c4e465cf38" alt=""><figcaption></figcaption></figure>

### Available cancellation reasons

* Too expensive
* Not using it enough
* Moving away / location no longer convenient
* Couldn't book at the times I wanted
* Injury or health reasons
* Switching to another club or facility
* Only needed it temporarily / seasonal
* Other


# Pause Membership

### Overview

The Pause Membership feature lets staff temporarily suspend a Customer's Membership while preserving their Membership status. Billing stops and benefits are suspended during the pause, then resume automatically when the pause ends.

#### Effects of a pause

* Billing stops during the pause period
* Membership benefits are suspended (for example, booking privileges and discounts)
* The Membership is not cancelled — it resumes automatically at the end of the pause
* The next billing date is extended to account for the pause duration

#### Pause statuses

* **PAUSED** — currently paused

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F9qbhWYbE8JSRgnbROcGf%2FScreenshot%202026-08-25%20at%2009.22.59.png?alt=media&amp;token=8fa3110e-a284-4143-b1ec-ca4b3f09a1bb" alt=""><figcaption></figcaption></figure>

* **PENDING\_PAUSE** — pause scheduled to start soon

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FQYoaVLeOFncP6GNsNQcO%2FScreenshot%202026-08-25%20at%2009.22.49.png?alt=media&amp;token=3a0f1e76-fc61-4493-a015-14a58c69c515" alt=""><figcaption></figcaption></figure>

### Enabling Pause for a Membership plan

Before staff can pause a Membership, the pause feature must be enabled for that Membership plan.

1. Navigate to Membership page in the Dashboard (only available to the [Owner role](https://docs.podplay.app/overview/the-dashboard/admin-roles#podplay-admin))
2. Open the Membership plan you want to configure
3. Expand the Pause Management section
4. Configure the Monthly Subscription Settings and the Yearly/6-Month Subscription Settings

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FBbh6lLycXy3B9IjKo3Na%2FScreenshot%202026-08-25%20at%2009.19.48.png?alt=media&amp;token=f859aead-ef6b-4b9a-980f-dd9e02099624" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Pause settings are configured separately for monthly vs. yearly subscriptions, so you can set different policies for each billing cycle type.
{% endhint %}

### Pause a Membership

Once the Pause feature is turned ON for a specific Membership:

1. Go to the Customer page
2. Search for the Customer with a Membership
3. Open the Customer's Profile
4. Click the blue Membership flag
5. Click the pencil icon <i class="fa-pencil-line">:pencil-line:</i>
6. Select the Pause Membership option
7. Confirm the details of the Pause
8. Click the Pause Membership button

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FhmFDrX6vyqXqwrbv3fh3%2FScreenshot%202026-10-14%20at%2016.17.10.png?alt=media&amp;token=86e88259-0977-4807-8b0f-934dffa9e2a0" alt=""><figcaption></figcaption></figure>

On the Pause configuration screen, select the pause duration and choose the `Pause start date`. The `Unpause date` will adjust automatically based on the selected quantity of weeks you are pausing the Customer's Membership for, so only change the `Unpause date` if you want it be to unique.. Staff receive a confirmation dialog when the selected pause exceeds the configured maximum.

**For monthly-type Memberships**, if you start the Pause earlier than the Next Billing Date, the unused part of the current billing cycle is applied as a balance to the first Membership charge after the Pause.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FUEqcUEiP4BBPDrXyasmY%2FScreenshot%202026-10-14%20at%2016.21.32.png?alt=media&amp;token=e4b674b1-0d74-45f8-9297-b075b5fe0716" alt=""><figcaption></figcaption></figure>

**For annual-type Memberships**, the `Pause start date` defaults to today and can be scheduled for a future date. These Memberships do not receive a prorated balance.

The `Unpause date` must be an exact number of weeks after the start date and meet the Membership's configured minimum pause length.

The Pause fee will be charged immediately.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F6lBxh7ygYupXFye2JnVk%2FScreenshot%202026-08-25%20at%2009.28.00.png?alt=media&amp;token=f5ea98f4-9f03-4c7f-b7ae-3ba6a3b7735a" alt=""><figcaption></figcaption></figure>

### Unpause a Membership early

If a Customer wants to resume their Membership before the scheduled pause end date:

1. Go to the Customer page and find the Customer
2. Open the Customer's Profile drawer
3. Click the Membership tab
4. Click the Manage Membership button
5. Select the Unpause Membership option
6. Click Continue Review the unpause details — the actual pause duration and the next charge date — then click Unpause Membership to confirm.

#### What happens when Unpaused early

* The pause ends immediately
* The next charge date is recalculated based on today's date
* Membership benefits resume right away
* The Customer receives an email notification

### Cancel a scheduled Pause

If a pause has been scheduled but hasn't started yet (status: PENDING\_PAUSE), you can cancel it:

1. Go to the Customer page and find the Customer
2. Open the Customer's Profile drawer
3. Click the Membership tab
4. Click the Manage Membership button
5. Select the Cancel Scheduled Pause option
6. Confirm the cancellation

{% hint style="warning" %}
This option only appears when the Membership status is in a "pending Pause" state.
{% endhint %}

### Schedule Membership Pause Dates

Staff can choose the start and unpause dates when creating a Membership pause. Use these dates when a Customer needs a pause that starts today, begins later, or lasts longer than the Membership's usual pause limit. The same date fields appear when you choose **Pause Membership Instead** from a pending cancellation.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FXrNLudBBVyBuC7k3PtCY%2FScreenshot%202026-10-07%20at%2011.45.14.png?alt=media&amp;token=f3cb20b8-e668-43c3-9d43-1a8d2eff1cf2" alt=""><figcaption></figcaption></figure>

#### Choose the Pause dates

* Open the Customer's Profile from the **Customers** page
* Open the Customer's Membership
* Click the pencil icon
* Select **Pause Membership**
* Select the **Pause start date**
* Select the **Unpause date**
  * The unpause date must be an exact number of weeks after the start date
  * The pause must meet the minimum number of weeks configured for the Membership
* Review the pause dates, fee, and any prorated balance
  * If a monthly pause starts before the next billing date, the unused paid time appears as a balance on the next Membership charge
  * Select **Pause with no fee** when the pause fee should be waived
* Click **Pause Membership**

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2Fc7z7unT61TNPzWvUTm0y%2FScreenshot%202026-10-07%20at%2011.44.51.png?alt=media&amp;token=54151afa-b452-4f4c-82c0-08f1ee3b4ddc" alt=""><figcaption></figcaption></figure>

#### Pause longer than the configured maximum

Staff can select an unpause date beyond the maximum pause length configured for the Membership. PodPlay displays a **Pause exceeds configured maximum** dialog before accepting the longer pause.

* Review the selected pause length and the configured maximum shown in the dialog
* Click **Continue** to use the longer pause
* Click **Cancel** to keep the current pause dates

{% hint style="warning" %}
Only continue when the longer pause has been approved. The configured maximum remains the normal policy for the Membership.
{% endhint %}

#### Billing behavior

* **Monthly Memberships**
  * The pause start date defaults to the next billing date
  * Starting the pause earlier applies the unused part of the current billing period to the first successful Membership charge after the pause
  * Starting the pause after an upcoming billing date does not skip that charge
* **Annual and six-month Memberships**
  * The pause start date defaults to today
  * A future pause does not skip a renewal that occurs before the pause starts
  * These Memberships do not receive a prorated balance

#### Tips

* Check both dates carefully before confirming the pause
* Use **Cancel Scheduled Pause** if a future pause is no longer needed
* Use **Unpause Membership** when a Customer wants to resume before the scheduled unpause date

### Pause and Cancellation interactions

When a Membership is in a pending-cancellation state (scheduled to cancel at the end of the billing cycle), staff can choose:

* **Pause Instead** — converts the pending cancellation to a pause
* **Reactivate** — clears the cancellation and returns the Membership to active status
* **Cancel Immediately** — ends the Membership right away Selecting Pause Instead automatically clears the pending cancellation and schedules the pause.

#### Pause eligibility

A Membership can only be paused if:

* Pause is enabled for the Membership plan, for the relevant Charge Type
* The subscription is recurring (monthly or yearly) — not FREE or NON\_RECURRING
* No existing pause is active or pending
* The Membership is not already cancelled
* The selected duration meets the minimum weeks configured for the plan

#### Charge Type behavior

For monthly subscriptions, the pause typically starts at the beginning of the next billing cycle — the system calculates the optimal start date to align with billing periods.

### Identifying paused Customers

In the Customer List, paused Customers show a status badge: PAUSED for a currently paused Membership, PENDING\_PAUSE for a pause scheduled to start soon. In the Customer's Profile, the Membership tab shows the current pause status, the pause start/end dates (if applicable), and the option to unpause or cancel a scheduled pause.

### Troubleshooting

* **"This membership does not support pausing"** — Pause isn't enabled for this Membership plan's Charge Type. Go to the Membership plan settings and enable pause in the Pause Management section.
* **"Membership is already paused or has a pending pause"** — You can't create a new pause when one is already active or scheduled. Wait for the current pause to complete, or unpause/cancel the existing pause first.
* **"Pause duration must be between X and Y weeks"** — The selected duration does not meet the pause rules. Staff can use custom dates beyond the maximum after confirming the warning dialog.
* **"Cannot pause a cancelled membership subscription"** — The Membership has already been cancelled (end date in the past). Pause isn't available for cancelled Memberships — consider creating a new Membership instead.
* **Pause fee failed to charge** — The Customer's payment method on file failed. Update the Customer's payment method in Stripe and retry the pause operation.


# Grace / Hold Periods

### Overview

When a monthly Membership charge fails, the Customer can temporarily lose access to Membership benefits until payment is recovered. The system handles most of the recovery automatically, moving the Membership through a `GRACE` period and then a `HOLD` period.

**Once a Membership subscription fails:**

1. The Membership will move into a `GRACE` and then `HOLD` period
2. The Customer receives an email asking them to update their payment method
3. The Customer is blocked from booking Reservations or joining Events while payment remains unresolved

In the Customer page of the Dashboard, these Members will be in an `At Risk` status.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F3Y5FM4wMHoSxCfSgbb3A%2FScreenshot%202026-07-09%20at%2014.44.22.png?alt=media&amp;token=82141fbd-7860-4fb0-8265-8aedcc9d513a" alt=""><figcaption></figcaption></figure>

### Failed-payment flow

When a Customer's charge for their Membership fails, a few things happen in sequence.

#### The Customer immediately receives an email.

The email says "your membership charge has failed, to resubscribe click here." **This email is sent only one time, when the failed charge first happens**.

If you notice a Membership charge has failed, you can ask the Customer to click on this email and complete the charge. If the Customer completes the charge through this email, the Membership is reinstated and the Customer keeps their Membership active.

Here is a drafted email asking the Customer to address the failed subscription.

> Hi \[First name],
>
> We tried to process your Membership charge and it didn't go through. Your Membership is still active, and if payment isn't recovered, you'll lose access to Membership perks until it's resolved.
>
> To fix it,
>
> 1. Look for the email from us titled "**Please Update Your Payment Details**"
> 2. Click the "Update Payment" button inside the email
> 3. Tap the button to update your card on file now that you're inside the App
>
> If your bank requires authentication, you'll be prompted for it right there, either with a push notification, email, or text message from your bank, which triggers an immediate charge and confirms your new card in the same step.
>
> This is the fastest way to clear it.
>
> Once resolved, your Membership continues without interruption!
>
> If you have questions or run into any trouble with the update flow, reply here and we'll take care of it.
>
> Best,

#### The Membership enters a Grace Period (default lasts 15 days).

During the `Grace` period, **the system retries the charge every other day**.

The Customer still has their Membership perks, like an advanced Booking Horizon.

* If the Customer tries to book anything during the Grace Period, they will receive a prompt to add a new credit card and then can complete their booking.
* If a Customer adds a new credit card, they will be charged for their previously missed Membership payment. If that charge succeeds, their original anniversary date is retained.

**This Grace Period lasts 15 days**. If you want to shorten it, it is edited inside the Company Settings page of the Dashboard.

#### After the Grace Period is a Hold Period (lasting 30 days).

During the `Hold` period, **the system retries the charge once every 3 days, for up to 10 attempts (default setting, and it can be adjusted by a PodPlay Admin if desired)**.

The Customer loses their Membership perks at the start of the Hold Period but retains their Membership flag.

* If the Customer tries to book anything during the Hold Period, they will receive a prompt to add a new credit card and then can complete their booking.
* If a Customer adds a new credit card, they will be charged for their previously missed Membership payment. If that charge succeeds, this new date of payment becomes the new anniversary date.
* If the Customer does not update their credit card, they lose their Membership status and perks, become a Non-member, and receive another email saying their Membership has been canceled.

When they next try to book, the system prompts them to enter a card. The system will not prompt them to buy a Membership again.

**This Hold Period lasts 30 days** (10 charges, with 1 charge every 3 days).

#### ACH recurring Membership behavior

For recurring Memberships paid by ACH:

* A successful ACH charge can remain in a `Pending` flag state for multiple days.
* During this period, the next Membership charge date is not advanced yet.
* PodPlay finalizes the result automatically after settlement completes.

#### Immediate recovery after ACH failure

When PodPlay detects an ACH failure, it immediately tries to recover the same Membership charge with any card on file.

* If card recovery succeeds, the Membership billing cycle is finalized, charge dates are updated, and no action is needed.
* If card recovery fails, the Membership remains in failed-payment handling (the Grace/Hold flow above).
* If no usable card is on file, the Customer is prompted to add one during their next App flow, and the missed Membership charge is retried automatically during that next booking attempt.

#### Adjusting Grace and Hold Period settings

The Grace Period length, the Hold Period length, and the number of Hold Period retry attempts are all configurable. To change any of them, you need the Owner role and can make changes in the Company Settings page of the Dashboard.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FBod08iBRhHJznDqYIMl1%2FScreenshot%202026-07-09%20at%2015.14.26.png?alt=media&amp;token=c831fe37-57ec-4092-b7e8-15c205e89356" alt=""><figcaption></figcaption></figure>


# Resolve a Membership Payment Issue

### Overview

Sometimes a Customer's recurring Membership charge does not go through, or a billing cycle becomes overdue. When this happens, you can charge the Membership right away from the Customer's Profile instead of waiting for the system to retry automatically. This helps you quickly bring a Membership back into good standing while the Customer is in front of you or on the phone.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FmKqRmadgtclohAFuPkAK%2FScreenshot%202026-08-25%20at%2007.34.05.png?alt=media&amp;token=ceb52e27-19a8-4613-9941-94b378f45140" alt=""><figcaption></figcaption></figure>

You can collect the payment using an active saved card or US ACH bank account on file, cash, or a payment link sent by email. You can also comp (waive) the cycle if needed.

### When the button appears

A **Resolve payment issue** button appears at the bottom of the Membership section on the Customer's Profile. It only shows up when a Membership actually needs attention, specifically when:

* The `membership_subscription_manual_charge` feature flag is enabled for your Club
* The Membership is a recurring plan (monthly, six-month, or yearly) with a price
* The Membership is active and not paused
* A new billing cycle is due, or the Membership is in a grace or hold period

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FEE4KqYiHvXFRRLmutNvy%2FScreenshot%202026-08-25%20at%2007.35.39.png?alt=media&amp;token=17b48dbe-8e05-4f8d-9d05-0c4952b7de14" alt=""><figcaption></figcaption></figure>

If the Membership is paid up and nothing is due, the button will not appear.

### Charge the Membership

To resolve a payment issue:

* Navigate to the Customer page of the Dashboard
* Search for the Customer and click into their Profile
* Scroll down to the Membership section in the Overview tab of the side panel
* Click the **Resolve payment issue** button
* Review the charge details in the pop-up that appears
* Choose how you want to collect payment
* Click **Re-charge** to complete the payment

The pop-up shows you the amount to be charged for the current billing cycle, along with the Membership's last charge status and, when relevant, its billing condition (for example, "In grace period"). This helps you confirm you are charging the right Customer for the right reason before you continue.

### Choose how to collect payment

The pop-up lets you choose the payment method:

* **Card** — Charge one of the Customer's active saved cards or US ACH bank accounts. Each method is shown with its brand or bank name and last four digits so you can pick the right one.
* **Cash** — Record a cash payment for the current cycle
* **Payment link** — Send the Customer an email with a link to pay themselves. Their billing dates update once they complete the payment.
* **Free of charge** — Comp the current cycle without collecting any payment

When you confirm, PodPlay processes the charge and updates the Membership's billing dates. If the payment is still processing, the billing dates will update automatically once it settles.

### Tips

* Use **Payment link** when the Customer is not present and you want them to pay with their own card.
* If a charge is declined, the pop-up will show the reason so you can try a different card or payment method.
* The **Resolve payment issue** button is only available to Managers, Owners, and Admins.
* If the button does not appear, the Membership does not currently have a payment due, or the `membership_subscription_manual_charge` feature flag is not enabled for your Club.


# ACH Payment for Memberships

### Overview

A Customer can pay for a Membership with a credit card or a US bank account, either at purchase or by changing the payment method on an existing Membership. An Admin can also charge any active saved card or US ACH bank account on a Customer's Profile when resolving a payment issue.

{% hint style="info" %}
To turn on ACH Membership payment option, contact the Customer Success team and request the feature be turned on.
{% endhint %}

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2F2Gzqg8QulAAsW4ALUc2z%2Fimage.png?alt=media&amp;token=4c53aad3-c4c1-4b11-aa9d-d6707aa0fc71" alt=""><figcaption></figcaption></figure>

### What a Customer can do in the App

#### Selecting a bank account at purchase

When a Customer buys a Membership in the App, the payment step includes a bank account option alongside card payment. The Customer selects the bank account method and completes the bank verification flow.

#### Changing an existing Membership to a bank account

1. Open the App.
2. Tap the **More** tab.
3. Tap **Payment Methods**.
4. Tap **Membership Payment Method**.
5. Tap **Add Payment Method**.
6. Choose **Bank**.

The new bank account becomes the payment method for the recurring Membership charge.

### Passing the transaction fee to Customers

A Club can pass the 3% transaction fee to the Customer rather than absorb it. This is a Club-level billing decision, and the Club tells PodPlay the date the change takes effect.

{% hint style="info" %}
**Fee changes are scheduled, not retroactive.** Charges before the effective date keep the previous fee treatment.
{% endhint %}

{% hint style="warning" %}
**Customers who are paying with a debit card** cannot be charged an additional 3% transaction fee.
{% endhint %}

#### Letting the Customer choose card or ACH

A Club can apply the 3% processing fee to card payments and leave ACH without it. The Customer then sees both methods at checkout and picks one, so the Customer decides whether to absorb the fee for the convenience of paying by card. This works on standard Memberships and on Hidden Memberships reached by a direct link. See Setting up a Hidden Membership.

### Charging a saved card or bank account from the Dashboard

When resolving a Membership payment issue, an Admin can charge an active saved card or US ACH bank account on the Customer's Profile, not only a booking card. Use this when the Club takes ACH for Memberships, or when the Customer has more than one payment method on file.

#### Selecting a payment method

1. Open **Resolve payment issue** from the Customer's Profile.
2. Keep the payment option set to **Card**.
3. Under **Payment method**, choose the active saved card or US ACH bank account to charge.

The list includes every active card and US ACH bank account on file. PodPlay preselects the Customer's Membership payment method when they have one. When they do not, it preselects their booking default.

#### What happens after confirming

A card charge usually completes right away, and the Membership billing dates update immediately.

An ACH bank charge can stay processing. Billing dates update automatically once the bank payment settles, and a success message states that the re-charge is processing while the bank has not settled yet.

{% hint style="warning" %}
**Do not re-run an ACH charge that shows as processing.** The billing dates update on settlement, and charging again produces a duplicate.
{% endhint %}

### Tips

* When no payment methods appear in the list, the Customer has no active card or US ACH bank account on file. Use **Payment link**, **Cash**, or **Free of charge** instead.
* A Club that only allows ACH for Memberships can still charge an active saved card from this pop-up when the Customer has one.

### Common issues

* **The Customer does not see a bank option:** Confirm the Customer is on a current version of the App. The bank option appears on the Membership payment step, not on one-off Reservation checkout.
* **The Customer added a bank account but the Membership still charges a card:** Adding a payment method does not always replace the Membership payment method. Have the Customer set the bank account under **More > Payment Methods > Membership Payment Method**.
* **A payment failed during an upgrade:** Confirm the payment method is valid and not expired, then try another method. See Upgrading and downgrading a Membership.


# Running a Membership Presale

### Overview

Selling your Memberships before the Club's doors open is a great way to secure Members and generate revenue as soon as possible. During a Membership Presale, court Reservation bookings I turned off, Events/programming are visible at a future date or not yet populated, and the only action a Customer can perform is creating a Profile and buying a Membership.

Three things are required to start presales:

* **Defined Membership types and their perks**
* **A start date**, meaning how far ahead of the Club's opening the presale begins
* **An end date**, meaning the day when the Club's doors open

### Step 1: Create the Memberships

Coordinating the Membership types and perks suitable for the system with your Onboarding Lead, your Club will work with the Customer Success team to create the Memberships in the environment. A Membership can be public-facing or [hidden](https://docs.podplay.app/memberships/types-of-memberships/hidden-memberships) from Customers.

{% hint style="success" %}
**Inviting a specific group?** See [Hidden Memberships](https://docs.podplay.app/memberships/types-of-memberships/hidden-memberships) for offers that stay out of the App's Membership list and are reached by a direct link.
{% endhint %}

### Step 2: Decide the [Presale strategy](https://docs.podplay.app/memberships/promotions-and-presales#staged-pricing-during-a-presale)

Settle the shape of the offer before any marketing goes out. Answer each of these:

* Is the Club contacting a preset list of people who previously expressed interest?
* Does the offer open to friends and family first?
* Is there a cap on new signups before the price rises?
* If there is a cap, what is the price-raising cadence and structure?

A cap marks the Membership **Sold Out** once the limit is reached, so decide the number before the offer goes live.

### Step 3: Send marketing blasts to Customers

Decide whether the blast goes to a preselected group, and decide what the content covers. Include a link to the Membership page in the **More** tab of the App so Customers can create a Profile and buy a Membership. Such a link would be `/account/membership` . See more [links to your App here](https://docs.podplay.app/marketing/link-from-the-app).

Tell Customers upfront what they pay today and when the next charge lands:

* On a standard presale, the Customer pays the full Membership rate at purchase.
  * The second charge lands one month after the Club opens for a Monthly Membership, or one year after for an Annual Membership.
* On a [presale with a deposit](https://docs.podplay.app/memberships/presale-deposits-for-memberships/charging-presale-deposits), the Customer pays the deposit at purchase and the balance of the first period when the presale ends (Club's open date).

{% hint style="warning" %}
**State the charge schedule in the marketing itself.** A Customer who expects nothing until opening day and sees a full charge at signup treats it as a billing error.
{% endhint %}

### Step 4: Open your Club!

Stay in close communication with your Onboarding Lead about when the Club will open, so the presale end date reflects reality. The next charge date on Memberships sold during the presale lands one month or one year after the doors open, depending on the Charge Type the Customer purchased.

{% hint style="danger" %}
**If the opening date moves, the presale end date needs to move with it.** Existing subscribers can be realigned in one action.
{% endhint %}


# Charging Presale Deposits

### Overview

During a Membership Presale, a Club can charge a one-time deposit at purchase instead of the full Membership price. The system credits the deposit toward the Customer's first subscription charge when the presale ends (Club's open date). The Club collects a smaller commitment upfront and keeps recurring billing aligned with the opening date. A Club can also schedule the first package or Credits grant to land before the presale end date.

{% hint style="warning" %}
**Presale deposits require the `membership_presale_deposit` feature flag.** PodPlay Admins configure this in the Membership editor.
{% endhint %}

### When to use a Deposit

Use a deposit when the Club wants Customers to pay a smaller amount today to secure the Membership, pay the remainder of the first billing period when the presale ends, then continue at the full rate.

Leave the deposit at `0` to keep the standard presale behavior, where the Customer pays the full Membership price at signup and recurring charges begin after the presale ends.

### How the billing works

#### With a deposit above zero

At Membership purchase the Customer pays the deposit, plus any initiation fee, rather than the full Membership rate. At the Presale end date, the Customer is charged the full rate minus the deposit already paid. Every billing period after that charges the full rate.

Monthly example, a $100 per month Membership with a $25 deposit:

1. Signup during Presale charges $25.
2. Presale end (Club's open date) charges $75, meaning $100 minus the $25 deposit credit.
3. Each month after charges $100.

Yearly example, a $1,000 per year Membership with a $200 deposit:

1. Signup during Presale charges $200.
2. Presale end (Club's open date) charges $800, meaning $1,000 minus the $200 deposit credit.
3. One year later charges $1,000.

#### With the deposit set to zero

The Customer pays the full Membership price at signup. Recurring capture is deferred until after the presale ends, then follows the normal monthly or yearly schedule. Monthly benefits are granted on the normal schedule after the presale ends, and no deposit credit applies.

### Configuring the Deposit

The deposit fields appear in the Membership drawer once **Pre-sales** is enabled for that Membership.

1. Open **Memberships** in the Dashboard.
2. Open the Membership to edit.
3. Find the **Pre-sales** section in the Membership drawer.
4. Turn **Pre-sales** on if it is off.
5. Set the **Pre-sales End Date** to the last day of the presale period.

Then set the deposit and grant fields.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FuFqPBnU8T4iKkbPBYDDf%2Fimage.png?alt=media&amp;token=b8d19211-d055-4164-b3db-f5355cfb9fbc" alt=""><figcaption></figcaption></figure>

A deposit above `0` shows helper text below the field with the deposit, remaining balance at End Date, and ongoing rate, for example `$25 Deposit Charge at purchase, $75 (remaining balance) charged at End Date, then $100 charged/mo.`

Click **Update** to save the Membership.

| Field                             | What it does                                                                                                                                       |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Presale Deposit (Monthly)**     | One-time amount charged at signup when a Customer chooses monthly billing during presale. Set to `0` for no deposit.                               |
| **Presale Deposit (Yearly)**      | One-time amount charged at signup when a Customer chooses yearly billing during presale. Set to `0` for no deposit.                                |
| **Grant Days Before Presale End** | How many days before the presale end date monthly subscribers receive their first package or Credits. Set to `0` to grant on the presale end date. |

#### Scheduling an early Package grant

A Membership that includes a **Package Template** for monthly benefits can grant the first Package before the Club opens.

1. Set **Grant Days Before Presale End** to the number of days before the presale ends, for example `7`.
2. Confirm the **Package Template** is assigned in the **Membership Benefits** section.

With grant days configured, the helper text on the Package Template field reads `[N] days before presale ends, first package is provided`. Customers who sign up during the Presale receive their first Package on that earlier date, and recurring monthly grants continue on the normal schedule after that.

### What Customers see

On the Membership page during a Presale with a deposit configured, the deposit amount is the primary price, for example `$25 Deposit Charge`, and the full recurring rate appears as secondary text, for example `$100/mo` or `$1,000/yr`.

The checkout confirmation screen states the deposit due today, that the deposit will be credited toward the first regular charge at Presale end, and the ongoing recurring amount after that. In their Profile, the Customer can see when the first regular charge occurs and the net amount after the deposit credit.

### Reviewing a Customer's Deposit status

1. Open the Customer's Profile in the Dashboard.
2. Open the **Membership** drawer.

When the Membership is in Presale and a Deposit was configured, an alert states the Presale end date, that the Customer paid a one-time Deposit at signup, and that the Deposit will be credited toward the first regular charge on the Presale end date.

When no Deposit was configured, the alert states that the Customer will not be charged again until the Presale period ends.

### Tips

* A Deposit must be less than the full monthly or yearly Membership price.
* Deposits apply to monthly and yearly Presale signups only, not to six-month plans.
* Initiation fees, when configured, are still charged separately at purchase.
* Set both the monthly and yearly Deposit amounts when the Membership offers both billing options.
* State the Deposit schedule in Presale marketing so Customers know what they pay today against what they pay at opening.
* Work with the Customer Success team when changing Presale dates close to the Club's opening.


# Adjust Presale End Date

### Overview

When an Admin changes a Membership's Pre-sales End Date in the Dashboard, the system can recalculate the `Next Charge Date` for every Customer already subscribed. Existing subscribers stay aligned with the new Presale timeline, and no one edits Customers one at a time. This matters most when a Club's opening date moves, because every Presale Customer's billing hangs off that date.

### How the prompt works

Edit a Membership that has active subscribers, change the Presales End Date, then click **Update**. A confirmation dialog titled **Presales End Date Changed** appears with two options:

* **Adjust Subscriptions** recalculates the `Next Charge Date` for all active subscribers based on the new Presales End Date.
* **No Change** updates the Presales End Date on the Membership and leaves every existing subscriber's charge date as it is.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FuiIQZDGkWHpE37JJgFiF%2FScreenshot%202026-08-26%20at%2015.43.09.png?alt=media&amp;token=41f14aa2-1be2-4d23-8cb7-f19b606e5fed" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**The dialog only appears when the Membership has active subscribers.** With no subscribers yet, the Pre-sales End Date updates without a prompt.
{% endhint %}

#### Adjusting grant dates for monthly subscribers

The dialog includes a checkbox, **Also adjust grant dates for monthly subscriptions**, enabled by default. When it is checked, the system also updates the `Next Grant Date`, meaning when Membership benefits renew, for monthly subscribers. Uncheck it to move charge dates without changing when benefits are granted.

This option applies to monthly subscriptions only. Yearly and other subscription types are not affected.

Grant dates respect the Membership's **Grant Days Before Presale End** setting. A subscriber configured for an early first grant gets a recalculated grant date on the same offset.

{% hint style="warning" %}
**Changing the price at the same time produces a second prompt.** The price-change confirmation appears after the presale end date change is handled. Read both before confirming.
{% endhint %}

### Before changing the date

Coordinate with your Onboarding Lead if the Club's open date is adjusting to another date. The charge date, the grant date, and the marketing already sent to Customers all reference the same timeline, and moving one without the others produces Customer billing questions.


# Running a Membership Promotion

### Overview

There are several ways a Club can run a Membership promotion. The path to choose depends on the objective of the promotion, like whether the discount is permanent, who sees the promotion, and whether supply is limited.

{% hint style="info" %}
**Editing the Membership page requires the Owner role.** An employee with a lesser role cannot change a Membership. Confirm you have the Owner role before trying to edit anything.
{% endhint %}

| Option                                                                                                 | Who sees it                           | What it changes    |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------- | ------------------ |
| [Hidden Membership link](https://docs.podplay.app/memberships/types-of-memberships/hidden-memberships) | Only Customers holding the link       | Visibility         |
| Credits with a Membership                                                                              | Anyone buying the Membership          | Added value        |
| Adjusting Membership cost                                                                              | Every Customer                        | Price, temporarily |
| Free month on a Monthly Membership                                                                     | Anyone buying in the window           | Charge timing      |
| Cap the number available                                                                               | Every Customer                        | Supply             |
| [FOMO early access on Events](https://docs.podplay.app/events/sign-up-for-an-event#fomo-feature)       | Non-members see, cannot sign up early | Event access       |

### Hidden Membership links

A [Hidden Membership](https://docs.podplay.app/memberships/types-of-memberships/hidden-memberships) can be shared with a small group of Customers using a unique link. When a Customer clicks the link, they land on the Membership page of the App, they can view the Hidden Membership, and they decide whether to purchase it.

Full setup, including one link per price tier, is in Setting up a Hidden Membership.

### Offering Credits with a Membership

Credits can be attached to a Membership in two ways:

* **Welcome Credits** — a one-time bundle granted on purchase
* **Monthly Credits** — a bundle granted with every Membership renewal

Customers can use Credits at checkout to lower the cost of Reservations, Event signups, and Coaching lessons (if you Club allows for Credits to be used for Coaching Lessons).

### Adjusting Membership Cost

This type of promotion is when you Club is selling a Membership at a reduced rate, then increases the rate of the Membership. Decide the date the price returns to the original cost before the offer goes live, because the increase is a manual edit on that date rather than a scheduled change.

A price change on a Membership that already has active subscribers produces a confirmation prompt in the Dashboard with two options. The choice decides whether the discount is permanent for the Customers who already bought at it, so it is the first thing to settle when designing the offer.

* **Apply Current Members** — this action will update the rate for those who already purchased the Membership at a lower rate.
  * This is a useful promotion path if you're allowing Members to buy a Membership for their first month/year at a reduced rate, then the rate increases once the window of time to buy at the lower rate passes.
  * This is also how you can update the Membership rate for all Customers holding this Membership, say, because you are increasing the price after a year or two of your Club being open.
* **Only New Members going forward** — this action will update the rate for those who have purcahsed the Membership already and for those who are going to purchase the Memebrship in the future.
  * This is a useful promotion path if you want to keep the Customers who purchase the Membership at a lower rate, to retain their lower rate. All Customers who buy the Memebrship moving forward will pay the higher rate.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FjCBbXejBbF2UPnBVeEno%2FScreenshot%202026-08-25%20at%2014.11.50.png?alt=media&amp;token=c2d7adfa-6b9b-4c56-a87a-0ef55a6438c4" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**If you are updating a Membership's rate, and there are some Customers who have a** [**Custom Rate**](https://docs.podplay.app/memberships/managing-memberships#editing-a-customers-membership-price-or-next-charge-date) **in their Profile, their rate will ALSO update.**

Meaning, after the **All Current Members** option is selected, reviewing the Customers who bought at the discounted rate requires an export of the Purchase page or a review of each Members start date in the Customer page of the Dashboard.

The cohort cannot be reconstructed later, so settle the shape of the offer before an increase.
{% endhint %}

#### Staged pricing during a [Presale](https://docs.podplay.app/memberships/running-a-membership-presale)

Staged pricing is the streamlined way to reward early signups when the Club expects high volume, because it needs no per-Customer work. Set a reduced rate at the start of the Presale, then raise it on agreed dates until it reaches the standard rate for the Membership.

1. Set the reduced rate for the opening of the Presale.
2. Raise the rate on the first agreed date.
3. Raise the rate again on the next agreed date.
4. Repeat until the Membership sits at the standard rate.

{% hint style="success" %}
When changing the rate, choose **Only New Members going forward** on every one of those increases.
{% endhint %}

Each cohort then keeps the rate it signed up at, and only Customers arriving after an increase pay more.

Settle the rates and the dates before the offer goes live, because the marketing copy has to match the schedule and each increase is a manual edit someone has to remember to make. Staged pricing also pairs with a cap on the number available.

In an example:

* A Club is opening on November 10th and starts their Membership Presale on October 1st, with Membership A in Presle for $105/month
* On October 15th, the price of Membership A increases to $125/month
* On October 31st, the price of Membership A increases to $145/month
* On November 10th, the price of Membership A reaches the final rate of $175/month and Presale has ended

For any Customer who buys Membership A early, their early actions result in a reduced rate. The two paths to follow from here are:

1. Leave all Customers who purchased Membership A in their cohort indefinitely.
   1. Membership A is left alone and anyone buying Membership A from now on, pays $175/month
2. Increase the rate of Membership A after X time
   1. 6-months later, on April 10th of the following year, change the price of Membership A to $174.99 and choose **Apply Current Members** so that all Customers with Membership A will pay $174.99 moving forward
   2. 1-year later, on November 10th of the following year, change the price of Membership A to $174.99 and choose **Apply Current Members** so that all Customers with Membership A will pay $174.99 moving forward

### Offering a free month on a Monthly Membership

Two approaches produce the result of offering a free month for the Customer, and they scale very differently.

| Approach                                                                                                                                        | How it works                                                                        | Scales to              |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------- |
| [Move the Next Charge Date](https://docs.podplay.app/memberships/managing-memberships#editing-a-customers-membership-price-or-next-charge-date) | Staff move the **Next Charge Date** out by a month on each Customer's Membership    | A handful of Customers |
| Reduced monthly rate                                                                                                                            | Sell the Monthly Membership at a lower rate and describe the saving as a free month | Hundreds of Customers  |

#### [Moving the Next Charge Date](https://docs.podplay.app/memberships/managing-memberships#editing-a-customers-membership-price-or-next-charge-date)

This is the only approach that gives a Customer a genuinely free period. Staff push the date out per Customer, so a Presale with hundreds of signups makes it impractical.

1. Open the Customer's Profile in the Dashboard.
2. Click the blue Membership flag.
3. Open the **Settings** tab.
4. Move the **Next Charge Date** out by the number of months the Club is giving away.
5. Leave the **Next Grant Date** where it is.

{% hint style="warning" %}
**Do not move the Next Grant Date with the charge date.** When the Membership has a Package connected, the grant date controls when the Customer receives that Package. Pushing it out with the charge date withholds the Package for the same month or two, so the Customer pays nothing and also gets nothing. Move the charge date alone.
{% endhint %}

#### Using a reduced rate instead

For a Presale where signups run into the hundreds, a reduced rate is the practical choice, because it needs no per-Customer work. A Monthly Membership normally priced at $110 per month, sold at $100 per month during the presale, saves the Customer roughly one month of dues across a year, so the offer can be marketed as introductory pricing or as an extra month free where the math supports the claim.

{% hint style="warning" %}
**Check the math before promising a free month in marketing.** A discount described as a free month has to add up to a month of dues over the period the Customer is comparing, or the Customer treats the gap as a billing error.
{% endhint %}

Combine the reduced rate with staged increases to close the offer on a date. Customers who sign up during the window keep the introductory rate, and Customers who arrive after the increase are not eligible for it.

### Limiting the number of Memberships available

Capping the number of possible Membership purchases marks the Membership **Sold Out** once the limit is reached.

A cap pairs with staged pricing during a presale, where the price rises after a set number of signups. Decide the cap and the price-raising cadence before the offer goes live. See Running a Membership presale.

### Member-only Events with the FOMO feature

This type of promotion is constantly running in your App. If there's a difference in your [Booking Horizon](https://docs.podplay.app/events/sign-up-for-an-event#booking-horizon) for Events, the FOMO feature lets a Non-member see an Event and blocks them from signing up during an early window. Only Customers with a Membership can sign up for the Event in that window.

Allowing for Customers with a Membership to sign-up first, before opening it to Non-members, makes the Event more likely to fill with existing Members and gives the Membership visible value.


# Multi-year & Pre-paid Memberships

### Overview

The path to selling a Membership multiple years in advance is handled in one of a few ways because the system does not sell multi-year Memberships in a single transaction.

| Route                                          | Use it when                                                                            | Charges                |
| ---------------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------- |
| Presale end date holds the term                | Selling a new prepaid multi-year offer, typically a founding Membership before opening | One charge at purchase |
| Customer buys year one, Admin charges year two | The Customer already purchased in the App                                              | Two charges            |
| Admin creates the Membership at a doubled rate | The Admin sells the whole term and wants a single charge on an existing Membership     | One charge             |

{% hint style="info" %}
None of these options scale as this functionality is not native to the system.
{% endhint %}

### Route 1: Let the [Presale](https://docs.podplay.app/memberships/presale-deposits-for-memberships) end date hold the term

By setting a Presale end date to be two years out beyond the Club's opening date, all Customers who buy this Membership will have a Next Charge Date many years into the future.

For example, a two-year term for a Club opening on November 18, 2026 uses a Pre-sales End Date of November 18, 2028. The Customer is charged at purchase and is not charged again until that date.

If the Membership has a connected Package, a Club staff member must then go into each Customer's Profile who purchased the Membership and check OFF the `Sync dates` box, and change the Next Grant Date to be when the Club opens.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FT8YQpjEovkbhEUvRaqV8%2FScreenshot%202026-08-28%20at%2023.52.06.png?alt=media&amp;token=9dfdef9c-aa50-415f-bdfa-5b4b8654cd02" alt=""><figcaption></figcaption></figure>

### Route 2: Customer buys year one, Admin charges year two

Use this when the Customer already purchased the Membership in the App. The Customer has confirmed the Membership type and has a payment method on file.

1. Open the Customer's Profile in the Dashboard.
2. Open the **Purchases** tab.
3. Click **+ Charge**.
4. Charge the Customer for the second year.
5. Return to the **Overview** tab of the Profile.
6. Click the blue Membership flag.
7. Open the **Settings** tab.
8. Set the **Next Charge Date** one year further out.

### Route 3: Admin creates the Membership at a doubled rate

Use this when the Admin sells the whole term on an existing Membership and wants one charge rather than two.

1. Charge the Customer from the Dashboard.
2. Open the Customer's Profile.
3. Click the pencil icon in the **Overview** tab.
4. Select the Membership type.
5. Choose the **Yearly** option.
6. Set the rate to double the annual rate.
7. Click the blue button to update the Membership for this Customer.
8. Click the blue Membership flag.
9. Open the **Settings** tab.
10. Set the **Next Charge Date** one year further out.
11. Set the rate back to the **base price** for that annual plan.

<figure><img src="https://29730733-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvxoNuJiMibWwb1kotX38%2Fuploads%2FYSjnr8sxSgkARMj1b0Aa%2FScreenshot%202026-08-28%20at%2023.54.54.png?alt=media&amp;token=70f98543-04d2-4784-8c27-938fd7e03b5a" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Reset the rate after the doubled charge.** If the rate stays at double, the Customer pays double again at the next renewal in two years.
{% endhint %}


# Package for a limited time

### Overview

A Club can attach a Package to a Membership for a promotion, such as "4 free Lessons with the Plus Membership on Black Friday," and then remove the Package when the promotion ends. The Package is linked to the Membership, not to each Customer, so attaching or removing it changes what the system grants on each Customer's Next Grant Date. It does not add or take away Packages that Customers already hold.

Package benefits are granted monthly, even on an annual Membership.&#x20;

{% hint style="info" %}
**Editing a Membership and the Package Templates page require the Owner role.** Confirm the Profile has the Owner role before setting up the promotion.
{% endhint %}

### Membership Packages vs. Standalone Packages

Pick the Package type before planning the promotion. The two types reach different Customers.

| Package type                                                                                      | Who receives it                                | How often                         | Good fit for                                   |
| ------------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------- | ---------------------------------------------- |
| Membership Package                                                                                | Every Customer with that Membership            | On each Next Grant Date (monthly) | A perk that comes with buying the Membership   |
| [Standalone Package](https://docs.podplay.app/play-passes/play-pass-overview/standalone-packages) | Any Customer who buys it, Member or Non-member | Once, at purchase                 | A Black Friday or Cyber Monday punch card sale |

If the goal is to sell a bundle of Passes on Black Friday, a Standalone Package is the simpler path. The rest of this article covers the Membership Package path, where the Package comes with the Membership.

### What happens when a Package is attached or removed

#### Attaching a Package

* Customers who buy the Membership while the Package is attached receive the Package.
* Customers who already hold the Membership receive the Package on their Next Grant Date while the Package is still attached.
* Customers who already hold the Membership do not receive the Package right away. To give it to them now, [grant the Package](https://docs.podplay.app/play-passes/play-pass-overview/grant-a-membership-package-to-a-customer) to each Customer, or grant it in bulk from the Package page of the Dashboard (this will grant the Package to ALL Customers who hold that Membership).

#### Removing a Package

* Customers keep the Passes they already received. Removing the Package from the Membership does not take Passes out of Customer Profiles.
* Customers keep those Passes until their Next Grant Date.
* On the Next Grant Date, Customers do not receive the Package again, because it is no longer on the Membership.

{% hint style="warning" %}
**The Next Charge Date and the Next Grant Date are synced by default.** Any Customer whose Next Grant Date falls inside the promotion window receives the Package as part of their normal renewal, even if they did not buy during the promotion. The two dates can be unsynced per Customer, so check the Next Grant Date, not only the Next Charge Date, when reviewing who will receive the Package.
{% endhint %}

### Choose a promotion flow

| Flow                                              | Package attached                    | Who receives the Package                                                                                                                       | Extra staff work                                                                           |
| ------------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| Sell for one day                                  | Morning to evening of one day       | Buyers that day, plus Members whose Next Grant Date is that day                                                                                | Remove the Package from renewing Members if the offer is for new buyers only               |
| Sell through a weekend                            | Thursday night to Monday morning    | Buyers in the window, plus Members whose Next Grant Date is in the window                                                                      | Same as above, across more days                                                            |
| Sell a new Membership, giving a one-month Package | While the new Membership is on sale | Customers who buy the new Membership                                                                                                           | Create and later hide or edit the Membership to not have the Package after the sale period |
| Keep the perk all year for the cohort             | Stays attached until the next year  | Customers who buy the new Membership every month, until the Package is removed from the Membership next year, before the end of the 12th month | Hide the Membership when the promotion ends                                                |

{% hint style="warning" %}
There is no current way to filter in the Dashboard for which Profiles have a Package or when Members have their Next Grant Date; staff will need to review all Members by Next Charge Date. Keep this in mind if you are choose the flows:

* Sell for one day
* Sell through a weekend
  {% endhint %}

The examples below use Black Friday, Friday, November 27th.

#### Sell for one day

1. On the morning of November 27th, attach the Package to the Membership
2. Customers who buy the Membership that day receive the Package
3. On the evening of November 27th, remove the Package from the Membership
4. Review Customers with that Membership whose Next Grant Date was November 27th; they renewed that day and also received the Package.
   1. There is no current way to filter in the Dashboard for which Profiles have a Package or when Members have their Next Grant Date; staff will need to review all Members by Next Charge Date.
5. If the offer is for new buyers only, remove the Package from the Profiles of Members who renewed rather than bought

#### Sell through a weekend

1. On Thursday night, November 26th, attach the Package to the Membership
2. Customers who buy the Membership between Friday and Monday receive the Package
3. Members whose Next Grant Date falls between Friday and Monday receive the Package with their renewal
   1. There is no current way to filter in the Dashboard for which Profiles have a Package or when Members have their Next Grant Date; staff will need to review all Members by Next Charge Date.
4. On Monday morning, November 30th, remove the Package from the Membership
5. If every current Member should also receive the Package, grant it to them before removing it in step 4

#### Sell a new Membership, giving a one-month Package

1. Create a brand new Membership with the desired Package attached
2. Make the new Membership visible to Customers on November 27th; it sits alongside the Memberships the Club already sells
3. Customers who buy the new Membership receive the Package
4. Remove the Package from the new Membership before the Next Grant Date in the following month, so buyers receive it once

#### Keep the perk all year for the promotion cohort

Use this when buyers during the promotion should keep receiving the Package every month for the life of their Membership, while Customers who arrive later cannot get it.

1. Create a second Membership with the Package attached
2. Make the new Membership visible for the promotion window
3. When the promotion ends, change it to a [Hidden Membership](https://docs.podplay.app/memberships/types-of-memberships/hidden-memberships) so new Customers can no longer buy it
4. Leave the Package attached. Customers who bought during the promotion keep receiving it on each Next Grant Date
   1. Customers who buy the new Membership, every month, until the Package is removed from the Membership next year, before the end of the 12th month

{% hint style="warning" %}
**Removing the Package ends the monthly grants for everyone on that Membership.** Attaching and removing a Package on an existing Membership cannot give the promotion buyers a year of monthly grants. Only a separate Membership with the Package left attached does that.
{% endhint %}

### Common issues

* **A Member who did not buy during the promotion received the Package:** Their Next Grant Date fell inside the window. Remove the Package from their Profile if the offer was for new buyers only.
* **Current Members did not receive the Package after it was attached:** Attaching a Package does not grant it right away. Grant it manually or in bulk from [Grant a Package](https://docs.podplay.app/play-passes/play-pass-overview/grant-a-membership-package-to-a-customer).
* **Promotion buyers did not receive the Package the next month:** The Package was removed from the Membership. Use the "Keep the perk all year" flow for monthly grants.
* **Passes are still on Profiles after the Package was removed:** This is expected. Customers keep current Passes until their Next Grant Date.

### FAQs

<details>

<summary>Does an annual Membership grant the Package once for the whole year?</summary>

No. Package benefits are granted monthly, even on an annual Membership. If the Package is removed after the promotion, the Customer receives the Package for the current cycle only.

</details>

<details>

<summary>Can Non-members get the Package?</summary>

Not through a Membership Package. Sell a [Standalone Package](https://docs.podplay.app/play-passes/play-pass-overview/standalone-packages) instead. Both Members and Non-members can buy and use a Standalone Package.

</details>

<details>

<summary>Where can I see who received the Package?</summary>

Open [Review Package History/Logs](https://docs.podplay.app/play-passes/review-membership-package-activity-feed) to see Package grant activity.

</details>




---

[Next Page](https://docs.podplay.app/llms-full.txt/1)

