Bookings
Smart Waitlist & Gap Filling
Smart Waitlist & Gap Filling
Capture customer demand when you are fully booked, then fill cancellation gaps by sending targeted offers to the right customers — ranked by AI for revenue, fit, and churn risk.
Overview
The Smart Waitlist lets you:
- Collect customer requests with service, staff, date, and time preferences
- Share a public waitlist link so customers can join online without calling
- Detect gaps in your schedule and match them to waiting customers
- Send personalised booking offers via SMS or email
- Use AI-powered ranking to prioritise the best candidates for each gap (PRO)
- Send offers in smart waves that escalate automatically if earlier candidates do not respond (PRO)
- Track waitlist performance — conversion rate, recovered revenue, and lost revenue
Note
The waitlist is available on all plans. AI-powered ranking (Smart Fill), automatic offer mode, and smart wave strategy require a PRO subscription.
Accessing the Waitlist
On web: Click Waitlist in the sidebar.
On mobile: Open the More menu (≡), then tap Waitlist.
The waitlist page shows:
- Key metrics — pending request count and conversion rate
- Status filter buttons — Pending, Offered, Fulfilled, Expired, Cancelled
- Active entries — each showing customer name, service, time preference, price, and age (e.g., "2d ago")
When the waitlist is empty, the page shows: "Your waitlist is empty — Share your waitlist link to let customers join, or add a request manually."
Adding a Customer to the Waitlist
On Web
- Click Add Request (Plus icon) at the top of the waitlist page
- Enter the customer's name, email, and optionally phone number
- Select the service they want
- Optionally choose a preferred staff member
- Set their availability:
- Date range (from/to) or specific dates
- Time preference — Any, Morning, Afternoon, or Evening
- Add any notes (e.g., "Needs Saturday morning only")
- Click Add to Waitlist
On Mobile
- Tap Add to Waitlist on the waitlist screen
- Enter the customer's Name and Phone (both required), and optionally Email
- Select the service
- Choose a time preference — Any, Morning, Afternoon, or Evening
- Optionally set preferred dates (from/to)
- Add any notes
- Toggle Send confirmation to notify the customer they have been added
- Tap Add to Waitlist
Tip
The more specific the availability preferences, the better the matching. A request for "Morning" on a date range is more likely to match a gap than "Any time" with no dates.
Sharing Your Public Waitlist Link
Customers can join the waitlist themselves without calling. To share the link:
- Click More (three-dot menu) on the waitlist page
- Click Copy waitlist link
- Share the link on your website, social media, or in messages
A toast confirms: "Waitlist link copied to clipboard".
When customers visit the link, they see a form titled "Priority Waitlist" with the message: "Fully booked? Join our waitlist and we'll let you know when a matching spot opens up." They enter their name, email, phone, service preference, time preference, and optional staff preference.
How Matching Works
When a gap opens in your schedule (e.g., a cancellation), you can match it against waiting customers:
- The system checks all Pending entries
- Entries are filtered by:
- Service — matches the gap's service (if specified)
- Staff preference — matches the gap's staff member, or entries with no staff preference
- Time of day — morning (before 12 PM), afternoon (12 PM–5 PM), or evening (after 5 PM)
- Date range — overlaps with the customer's preferred dates
- Up to 12 matching candidates are returned
Filling a Gap with Smart Fill
Smart Fill uses AI to rank waitlist candidates by revenue potential, churn risk, and fit quality.
On Web
- Click Smart Fill (Sparkles icon) at the top of the waitlist page
- Select a gap slot — the modal shows suggested gaps auto-detected from your schedule, or use the manual selector to set a custom date, time, and duration
- Choose a sending strategy:
- Single — send all offers at once (FREE)
- Smart — send in escalating waves (PRO) — top 3 first, then next batch if no response
- Click Find Matches
- Review the AI-ranked candidates — each shows:
- Match score (0–100)
- Badges — High Value, Churn Risk, Perfect Fit, Partial Fit, Urgent, VIP, New Client
- Reasoning — a short explanation of why they ranked this way
- AI recommendation — highlighted at the top in a yellow banner
- Click Send Offers to notify the top matches
- Confirm: "Confirm sending [N] notifications?"
A toast confirms: "Notified [N] matches."
On Mobile
- Tap Fill a Gap (Sparkles icon) on the waitlist screen
- Set the Available from and Available until times
- Choose the sending strategy — All at once or Smart waves (PRO)
- Tap Find & Rank Matches
- Review the ranked candidates with scores, badges, and reasoning
- Tap Notify Top [N] Matches
- Confirm: "This will send SMS notifications to [N] clients. This action cannot be undone."
AI Ranking Criteria (PRO)
The AI scores each candidate (0–100) based on:
| Factor | Weight | Description |
|---|---|---|
| Churn risk | Highest | Customers with no booking in 90+ days get priority — re-engagement opportunity |
| Revenue opportunity | High | Service price and upsell history |
| Fit quality | High | How well the service duration matches the gap (±15 minutes = perfect fit) |
| Urgency | Medium | Keywords in notes like "wedding", "event", "ASAP" |
| Customer value | Medium | Total lifetime spend and booking count |
| Recency | Low | How long the customer has been waiting |
AI Badges
| Badge | Meaning |
|---|---|
| High Value | Service price over $100 or total spend over $500 |
| Churn Risk | No booking in 90+ days or no booking history |
| Perfect Fit | Service duration matches the gap within 15 minutes |
| Partial Fit | Service duration is 30+ minutes shorter than the gap |
| Urgent | Notes contain urgency keywords (wedding, event, ASAP) |
| VIP | 10+ bookings or $1,000+ lifetime spend |
| New Client | No previous bookings at the venue |
Sending an Offer Manually
You can send an offer to any individual waitlist entry without using Smart Fill.
On Web
- Click a waitlist entry to open its detail sheet
- In the Matching Openings section, tap an available slot
- Choose a contact channel — Email or SMS
- Review and edit the message (pre-populated with the customer's name and service)
- Click Send Offer
On Mobile
- Tap a waitlist entry to open the detail screen
- The Available openings card shows matching slots (e.g., "Today - 2:00 PM - Sarah")
- Tap a slot to open the Send Offer sheet
- Select a team member
- Set the start time
- Choose Send via — SMS or Email
- Review the message
- Tap Send Offer
When an offer is sent:
- The entry status changes from Pending to Offered
- A 10-minute exclusive hold is placed on the time slot — no other customer can book it during this window
- The customer receives an SMS or email with a booking link
What the Customer Sees
The customer receives a message with a link to a booking offer page. The page shows:
- The venue name, service, staff member, date, and time
- An "Accept This Time" button
- An expiry notice
If the customer taps Accept This Time:
- The booking is created automatically
- The waitlist entry status changes to Fulfilled
- The customer receives a booking confirmation
- Any other offers for the same gap are cancelled automatically
If the offer expires without a response, the entry reverts to Pending and can be offered again.
Releasing a Hold
If you change your mind after sending an offer, you can release the hold:
On web: Open the entry detail sheet and click Release Hold.
On mobile: Open the entry detail screen and tap Release Hold. A confirmation appears: "This will release the active hold for [name]. The offer will no longer be reserved and the time slot will become available again." Tap Release Hold to confirm, or Keep Hold to cancel.
The entry reverts to Pending status and the time slot becomes available for other bookings.
Smart Waves (PRO)
Instead of sending all offers at once, smart waves escalate outreach gradually:
| Wave | Candidates | Expiry | Description |
|---|---|---|---|
| Wave 1 | Top 3 | 4 hours | Highest-ranked candidates get first offer |
| Wave 2 | Next 4 | 2 hours | Activated if Wave 1 produces no acceptance |
| Wave 3 | Remaining | 1 hour | Final wave with shortest window |
Wave advancement is automatic — when all offers in a wave expire or are cancelled without acceptance, the next wave activates. You can monitor wave progress in the Recent Notifications card on the waitlist page.
Offer Expiry
Offers expire after a configurable window (default: 24 hours). When an offer expires:
- The time slot hold is released
- The entry reverts to Pending (can be offered again)
- A last-chance notification is sent to the customer 2 hours before expiry
Smart wave offers have shorter expiry windows (4 hours, 2 hours, 1 hour per wave).
Waitlist Metrics
The waitlist page displays key performance indicators:
| Metric | Description |
|---|---|
| Pending | Number of active waitlist entries awaiting an offer |
| Conversion | Percentage of all waitlist entries that converted to bookings |
| Potential Revenue | Total service value of all pending entries |
AI Insights (PRO)
The Waitlist Insights card shows AI-powered analysis of the last 30 days:
- Recovered — total revenue from fulfilled waitlist entries (shown in green)
- Lost — total revenue from expired entries that were never fulfilled (shown in red)
- Pattern analysis: top requested services, time preference breakdown, average days to fulfilment
- Actionable insights categorised as Warning, Opportunity, Pattern, or Action
The insights card also appears on the Intelligence page.
Entry Statuses
| Status | Meaning |
|---|---|
| Pending | Waiting for an offer — actively matched against gaps |
| Offered | An offer has been sent — time slot is on hold |
| Fulfilled | Customer accepted an offer and the booking was created |
| Expired | All offers expired without acceptance |
| Cancelled | Manually removed from the waitlist |
Valid transitions:
- Pending → Offered, Fulfilled, Expired, Cancelled
- Offered → Fulfilled, Expired, Cancelled, Pending (via release)
- Expired → Pending (can be re-offered)
- Fulfilled and Cancelled are terminal
Waitlist Settings
On Web
Click More (three-dot menu) → Settings on the waitlist page.
On Mobile
Tap the settings gear icon in the waitlist screen header, or navigate to Waitlist → Settings.
Settings
| Setting | Options | Default | Tier |
|---|---|---|---|
| Enable customer waitlist | On / Off | On | FREE |
| How long should offers stay open? | 4 hours, 8 hours, 24 hours, 48 hours, 72 hours | 24 hours | FREE |
| When an opening appears | Manual — I'll decide who to offer / Auto — Automatically send offers to matching waitlist | Manual | Auto = PRO |
| Send offers in waves or all at once? | Single — Send all at once / Smart — Escalating waves | Single | Smart = PRO |
The wave strategy setting only appears when automatic mode is selected.
A toast confirms: "Waitlist settings saved".
Earlier Availability (Customer Opt-In)
When a customer books an appointment 14 or more days in the future, they can opt in to be notified if an earlier slot opens up. This creates a waitlist entry linked to their existing booking.
The customer can opt in:
- From the booking confirmation screen (after booking online)
- From a link in their confirmation email
Their original booking remains confirmed. If an earlier slot opens, the venue can offer it to them.
On the booking detail sheet, linked entries show a "Waitlisted for earlier" badge.
Calendar Integration
The waitlist integrates with the calendar sidebar on web:
- Ready to contact — entries with matching gaps in the current schedule
- Waiting for opening — entries with no current match
- On hold — offers sent, waiting for customer response
Each entry card in the sidebar shows the customer name, service, duration, and top matching gap slots as chips (e.g., "Mon 24 - 2:00 PM - Sarah").
Platform Differences
| Feature | Web | Mobile |
|---|---|---|
| Waitlist page | Sidebar nav → Waitlist | More menu → Waitlist |
| Add request | Dialog (two-step) | Full screen |
| Smart Fill | Modal with suggested gaps | Sheet with manual time pickers |
| Send individual offer | Detail sheet inline | Detail screen → Send Offer sheet |
| Release hold | Detail sheet | Detail screen → Release Hold sheet |
| Settings | Sheet (from More menu) | Dedicated settings screen |
| AI Insights card | Inline on waitlist page | Inline on waitlist screen |
| Recent Notifications | Card on waitlist page | Card on waitlist screen |
| Calendar sidebar integration | Yes | No |
| Copy waitlist link | Yes | Yes |
| Create Flash Deal | Yes (More menu) | Yes (button on waitlist screen) |
Troubleshooting
| Issue | Solution |
|---|---|
| No matches found when filling a gap | Check that pending entries have overlapping date ranges and compatible time preferences. Entries with very narrow availability may not match. |
| Customer did not receive the offer | Verify the customer's phone number or email address. For NZ venues, SMS is not available — offers are sent via email only. Check your wallet balance (offers cost a small amount from your Sparks wallet). |
| Offer expired before customer responded | The default expiry is 24 hours. You can adjust this in Waitlist settings → How long should offers stay open? Consider using smart waves (PRO) to escalate to more candidates automatically. |
| "Smart Fill" button shows a lock icon | Smart Fill with AI ranking requires a PRO subscription. On the FREE plan, you can still send offers manually to individual entries. |
| Waitlist link not working for customers | Check that the waitlist is enabled in Waitlist settings → Enable customer waitlist. The link is your venue URL with /waitlist appended. |
| Entry stuck in "Offered" status | The customer may not have responded yet. You can Release Hold to revert the entry to Pending and free up the time slot, then re-offer or offer to another customer. |
| Smart waves not activating the next wave | Wave advancement is checked when you view the Recent Notifications card. Open the waitlist page to trigger advancement. If all offers in the current wave have expired, the next wave will activate. |
Related Articles
- Using the Calendar
- Flash Deals — Flash Deals and waitlist offers use different timing models. Waitlist offers expire after a configurable window (default 24 hours). Flash Deals remain active until the appointment time — see Flash Deals for details.
- Booking an Appointment Online
- Booking Rules & Policies
- Counter-Offers
Last updated: March 2026