Your booking system

How to find lapsed clients in your booking system

Every major booking system used by Australian clinics has a way to list the clients who haven't been back. Most owners have never run it. Here's where the report lives in Timely, Cliniko, Fresha, Phorest, Square, Nookal, Halaxy, Zanda and Kitomba, what each export does and doesn't include, and what to do with the list once you have it.

Your booking system already knows who hasn't been back. Every major platform used by Australian clinics has a report, a filter or an automation for it. The problem isn't the software. It's that the report has a name nobody would guess ("Customers absent since", "Last Attendances", "Patients without upcoming appointments"), the date filter often does something different from what you'd expect, and the export you get is missing the one column you needed.

This pillar covers nine systems. Each has its own guide with the click path quoted from the vendor's current help centre and a link to it, so you can check the steps yourself. Where the docs don't say something, the guide says so rather than guessing. First, the bit that's the same everywhere.

What you're trying to end up with

One spreadsheet. One row per person. These columns:

  • First name (for the message)
  • Mobile number (a valid Australian mobile, not a landline)
  • Last visit date (attended visits only, not cancellations or no-shows)
  • The service or category they last had (so the message can reference it in plain words)
  • Whether they have a future booking (if yes, they're not dormant, remove them)
  • Whether they've opted out of messages (if yes, remove them)

Then you filter to a last visit between 3 and 24 months ago and you've got your contactable dormant list. Everything after that is about what you're allowed to send and what to say.

Three traps show up across systems, so watch for them in yours:

  1. The date range filters on the wrong date. Cliniko's patient export and Fresha's Client insights report both filter by the date the patient was added, not their last visit. Set "12 months" thinking you'll get lapsed patients and you get last year's new patients instead. Export everything, then filter the last-visit column in a spreadsheet.
  2. "Lapsed" means something narrower than you think. Square's default Lapsed group only includes people who "were regulars" (three visits in six months) and then went quiet for six weeks. A one-visit consult client never lands in it. Phorest's Client Reconnect only fires after three visits in one service category and excludes every laser category by default.
  3. The export isn't the whole database. Phorest's Emails (CSV) export "will only include a list of clients who have opted in for email marketing". Nookal's bulk messages only reach patients who've ticked consent. That's correct behaviour, but it means the number of rows you see isn't the number of patients you have.

Timely

Timely has a purpose-built report. Reports tab, choose Customers absent since from the dropdown, pick a date, and Timely lists everyone who has "not rebooked or do not have any upcoming appointments since a specific date", with "the client's name and contact details as well as their last booking date" and a "days absent" column (Timely help). Export with the CSV button.

The catch is on the sending side. Timely's own SMS campaigns tool "cannot currently target clients based on a set period since their last visit", and there are no saved segments. So the report gives you the list, but you'll send from somewhere else, or hand-pick. Also note every client is opted in to marketing by default until they reply STOP. Full Timely guide.

Cliniko

Two routes. Reports → Patients without upcoming appointments lets you "specify when their last appointment date was" and prints a list on screen, but there's no CSV from that report. For a spreadsheet: Settings → Data exports → Patients, choose "Any time" for the date range (because the range is by patient creation date), export, and filter on column AB "Last appointment" and column AF "Next Appointment" (Cliniko help).

Cliniko can also send the message itself. Communications → Send message patients → SMS has the filters "When their last or next appointment was" and "Patients who don't have any upcoming appointments", with a tick box "This is a marketing message" that excludes opted-out patients. SMS credits are "10¢ per message" in US dollars. One gap: there's no documented reply-STOP handling, so opt-outs are manual. Full Cliniko guide.

Fresha

The Client insights report has "Mobile number" and "Last appointment" columns and exports to CSV or XLSX, which makes it the verified route to a lapsed spreadsheet (Fresha help). Its date picker filters by the day the client was added, so don't use it to find lapsed clients; export and sort the last-appointment column instead.

Fresha also has a Win back lapsed clients automation and blast campaigns from custom client segments. The docs never name the segment conditions, and text blasts "are sent as no-reply messages, so any replies won't reach you", which rules out "reply with a day that suits". Marketing text blasts are A$0.15 each on the AU pricing page. Full Fresha guide.

Phorest

Phorest's Visit History filter ("They have not visited" in a window like "More than N Days Ago") works across campaigns, and Client Reconnect messages overdue clients automatically once it has three visits in a category to work out their usual gap (Phorest help). The initial message is sent manually, the follow-up automatically two weeks later.

Two things a skin or laser clinic needs to know. Client Reconnect excludes "Laser Hair Removal, Laser Rejuvenation, Laser Vein & Pigmentation" and other permanent-treatment categories by default. And the documented export buttons are Emails (CSV) and Address (CSV); no fetched help page lists a mobile or last-visit column, so check your file. Full Phorest guide.

Square Appointments

Customers → Customer directory. Square ships a Lapsed smart group ("customers who were regulars, but haven't visited in the last six weeks") and you can build your own with + Add filter, then Save as group (Square AU help). The "Last Visit Date" filter is documented in a Square staff post, not the AU help centre. Export from Import / Export → Export customers → Specific Groups.

Square Marketing in Australia is email only; Square's own AU report lists text message marketing as "US only". So the list comes out of Square and the texts go out of something else. Full Square guide.

Nookal

The Last Attendances Report "lists Patients seen within a date range without a future booking scheduled", with Last Appointment (excluding DNA and cancellations), Mobile and Email columns, and Nookal's own note says to use it "to identify Patients to be contacted for rebooking" (Nookal help). Watch the "Attendances per Provider" tick box; with it on, a patient who has a future booking with a different provider can still appear.

Nookal's Bulk Messages can send to patients with completed bookings in a date range, filtered by service, location and provider, but "can only be sent to Patients that have consented to receive Email or SMS Marketing or Reminders". Full Nookal guide.

Halaxy

Halaxy's campaigns run off a report, and the vendor's worked example is the exact job: "Create an ongoing email campaign to encourage patients who have not visited in the last 6 months". Reports → Appointment → New Report, Report Type "Attendance", Length "Equals 6 months since last attended appointment", then use that report as the campaign audience (Halaxy help). SMS campaigns use Halaxy credits. Full Halaxy guide.

Zanda (formerly Power Diary)

Zanda doesn't give you a list so much as an automation. A Recall automation "is triggered a set number of days after a client's last booked appointment, but only when the client has no future appointments scheduled", and sends an SMS, an email or creates a task for your team (Zanda help). Runs daily at 2pm. It's not triggered by no-shows or cancellations, which need a Post-Appointment automation instead. Full Zanda guide.

Kitomba

Client tab → Client lists → create a filtered list → Generate → Download gives you a spreadsheet, and the same list can feed a campaign (Kitomba help). The help page doesn't name the individual filters, so the exact "last visited" label isn't quoted here. Campaign Marketing sends text or email to a saved list; clients need "accept promos" ticked. Full Kitomba guide.

Mindbody, Zenoti and Simple Salon

These three have the feature but this build couldn't verify the click path against a help page that scripts can read, so there's no separate guide yet. What's known: Mindbody's help centre has articles titled "How to generate a list of clients that have not visited for a while" and a "Clients who have not visited recently" smart list. Zenoti has a "Recover Lost Customers" campaign for "re-engaging customers who have become" lapsed. Simple Salon has no lapsed report; its docs describe tagging inactive clients into a category by hand and messaging that category. If you're on one of these, search your help centre for those titles.

What to do once you have the list

Don't send to all of it. Sort by last visit, most recent first, and take the top 50. Consent is easiest to imply for the people who came recently and often (the OAIC's own factors), the response is highest there, and 50 replies is about what one person can answer well in a day.

