Trigger · 1 of 10Booking sent
A customer picks a service and a time on the shop's website and sends the booking.
- Tool
- Shopify
- Hands on
- The service, the time, the customer and the vehicle
Decision · 2 of 10First request?
Each booking is claimed once, by its customer, vehicle and time. Sending the same booking again gets the first one's answer, and a clash with another request is turned away, so a double click never books twice.
- Tool
- Postgres
- Hands on
- A booking to make, or the first answer
- Ways out
- New: Time still free? · Repeat: Answer as before
Decision · 3 of 10Time still free?
The service's real length is looked up, then the time is checked against the shop's hours and the live calendar, in case someone took it a moment ago.
- Tool
- Shopmonkey
- Hands on
- A free time, or a clash
- Ways out
- Free: Hold the slot · Taken: Pick a new time
End · 4 of 10Answer as before
Nothing new is written: the customer sees the answer their first request got, or is asked to call the shop about the clash.
- Tool
- Postgres
- Leaves
- No double booking
Step · 5 of 10Hold the slot
The customer and vehicle are found or added, the service is matched to the one the shop offers today, and the appointment is held with the shop's own confirmation and reminder. An estimate is opened and linked to it on the calendar.
- Tool
- Shopmonkey
- Hands on
- A held appointment and its estimate
End · 6 of 10Pick a new time
Nothing has been written yet, so the customer is simply asked to pick another time and send again.
- Tool
- The system
- Leaves
- A new time to choose
Decision · 7 of 10All read back?
Every record is read back and checked: the right customer, vehicle and time, and the service copied whole. A service the shop does not offer, or a write that fails part way, stops here.
- Tool
- Shopmonkey
- Hands on
- A verified booking, or one to check
- Ways out
- Verified: Estimate sent? · Unclear: Held for review
Decision · 8 of 10Estimate sent?
The estimate goes to the customer by email, and by text when they gave a phone, to approve before the visit. The booking already stands, so a send that fails never undoes it.
- Tool
- Shopmonkey
- Hands on
- An estimate to approve, or one to send by hand
- Ways out
- Sent: Tell the team · Not sent: Held for review
Step · 9 of 10Held for review
The booking is kept for review with its reason and how far it got, so a person checks the records before adding anything. A job sweeps up any booking left half done.
- Tool
- Postgres
- Hands on
- A booking for the team, with its reason
End · 10 of 10Tell the team
The team is emailed about every booking. One that came from an ad is reported to Google Ads on its own, so neither ever holds up the other.
- Tool
- Resend
- Leaves
- A team alert and an ads conversion