# Booking for several people

> How a member books a session for themselves and the people they manage, holds the places in a basket while they shop, and pays once.

Canonical: https://www.clubpal.app/docs/sessions/booking-for-several-people
Section: Sessions

A member who manages other profiles, such as a parent with children, can book several people onto a session in one go, add more sessions, and pay once. While they shop, ClubPal holds the places so nobody else takes them. Members with no managed profiles see the usual booking dialog, where they choose how to pay (see [Paying for sessions](https://www.clubpal.app/docs/sessions/paying-for-sessions)). Paying by card puts their place in the same basket.

## Booking people onto a session

1. Open the session and select **Book**.
2. Under **Who is going?**, tick each person. Each row shows what that person would pay and how: by pass, by card, or free.
3. Check **In the order ticked**, which shows what each person will get.
4. Fill in any booking form fields. If the session has them, each ticked person's appear under their line in **In the order ticked**, because answers are kept per person. Then confirm.

![The Book dialog listing the account holder and two children, with both children ticked, a place held for each and a Shirt size question under each child](https://www.clubpal.app/img/docs/basket-book-dialog.png)

The **Book** button reads **Book** as long as anyone in the household can still book. A parent who is not eligible no longer blocks a child who is. Anyone who is already booked, on the waiting list or holding a place in the basket is shown as such and cannot be ticked again, and a person who is not eligible is shown with the reason.

The button changes to match what booking would do:

- **Join Waiting List** when there is no place for someone new. That includes a session with a free place when someone is already on its waiting list, because the free place goes to them first.
- **Full** when every place is taken or held and the session has no waiting list.
- **In Basket** when your own place is in the basket and nobody else in the household can still book. It takes you to the basket, where you check out.

Places are given out in the order people are ticked. If you tick two children for one remaining place, the first gets the place and the second joins the waiting list, and the dialog says so before you confirm. Untick someone to change that. If places change while the dialog is open, nothing is booked: the dialog shows the new outcome and asks you to confirm again.

![The Book dialog where the second child would join the waiting list because only one place is left](https://www.clubpal.app/img/docs/basket-waiting-list.png)

For your own booking, the account holder's row carries the link to change or cancel it. To change or cancel a booking for a managed profile, switch to that profile first.

## What happens to each person

| Person | Result |
|---|---|
| The session is free | Booked straight away. No basket, and no place is held. |
| Has a valid [pass](https://www.clubpal.app/docs/sessions/passes) for the session | Booked straight away using their own pass. |
| The session takes card payment | A place is held and added to the basket. |
| The session takes payment in person only | Booked straight away, and they pay at the session. |

Passes are checked for each person separately, so a pass belongs to the person who holds it. A parent's pass is never used for a child. Anyone with a valid pass uses it, and everyone else pays by card. If a session takes both card and payment in person, the dialog asks once how the people without a pass will pay.

When nobody ticked needs to pay by card, a single **Book** button confirms everything. Otherwise the dialog offers **Add to basket**, which keeps you on the page, and **Check out**, which goes straight to payment. After **Add to basket** the page reloads with a message saying how long the places are held: "Added to your basket. Check out within 15 minutes to keep the places held."

Once anyone has been booked from the dialog, **Check out** is the only button left. If starting the payment fails, the places stay in your basket, so select **Check out** again to retry, or close the dialog and check out from the basket later. If checkout finds the basket has emptied meanwhile, for example because you removed the lines in another tab, the page reloads saying **Your basket is empty.**

### If your basket is being paid for

If you are paying for your basket in another tab or on another device while you book, nobody paying by card can be added to it until that payment is confirmed. Each of them is shown with **Your basket is being paid for. Book them again once it is confirmed.** Everyone else you ticked, who is free, uses a pass or pays in person, is still booked. The page then reloads and names who was not booked, so you can book them again once the payment has gone through. If nobody else was ticked, nothing is booked.

## The basket

While you have places in your basket, a bar shows at the bottom of the page, above the menu on a phone. It is left off the payment pages, and off the basket page, which has its own timer. It shows how many bookings are in the basket, the total, the time left, and a **Check out** button. Select the bar to open the basket.

![The basket bar showing four bookings, the total and a countdown](https://www.clubpal.app/img/docs/basket-bar.png)

### The hold timer

A place in the basket is held for 15 minutes. Every time you add something, or open checkout, the timer starts again for every place in the basket. In the last two minutes the bar warns you. If the time runs out, the bar reads **Places released, check availability** and checkout looks again at what is free.

Held places count as taken, so other members see one fewer place while you shop. The places left on the sessions list count them, and on the club calendar a session's card reads, for example, **4 going, 2 held**, and **Full** once going and held places fill it. On the session's own page, the **Booked** box carries a small badge, for example **1 held**, while any places are held.

![The session page's Booked box reading 0 of 8 with a 1 held badge on its corner](https://www.clubpal.app/img/docs/session-held-badge.png) The hold never jumps the waiting list: if anyone is already waiting for a session, new people added for it join the waiting list rather than holding a place.

### The basket page

The basket page lists one card for each session and date, with a line for each person, whether they have a **Place held** or are on the **Waiting list**, and the price. Remove a line with the bin button and its place is released straight away.

![The basket page listing a line per person, with the total and the Check out button](https://www.clubpal.app/img/docs/basket-page.png)

## Checking out

Select **Check out** and pay once, with the account holder's saved cards or a new card. The total is the sum of the lines.

Before taking any money, checkout checks every line again. If anything has changed, it stops, shows what changed under each person and session, and asks you to check the basket. Select **Continue** to pay for the basket as it now is, or remove lines first.

| What changed | What happens to the line |
|---|---|
| The price is different, because the club changed it or the person's membership changed | It stays, at the new price. |
| The hold ran out and no place is free now | It moves to the waiting list, and the person joins it once you pay. |
| The hold ran out, the session is now full and has no waiting list | It is taken out. |
| A waiting list line, and the session's waiting list has since been turned off | It is taken out. |
| The club, or the session, no longer takes card payment | It is taken out. |
| The person is already booked or on the waiting list another way, and that booking is paid for, or they are coaching | It is taken out, so you are not charged twice. |
| The person can no longer book, for example they no longer meet the session's rules, its booking window has closed, or they are no longer a profile you manage | It is taken out. |
| The date was cancelled or the session deleted | It is taken out. |

If a hold ran out but a place is still free, you keep the place and nothing is shown. If an admin added the person to the session as an unpaid booking, for example to pay in person, the line stays, and paying for the basket pays for that booking.

A waiting list line is charged up front, like any other waiting list booking, and refunded automatically if the person is never given a place. See [Waiting lists](https://www.clubpal.app/docs/sessions/waiting-lists).

All the lines are booked together once the payment succeeds. If the payment fails, nothing is booked and your places stay in the basket while the hold lasts. In the rare case where one booking cannot be made after payment, for example because the club deleted the session meanwhile, what was paid for that line is refunded and the rest are booked. If that refund cannot be made automatically, the line shows **Refund pending** and the club refunds you.

Each checkout makes a new payment. If you change the basket or check out again while an older payment page is still open, for example in another tab, that older page can no longer be paid, and sends you back to the basket. If a payment for a basket that has since changed does go through, nothing is booked with it and its cost is refunded. If your basket is already being paid for in another tab, **Check out** takes you to that payment's page instead of starting a second one.

> **Note**
>
> Where the club adds a **Service fee** to card payments, a refund for a booking that could not be made gives back what the booking cost, but not the service fee paid on top.

![The page shown after paying, listing each person, session and date, with Booked or On the waiting list beside each](https://www.clubpal.app/img/docs/basket-paid.png)

## Receipts and emails

The receipt lists every person and session the payment covered, with the date and price of each, under **Bookings**. Any **Service fee** is shown once for the whole payment. Single-session payments get the same lines, so every new session receipt shows who and what it paid for. Receipts from before this change show no lines.

- **Only the person who paid sees the receipt.** A managed profile that has its own login sees its booking as paid, but not the receipt.
- **Names are kept as they were when the payment was made.** Renaming a profile later does not change its receipts. If a person is deleted, their line reads **Deleted profile**, and keeps its session, date and amount.

The payer gets one confirmation email listing everyone, rather than one email per booking. Each line shows the person, the session, its date and time, the price, and what happened to it: **Confirmed**, **Waiting list**, **Refunded** or **Refund pending**. Managed profiles have no login of their own, so they get no separate email. The payer's email is the confirmation for them.

If nothing could be booked, the email says so in its subject and heading rather than thanking you for the payment. It shows the amount paid and the amount being refunded, and, where a **Service fee** was paid, says that the fee is not refunded. If no money was taken, it says that nothing was charged.

## What admins and coaches see

Places held in a basket appear on the session's **Bookings** tab under a **Pending** heading, with the person's name, **Pending payment** and the time left. They disappear when the person pays, removes the place or the hold runs out. Pending places are shown to coaches, leaders and members who manage membership, and only on this tab. They are not bookings yet.

![The Bookings tab showing a Pending group with one person marked Pending payment and the time left](https://www.clubpal.app/img/docs/basket-pending-bookings.png)

In **Admin > Payments**, a session receipt opens with its list of **Bookings**, and exporting the payments table adds a **Bookings** column at the end. Each booking in the column reads as person, session, date and amount, separated by semicolons. It is blank for payments that did not buy sessions. Refunding a session booking refunds up to what that person paid, as before.

## Tips

- If a session is nearly full, tick people in the order you want them to get places.
- Check out soon after adding. The timer restarts on each add, but only for as long as you keep shopping.
- Free sessions never use the basket, so booking the whole family onto one is a single step.

## See also

- [Booking sessions](https://www.clubpal.app/docs/sessions/paying-for-sessions)
- [Waiting lists](https://www.clubpal.app/docs/sessions/waiting-lists)
- [Passes](https://www.clubpal.app/docs/sessions/passes)
- [Linked profiles](https://www.clubpal.app/docs/membership/linked-profiles)
- [Refunds](https://www.clubpal.app/docs/payments/refunds)
