Features

Built to handle the day,
so you don't have to.

Every feature, what it actually does, and where it stops. Built and tested at DUST in Los Angeles — against a real day in a real chair.

01 / 05BOOKINGS

The schedule,
finally on your side.

A real calendar — built around how a salon actually runs a day. Switch between three-day, week, and month views, or flip to a table for the kind of week you want as a list. Every booking carries its actions with it: reschedule, cancel, mark complete, send a payment link, all from one row.

  • 3-day, week, month, and table views. Pick what fits the conversation.
  • One-tap actions on every booking. Call, text, email, reschedule, generate a payment link.
  • Color-coded by customer type. New vs. returning shows at a glance — no clicking through.
  • Square payment links on confirmation. Send a paid-in-advance link to any booking without leaving the row.
  • In-chair payments via Square POS. One tap opens the order in the Square app on your iPad.
Worth knowing — Rescheduling is modal-based — drag-and-drop is not yet wired up.
FRI 15 · 09:00JESSICA LANGSHORT CUT
FRI 15 · 10:30CHRISTIAN BRITZ1 HR
SAT 16 · 11:00RYAN OHARACUT & COLOR
SAT 16 · 14:30DACRE M.VIP
SUN 17 · 09:00CJ BRITZSHORT CUT
SUN 17 · 13:00BLOCKED · LUNCH30 MIN
FIG. 01 — CALENDAR · 3-DAY VIEW
02 / 05WAITLIST

Cancellation slots
refill themselves.

A customer joins the waitlist for a service across a date range — not a single slot. A cron runs through business hours, watches for an opening, and sends the longest-waiting matching customer a pre-populated booking link the moment one appears. The slot fills itself.

  • Date-range waitlist. Customers ask for a window — not a specific time — so the system has room to match.
  • Slot detection across calendars. Bookings, Google Calendar blocks, closed dates, and business hours all factored in.
  • First-come, first-served. The longest-waiting matching customer is notified first.
  • 48-hour window to book. If they don't claim it, the next customer in line gets the slot.
  • Manual "Check Availability Now". Force a sweep from the admin if you opened a slot mid-day.
Worth knowing — Waitlist notifications go by email only — not SMS.
WED 11 · 16:00CANCELLED · ORIG. K. WONG
WED 11 · 16:02CRON SWEEP · MATCH FOUND3 IN QUEUE
WED 11 · 16:02NOTIFIED · K. MORENOEMAIL SENT
WED 11 · 17:41BOOKED · K. MORENOSLOT FILLED
WED 11 · 17:41WAITLIST CLEARED · 2 REMAIN
FIG. 02 — WAITLIST EVENT LOG · CANCELLATION TO REBOOK · 1H 39M
03 / 05REMINDERS

Confirmation, reminder, follow-up.
Written once. Sent on time.

Six reminder types — confirmation, pre-appointment reminder, follow-up, cancellation, reschedule, waitlist — each a template you edit once. The system sends them at the timing you set, with sixteen variables to substitute (customer name, service, provider, location address, booking time, more). Email default; SMS where the customer opted in and the add-on is on.

  • Six lifecycle reminder types. Confirmation, pre-appointment, follow-up, cancellation, reschedule, waitlist.
  • Customizable send timing. "Immediately," "1 hour before," "24 hours before," "72 hours before."
  • Sixteen template variables. Customer name, service, provider, location address, booking time, business name, and more.
  • Email + SMS dual channel. Per-customer preference; SMS falls back to email if it fails.
  • Resend for email, Twilio for SMS. Production-grade delivery; per-message attempts logged.
06:00CONFIRMATION · 14 SENTEMAIL
07:0024HR REMINDER · 9 SENTSMS
10:00FOLLOW-UP · 6 SENTEMAIL
18:00REVIEW REQUEST · 4 SENTEMAIL
YOUDID NOTHING
FIG. 03 — REMINDER PIPELINE · ONE DAY · 33 MESSAGES, ZERO TAPS
04 / 05CAMPAIGNS

A quiet week fills itself from your own list.

Bulk email and SMS to your customer list, with segmentation, variable substitution, and click tracking. Send to new customers, returning customers, or a manual segment ("VIP", "Summer 2025"). The HTML composer takes a safe-tag whitelist so you can format without ending up in spam folders.

  • Email and SMS broadcast. Two channels, one composer, one segment picker.
  • Segment by customer type. New, returning, or any manual group you build.
  • Sixteen variables. Personalize {{customer_name}}, {{business_name}}, {{registration_url}}, more.
  • Rich HTML composer. Safe-tag whitelist (p, strong, em, ul, a) — no surprise iframes, no spam triggers.
  • Click tracking. See per-send open and click counts on the campaign list.
Worth knowing — Send-now only — no scheduled or recurring campaigns yet.
SEGMENTRETURNING · LAST 90D184 RECIPIENTS
SUBJECTNEW SUMMER HOURSDRAFT
BODYHey {{customer_name}}, …EMAIL
SENDBATCH OF 50 VIA RESENDQUEUED
RESULTOPEN 62% · CLICK 17%+ 31 APPTS
FIG. 04 — CAMPAIGN COMPOSER · SEGMENT, RENDER, BATCH-SEND
05 / 05CUSTOMERS

Every client walks in
feeling remembered.

A customer record with the things your memory can't hold for 400 clients: last visit, total spent, birthday, allergies, formulas, notes. Search and filter by visits, last booking, or customer type. Build manual segments for campaigns. The details that make a client feel known — held by the product, not by your brain at 11pm on a Saturday.

  • Full booking history. Total visits, total spent, last and next appointment, every line item.
  • Notes, allergies, formulas, birthday. The detail your memory can't hold.
  • Customer type flag. New / loyalty — drives pricing and campaign targeting.
  • Manual segments. Build a "VIP" or "Summer 2025" group; target it in a campaign.
  • Search, filter, sort, bulk-edit. By visits, last booking, customer type. Edit type on selected records in one go.
Worth knowing — Segments are manual — no rule-based "auto-tag everyone with 5+ visits" yet. Birthday is a field, not a triggered campaign.
JESSICA LANG18 VISITS · $2,450VIP
K. MORENO12 VISITS · $1,890BDAY · APR 02
DACRE M.21 VISITS · $4,200VIP
CHRISTIAN B.8 VISITS · $980NEW
BEN P.11 VISITS · $1,650RETURNING
NOTES · JESSICA L.FORMULA · 7N + 5VV · 30 VOLEDIT
FIG. 05 — CUSTOMER LIST · LIFETIME VALUE · NOTES, FORMULAS, BIRTHDAY
See it for yourself

Try it for 30 days.
No card.

The features above are the features in the product today. No future promises, no "coming soon" tags hiding the truth. Spin it up for a month and see if it fits.