Then run the rules checklist, write the message from the person they saw (the templates are a starting point), and send from a number that can receive a reply. When they answer, offer two real times and book them then and there. The list was the easy part. Answering is where the bookings are, and it's the part a booking system can't do for you.

Questions owners ask

Which booking systems can send the reactivation text themselves?

Cliniko (group SMS with a no-upcoming-appointments filter), Phorest (Client Reconnect), Fresha (a win-back automation and blast campaigns), Nookal (bulk messages), Halaxy (campaigns from a report), Zanda (recall automations) and Kitomba (campaign marketing) all can, with conditions their own docs spell out. Timely can send SMS campaigns but its docs say the campaign tool can't target clients by time since last visit. Square has no SMS marketing in Australia.

Do the exports include the mobile number and last visit date?

Timely's absent-since report and Fresha's Client insights report document both. Cliniko's patient export has a Last appointment column. Nookal's Last Attendances report shows mobile and last appointment. For Phorest, Square and Kitomba the docs don't list the export columns, so check your own file before you assume.

How far back should the list go?

3 to 24 months since the last visit is the usual window. Under that they're probably just between appointments; beyond it, consent for anything promotional gets harder to imply. Whatever you pick, strip out anyone with a future booking and anyone who has opted out.

Rather see what your own database is worth first? Get a free opportunity report. It's a look at the bookings sitting in your list, no call required.

Sources

  1. Timely, How to use the customers absent since report
  2. Cliniko, Find patients without upcoming appointments
  3. Fresha, Client insights report
  4. Phorest, What is Client Reconnect and how does it work?
  5. Square, Create customer groups and filters (AU)
  6. Nookal, Last Attendances Report
  7. Halaxy, Guide to campaigns
  8. Zanda, Setting up a recall automation
  9. Kitomba, Create a client list in K1
  10. Mindbody, How to generate a list of clients that have not visited for a while (title as indexed by Google; help centre not fetchable by script)
  11. Zenoti, Recover Lost Customers (help centre, 9 July 2024)
  12. ACMA, Avoid sending spam
T
Tariq Daher, Founder, KymoraTariq runs Kymora from Picton, NSW. Kymora texts a clinic's lapsed patients and books them back in, done for the clinic and backed by a money-back booking guarantee. Before Kymora he spent three years learning product, manufacturing and brand the hard way with his own label. More about Kymora.