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.
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 the
matched local area 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"]:::nlive 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
✓ SMS · ✓ Email"]:::nlive TY["After-care thank-you
✓ SMS"]:::nlive RVQ["Review request - matched to area
✓ SMS"]:::nlive FB["Feedback / service recovery
✓ SMS"]:::nlive REF["Refund / recovery
✓ Email"]:::nlive RE["Re-engagement
○ SMS"]:::noff EA["Enquiry acknowledgement
✓ SMS"]:::nlive SD["On my way
✓ SMS"]:::nlive MC["Missed-call recovery
✓ SMS"]:::nlive 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 --> TY TY --> FB FB --> Dhap Dhap -->|"Happy"| RVQ Dhap -->|"Not happy"| REF RVQ --> REV 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 TY call showNode() "See the message" click RVQ call showNode() "See the message" click FB 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"