Notification Flows
How notifications flow between internal team members, external vendors, and customers through multiple channels with configurable preferences.
Triggers - Events that start notifications
Preferences - How recipients are determined
Channels - Delivery methods
Internal - Team member delivery
External - Vendor/customer delivery
Location - Direct to yards/terminals
flowchart TB
subgraph Triggers["Notification Triggers"]
T1["Job Assigned"]
T2["Status Changed"]
T3["Maintenance Due"]
T4["Invoice Created"]
T5["Defect Found"]
end
T1 --> NS
T2 --> NS
T3 --> NS
T4 --> NS
T5 --> NS
NS["NotificationService"]
NS --> PC{"Check
Preferences"}
subgraph Preferences["Preference Resolution"]
PC --> UP{"User
Preference
Set?"}
UP -->|Yes| UPV["Use User
Preference"]
UP -->|No| TP["Use Tenant
Default"]
UPV --> CH
TP --> CH
end
subgraph Channels["Delivery Channels"]
CH{"Select
Channels"}
CH -->|Email| EM["Email
(SES)"]
CH -->|SMS| SM["SMS
(Twilio)"]
CH -->|Push| PU["Push
(FCM)"]
CH -->|In-App| IA["In-App
Notification"]
end
subgraph Internal["Internal Team"]
EM --> I1["Team Member
Inbox"]
SM --> I2["Team Member
Phone"]
PU --> I3["Mobile App
Alert"]
IA --> I4["App
Notification Bell"]
end
subgraph External["External Parties"]
NS --> VN{"Vendor
Dispatch?"}
VN -->|Yes| VP["Vendor Portal
Notification"]
VP --> VE["Vendor Email"]
VP --> VS["Vendor SMS"]
NS --> CN{"Customer
Update?"}
CN -->|Yes| CP["Customer Portal
Notification"]
CP --> CE["Customer Email"]
CP --> CS["Customer SMS"]
end
subgraph Location["Location-Based"]
NS --> LN{"Location
Contact?"}
LN -->|Yes| LC["Location
Direct Contact"]
LC --> LE["Location Email"]
LC --> LP["Location Phone"]
end
%% Styling
style Triggers fill:#fee2e2,stroke:#f43f5e,stroke-width:2px
style Preferences fill:#ddd6fe,stroke:#8b5cf6,stroke-width:2px
style Channels fill:#dbeafe,stroke:#3b82f6,stroke-width:2px
style Internal fill:#d1fae5,stroke:#10b981,stroke-width:2px
style External fill:#fef3c7,stroke:#f59e0b,stroke-width:2px
style Location fill:#fce7f3,stroke:#ec4899,stroke-width:2px
Configuration Options
Control which notification channels are enabled for your organization.