> 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/api/use-cases/use-case-create-a-1-hour-open-play-event/beyond-open-play-advanced-configuration.md).

# Beyond Open Play — Advanced Configuration

The flow demonstrated in this guide focused on creating a **1-hour Open Play event** using the API.

However, the same structure and endpoints support a wide range of event types, configurations, and automation scenarios.

At this point, you understand the core pattern:

1. Discover structure (areas → pods → courts)
2. Retrieve available sessions
3. Create a booking
4. Verify the event

This pattern applies across the entire event system.

### The Booking Endpoint as the Core Engine

The main entry point for event creation is:

```
POST /bookings
```

The booking endpoint acts as the engine behind:

* Open Play sessions
* Classes
* Tournaments
* Private events

By adjusting the request payload, you can create different types of events without changing the overall flow.

### Supporting Different Event Types

You can create other event categories by changing the `eventSubtype` field in the booking payload.

Examples include:

* `"KIDS_CLASS"`
* `"ADULT_CLASS"`
* `"TOURNAMENT"`
* `"PRIVATE_EVENT"`

The session selection logic remains the same — only the configuration changes.

### Admission Control

You can control who is allowed to join an event using the `admission` field.

Supported values:

* `"OPEN"`\
  The event is visible and any eligible user can sign up.
* `"MEMBERS_ONLY"`\
  The event is visible, but only members can register.
* `"CLOSED"`\
  Registration is completely disabled. No users can sign up.

#### Important

`"CLOSED"` is typically used for:

* Court maintenance blocks
* Internal operational holds
* Time slots that should not accept participants

It is **not intended to create “exclusive” playable events**.

If you want to create an event that is playable but restricted, use:

* `"MEMBERS_ONLY"` for member-restricted events
* Or control visibility and access through your operational workflow

{% hint style="info" %}
For the complete programmatic definition of the booking request, refer to the API specification at the bottom of this page.
{% endhint %}

### Holistic Approach: Admin + API

Most event management workflows can be handled directly through the Web Admin interface.

In many cases:

* Staff can create and manage events manually.
* No API integration is required.

However, the API enables:

* Automation
* Integration with external systems
* Low-code platform workflows
* AI-assisted operational flows
* Bulk or scheduled event creation

The Web Admin and the API should be seen as complementary tools.

* The Admin is ideal for operational management.
* The API enables programmability and scale.

Together, they provide a complete ecosystem for managing events.

### When to Use the API

You may consider using the API when:

* Events depend on external triggers.
* You integrate with CRM, ERP, or scheduling systems.
* You want to build custom booking experiences.
* You are developing a mobile or external application.

If your needs are operational and manual, the Web Admin may already be sufficient.

### Booking API — Technical Specification

To implement automated event creation, you will interact directly with the **Booking** endpoint and related resources as defined in the API specification.

The following section provides the formal definition of the Booking API, including the request structure and supported configuration fields.

This is the lower-level technical layer that powers the higher-level workflows demonstrated throughout this guide.

