Built for med spas & aesthetics

A cancelled appointment is $450 walking out the door.

FillTheHour texts your waitlist the second a slot opens. The first client to reply YES gets booked automatically — confirmation sent, everyone else told it's taken. You just watch the recovered revenue add up.

Free until it fills your first slot.

14-day trial, no card · $49/mo after

1 click
From open slot to sent
Auto
First YES books itself
$0
Until a slot is filled
9:41Radiance Med Spa

Hi Jordan, this is Radiance Med Spa. A Botox/filler slot just opened up at 2:00 PM today and we thought of you first. Want us to grab it for you?

Reply YES to claim it, or STOP to opt out.

delivered 12:04 PM

YES

12:04 PM · 41 seconds later

You're booked for 2:00 PM today 🎉 Confirmation is in your inbox. See you soon!

Slot filled · $450 recovered
Works alongside your calendar — it doesn't replace itGoogle CalendarCalDAVCSV importQR signup🇺🇸 & 🇨🇦 US & Canada
The math nobody runs

You're not losing appointments. You're losing revenue.

Calling the waitlist by hand eats into your day and often ends with the hour still empty. Move the sliders — this is what those empty hours could be costing you per year.

Refill rate depends on waitlist size. Practices with a larger opted-in list typically land higher in this range.

Revenue recovered per year
$15,600

...against $588/year for FillTheHour. Every slot after the first one is upside.

$15,600
Still lost (unfilled)
26.5×
Return on subscription
What you're probably doing now

Reminders and Instagram won't fill the chair.

They tell you the slot is empty. They don't do anything about it.

vs. reminder software

Reminders tell you it's empty. We fill it.

Tools like Weave or Mindbody tell you a client cancelled — that's where they stop. FillTheHour is the next step: it automatically texts the exact clients waiting for that slot, before the hour goes to waste.

vs. Instagram Stories

Stories rely on luck. Texts don't.

A Story only works if a follower happens to be scrolling at that exact minute — and your front desk still has to manage the DMs by hand. FillTheHour texts the people who already said "let me know if something opens up," and locks in the first YES in minutes.

The whole loop is automatic

Cancel → text → booked → paid

This isn't a "send a text blast" tool. Sending, booking the first YES, confirming, and the ROI math all happen without you.

1

Build the waitlist once

Add clients by hand, import a CSV, or share your QR code / public signup page so clients join themselves — name, phone, SMS consent.

QR + public signup page
2

We spot the cancellation

Connect Google Calendar (or CalDAV) and FillTheHour can see the cancelled booking itself. Skip this and you just pick the open slot yourself in a couple clicks.

Optional calendar sync
3

One click to send

Pick the date and time, choose a template, choose blast or waterfall. Message goes out in seconds with opt-out language built in.

Blast or waterfall
4

First YES is booked

Winner gets an email confirmation, everyone else is told the slot is gone, and the recovered dollars land on your dashboard.

Auto-booked
Templates, ready to send

Sounds like your front desk. Not like software.

Short, direct, human. Pick a template, we drop in the client name, your practice name and the slot time. Every single one ends with the opt-out line — you can't send a message without it.

Same-day opening1 segment

[Practice]: Hi [Client], a [Service] spot just opened [time]. Reply YES to claim, or STOP to opt out.

Thought of you first1 segment

[Practice]: Hi [Client], a [Service] spot opened [time] - you came to mind. Reply YES to claim, or STOP to opt out.

⏱️ First come, first served1 segment

[Practice]: Hi [Client], a [Service] spot [time] is free - first to reply gets it. Reply YES, or STOP to opt out.

🌿 No pressure1 segment

[Practice]: Hi [Client], we have a [Service] spot [time] if you want it. Reply YES, or STOP to opt out.

📨 2nd outreach1 segment

[Practice]: Hi [Client], still want the [Service] spot [time]? Reply YES to claim, or STOP to opt out.

💆 A Massage & Wellness template ships too — the same loop works for any appointment-based practice.

Two ways to reach the list

Fill it fast, or fill it fairly.

Blast

Everyone at once — fastest fill

One message to every selected client on the waitlist. First YES wins the slot, the rest get an automatic "it's taken" note. Use it for same-day openings where minutes matter.

YouJordanMayaAlexPriyaSam
Waterfall

One at a time — priority list first

Message goes to the top of your priority list. No reply inside your wait window (30 minutes by default, yours to change)? It moves to the next client automatically, and keeps going until someone claims it.

VIP · Maya→ 30 min →JordanAlex→ …
Your dashboard

The number your accountant cares about.

Slots filled × your average ticket = revenue recovered, updated live as replies come in. Plus a real-time feed of who answered, who won the slot, and who opted out.

Example numbers below — every account starts at zero.

Revenue recovered · MTD
$2,150
▲ 6 slots filled this month
Fill rate
62%
8 of 13 openings
Booking
Automatic
First YES wins, no phone tag
Waitlist opted in
54
+4 via QR this week
Start free — see your own numbers →
Straight talk on compliance

Opt-out handling is done for you.

SMS marketing rules in the US and Canada are strict, and the penalties land on the practice. We built the boring parts in — and we're upfront about what we haven't finished yet.

Opt-out in every message

"Reply YES to claim it, or STOP to opt out." ships in every template, and the composer warns you before sending a message that drops it. Reply STOP and that client is excluded from all future sends, automatically.

Consent captured at signup

Waitlist signup — QR, link, or manual — records SMS consent, so you have a record instead of a memory.

Segment counter before you send

See when a message crosses 160 characters and bills as two segments, before it goes out to your whole list.

!

Not HIPAA-compliant today

We don't have signed BAAs with our infrastructure providers yet, so we won't claim it. Our trust & compliance work is in progress and we'll say so the day it's done. Keep clinical detail out of the messages.

Available in the US and Canada. UK/EU is on hold until our PECR/GDPR sender setup is complete.

Pricing

One filled slot pays for the year.

Start free for 14 days without a card. If it never fills a slot, you never pay us.

Pro
$49/mo

Everything, no seat limits, cancel anytime.

  • Up to 500 waitlist clients, unlimited openings
  • 1,000 SMS/month included
  • Blast + waterfall sending
  • Auto-booking of the first YES
  • Email confirmations & "slot taken" notices
  • Google Calendar cancellation detection
  • QR / public waitlist signup page
  • ROI dashboard & live reply feed
  • Built-in STOP handling
Start 14-day trial
Design partner · limited spots
60 daysfree

For practices willing to help us shape the product.

  • Everything in Pro, free for 60 days
  • Hands-on setup — we import your list and send the first opening with you
  • Direct line to the founder
  • In exchange: a testimonial and one referral
Claim a design partner spot

Questions we get on the first call

No. Keep whatever booking software you already use — FillTheHour doesn't touch it. We only handle the holes cancellations leave behind. Connect Google Calendar if you want cancellations detected automatically; otherwise enter the open slot yourself in two clicks.

Your next cancellation is already on the calendar.

Set it up in ten minutes and the one after that fills itself. Free until it does.