Waitlist

Sold out doesn't mean over.
Cancellations auto-promote the next in line.

When a tier fills, the button flips to Join waitlist. When someone refunds or cancels, we email the next attendee on the waitlist with a 24-hour claim link. No manual chasing, no lost fill rate, no organizer scrambling on WhatsApp at 11pm.

Waitlist · Invited
A seat opened up
VIP · Priya · Position #1
🎟️
A seat opened up for you.
Product Summit 2026 · VIP tier
⏱ Claim by tomorrow, 2:14pm
Claim my seat → book now

The fill loop without an organiser in it.

Sold out at 4pm. Someone cancels at 6.02pm. First waitlist entry emailed at 6.02pm.

1
Tier sells out
Button on the ticket page flips from "Add ticket" to "Join waitlist". Attendee taps it, enters name, email, mobile, gets position #7.
2
A seat is released
Someone refunds, cancels, or admin releases the seat. Order service decrements the tier, then hands the freed count to the waitlist service.
3
Next entry auto-invited
Position #1 gets an email with a signed 24-hour claim link. Their status flips from Waiting to Invited. No admin touch required.
4
Claim or pass
Attendee clicks Claim → lands on the ticket page → completes checkout. If they don't within 24 hours, we mark them expired and invite the next entry.

Because a 8pm cancellation shouldn't mean an empty seat at 10am.

Product Summit 2026, VIP tier, 40 seats, sold out three weeks before the event. The night before the event, seven refund requests came in — flu season, work travel, one cancellation from a founder whose company got acquired that morning. Our organiser sat at his laptop till 1am forwarding a Google Form to a WhatsApp group of "people who asked to be added if a seat opens." Two of the seven seats got filled. Five went empty.

Every event we run has this pattern. Cancellations cluster in the last 72 hours. Nobody in ops has capacity to chase a waitlist manually at midnight. The organiser gives up. The room is 12% less full than it should be. Attendees who wanted in feel forgotten. Sponsors count empty chairs.

So we made the loop close by itself. Sold-out button flips to Join Waitlist. Cancellation hits our OrderService. OrderService hands off to WaitlistService. WaitlistService emails position #1 with a signed claim link. Claim link expires in 24 hours; if they don't claim, we auto-invite position #2. No human in the loop until the attendee actually walks through checkout.

On the same event, we re-ran the numbers. Of the 7 cancellations, 6 got filled by the waitlist within 4 hours. One expired without a claim — moved to position #2 who took it. Zero seats empty. Organiser slept.

The little things that make the loop actually close.

🔢
Position feedback
"You're #7" is a real message. People stay engaged when they know where they stand.
24-hour claim window
Long enough for someone at a wedding or on a flight to see the email. Short enough that the seat doesn't sit idle for a week.
🔐
Signed claim links
48-character token. Not guessable. Only the invited attendee can claim, and only within their window.
🔁
Auto-cascade
If #1 doesn't claim, we auto-expire and invite #2. Then #3. Until someone claims or the waitlist is empty.
👀
Admin visibility
Table of all waitlist entries per tier — waiting, invited, claimed, expired. Filter by status. See who's in the queue.
🎯
Manual promote
Admin can promote the next N entries per tier — useful when you release a batch (e.g. an entire block that a corporate cancelled).

Questions we get

Does the attendee know their position?
Yes. The "Join waitlist" success message shows "You're on the waitlist at position #7."
What if the invited attendee doesn't respond?
Their claim link expires after 24 hours (configurable). The next entry on the waitlist is auto-invited.
Can I skip the auto-invite for a specific release?
Yes. Admin can release inventory without triggering the promote, and separately hit "Promote next N" when they want the emails to go out.
Is the waitlist per tier or per event?
Per tier. Someone can be waiting for VIP but not General, or vice versa. Each tier's waitlist has its own position sequence.
Stop losing seats to cancellations.
See the full waitlist cycle — join → cancel → invite → claim — in 12 minutes.