## POST /bookings

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Bookings","description":"Court reservations, sessions, and booking management."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"BookingDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["PREVIEW","ORDER"]},"status":{"type":"string","enum":["DRAFT","INVALID","PENDING","CONFIRMED","CANCELED","REQUIRES_AUTHENTICATION"],"readOnly":true},"eventSubtype":{"type":"string","enum":["OPERATIONS","KIDS_CLASS","ADULT_CLASS","OPEN_PLAY","LEAGUE_NIGHT","TOURNAMENT","PARTY","PRIVATE_EVENT"]},"eventCustomType":{"type":"string"},"eventStatus":{"type":"string","enum":["DRAFT","PUBLISHED"]},"eventName":{"type":"string"},"eventDescription":{"type":"string"},"eventFeatures":{"type":"array","nullable":true,"items":{"type":"string","enum":["WAITLIST","PUBLIC_ATTENDEE_LIST","QUICK_REPLAYS","CUSTOM_REPLAYS","ENHANCED_REPLAYS","SUBMIT_MATCHES_RESULTS","SHOW_SPOTS_LEFT"]}},"tournamentDivision":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/TournamentDivisionDto"}]},"totalTeams":{"type":"number","nullable":true},"teamSize":{"type":"number","nullable":true},"maxGuests":{"type":"number","nullable":true},"admission":{"type":"string","enum":["OPEN","MEMBERS_ONLY","CLOSED"]},"admissionRate":{"$ref":"#/components/schemas/BookingAdmissionRateDto"},"admissionDate":{"$ref":"#/components/schemas/BookingAdmissionDateDto"},"admissionRating":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/BookingAdmissionRatingDto"}]},"admissionKids":{"type":"string","enum":["OPEN","CLOSED"]},"allowedMemberships":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"coachRate":{"type":"number"},"freeSignupCancellationHorizonHours":{"type":"number"},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"tags":{"type":"array","items":{"type":"string"}},"visibility":{"type":"string","enum":["LISTED","UNLISTED"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/BookingItemReservationSessionDto"}},"couponCode":{"type":"string","writeOnly":true,"nullable":true},"virtualCredits":{"type":"number","writeOnly":true,"nullable":true},"bookingMode":{"type":"string","enum":["USER_BOOKED","FREE_OF_CHARGE"],"writeOnly":true,"nullable":true},"paymentMethod":{"type":"string","enum":["CARD","CASH"],"writeOnly":true,"nullable":true},"coupon":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/CouponSummaryDto"}]},"termsAgreed":{"type":"boolean","writeOnly":true,"nullable":true,"description":"An optional parameter to tell the User is agreeing the \"Terms\" along with the booking request."},"liabilityWaiverAgreed":{"type":"boolean","writeOnly":true,"nullable":true,"description":"An optional parameter to tell the User is agreeing the \"Liability waiver\" along with the booking request."},"order":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"summary":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/BookingSummaryDto"}]},"owner":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"createAsSeries":{"type":"boolean","writeOnly":true},"seriesPriceSettings":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/SeriesPriceSettingsDto"}]},"chargeStrategy":{"type":"string","enum":["BILL_SPLIT","ONLY_OWNER"],"nullable":true},"passesStrategy":{"type":"string","enum":["USE_ALL","USE_NONE"],"nullable":true},"recurrence":{"writeOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/BookingRecurrenceDto"}]},"_links":{"type":"object"}},"required":["id","type","status","eventSubtype","eventCustomType","eventStatus","eventName","eventDescription","eventFeatures","tournamentDivision","totalTeams","teamSize","maxGuests","admission","admissionKids","coachRate","freeSignupCancellationHorizonHours","tags","visibility","items","couponCode","virtualCredits","bookingMode","paymentMethod","coupon","termsAgreed","liabilityWaiverAgreed","order","summary","owner","createAsSeries","chargeStrategy","passesStrategy","recurrence","_links"]},"TournamentDivisionDto":{"type":"object","properties":{"id":{"type":"string","description":"Tournament Division ID","readOnly":true},"tournament":{"description":"Tournament ID","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"provider":{"type":"string","enum":["SWISH","PODPLAY"]},"swish":{"description":"Tournament data specific to Swish","allOf":[{"$ref":"#/components/schemas/SwishDto"}]},"podplay":{"description":"Tournament data specific to PodPlay","allOf":[{"$ref":"#/components/schemas/PodPlayTournamentDto"}]},"status":{"type":"string","enum":["DRAFT","SUCCESS","FAILED"],"description":"Current status of the tournament","readOnly":true},"createdAt":{"format":"date-time","type":"string","description":"When the tournament was created","readOnly":true},"event":{"description":"ID of the event the tournament is associated with","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"lastSyncedAt":{"format":"date-time","type":"string","description":"Last time the tournament was synced with the provider"},"visibility":{"type":"string","enum":["HIDDEN","VISIBLE"],"description":"Visibility status: HIDDEN (admin only), VISIBLE (shown to users), or null"},"_links":{"type":"object","readOnly":true}},"required":["id","tournament","provider","event","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"SwishDto":{"type":"object","properties":{"eventFormat":{"type":"string","enum":["regular_play","rotating_partners_round_robin","set_partners_round_robin","mixed_gender_round_robin","custom_team_format","minor_league_pickleball_round_robin","king_of_the_court","league-rotating_partners_round_robin","league-set_partners_round_robin","league-mixed_gender_round_robin","ladder-league-rotating_partners_round_robin","league-king_of_the_court","league-custom_team_format","league-minor_league_pickleball_round_robin"]},"gameId":{"type":"string"},"editPlayersPath":{"type":"string"}},"required":["eventFormat","editPlayersPath"]},"PodPlayTournamentDto":{"type":"object","properties":{"eventFormat":{"type":"string","description":"The event format for PodPlay tournaments"},"gameId":{"type":"string","description":"Game ID from PodPlay provider"},"url":{"type":"string","description":"URL to the tournament in PodPlay provider"}},"required":["eventFormat","url"]},"BookingAdmissionRateDto":{"type":"object","properties":{"regular":{"type":"number","nullable":true},"member":{"type":"number","readOnly":true,"nullable":true},"membersDefault":{"type":"number","nullable":true},"memberships":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/EventAdmissionRateMembershipCollectionDto"}]},"chargingStrategy":{"type":"string","enum":["spot+","court+"]}},"required":["regular","member","membersDefault","memberships","chargingStrategy"]},"EventAdmissionRateMembershipCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventAdmissionRateMembershipDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"EventAdmissionRateMembershipDto":{"type":"object","properties":{"membership":{"$ref":"#/components/schemas/ItemRefDto"},"rate":{"type":"number"}},"required":["membership","rate"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"BookingAdmissionDateDto":{"type":"object","properties":{"regular":{"format":"date-time","type":"string","nullable":true},"member":{"format":"date-time","type":"string","readOnly":true,"nullable":true},"membersDefault":{"format":"date-time","type":"string","nullable":true},"memberships":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/EventAdmissionDateMembershipCollectionDto"}]}},"required":["regular","member","membersDefault","memberships"]},"EventAdmissionDateMembershipCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventAdmissionDateMembershipDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"EventAdmissionDateMembershipDto":{"type":"object","properties":{"membership":{"$ref":"#/components/schemas/ItemRefDto"},"date":{"format":"date-time","type":"string"}},"required":["date"]},"BookingAdmissionRatingDto":{"type":"object","properties":{"minRating":{"type":"number"},"maxRating":{"type":"number"},"type":{"type":"string"}},"required":["minRating","maxRating","type"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"BookingItemReservationSessionDto":{"type":"object","properties":{"session":{"$ref":"#/components/schemas/ItemRefDto"},"sessionTable":{"$ref":"#/components/schemas/ItemRefDto"},"sessionCoach":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"sessionGuests":{"nullable":true,"description":"Represents the number of guests that will participate in the Reservation","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"type":"string"}}},"required":["session","sessionTable","sessionCoach","sessionGuests","errors"]},"CouponSummaryDto":{"type":"object","properties":{"id":{"type":"string"},"code":{"type":"string"},"discountType":{"type":"string","enum":["AMOUNT_OFF","PERCENT_OFF"]},"value":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["id","code","discountType","value","_links"]},"BookingSummaryDto":{"type":"object","properties":{"events":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"reservations":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/BookingSummaryItemReservationDto"}},"currency":{"type":"string","readOnly":true},"series":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"subtotal":{"type":"number","readOnly":true},"taxes":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"couponDiscount":{"type":"number","readOnly":true},"coachingDiscount":{"type":"number","readOnly":true},"virtualCredits":{"type":"number","readOnly":true},"total":{"type":"number","readOnly":true},"maxChargableAmount":{"type":"number","readOnly":true},"dayPass":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PodPassRateDto"}]},"passes":{"readOnly":true,"nullable":true,"description":"Only available if `passesStrategy` is not null.","allOf":[{"$ref":"#/components/schemas/OrderPassCollectionDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"messages":{"readOnly":true,"nullable":true,"description":"Possible messages that may be returned when booking. Valid codes are: EBM053, EBM054, EBM055, EBM056","type":"array","items":{"$ref":"#/components/schemas/MessageDto"}}},"required":["events","reservations","currency","series","subtotal","taxes","couponDiscount","coachingDiscount","virtualCredits","total","maxChargableAmount","passes","errors","messages"]},"BookingSummaryItemReservationDto":{"type":"object","properties":{"reservation":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ReservationDto"}]},"rate":{"type":"number","readOnly":true},"baseRate":{"type":"number","readOnly":true},"tableRate":{"type":"number","readOnly":true},"guestsRate":{"type":"number","readOnly":true},"coachRate":{"type":"number","readOnly":true},"admissionRate":{"type":"number","readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["reservation","rate","baseRate","tableRate","guestsRate","coachRate","admissionRate","errors"]},"ReservationDto":{"type":"object","properties":{"id":{"type":"string"},"startTime":{"format":"date-time","type":"string"},"endTime":{"format":"date-time","type":"string"},"tableAssignment":{"type":"string","enum":["PENDING","LOCKED_BY_SYSTEM","LOCKED_BY_USER","LOCKED_BY_ADMIN","CANCELED_BY_USER","CANCELED_BY_ADMIN"]},"sessions":{"$ref":"#/components/schemas/ReservationSessionCollectionDto"},"pod":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"table":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"coach":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"guests":{"type":"number","nullable":true},"charges":{"$ref":"#/components/schemas/CollectionRefDto"},"quickReplays":{"$ref":"#/components/schemas/CollectionRefDto"},"customReplays":{"$ref":"#/components/schemas/CollectionRefDto"},"_links":{"type":"object"}},"required":["id","startTime","endTime","tableAssignment","sessions","pod","table","coach","guests","charges","quickReplays","customReplays","_links"]},"ReservationSessionCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReservationSessionDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"ReservationSessionDto":{"type":"object","properties":{"id":{"type":"string"},"session":{"$ref":"#/components/schemas/ItemRefDto"},"coupon":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"charge":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","session","coupon","charge","_links"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"PodPassRateDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"rate":{"type":"number"}},"required":["id","displayName","rate"]},"OrderPassCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderPassDto"}},"_total":{"type":"number"},"_links":{"type":"object"}},"required":["items","_total","_links"]},"OrderPassDto":{"type":"object","properties":{"id":{"type":"object"},"available":{"type":"number","readOnly":true,"description":"Either for applicable or refundable passes this represents potential but not the actual number to be applied/refunded"},"quantity":{"type":"number","readOnly":true,"description":"Either for applicable or refundable passes this represents actual number to be applied/refunded"},"displayName":{"type":"string","readOnly":true},"displayNamePlural":{"type":"string","readOnly":true},"rate":{"type":"number","readOnly":true}},"required":["id","available","quantity","displayName","displayNamePlural","rate"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]},"SeriesPriceSettingsDto":{"type":"object","properties":{"full":{"$ref":"#/components/schemas/SeriesPriceSettingsItemDto"},"unit":{"$ref":"#/components/schemas/SeriesPriceSettingsItemDto"}}},"SeriesPriceSettingsItemDto":{"type":"object","properties":{"members":{"$ref":"#/components/schemas/SeriesPriceSettingsMembersDto"},"nonMembers":{"$ref":"#/components/schemas/SeriesPriceSettingsNonMembersDto"}}},"SeriesPriceSettingsMembersDto":{"type":"object","properties":{"rate":{"type":"number","minimum":0},"overrides":{"$ref":"#/components/schemas/SeriesMembershipPriceOverridesCollectionDto"}}},"SeriesMembershipPriceOverridesCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SeriesMembershipPriceOverrideItemDto"}},"_total":{"type":"number"}},"required":["items","_total"]},"SeriesMembershipPriceOverrideItemDto":{"type":"object","properties":{"membership":{"$ref":"#/components/schemas/ItemRefDto"},"rate":{"type":"number","minimum":0},"_links":{"type":"object"}},"required":["membership","rate","_links"]},"SeriesPriceSettingsNonMembersDto":{"type":"object","properties":{"rate":{"type":"number","minimum":0}}},"BookingRecurrenceDto":{"type":"object","properties":{"id":{"type":"string","nullable":true},"cadence":{"type":"string","enum":["day","week","month","year","custom"]},"daysOfWeek":{"nullable":true,"type":"array","items":{"type":"number"}},"untilDate":{"type":"string","format":"date-time"}},"required":["id","cadence","daysOfWeek","untilDate"]},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/bookings":{"post":{"operationId":"BookingsController_create","parameters":[{"name":"user-agent","required":true,"in":"header","schema":{"type":"string"}},{"name":"coachType","required":false,"in":"query","description":"Filter coaches by type","schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingDto"}}}},"responses":{"201":{"description":"Returns a `Booking`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingDto"}}}},"400":{"description":"Returns an `ErrorDto` in case of missing or incorrect request parameter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"403":{"description":"Returns an `ErrorDto` in case of a lack of permissions to perform the requested action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"Returns an `ErrorDto` in case of validation errors or failures.<br/><br>Possible error codes are:<br>`EB001`: The coupon {{couponCode}} is not valid.<br>`EB002`: The coupon code {{couponCode}} is not valid.<br>`EB003`: The coupon {{couponCode}} is not applicable to {{podDisplayName}}.<br>`EB020`: The coupon {{couponCode}} cannot be reused.<br>`EB021`: The coupon {{couponCode}} is valid only for the first booking.<br>`EB022`: The coupon {{couponCode}} is not valid for the selected dates.<br>`EB023`: The coupon {{couponCode}} is not applicable to reservations.<br>`EB004`: The amount of virtual credits cannot be negative.<br>`EB005`: The current account balance does not have virtual credits.<br>`EB006`: The amount of virtual credits exceeds the account balance.<br>`EB007`: You're not allowed to book free of charge reservations.<br>`EB008`: Only admins are authorized to create events.<br>`EB009`: Events must be booked as FREE_OF_CHARGE booking mode.<br>`EB010`: Events must have an admission rate defined, even if it's zero.<br>`EB011`: Invalid total spots number.<br>`EB012`: Invalid team size number.<br>`EB013`: Only REGULAR, PRIVATE and OPERATIONS events can have CLOSED admission.<br>`EB014`: REGULAR and PRIVATE events must have CLOSED admission.<br>`EB000`: This action requires a logged in user.<br>`EB015`: There's no payment method set up.<br>`EB016`: The payment method configured is not active. Please, add a new one.<br>`EB017`: User phone number is required.<br>`EB018`: Terms of Service agreement is required.<br>`EB019`: Invalid free signup cancellation horizon.<br>`EB025`: You're not allowed to book cash reservations.<br>`EB026`: There was an issue processing the payment for your membership. Please update your payment method to continue booking.<br>`EB027`: There was an issue processing the payment for your group membership. Please ask the person paying for the membership to update their payment details to continue using your membership.<br>`EB024`: Liability waiver acceptance is required.<br>`EB028`: Liability Waiver agreement not found. Please contact support.<br>`EB030`: No courts left at the pod during the selected time.<br>`EB031`: There's a conflicting reservation at the selected time.<br>`EB032`: The selected {{coachTerm}} is not available for this session.<br>`EB033`: Invalid session subtype PRIVATE, as there is a {{coachTerm}} selected.<br>`EB034`: Invalid session subtype COACHING, as there is no {{coachTerm}} selected.<br>`EB035`: Ooops! This booking takes you over the limit of {{maxFreeOffPeakReservationsHours}} hours of free upcoming reservations. You currently have {{userFreeOffPeakReservationsHours}} hours of free upcoming reservations. Please modify in order to stay below.<br>`EB036`: Booking can be made for a minimum of 1 hour<br>`EB037`: Booking must start sharp on the hour<br>`EB038`: Booking time beyond the allowed horizon<br>`EB039`: Booking can be made for a maximum of {{count}} hours.<br>`EB040`: Unable to proceed with the current payment method. Please try using a different one.<br>`EB041`: Prepaid cards are not accepted, please use a credit or debit card.<br>`EB042`: You need to cover the full amount with {{virtualCreditsTerm}}.<br>`EB043`: Membership is required to make bookings.<br>`EB050`: One or more Reservation Play Passes aren't valid for this purchase.<br>`EB051`: One or more Reservation Play Passes have expired.<br>`EB052`: Only {{maxDailyReservationPasses}} Reservation Play Passes can be redeemed per day. You can continue booking by removing your Play Pass.<br>`EB060`: You reached the maximum of {{count}} future reservations.<br>`EB061`: Multiple bookings aren't allowed.<br>`BCA00`: The selected time is temporarily unavailable, either come back later or pick a different date.<br>`BCA01`: There is no room to assign this reservation in contiguous slots, split {{courtsTerm}} is not allowed.<br>`BCA02`: There is no room to assign this reservation, please pick a different date.<br>`RA001`: Could not confirm the payment. Please try again."}},"tags":["Bookings"]}}}}
```


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.podplay.app/api/use-cases/use-case-create-a-1-hour-open-play-event/beyond-open-play-advanced-configuration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
