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
endTimeThese 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
availableTablesso 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:
id→ sessionIdstartTimeendTimeavailableTables.items[]
Each entry inside availableTables.items[] contains:
id→ sessionTableId (required for booking)table.id→ the actualtableIddisplayName→ human-readable court name
Selecting the Correct SessionTable
To book a specific court:
Iterate through
items[]Inside each session, iterate through
availableTables.items[]Find the entry where:
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
tableIdThey 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
sessionIdvaluesTwo matching
sessionTableIdvaluesA 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?

