Alerts
Fleet generates proactive alerts for conditions that require attention — maintenance due, expiring documents, GPS events, and more. Alerts appear on the Fleet Dashboard and the dedicated Alerts page.
Alert Types
| Alert Type | Trigger |
|---|---|
| maintenance_due | A maintenance record is scheduled, upcoming, or overdue |
| inspection_expiring | A vehicle inspection is approaching its expiry date |
| license_expiring | A driver's license expiry date is approaching |
| insurance_expiring | A vehicle's insurance policy expiry date is approaching |
| geofence_breach | A GPS-tracked vehicle has exited a defined geofence |
| speeding | A GPS device has reported a speeding event type |
| idle_alert | A GPS device has reported a prolonged idle event type |
| fuel_anomaly | Unusual fuel activity detected (e.g., fill-up much higher than average) |
Alert Severity
| Severity | Meaning |
|---|---|
| critical | Requires immediate action (e.g., inspection failed, insurance already expired) |
| warning | Action required soon (e.g., license expiring in 14 days, maintenance overdue) |
| info | Informational — no immediate action required |
Viewing Alerts
Navigate to Alerts in the left sidebar to see all alerts for your fleet.
Filters available:
- Severity — Show only critical, warning, or info alerts
- Acknowledged — Show only unacknowledged or acknowledged alerts
The Fleet Dashboard also shows the 10 most recent alerts, with unacknowledged alerts displayed first.
Acknowledging an Alert
When you've reviewed an alert and taken appropriate action (or determined no action is needed):
- Open the alert on the Alerts page
- Click Acknowledge
- The alert is marked acknowledged with your name and timestamp
Acknowledged alerts are still visible with the acknowledged: true filter — they aren't deleted, so there's a full record of when each issue was seen and by whom.
Automated Alert Generation
Fleet's background timers generate alerts automatically:
| Timer | Schedule | What It Checks |
|---|---|---|
| Maintenance Alert | Daily at 6:00 AM UTC | Maintenance records with scheduled or upcoming status |
| Inspection Reminder | Daily at 7:00 AM UTC | Inspection records approaching their expiry_date |
GPS events (geofence breaches, speeding, idle) generate alerts in real time as GPS position data is submitted.
License and insurance expiry alerts are generated based on the license_expiry field on driver records and the insurance_expiry field on vehicle records.
Alert Lifecycle
Generated → Unacknowledged → Acknowledged
- Alerts are created by background timers or real-time GPS events
- Unacknowledged alerts are surfaced prominently on the Dashboard and Alerts page
- Once acknowledged, they move to the acknowledged section of the alerts list
Resolving vs. Acknowledging
| Action | When to Use |
|---|---|
| Acknowledge | You've seen the alert and are handling it (or it was a false positive) |
| Resolve the underlying issue | Update the maintenance record, renew the insurance, reassign the driver, etc. |
For a maintenance_due alert: Acknowledge the alert, create and complete the maintenance record, then Fleet will not re-generate the same alert until the next due date.
For an insurance_expiring alert: Update the vehicle's insurance_expiry date once renewed. Fleet will use the new date for future alert generation.
Creating Alerts Manually
You can create manual alerts via the API for custom notification needs:
POST /api/alerts
{
"alert_type": "maintenance_due",
"severity": "warning",
"title": "Oil change due soon",
"message": "Vehicle VEH-000012 oil change is due within 500 miles",
"entity_type": "vehicle",
"entity_id": "vehicle-uuid-here"
}
Alert Notification Channels
Currently, alerts are stored in Fleet and surfaced through:
- The Fleet Dashboard (top 10 unacknowledged first)
- The Alerts page (all alerts with filters)
Integration with external notification channels (email, SMS, PSA tickets) is handled via The One Bus — subscribe to fleet.alert.* events in your Bus consumer to forward alerts to your preferred channel.