Mobile Hairdressing Business: Diary, Travel Time and Rebooking With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Mobile Hairdressing Business: Diary, Travel Time and Rebooking With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Mobile Hairdressing Business: Diary, Travel Time and Rebooking With AI.

Block every visit as service time plus 30 minutes for set-up, clear-down and parking, group clients into patch days by drive time, and add drives as separate calendar entries. Ask for the next date before leaving, then text each client a week before they are due, offering two slots on a day you are already nearby.

The common failure is a diary built like a salon's: a slot every hour, with travel treated as free. A mobile diary has to price travel in minutes. AI is good at the sorting and poor at geography, so it works from a drive-time table that you take from a map, not from addresses it cannot see.

Follow me on Instagram@sagnikteaches

Two Tuesdays: what scattered clients cost in drive time

Take a mobile hairdresser with a 30-minute lunch and a standard 90-minute block for a cut and blow-dry (the 90 is explained below). On a scattered Tuesday she sees four regulars who live on four different patches. The drives are 25 minutes out, then 35, 30 and 40 between clients, then 30 home: 160 minutes in the car for four clients. On a batched Tuesday every client lives on one patch: 25 minutes out, hops of 5, 5, 10 and 5 minutes between clients, and 25 home. That is 75 minutes of driving, and five clients fit into the same day.

Connect on LinkedInSagnik Bhattacharya
Scattered TuesdayBatched Tuesday
Clients seen45
Drive legs (minutes)25 + 35 + 30 + 40 + 30 = 16025 + 5 + 5 + 10 + 5 + 25 = 75
Client blocks at 90 minutes360450
Lunch3030
Leaving home to getting back550 minutes (9h10)555 minutes (9h15)
Income at an average $70 a visit$280$350
Income per working hour (lunch excluded)$32.31$40.00

Income per working hour rises about 24% with no change in price, skill or length of day. The only difference is where she stood at 11:00. The $70 is a placeholder for what an average visit brings in; use your own figure. Drive minutes per client is the number to watch: 40 on the scattered day, 15 on the batched one. Even if you cannot build full patch days yet, two clients on the same street on the same day save most of a drive, which is the idea behind same-street batching. A sibling tutorial on mobile dog groomers works through the same trade-off for another van-based service.

Subscribe on YouTube@sagnikteaches

Price lists and deposits have their own tutorials: writing a salon service menu and price list and cutting no-shows with reminders and deposits.

Block lengths: service time plus the 30 minutes people forget

A block is the whole slot you protect in the diary for one client, not the time your hands are busy. Use one formula for every service: set-up (10 minutes) plus service time plus clear-down (10 minutes) plus buffer (10 minutes). The buffer covers parking, the doorstep chat and the client who is not quite ready. Travel is added as its own entry, so you can see it and move it. Illustrative blocks:

ServiceService timeSet-up and clear-downBufferBlock
Child's cut30201060
Cut and blow-dry60201090
Root colour902010120
Full colour and cut1502010180

The service times are yours; time yourself for a fortnight and use the median, not your best day. Then set up the calendar so it enforces the formula. In Google Calendar or any booking app, make three kinds of entry: client blocks, drives (one entry per leg, in a different colour) and a lunch you do not move. Make lunch the shock absorber: when the morning runs over, lunch shrinks before any client waits. End the last block at least 30 minutes before the time you told your household you would be home. Send the day's visit list and expected finish to someone who will notice if you go quiet; working alone in other people's homes is the one place where a boring habit matters more than any clever tool.

Take drive times from a map, not from an assistant. Google Maps lets you set Depart at or Arrive by to see the estimate for a given time, but its help page says that only works for routes with one destination. So for a morning leg that crosses the school run, check that single leg at the real time. The same page says you can add up to 9 stops, including the final destination, so a day with more than eight clients needs splitting into two routes.

