The flow
- A session shows no availability (in the sessions response, sold-out sessions of waitlist-enabled experiences appear with a
WAITLISTEDstatus). - Your UI offers “join the waitlist” instead of booking. You submit the guest’s details with Join waitlist.
- When capacity opens (a cancellation, added inventory), Way invites entries in order. The invited guest gets a time-limited window to book.
- Your checkout completes the booking as usual, passing the entry’s ID as
waitlistEntryIdin the book-bulk cart item.
Join a waitlist
The waitlist ID comes from the listing/experience data of waitlist-enabled experiences. Submit the same kind of information you’d collect for a booking:Handle the invitation
Get waitlist entry returns the state of an entry that received an invitation - use it to render the invitation landing page:status- the entry’s lifecycle state (an entry with an active invitation isoffered).expiresAt- the invitation deadline. After it passes, the endpoint returns410 Goneand the spot moves on - treat that as “invitation expired” in your UI.- The entry echoes the session (
startDate,startTime,sessionDuration),purchaser, andparticipantsyou submitted, so the checkout can be prefilled.
"waitlistEntryId": "<entry id>" in the cart item for both the payment intent and book-bulk calls - that’s what ties the booking to the invitation and releases the held spot correctly.
Get waitlist returns the waitlist’s configuration and current state if you need to display queue information.
Invitation notifications (email/SMS) are sent by Way. Your integration’s job is the two ends: putting guests on the list, and converting the invitation link into a completed booking before
expiresAt.