Agent LabHackrLife
← All solutions
10 · Salons groomers and appointment businessesSimulationAppointments

Waitlist Manager

Fill a cancelled slot before it goes to waste.

When an appointment is cancelled, it matches the opening against waiting customers on service, duration and availability, then offers it to the best match with a time-limited hold. Offers go out one at a time and the slot is claimed atomically, so two people can never be booked into the same opening.

A real customer situation

A 60-minute grooming slot opens tomorrow morning after a late cancellation. Three customers are on the waitlist, but one needs a 90-minute large-dog groom and the others have different availability; the owner would otherwise ring round between appointments.

Where the owner wants to be

The slot is refilled by an eligible customer, the calendar shows exactly one booking, expired offers are recorded, and anyone who replied too late gets a polite note and keeps their place.

What it handles

  • Excludes customers whose service, duration or availability does not fit
  • Ranks eligible matches with the reasons shown
  • Offers one customer at a time with a hold that expires on the clock
  • Books exactly one customer through an atomic slot claim, even when two accept together
  • Stops remaining offers once the slot is filled and tells late acceptors courteously

What it deliberately does not do

  • Never offers a slot to a customer who cannot use it
  • Never holds a slot past the expiry time
  • The browser demo illustrates the race; it does not prove production concurrency
  • The public demo sends no messages and writes to no real calendar

Interactive demo

Try it with sample data

No sign-up needed. Pick a scenario, change the inputs, then play the customer and the owner. The right-hand panel only shows what the workflow actually recorded.

Interactive simulation

Interactive simulation using a sample calendar and waitlist. No messages are sent and no real appointment is booked. The two-acceptance race is illustrated in a browser simulation and does not prove production concurrency.

Choose a scenario

A 60-minute slot opens tomorrow morning; two of three waiting customers fit and the first accepts.

Priya wants a 60-min full groom, waiting since 2 Sep.

Ellie wants a 60-min full groom, waiting since 14 Sep. Jack Nguyen needs 90 min.

min

Customer side · SMS offers to waiting customers

Press “Run scenario” to start. Every message and record here comes from sample data.

Workflow and harness

How Waitlist Manager runs

Reference schematic for the proposed workflow. Blue steps do the work, purple paths handle exceptions and returns, and amber checks are the harness controls that a step cannot pass without.

Overview — business stages

next customercheckcheckcheckCancellation eventMatch eligible waitlistPlace temporary slot holdOffer slot to customerValidate acceptance andholdCommit booking and closeoffersOffer expiresHold already claimedNo eligible matchService and duration fitTime limited holdAtomic single booking
Business stepException, return or stopHarness check Required check
Read the full flow as text
  1. Cancellation event (business step)
    Deduplicate by slot; confirm the slot is now free. Output: Open slot. Leads to: Match eligible waitlist.
  2. Match eligible waitlist (business step)
    Service, duration and availability fit; rank by time waiting. Output: Ranked eligible matches with reasons. Leads to: Place temporary slot hold; No eligible match.
  3. Place temporary slot hold (business step)
    One hold at a time, time-limited. Output: Hold with offer token. Leads to: Offer slot to customer.
  4. Offer slot to customer (business step)
    One offer at a time; hold end stated. Output: Offer message. Leads to: Validate acceptance and hold; Offer expires.
  5. Validate acceptance and hold (business step)
    Token matches and its hold is still live; expired tokens rejected. Output: Valid acceptance. Leads to: Commit booking and close offers; Hold already claimed.
  6. Commit booking and close offers (business step)
    Book once; withdraw every other offer. Output: Booking reference, offer history.
  7. Offer expires (exception or return path)
    Release hold, then offer the next match. Output: Expired offer recorded. Leads to: Match eligible waitlist (next customer).
  8. Hold already claimed (exception or return path)
    Reject politely; live hold holder keeps priority; customer stays on the waitlist. Output: Courteous unavailable message.
  9. No eligible match (exception or return path)
    Stop offers; hand the slot to staff. Output: Front-desk task.
  10. Service and duration fit (harness check)
    Duration equal; availability covers the time. Output: Eligible / excluded with reason. Leads to: Match eligible waitlist (required check).
  11. Time limited hold (harness check)
    Hold expires at a fixed time; decline or expiry releases it. Output: Live / released. Leads to: Place temporary slot hold (required check).
  12. Atomic single booking (harness check)
    First claim on the slot key wins; later claims rejected. Output: One booking. Leads to: Commit booking and close offers (required check).

Harness controls

  • Eligibility: service, duration and availability must all fit
  • Time-limited hold; expiry releases it before the next offer
  • Unique offer token per offer
  • Atomic single booking on the slot key
  • Stop remaining offers as soon as the slot is filled

Systems and data

Production uses the booking system, waitlist preferences, messaging and a server-side slot reservation adapter. The demo uses a fixture calendar with three fictional waiting customers and a browser-only claim that illustrates, but does not prove, atomic booking.

Demo boundary

External calls, customer messages, payments and business writes use synthetic fixtures and an on-screen outbox. The demo shows only verified demo state. Custom production connections are a paid implementation deliverable.

What gets delivered

The records your business receives

Customer confirmation

Booking reference, date, time and service for the winner; a courteous unavailable message for anyone who replied too late.

Owner handoff

Front-desk task when no eligible customer accepts, with the offer history so nobody is contacted twice.

Refill record

Cancelled slot, ranked matches with exclusion reasons, every offer token with its outcome, hours refilled and revenue counted only after completion.

Custom deployment

Configured for your business during a paid implementation. Integrations are confirmed during discovery, never assumed.

Your business rules

  • Which services and durations can fill which slots
  • Ranking order (time waiting, loyalty, flexibility)
  • Hold length and how many offers to try before handing to staff
  • Messages for offers, expiries and late replies

Systems we connect

Your booking systemWaitlist preferencesSMS or email messagingA slot reservation adapter with atomic claims

Measurement

We measure completed business against a baseline, not messages sent. No results are promised before discovery.

Business results

  • Cancelled appointment hours refilled
  • Completed revenue recovered from refilled slots

Operational reliability

  • Double bookings of one slot (target: zero)
  • Offers sent after the slot was filled (target: zero)
  • Holds left open past expiry (target: zero)

Want this refilling cancellations in your own booking system?

Book a call about Waitlist Manager. We start with discovery: your current process, volumes, systems and who handles exceptions. The proposal then defines the integrations, approvals and acceptance tests before anything goes live.