If you use a booking app, check four things before you trust it with a mobile diary: can it add a buffer after each service, does it record the client's address, can it show certain areas only on certain days, and does it send reminders by text? SuperSaaS is one booking tool built with this in mind. Its page for mobile hairdressers says it adds buffer time between appointments for travel, lets clients choose their area from a list with an optional travel fee for each area, can open certain days for certain areas (a patch day by another name), and sends reminders by email or SMS. The same page lists a free plan limited to 50 future appointments with advertisements, and paid plans from $9 a month. Whatever you use, ask the same four questions of its help pages.

Patch days: let AI sort clients from a drive-time table

A patch is a cluster of clients within about ten minutes of each other. Draw yours from client addresses on a map by hand, once, and label them A to F. Then build a drive-time table from Maps: home to each patch, and patch to patch. An illustrative version with four patches, in minutes:

HomeABCD
Home25322233
A2583042
B3283546
C22303512
D33424612

The table shows two natural pairs: A and B are 8 minutes apart, and C and D are 12. Everything else is 30 minutes or more. Give the assistant the table, your clients by ID (never names or addresses), their patch letter, their usual service and its block length:

Below is a table of drive times in minutes, then my regular clients by ID with patch, service and block length. Use no other geography. Plan a Tuesday to Saturday week. Each day may visit at most two patches that are 15 minutes or less apart. Total blocks plus drives plus a 30-minute lunch must stay under 9 hours. Show every drive leg and the daily drive total. List any client who does not fit.
[paste table and client list]

An illustrative first answer looked right at a glance: Tuesday, A then B, five clients, drive 80 minutes; Wednesday, C then D, five clients, drive 60 minutes; Thursday, A then C, six clients. Two things were wrong. The legs for Wednesday (22 out, 10 between three clients on C, 12 across, 5 on D, 33 home) add up to 82 minutes, not 60. And Thursday pairs A with C, which are 30 minutes apart, so it broke the 15-minute rule. The fix is to ask again with "show every leg and its minutes" and to add the legs yourself in a spreadsheet; the Google Sheets AI prompts tutorial helps with that. Assistants are quick at grouping and loose with arithmetic, so let them propose and check every total.

Clients who do not fit anywhere are a finding, not a failure. A regular 40 minutes from any patch is costing you the difference between your two Tuesdays. Offer them a monthly day for outlying clients, or a slot at the end of a patch day, and decide it deliberately.

A finished Tuesday, drives and all

Here is the batched Tuesday from above laid out as the diary should show it: five 90-minute blocks, every drive on its own line, and lunch in the middle.

TimeEntryMinutes
08:30Drive to patch A25
08:55Client 1, cut and blow-dry90
10:25Drive to client 25
10:30Client 290
12:00Drive to client 35
12:05Client 390
13:35Lunch30
14:05Drive to client 410
14:15Client 490
15:45Drive to client 55
15:50Client 590
17:20Drive home25

The day ends at 17:45, nine hours and fifteen minutes after leaving. The layout shows at a glance where an overrun lands: if client 1 finishes 15 minutes late, the 5-minute hops cannot absorb it, but lunch can. Give each client the start of their block, not the time you leave home, and send it the evening before. An assistant can turn the table into those messages, one per client, from lines like "Client 2, 10:30, cut and blow-dry": "Hi [first name], I'll be with you tomorrow at 10:30. I'll park outside and ring if I'm running more than ten minutes behind." Read each against the diary before sending, because a time swapped between two clients is the sort of error that costs a regular.

Rebooking starts before you leave the client's door

The cheapest rebooking is the one made while you are still standing there with the comb in your hand. Say the next date aloud and give a choice of two: "Six weeks is the Tuesday the 14th or Thursday the 16th. Which suits you?" A client who answers has just filled a block in a patch you are already planning to visit. Put it in the diary before you pack up, then send a text with the details so it is in writing.

Count it. Your pre-book rate is the number of visits that ended with a future appointment in the diary divided by all visits. Say you see 30 clients a week and 45% pre-book: that is 13 or 14 visits. Moving to 60% means 18, so four or five more blocks are filled before the week begins, with no text sent and no chasing. The tutorial on rebooking clients and filling diary gaps in a salon covers the fixed-chair version; here the extra constraint is that every filled block has to sit on a day you are already nearby.

