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

# 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>


---

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

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

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

```
GET https://docs.podplay.app/reservations/customer-books-reservation.md?ask=<question>&goal=<user_goal>
```

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

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

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