Problem Statement: Dispatch Alerts
💁♂️ Problem
Job-To-Be-Done (JTBD): "As a dispatcher, I need to be immediately alerted to operational exceptions and potential delays, so I can proactively manage my fleet and prevent customer-facing issues."
Pains to Resolve:
-
Reactive Operations: Dispatchers discover problems (like a late delivery) only after they've already occurred. They are constantly "fighting fires" instead of preventing them.
-
Information Overload: They must manually scan dashboards of raw data (lists of orders, maps of vehicles) to spot trends or anomalies. It's easy to miss a critical event.
-
Delayed Decision Making: The data they use for monitoring is minutes old, leading to poor and untimely operational decisions.
-
Inefficiency: Significant time is wasted investigating and responding to issues that a proactive alert could have mitigated or solved entirely.
🎯 Measuring Success
Leading Indicators (System Performance):
-
Alert Latency: Time from an exception condition being met (e.g., vehicle stopped too long) to the alert appearing on the dispatcher's screen is less than 5 seconds ($P_{99} < 5000ms$).
-
Alert Accuracy: Achieve a low false-positive rate for alerts to ensure dispatchers trust and act on the information.
-
Dispatcher Acknowledgement Time: Reduction in the average time it takes for a dispatcher to acknowledge and begin actioning a critical alert after it is issued.
Lagging Indicators (Business & User Impact):
-
Reduction in Service Level Agreement (SLA) Failures: Decrease in the percentage of late deliveries/orders by a target of 15% in the first six months.
-
Dispatcher Efficiency: Increase in the number of orders or assets a single dispatcher can effectively manage.
-
Reduction in Customer Complaints: Measurable decrease in customer-initiated complaints related to delays and exceptions.
🪚 Existing Solutions
-
Current Legacy Platform: Dispatchers use dashboards that auto-refresh on a multi-minute interval. Any "alerting" is done via end-of-day reports or by visually noticing a static indicator has changed to red. There is no real-time, proactive notification system.
-
User Workarounds: Dispatchers rely on experience, intuition, and direct phone calls with drivers to get ahead of problems. This is inconsistent, unscalable, and prone to human error.
-
Third-Party Tools: Some dispatchers may be using separate, disconnected tools (like fleet management software) that have better alerting, but this data is not integrated with our core order management system.
🤔 Proposed Solution
We will build an intelligent alerting feature on top of the new event-driven core platform. This solution moves beyond just showing data to providing actionable insights.
-
Leverage the Event Bus: The real-time streams of data (GPS, status changes) already flowing through our event bus are the raw ingredients for this system.
-
Complex Event Processing (CEP) / Rules Engine:
-
Implement a stream processing service (e.g., using Apache Flink, ksqlDB, or a custom microservice) that subscribes to multiple event streams.
-
This service will apply business logic and pre-defined rules in real-time to detect complex patterns that signify an exception.
-
Examples of Rules:
-
Trending Late: If a vehicle's current location and real-time traffic data predict an arrival time after the scheduled window, publish aTrendingLateevent. -
Unplanned Stop: If a vehicle's GPS reports a speed of 0 for more thanXminutes while its status isIn-Transit, publish aPotentialDelayevent.
-
-
-
Alert Generation & Delivery:
-
A new "Dispatcher Alerting Service" subscribes to these high-level exception events (e.g.,
TrendingLate,PotentialDelay). -
When an exception event is received, this service pushes a formatted, actionable alert to the dispatcher's dashboard via the already-established WebSocket connection.
-
The UI will feature a dedicated alerts panel with visual and audible cues to draw immediate attention to the problem, along with deep links to the affected order or asset.
-
This solution transforms the dispatcher's role from a passive monitor to a proactive manager, allowing them to solve problems before they impact the customer.