openchair
FeaturesPricingAbout
Sign InStart Free Trial
Help Centre

Bookings

  • Blocking Out Time
  • Using the Calendar
  • Booking Inspector & Quick Actions
  • Booking Rules & Policies
  • Calendar Export (iCal Subscription)

Bookings

Smart Waitlist & Gap Filling

Last updated 19 May 2026

Smart Waitlist & Gap Filling

Capture customer demand when you're fully booked, then match waiting customers to cancellation and processing-time gaps. Three date-mode options, optional auto-confirm, per-customer throttle, and AI-ranked matching on PRO.

Where to find it — Web: Sidebar → Waitlist. Mobile: bottom tab → Waitlist. Customer entry: storefront at /your-slug/waitlist. Customer manage: magic-link page at /waitlist/manage/{token}.

TL;DR

  • Customers self-join from the storefront with three date modes: Date range, Specific days, or Weekly windows (recurring per-weekday).
  • Matching uses the same engine as Concierge gap-fill — cadence, service fit, weekday, time band, provider affinity, lead time.
  • Auto-confirm books matched slots without operator action; customer has 24 hours to cancel from the SMS.
  • Per-customer throttle (default 6 hours) prevents over-messaging. Suppressed offers surface in a strip.
  • FREE includes the full base feature; PRO adds AI ranking, auto-offer modes, Smart Waves, and Recovered Revenue analytics.

The list-and-detail surface

The redesign in late April 2026 stripped marketing-style cards (insights, blasts, launch activations) to make Waitlist mirror the calendar's list-and-detail pattern. What you see today:

  • Page header: {N} waiting · {potential revenue} summary
  • Status tabs: Waiting / Offered / History
  • Table or detail sheet (depending on width): each row shows customer, service, status, preference summary
  • Settings sheet with three Opening Modes + throttle + auto-confirm + advanced options

Earlier versions of this doc described Waitlist Insights, Recent Blasts, and the Launch Activation card. Those have been removed — the cleaner surface focuses on the operational queue and the offers in flight.

Three Opening Modes

The way matched offers reach customers is controlled by the venue-wide Opening Mode in Waitlist settings.

Mode Tier What happens when a match is found
Manual review FREE The match appears in the operator queue. You review and send the offer (or skip).
Best match first PRO AI Smart Fill ranks candidates by revenue, fit, and churn risk. The top match auto-receives the offer in Smart Waves cadence.
Offer to everyone PRO The match is sent as a single broadcast to all eligible candidates at once. Whoever responds first books the slot.

Switch modes any time from Settings → Waitlist. Changing modes doesn't retroactively apply to already-sent offers.

Date modes (per entry)

Each waitlist entry — whether added by the customer or by staff — picks one of three date-mode options for when they're willing to come in:

Date range

Any time between two dates. Best for clients who are flexible across a window ("any time in the next 2 weeks").

Specific days

A list of individual dates. Best for clients who can only do certain days ("the 14th, 21st, or 28th of this month").

Weekly windows (new May 2026)

Recurring per-weekday preferences with time-of-day windows. Best for clients with a regular schedule ("Tuesdays 9–12 or Saturdays 2–6, every week").

Picker presets per weekday: Off / All day / Morning / Afternoon / Evening / Custom. Web desktop shows a 7-day grid; mobile and narrow viewports get a list with the same controls.

Weekly matching is timezone-aware — windows are evaluated in the venue's timezone, not the matcher's local clock, so a customer in another timezone still gets correctly-matched slots.

How matching works

When a bookable gap appears (cancellation, processing time, new opening), the recovery engine runs:

  1. SQL filter — pending entries for this venue with matching staff preference, time preference (morning / afternoon / evening / any), and overlapping date mode.
  2. TypeScript filter — date-mode-aware overlap:
    • Date range: gap date is within the range
    • Specific days: gap date is in the list
    • Weekly: gap weekday + time falls inside one of the customer's windows
  3. Reranking:
    • PRO: AI Smart Fill ranks candidates by revenue, fit, and churn risk
    • FREE: deterministic rerank by recency + service fit
  4. Output: ranked WaitlistRecoveryCandidate list with confidence (high / medium / low), reasons, and any cautions