Some clients will say they do not know their diary yet. Do not let that end the conversation. Offer to pencil a slot and hold it for 48 hours: "I'll hold Tuesday the 14th at 10:30 until Thursday. Reply KEEP to confirm, or I'll release it." The text does the chasing, and the pencilled block sits on your calendar in its own colour so you never offer it twice. Ask an assistant for the wording once, then save it as a template.

Find who is due, overdue or lapsed from your own booking export

For everyone who did not pre-book, your booking history already tells you when to text. Export 12 months of appointments with client ID, date and service (no names), and ask the assistant to work out each client's usual gap and status. The rules matter, so write them out:

From the export below, count one visit per client per day, even if two services were booked. For clients with at least three visits, give the median gap in days between visits, the days since the last visit, and a status. Due soon: next visit expected within 10 days. Overdue: past due by up to one usual gap. Lapsed: past due by more than one usual gap. Clients with fewer than three visits: "too few visits".
[paste export]

An illustrative result for six clients:

ClientVisitsUsual gap (days)Days since lastStatus
C00484235Due soon (7 days)
C01162840Overdue (12 days)
C019935120Lapsed (85 days past due)
C0232--Too few visits
C03175620Not due
C04054295Lapsed (53 days past due)

Three slips turn up regularly. The first draft showed C011's usual gap as 14 days, because the export listed a cut and a colour on the same day as two visits, which is why the prompt says to count one visit per day. The assistant also called C023 lapsed when she had only two visits, both in the month of a wedding; a rule for too few visits stops one-off clients clogging the list. And it used the mean instead of the median until told otherwise, which a single six-month break distorts. Spot-check two clients by hand before using the list. This is also where the usual gap beats a standard six weeks: C011 wants a visit every four weeks, and a six-week text would arrive late for her and early for C031.

Rebooking texts that offer a day you are already nearby

A good rebooking text does the diary work for the client. Compare a vague text with one that names the days and a time. Before: "Hi, time for another appointment? Let me know when suits." After: "Hi [first name], it's been 6 weeks since your last cut. I'm on your side of town on Tuesday 14th and Thursday 16th. Would 10:30 on either day suit? Reply with a day and I'll book it." The second takes one word to answer, and both days sit on a patch day you were visiting anyway.

Write four templates, one for each status, and keep them in your phone or booking app:

  • Due soon: "Hi [first name], you'll be due around [date]. I'm on your side of town on [day] and [day]. Would [time] suit on either?"
  • Overdue: "Hi [first name], it's been [number] weeks since your last visit, and I have two slots left on [day]. Shall I hold one for you?"
  • Lapsed: "Hi [first name], I haven't seen you since [month] and wanted to check in. I'm on your side of town on [day]; if you'd like a slot, reply and I'll send times. If not, no problem, and I'll stop messaging."
  • Pull-in: "Hi [first name], I'm on [area] next [day]. If you're due soon, I can fit you in at [time]."

The pull-in text is the batching tool. When a client books a Tuesday on a street, send it to clients nearby who are due within two weeks, and name the area, never the neighbour. "I'm on [area] next Tuesday" is enough; "[first name] at number 12 is booked" tells one client about another's visit. For the lapsed text, the barber win-back tutorial covers messages to lapsed clients.

Ask the assistant for the four texts in your voice, with a short sample of messages you have really sent as the style guide, and ask it to keep each under 300 characters. Read them aloud. If a sentence sounds like a company, rewrite it. Send the first batch to five clients and watch the replies: how many name a day, how many ask a question the text should have answered, and how many do not reply. Fix the text, not the clients. Keep a note of who agreed to be texted, and make sure every message offers an easy way out.

A 6 pm cancellation: refill the block from the due-soon list

A client cancels at 6 pm for tomorrow's 10:30 on patch A. Left empty, that gap costs the same drive and loses a block. Filter the due-soon and overdue lists to patch A and send the pull-in text to the three clients with the nearest due dates. In an illustrative evening, two reply within the hour: one takes 10:30, and the other asks for next Tuesday, which you book too. That is $70 earned and a drive that would otherwise have been wasted. The prompt:

