Skip to main content
Docs

Refunds & no-shows

How to handle the messy reality of bookings — people cancel last-minute, miss appointments, change their mind. Bookify gives you tools, not policy.

Refunds are always manual

Bookify does not auto-refund canceled bookings. A cancel just frees up the slot and unschedules reminders — the money stays in your merchant account until you decide what to do.

The reason: a 24-hour-notice cancellation might warrant a full refund, but a no-show probably shouldn't. Your refund policy is yours to enforce.

Issuing a refund

  1. Open the booking at Dashboard → Bookings → [the booking].
  2. Scroll to the Payment section. If the booking was paid through Stripe, an Issue refund button appears.
  3. Enter the amount (in cents). Defaults to the full remaining refundable amount. Confirm.
  4. We call Stripe's refund API on your behalf. The refund comes out of your Stripe balance — Bookify never touches the money.
  5. The booker gets a refund confirmation email automatically.
Stripe's processing fees aren't returned
When you refund a Stripe charge, Stripe doesn't return the processing fee it originally took. That's a Stripe rule. If you refund $100, $97.10 lands back with the booker (or whatever amount Stripe paid out, minus the fees Stripe kept on the original charge).

Refund policy

Set your policy at Settings → Refund policy(plain text, markdown allowed). It's required to be non-empty before any event type can collect payment, and it's shown:

  • On the public booking page, above the payment form
  • In confirmation emails
  • In cancellation + refund emails

We don't enforce the policy — we just display it. Refund decisions are yours.

No-show tracking

On Pro, you can mark a booking as a no-show after the start time has passed. From the booking detail page, click Mark as no-show.

What this does:

  • Flags the booking with noShow = true and a timestamp.
  • Feeds the no-show rate analytic on the Pro dashboard.

What this does not do (in v1):

  • Auto-refund or charge a no-show fee — those are manual.
  • Block the customer from booking again — we may add a repeat-offender block later, but right now the metric is just for awareness.

Cancellation vs no-show

A booking that's canceled (the booker or host removed it) is different from one marked no-show(the booker didn't cancel but didn't turn up). The status stays Confirmed if it's a no-show — only the no-show flag is set. This lets the analytics distinguish "the customer canceled politely" from "the customer ghosted".

What happens on auto-refund attempts (we don't do them)

Some scheduling tools auto-refund on every cancel. We don't — too many edge cases where that's the wrong move (late cancels, no-shows, partial refunds for rescheduled paid coaching). Manual is the safer default. If you want automatic refund behavior tied to a notice window, ping [email protected] and we'll talk about it.