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.