The matcher is the same engine that powers Concierge gap-fill — the six-factor scoring (cadence proximity 35%, service fit 20%, weekday 15%, time band 10%, provider affinity 10%, lead time 10%) applies the same way.

Auto-confirm

When a matching slot is found and either the customer has opted in OR (on PRO) the operator has set an override, the system books the slot directly instead of sending an offer.

  • Customer opt-in — surfaced on the join form ("Skip the back-and-forth") and on the manage page. Customer toggles it on or off.
  • Operator override (PRO) — per-entry override on the Advanced tab. Useful for VIP clients you want to book straight through.

When auto-confirm fires:

  1. The booking is created and held with a staff-level FOR UPDATE lock to prevent double-booking.
  2. A confirmation SMS goes out: "You've been auto-booked at {venue} on {date/time} with {staff}. Cancel by {cancel-by}: {link}"
  3. The customer has 24 hours to cancel from the SMS link.
  4. The waitlist entry transitions to "Booked".

If the slot can't be booked (advisory-lock conflict, double-take by another offer), auto-confirm falls back to the standard offer flow.

The <AutoConfirmBadge> (sparkle icon) appears on entries and candidate rows so you can see at a glance which entries have auto-confirm enabled.

Per-customer throttle

Stops the same customer receiving back-to-back offers. Settings → Waitlist → Maximum offers per customer: minimum hours between offers per customer, default 6, range 0–72. Set to 0 to disable.

When a candidate would receive an offer within the throttle window:

  • The offer is suppressed (no SMS sent, no wallet charge)
  • A gap_offers row is written with status suppressed_throttle for audit
  • The suppressed offer surfaces in the Suppressed Offers strip on the Waitlist page so you can see what was held back and override if needed

Owner-only setting. Managers and stylists can see the throttle in action but can't change it.

Queue position (customer-facing)

Customers see their live queue position on their manage page (the magic-link page in their SMS or email). The card has six states:

State What the customer sees
Position 1 You're next — high-priority indicator
Position 2–10 You're #N in the queue with likelihood band
Position 11+ You're in the queue with rough wait estimate
Paused Paused — you've asked to pause notifications
Offered, awaiting response We've sent you an offer — check your messages
Loading / error Graceful fallback

Likelihood is bucketed from the venue's last-90-days recovery turnaround time:

  • p50 ≤ 3 days → typical wait is fast (1–3 days)
  • p50 ≤ 7 days → typical wait is 4–7 days
  • p50 > 7 days → high demand right now

Operators don't see position numbers — only the customer-facing manage page surfaces them.

Recovered Revenue (PRO, owner-only)

The Recovered Revenue card on the Waitlist page shows:

  • Recovered this month in dollars
  • Trend vs last month (up/down %)
  • 12-week sparkline of recovered revenue by month
  • Optional lost potential subscript (gaps where no candidate accepted)

Boundaries are venue-timezone-aware. When last month was zero, the trend is suppressed instead of showing "+∞%".

This card replaces the older Waitlist Insights tiles and shifts the framing from "things we did" to "money we recovered."

Tighten This Day (calendar-wide nudge)

Above the day grid in the calendar's staff view, a Tighten This Day card surfaces when:

  • You're viewing a single staff day (not the agenda or multi-day views)
  • The day has at least one fillable gap (open slot or processing gap)
  • Waitlist entries in ready_to_contact state have visible matches for those gaps

The card shows:

  • {N} fillable minutes across the day
  • {count} waitlist clients ready with eligible matches
  • Open waitlist button to drill into the matches and send offers

Same matching engine as Smart Waitlist and Processing Gaps — just aggregated to the day level so you can see what could be salvaged at a glance. Dismissible per (venue, date) for 24 hours.

Useful end-of-day or start-of-day when you're planning what to fill: rather than hunting through the calendar for gaps, the card surfaces the total recoverable opportunity in one place.

Mobile parity

Full parity. Phone uses a master-detail layout that auto-promotes to a side panel on tablet. Every surface — three opening modes, weekly windows picker, auto-confirm badge, throttle settings, suppressed offers, queue position — works the same on mobile.

Mobile FREE shows the same lock-state pattern as elsewhere: "Available on the PRO plan" passive copy with no upgrade verb (Apple/Google billing compliance).

