Customer journey workflow

The whole journey as an if / then flow. Each message shows whether it is set up in ServiceM8 right now. Tap any message box to read the exact text.

16
✓ live now
4
○ exists, switched off
7
+ still to create
Live message Exists, off To create Decision ✓ live · ○ off · + new
Rendering workflow...
flowchart TD
  CH["Online & walk-in sources
Ads · Maps · SEO · Forms · Splashy"]:::src PH["Phone call
1300 677 752"]:::src Dans{"Call answered?"}:::dec L(["Lead created
(new)"]):::stage C["Office makes contact
(contacted)"]:::stage Drch{"Can we reach
them?"}:::dec LOST(["Lost"]):::lost Dacc{"Quote
accepted?"}:::dec Dtype{"Job type?"}:::dec Devt{"On-the-day
event?"}:::dec JD["Job completed"]:::stage Dout{"Outcome?"}:::dec Dpaid{"Paid?"}:::dec Dhap{"Happy?"}:::dec REV["Google review posted
to main 4.9-star listing"]:::win Dnew{"New need
later?"}:::dec Q["Send quote
✓ SMS · ✓ Email"]:::nlive IE["Wrong-email chase
✓ SMS"]:::nlive QF["Quote follow-up
✓ SMS"]:::nlive B["Booking Confirmation
✓ SMS · ✓ Email"]:::nlive R["Booking Reminder
+ SMS"]:::nnew BE["Emergency booking
✓ Email"]:::nlive BR["Work order (real estate)
✓ SMS"]:::nlive TDl["Technician delayed
✓ SMS"]:::nlive RS["Reschedule
○ SMS"]:::noff PO["Parts ordered
○ SMS"]:::noff INV["Invoice
✓ SMS · ✓ Email"]:::nlive FR["Payment reminders
✓ Email"]:::nlive PAID["Paid - receipt
✓ Email"]:::nlive AC["After-care sequence
+ SMS"]:::nnew REF["Refund / recovery
✓ Email"]:::nlive RE["Re-engagement
○ SMS"]:::noff EA["Enquiry acknowledgement
+ SMS"]:::nnew SD["On my way
+ SMS"]:::nnew MC["Missed-call recovery
+ SMS"]:::nnew CH --> L PH --> Dans Dans -->|"Answered"| L Dans -->|"Missed"| MC MC --> L L --> EA EA --> C C --> Drch Drch -->|"Yes"| Q Drch -->|"Email bounced"| IE IE --> C Drch -->|"No answer"| LOST Q --> Dacc Dacc -->|"No reply"| QF QF --> Dacc Dacc -->|"Declined"| LOST Dacc -->|"Accepted"| B B --> Dtype Dtype -->|"Standard"| R Dtype -->|"Emergency"| BE BE --> R Dtype -->|"Real estate"| BR BR --> R R --> SD SD --> Devt Devt -->|"On time"| JD Devt -->|"Running late"| TDl TDl --> JD Devt -->|"Cannot attend"| RS RS --> B Devt -->|"Parts needed"| PO PO --> JD JD --> Dout Dout -->|"Unsuccessful"| LOST Dout -->|"Completed"| INV INV --> Dpaid Dpaid -->|"Overdue"| FR FR --> Dpaid Dpaid -->|"Paid"| PAID PAID --> AC AC --> Dhap Dhap -->|"Happy"| REV Dhap -->|"Complaint"| REF REV --> RE REF --> RE RE --> Dnew Dnew -->|"New job"| B Dnew -->|"Refers a mate"| L classDef src fill:#161d27,stroke:#2e3947,color:#e8edf2; classDef stage fill:#10151d,stroke:#3a4657,color:#cfd8e2; classDef dec fill:#2a1f08,stroke:#d97706,color:#fbbf24; classDef phone fill:#241d08,stroke:#f59e0b,color:#fde68a; classDef win fill:#0e2417,stroke:#22c55e,color:#bbf7d0; classDef lost fill:#241010,stroke:#ef4444,color:#fca5a5; classDef nlive fill:#0d1f16,stroke:#22c55e,color:#d1fae5; classDef noff fill:#221a0a,stroke:#d97706,color:#fde3b0; classDef nnew fill:#221316,stroke:#f87171,color:#fecaca,stroke-dasharray:5 3; click Q call showNode() "See the message" click IE call showNode() "See the message" click QF call showNode() "See the message" click B call showNode() "See the message" click R call showNode() "See the message" click BE call showNode() "See the message" click BR call showNode() "See the message" click TDl call showNode() "See the message" click RS call showNode() "See the message" click PO call showNode() "See the message" click INV call showNode() "See the message" click FR call showNode() "See the message" click PAID call showNode() "See the message" click AC call showNode() "See the message" click REF call showNode() "See the message" click RE call showNode() "See the message" click EA call showNode() "See the message" click SD call showNode() "See the message" click MC call showNode() "See the message"
Live status pulled from ServiceM8. Message text is the set staged for go-live. Tell me any branch or wording to change.