For the complete documentation index, see llms.txt. This page is also available as Markdown.

Step 2 — Retrieve Available Sessions

Get all bookable sessions for the selected pod and time window.

Starting Point

From Step 1 you already have:

podId
tableId
startTime
endTime

These define:

  • The pod where the event will take place

  • The court (table) selected by the user

  • The desired time window

Now we must retrieve all sessions available inside that time range.

Request Sessions

Call the /sessions endpoint filtered by:

  • podId

  • startTime

  • endTime

  • Expand availableTables so we can match the correct court

Example With Real Values

From Step 1, we selected:

Applying those values:

Example Response (Trimmed)

Below is an example response for March 4th, 2026, returning two consecutive 30-minute sessions:

Understanding the Response Structure

Each object inside items[] represents a bookable session.

Each session contains:

  • idsessionId

  • startTime

  • endTime

  • availableTables.items[]

Each entry inside availableTables.items[] contains:

  • idsessionTableId (required for booking)

  • table.id → the actual tableId

  • displayName → human-readable court name

Selecting the Correct SessionTable

To book a specific court:

  1. Iterate through items[]

  2. Inside each session, iterate through availableTables.items[]

  3. Find the entry where:

  1. Store:

Selecting Sessions for a 1-Hour Event

Sessions are 30 minutes long.

To create a 1-hour Open Play event, you must:

  • Select two consecutive sessions

  • Ensure:

    • They are back-to-back

    • They belong to the same tableId

    • They fall within your desired time window

From the example above:

First 30-minute slot

Second 30-minute slot

Together, they form a continuous 1-hour window:

17:00 → 18:00 UTC

Outcome of This Section

You now have:

  • Two valid sessionId values

  • Two matching sessionTableId values

  • A confirmed 1-hour continuous time slot

  • All identifiers required to create a booking

These represent reserved-ready time slots for your selected court.

In the next section, we will use these session and sessionTable IDs to create the actual event booking.

Last updated

Was this helpful?