A client on patch A has cancelled tomorrow at 10:30 (90-minute block). From the lists below, pick the three clients on patch A who are due soonest, shortest drive first, and draft the pull-in text for each. Give one line on why each was chosen. Never mention another client.
[paste lists, IDs only]

Check that the assistant uses only the IDs and dates you pasted. In one illustrative run it picked a client who had asked to pause visits, because the notes column was missing from the export; add a "paused" status to the list. Ask clients at the end of a visit whether they would like short-notice offers, and tag the ones who say yes, so the shortlist is made of people who have agreed.

Placing a new client on the right patch day

A new enquiry is where a patch day is won or lost. Before offering any time, ask for the street or neighbourhood, match it to your patch table, and offer two slots on that patch's next two patch days instead of "whenever suits". An illustrative reply: "Thanks for getting in touch. I'm in [area] on Tuesdays and Thursdays. The next openings are Tuesday 14th at 11:00 and Thursday 16th at 09:30. Which would you prefer?" If the area is not on any patch day, say so honestly and offer the monthly outlying day.

Ask the assistant to draft the reply from the patch table and your open blocks, and paste the open blocks in each time. Left to itself, it will invent availability that sounds helpful, such as "any weekday morning", and you will be the one keeping the promise.

Three diary numbers to check each month

Log each working day in a simple sheet: date, patch, visits, drive minutes, visits that ended with a pre-booked next appointment. Once a month, work out three numbers and compare them with last month:

  1. Drive minutes per client. Total drive minutes divided by visits. The two Tuesdays were 40 and 15. Track the monthly average, not your best day.
  2. Pre-book rate. Visits with a future appointment divided by visits. Aim to move it by a few points a month, not overnight.
  3. Patch-day fill. Visits done divided by blocks you planned. A patch day with two empty blocks costs two drives and two chances to rebook.

An illustrative three-month run shows what progress looks like:

MonthDrive minutes per clientPre-book ratePatch-day fill
13141%83%
22450%88%
31957%93%

Twelve fewer drive minutes per client on 100 visits a month is 1,200 minutes, or 20 hours: more than two working days a month handed back, to spend on more blocks or at home. The pre-book rate usually jumps first, as soon as you start saying the next date aloud. The drive figure moves more slowly, because it depends on which clients you can move onto patch days.

Paste the sheet into an assistant and ask: "Summarise the month, name the three days with most drive minutes per client and say what they had in common." The answer is usually a client or two on the wrong patch, which sends you back to the drive-time table. Ask it to show the arithmetic, and check one number yourself.

Questions mobile hairdressers ask about diary and rebooking

Should I use AI to plan the actual route?

Use it to group clients into patch days, and use a map for the route and the times. Google Maps accepts up to 9 stops including the final destination, and its Depart at and Arrive by settings work only for routes with one destination, so check busy legs one at a time. AI is unreliable on distances unless you give it a drive-time table.

How long should I leave between clients on the same street?

Build 10 minutes of buffer into every block for parking, the doorstep chat and a late start, then track it. Note for two weeks how late you finish each visit. If you overrun by more than five minutes on most visits, lengthen the block for that service instead of apologising to the next client.

How soon should I text a client about rebooking?

Text about a week before their usual due date, using that client's own gap rather than a standard six weeks. Send one follow-up a week later if there is no reply, then stop. A third message is where reminders start to feel like pressure, and a client who has gone quiet is better asked once, kindly, whether they still want visits.

Can I text clients without asking first?

Use their number for the purpose they gave it, which is appointments. Tell them at booking that you will text rebooking reminders, give an easy way to opt out, and keep a note of who has. Rules on marketing messages differ by place, so ask your trade body or insurer if you plan anything beyond appointment-related texts.

Further reads

Sources: Google Maps Help (directions and stops) and SuperSaaS's page for mobile hairdressers' booking systems, checked October 2026. Drive times, income figures and client data are illustrative.

Want rebooking texts that send themselves at the right time?

On a 1:1 call we'll look at how your diary, travel and rebooking work today, pick the one step worth automating first, and check what your booking app can already do.

Book a 1:1 call with me