# Booking Restrictions in Go Book

HTML version: [Booking Restrictions in Go Book](https://support.gladstonesoftware.cloud/gooperator/booking-restrictions-and-party-bookings-in-go-book)

## Problem
You want to limit how many bookings a member can make on Go Book, per day and per activity, so everyone gets fair access to activities and nobody overbooks.

## Resolution

1. **Open the booking limit settings**
   - In Operator go to `Configuration > Modules > Configure` and use the search bar to find each setting by name.
   - There are three settings:
     - **Number of bookings that can be made today**
     - **Number of bookings that can be made for a specific day**
     - **Number of bookings that can be made for a specific day and specific activity**

2. **Set the limits you need**
   - Set a value to **0** for no limit.

   | Setting | What it limits | Example |
   |---|---|---|
   | **Number of bookings that can be made today** | How many bookings a member can **make in one day**, for any activity and any future date. Once the limit is reached, the member can't book more until midnight | 6 = no more than 6 bookings made today |
   | **Number of bookings that can be made for a specific day** | How many bookings a member can hold **for any one calendar date** | 1 = one booking per date, though they can book several dates at once |
   | **Number of bookings that can be made for a specific day and specific activity** | How many times a member can book **a particular activity on one date** | Tennis court no more than once a day |

   - For example, you might allow no more than two tennis courts on one day, but a customer could book two for today and one for tomorrow, so three made today.

3. **Give the "specific day" setting a value before using the per-activity limit**
   - The per-activity limit only works if **Number of bookings that can be made for a specific day** has a value greater than 0.
   - If you don't want a real daily cap, set it high, for example **100**.

4. **Write the per-activity limit (if applicable)**
   - Find the activity IDs in `Operator > Configuration > Bookings and Reservations > Activity Management > Activities`.
   - Enter each activity ID and its limit in this format, replacing `ACTIVITYID` with the activity ID and `X` with the limit:
     ```json
     [{"activityId":"ACTIVITYID","count":X}]
     ```
   - For example, this lets a member book BADMINTON twice per day:
     ```json
     [{"activityId":"BADMINTON","count":2}]
     ```
   - For several activities, separate them with commas inside the square brackets. This restricts TENNIS to once per day and BADMINTON to three times per day:
     ```json
     [{"activityId":"TENNIS","count":1},{"activityId":"BADMINTON","count":3}]
     ```
   - Add as many activities as you need. Copy the format exactly, including the quotes, braces, commas and brackets.

5. **Save and test**
   - Save the settings.
   - Test the limits across primary and linked accounts, on every customer-facing channel.

## Notes

- **Prerequisites:** you need permission to change Configuration settings in Operator, and access to Activity Management to find activity IDs.
- The two per-day limits can also be managed at `Configuration > Bookings and Reservations > Bookings > Restrictions`, the global booking restriction settings. Changes made in either place show in both. The per-activity limit isn't on that page, so keep using `Modules > Configure` for it.
- Older guidance describes setting an activity-specific limit by selecting the activity on the **Restrictions** page itself, and says Gladstone enters the limits as resource and limit codes. Depending on your version, use whichever the screens offer.
- The GMC `Member Facing Global > Bookings` settings hold the daily booking limits for other customer-facing channels (for example Connect). Keep them consistent with Operator.
- Staff booking in 360 or Plus2 aren't bound by the online limits, so decide whether staff may override them and how that's authorised.
- By default, Go also stops a customer booking two things that overlap. See [Go Book Booking and Cancellation Settings in Operator](go-book-booking-settings-and-restrictions-in-operator.md).
- **Troubleshooting:**
  - **Members can still make unlimited bookings:** check the values are not set to 0, which disables the restriction.
  - **Activity-specific limits are not working:** check **Number of bookings that can be made for a specific day** has a value greater than 0.
  - **The restriction format is rejected:** check the JSON's quotation marks, commas and brackets.
- Related: [How to Create Booking Membership Restrictions in GoBook](../goconsumer/how-to-create-booking-membership-restrictions-in-gobook.md) (restricting activities to certain memberships); [Enabling Party Bookings in Go Book](enabling-party-bookings-in-go-book.md); [Configuring Booking Release Time for Classes and Activities in Go Book](../goconsumer/configuring-booking-release-time-for-classes-and-activities-in-go-book.md); [Configuring Activities in Plus2](../plus2/configuring-activities-in-plus2.md).