Common mistakes

Problem What to check
Customer says they joined but I don't see them in the queue Status filter is Waiting by default — switch to All or History if you want to see other states.
Weekly windows didn't match an opening they should have caught Confirm the venue timezone (Settings → Venue → Timezone) — Weekly matching uses venue local time. If the customer's window is Monday 09:00–12:00 and your venue is in Sydney, the match runs against Sydney local time.
Auto-confirm booked a customer who'd already rebooked elsewhere The advisory lock prevents this on OpenChair, but if the customer's elsewhere booking is outside OpenChair, you'll need to handle the conflict manually. Use the 24-hour cancel window.
Suppressed Offers strip is empty when I expected entries Check the throttle setting — if it's set to 0, throttle is disabled and nothing is suppressed.
Smart Fill / Best match first is greyed out PRO-only. Switch to Manual review for FREE behaviour.
Queue position card on the customer manage page says "Paused" The customer paused their entry from the manage page. They can resume any time.
Customer SMS says "auto-booked" but they want to keep the slot They don't need to do anything — auto-confirm books the slot. The cancel link is in case they didn't want it. The 24-hour window expires silently.

FAQ

Do I need PRO for the waitlist?

No. Basic waitlist works on every plan — customers can join, you can manage entries, queue position works, throttle and customer-side auto-confirm all function. PRO unlocks AI-ranked Smart Fill matching, automatic offer-sending modes (best match first / offer to everyone), Smart Waves, the Recovered Revenue card, and the operator-side auto-confirm override.

How does a customer add themselves to the waitlist?

From your storefront when their preferred service or time isn't bookable, OpenChair surfaces a 'Join the waitlist' link. The customer completes a two-step form: contact details and service, then availability preferences (date range, specific days, or weekly windows). They can opt into auto-confirm at the same time.

What's the difference between Date range, Specific days, and Weekly windows?

Date range = any time between two dates. Specific days = a list of individual dates. Weekly windows = recurring per-weekday preferences (e.g. Tuesday 9–12 and Saturday 2–6 every week) — useful for clients with stable schedules.

What is auto-confirm?

When the system finds a matching slot for a customer who's opted in to auto-confirm, it books them automatically and sends a confirmation SMS instead of an offer. The customer can cancel within 24 hours by tapping the link in the SMS. Customers opt in from their join form or manage page; on PRO, you can override per entry for VIP clients.

How does the per-customer throttle work?

Settings → Waitlist → Maximum offers per customer sets the minimum hours between offers to any one customer. Default 6 hours, range 0-72. Set to 0 to disable. When throttled, the offer is suppressed and surfaces in the Suppressed Offers strip so you can see what was held back.

What happened to Waitlist Insights and Recent Blasts?

Removed in the late-April 2026 redesign. The surface is now focused on the operational queue and live offers. Recovered Revenue replaces the old insights view with a cleaner money-focused framing on PRO.

Related Articles

  • Concierge Actions & Backfill
  • Concierge Automation (Gap Fill)
  • Calendar Sync (Google + Outlook)
  • Counter-Offers
  • Cancellation & Rescheduling Policy
openchair

The operating system for high-end service venues. Built in Australia for the world.

Product

  • Features
  • Pricing
  • AI Features
  • Mobile App
  • Online Booking
  • AI Concierge
  • Sign In

Solutions

  • Hair Salons
  • Barbers
  • Beauty
  • Wellness & Spa
  • Nail Salons
  • Tattoo Studios

Compare

  • All comparisons
  • vs Fresha
  • vs Timely
  • vs Square
  • vs Booksy
  • vs Mindbody
  • vs Boulevard
  • vs Phorest
  • vs Mangomint
  • vs GlossGenius
  • vs Vagaro
  • vs Shortcuts
  • vs Acuity

Resources

  • Blog
  • Help Centre
  • Guides
  • Glossary

Company

  • About
  • Contact
  • Book a Demo
  • Founding Members

Legal

  • Privacy
  • Terms
  • Cookie Policy
  • Sub-processors
  • Accessibility
  • Privacy Request

© 2026 OpenChair Platform. All rights reserved.

Made on the Goldie.