04 · Flow design
Add touches only when the data supports them
The expanded journey should respond to who cancelled, why they cancelled, whether they can receive SMS, and whether they have already rebooked. Every message needs a clear exit rule.
flowchart TD
C([Appointment Cancelled event]) --> V{Required event properties present?}
V -->|No| Q[Send to data QA queue
Do not enter automated flow]
V -->|Yes| R{Who initiated cancellation?}
R -->|Barkbus| BA[Apology + priority rebooking
Send within 1 hour]
BA --> BX{Rebooked?}
BX -->|Yes| E([Exit flow])
BX -->|No| BS[Personal support follow-up]
R -->|Customer| X{Booked again since cancellation?}
X -->|Yes| E
X -->|No| Y{Cancellation reason}
Y -->|Scheduling / unknown| EM1[Email 1
4–24 hours
Easy rebook + reply for help]
Y -->|Price| PV[Email 1 variant
Explain value before discounting]
Y -->|Dog anxiety / service concern| SC[Service reassurance
What to expect + human support]
EM1 --> RC{Rebooked?}
PV --> RC
SC --> RC
RC -->|Yes| E
RC -->|No| SMS{SMS consent?}
SMS -->|Yes| SM[Day 3 SMS
Two-way help + booking link]
SMS -->|No| D2[Wait until day 5–7]
SM --> R2{Rebooked?}
R2 -->|Yes| E
R2 -->|No| D2
D2 --> EM2[Email 2
Social proof + first-visit reassurance]
EM2 --> R3{Rebooked?}
R3 -->|Yes| E
R3 -->|No| F[Day 12–14 final test]
F --> AB{A/B test}
AB -->|A| OFF[Soft incentive or waived fee]
AB -->|B| ND[No-discount urgency
Local availability / founder note]
OFF --> R4{Rebooked?}
ND --> R4
R4 -->|Yes| E
R4 -->|No| N[Move to broader nurture / win-back]
T[(Track: cancellation source,
reason, dog name, city, service,
appointment value, SMS consent,
rebook timestamp, message attribution)]
C -. required tracking .-> T
EM1 -. performance .-> T
SM -. performance .-> T
EM2 -. performance .-> T
F -. performance .-> T
classDef start fill:#2a5bf6,color:#fff,stroke:#2a5bf6;
classDef decision fill:#f2f5ff,color:#202330,stroke:#2a5bf6;
classDef action fill:#fff,color:#202330,stroke:#d9dce6;
classDef data fill:#f7f8fb,color:#555b6e,stroke:#858b9b,stroke-dasharray:4 3;
class C,E start; class V,R,X,Y,RC,SMS,R2,R3,AB,R4,BX decision; class Q,BA,BS,EM1,PV,SC,SM,D2,EM2,F,OFF,ND,N action; class T data;