Cancellations are the calls staff hate taking. Now your AI handles them end-to-end — identify the client, confirm which appointment, cancel in Square, send confirmation. With a verbal 'yes' before anything happens.
Booking an appointment feels good. Cancelling one does not. Your best front-desk staff don't want that call. They certainly don't want it at 4:45 on a Friday.
Starting today, FrontdeQ handles cancellations end-to-end. The caller says "I need to cancel my appointment on Tuesday." Your AI looks them up, confirms which booking, asks for an explicit "yes," cancels it in Square, and sends the confirmation. Staff never touches it.
Cancellation is higher-stakes than booking. The wrong move loses a client. So the flow is deliberately strict:
CANCELLED_BY_SELLER the moment the caller confirms. Square emails the customer on its own. The slot opens up for anyone who calls after.The "explicit yes" rule is the reason we trust it. Your AI will not cancel on an ambiguous answer. We'd rather ask one extra question than cancel the wrong appointment.
Some cancellations shouldn't be automatic. The AI recognizes two cases and handles them gracefully:
Past the cancellation window. If Square's own policy says the booking is too close to its start time to cancel via API, the AI doesn't try to fight it. It says: "Let me pass that to the team to confirm your cancellation." Then it uses the voicemail tool with urgency set to "urgent" — your staff gets an email with the caller's details and can handle it manually.
Merchant policy blocks it. Square has settings that can disable API cancellation entirely (depends on your Appointments subscription tier). Same graceful handoff: the caller never hears a failure, staff still gets the request.
This fallback is invisible to the caller. They say "please cancel," the AI says "I'll pass that to the team," and the voicemail goes out. Same outcome, cleaner experience than "sorry, I can't help with that."
We tested a version without it. Too risky. Callers say "I need to cancel... actually wait, let me check with my husband," and an AI without the confirmation gate would fire the cancel before they finished the thought.
The explicit-yes gate costs one turn. It prevents exactly the edge case that would otherwise show up at the worst moment: a confused caller, a cancelled appointment, and a very annoyed client showing up Tuesday anyway.
The AI cancels one booking per call. If a client wants to cancel multiple, it cancels the first one, confirms, then asks: "Would you like me to cancel another?" This keeps the reasoning simple and the blast radius small. No risk of the AI getting confused and cancelling three things when the caller meant one.
Caller: I need to cancel my appointment on Tuesday.
Agent: Of course. Let me pull up your bookings.
Agent: I see a haircut with Sofia on Tuesday at 2pm. Is that the one?
Caller: Yes.
Agent: Just to confirm — you'd like to cancel your Tuesday 2pm haircut
with Sofia. Yes?
Caller: Yes.
Agent: Cancelled. You'll get a confirmation from Square. Anything else?
That's it. 20 seconds, no staff involved, booking reconciled in Square, Tuesday's calendar updated.
Two things, both one-time:
Cancellations are the single most time-consuming call type for most salons. They're also the call where callers feel worst — nobody enjoys making one. Handing the whole flow to an AI that's polite, accurate, and doesn't make the caller feel judged removes friction on both sides.
Your Tuesday afternoon just got 15 minutes lighter.
Learn more: /docs/cancel-flow.