How software developers should incorporate DecisioQ into fleet management, telematics, dispatch, maintenance, fuel, driver, compliance, and vehicle lifecycle systems.
Fleet Vehicle Management Industry Edition
1. Purpose and Scope
2. Fleet Vehicle Management Reference Architecture
3. Core Fleet Decision Templates
4. Data Mapping: Fleet Entities to DecisioQ Inputs
5. API Integration Pattern
6. Implementation Walkthrough: Vehicle Assignment
7. Maintenance, Repair, and Replacement Decisions
8. Driver Assignment, Safety, and Compliance
9. Telematics and Real-Time Event Integration
10. Fuel, Charging, and Route Optimization
11. Lifecycle, Procurement, and Fleet Planning
12. User Interface and Workflow Integration
13. Security, Auditability, and Governance
14. Performance and Reliability
15. Testing Strategy
This manual explains how software developers in the Fleet Vehicle Management industry should embed DecisioQ into operational software systems. It is written for teams building or maintaining fleet management platforms, dispatch systems, telematics portals, maintenance applications, route planning systems, fuel management systems, driver mobile applications, and enterprise logistics integrations.
DecisioQ should be used when a fleet workflow requires transparent, repeatable, weighted, multi-criteria decision-making. It should not replace the fleet management system, telematics platform, ERP, or maintenance system. Instead, DecisioQ acts as a configurable decision layer that ranks alternatives, explains recommendations, and preserves a decision audit trail.
A typical integration places DecisioQ behind the fleet application service layer. Operational systems collect fleet context, normalize it into decision criteria, send a decision request to DecisioQ, receive ranked alternatives with scores and rationale, then persist the selected result in the system of record.
| System | Role in the Integration | DecisioQ Interaction |
|---|---|---|
| Fleet Management System | Maintains vehicles, assets, assignments, depots, cost centers, utilization, and lifecycle state. | Requests vehicle assignment, replacement, redeployment, utilization, and policy decisions. |
| Telematics / GPS | Provides live location, odometer, engine hours, fault codes, idling, driver behavior, geofencing, and sensor data. | Feeds real-time criteria into dispatch, maintenance, safety, and routing templates. |
| Dispatch / TMS | Handles job orders, routes, stops, service windows, loads, and customer SLAs. | Requests driver/vehicle assignment, route exception, and priority decisions. |
| Maintenance System | Manages work orders, inspections, defects, PM schedules, parts, warranty, and vendor repairs. | Invokes maintenance priority, repair-vs-replace, vendor selection, and downtime decisions. |
| Fuel / EV Charging | Tracks fuel cards, fuel contracts, charging locations, energy cost, and consumption. | Evaluates fueling, charging, route energy, and exception decisions. |
| HR / Driver System | Stores licenses, certifications, training, availability, hours, performance, and safety records. | Supplies criteria for driver assignment, coaching, eligibility, and fatigue-risk decisions. |
| ERP / Accounting | Tracks cost, depreciation, contracts, leases, insurance, invoices, and budgets. | Feeds lifecycle cost, vendor, procurement, lease, and replacement decisions. |
Job, vehicle, driver, route, maintenance, telematics, fuel, and compliance context
|
v
Fleet application service normalizes operational data
|
v
DecisioQ decision request with templateCode, criteria, alternatives, and metadata
|
v
Ranked recommendation with score, rationale, selected alternative, and auditId
|
v
FMS / TMS / mobile app applies result, records override if any, and stores audit link
| Template | Primary Users | Typical Trigger | Recommended Alternatives |
|---|---|---|---|
| Vehicle Assignment | Dispatchers, route planners, automated dispatch | A job, route, or service request requires a vehicle. | Vehicle A, Vehicle B, branch pool vehicle, rental replacement, defer assignment. |
| Driver Assignment | Dispatchers, fleet managers, safety teams | A route or asset needs an eligible driver. | Driver A, Driver B, team driver, contract driver, supervisor review. |
| Preventive Maintenance Priority | Maintenance planners, shop supervisors | PM threshold, fault code, inspection defect, or downtime window appears. | Service now, service next window, monitor, outsource, escalate. |
| Repair vs Replace | Fleet managers, maintenance, finance | Vehicle has high repair estimate, repeated downtime, or lifecycle threshold. | Repair, replace, retire, redeploy, auction, extend lease. |
| Fuel / EV Charging Optimization | Drivers, dispatch, fuel managers | Trip planning, low fuel/charge, price variance, or energy exception. | Fuel stop A, fuel stop B, charge now, charge later, depot charge. |
| Route Exception Handling | Dispatch, operations center | Traffic, weather, breakdown, customer delay, missed stop, or driver limit risk. | Reroute, swap driver, reassign vehicle, notify customer, escalate. |
| Vendor Selection | Maintenance, procurement, AP | Repair, tire, fuel, towing, rental, or body shop vendor must be selected. | Vendor A, Vendor B, internal shop, mobile service, defer. |
| Compliance Escalation | Safety, compliance, supervisors | DVIR defect, HOS risk, expired document, unsafe behavior, or incident occurs. | Clear, coach, hold vehicle, remove driver, escalate, audit. |
Developers should create a mapping layer that converts fleet records and telemetry into normalized decision criteria. Avoid sending raw table structures. Each criterion should have a business-readable name, unit, score direction, weight owner, and allowed value range.
| Fleet Entity | Example Fields | Decision Criteria Produced |
|---|---|---|
| Vehicle / Asset | VIN, unit number, type, capacity, location, odometer, engine hours, utilization, maintenance status, lifecycle cost. | Capability score, availability, distance, utilization, downtime risk, lifecycle cost, replacement urgency. |
| Driver | License, certifications, endorsements, HOS, shift, safety score, route familiarity, training, availability. | Eligibility, safety score, fatigue risk, certification match, availability, overtime risk, experience fit. |
| Job / Route | Stops, service window, cargo, customer SLA, route distance, vehicle requirements, priority, depot. | Urgency, SLA risk, route complexity, equipment match, revenue priority, customer priority. |
| Telematics Event | GPS, fault code, harsh braking, idling, speed, geofence, tire pressure, battery state. | Real-time risk, maintenance urgency, location score, fuel/energy efficiency, safety escalation priority. |
| Maintenance Record | PM due date, defect, work order, warranty, repair estimate, parts availability, shop capacity. | PM priority, repair risk, downtime cost, warranty opportunity, vendor urgency. |
| Fuel / Charging | Fuel price, station distance, contract rate, EV SOC, charger status, energy cost. | Fuel cost score, charging urgency, stop suitability, route energy risk. |
| Compliance | Registration, insurance, inspection, driver documents, HOS, incident history. | Compliance eligibility, violation risk, escalation priority, out-of-service risk. |
Use a Fleet Decision Adapter service inside your platform. The adapter centralizes authentication, retries, schema validation, decision logging, telemetry correlation, and response normalization. Dispatch, maintenance, mobile, and reporting modules should call the adapter rather than calling DecisioQ directly.
POST /api/decisions/evaluate
Authorization: Bearer {access_token}
Content-Type: application/json
{
"templateCode": "FLEET_VEHICLE_ASSIGNMENT",
"criteria": [
{ "name": "distanceToJobKm", "weight": 20, "direction": "lowerIsBetter" },
{ "name": "vehicleCapability", "weight": 25, "direction": "higherIsBetter" },
{ "name": "maintenanceReadiness", "weight": 20, "direction": "higherIsBetter" },
{ "name": "utilizationBalance", "weight": 10, "direction": "higherIsBetter" },
{ "name": "fuelOrChargeReadiness", "weight": 10, "direction": "higherIsBetter" },
{ "name": "slaRisk", "weight": 15, "direction": "lowerIsBetter" }
],
"alternatives": [
{ "id": "UNIT-104", "values": { "distanceToJobKm": 7.2, "vehicleCapability": 96, "maintenanceReadiness": 92, "utilizationBalance": 74, "fuelOrChargeReadiness": 88, "slaRisk": 8 } },
{ "id": "UNIT-118", "values": { "distanceToJobKm": 3.4, "vehicleCapability": 82, "maintenanceReadiness": 61, "utilizationBalance": 90, "fuelOrChargeReadiness": 70, "slaRisk": 18 } },
{ "id": "UNIT-133", "values": { "distanceToJobKm": 11.0, "vehicleCapability": 99, "maintenanceReadiness": 98, "utilizationBalance": 66, "fuelOrChargeReadiness": 95, "slaRisk": 10 } }
],
"context": {
"correlationId": "optional",
"attributes": {}
}
}
{
"decisionId": "DQ-20260625-001244",
"templateCode": "FLEET_VEHICLE_ASSIGNMENT",
"selectedAlternativeId": "UNIT-104",
"recommendation": "Assign Unit 104",
"rankedAlternatives": [
{ "id": "UNIT-104", "score": 91.7, "rank": 1, "rationale": "Best balance of capability, maintenance readiness, proximity, and SLA risk." },
{ "id": "UNIT-133", "score": 88.3, "rank": 2, "rationale": "Excellent readiness but farther from the job." },
{ "id": "UNIT-118", "score": 74.9, "rank": 3, "rationale": "Closest vehicle, but maintenance readiness creates avoidable risk." }
],
"audit": {
"correlationId": "JOB-884219",
"templateVersion": "3.1",
"evaluatedAtUtc": "2026-06-25T18:10:42Z"
},
"context": {
"correlationId": "optional",
"attributes": {}
}
}
public sealed class DecisioQFleetClient
{
private readonly HttpClient _http;
public DecisioQFleetClient(HttpClient http)
{
_http = http;
}
public async Task<DecisionResult> EvaluateVehicleAssignmentAsync(
FleetDecisionRequest request,
CancellationToken cancellationToken)
{
using var response = await _http.PostAsJsonAsync(
"/api/decisions/evaluate",
request,
cancellationToken);
response.EnsureSuccessStatusCode();
return await response.Content.ReadFromJsonAsync<DecisionResult>(
cancellationToken: cancellationToken)
?? throw new InvalidOperationException("DecisioQ returned an empty response.");
}
}
Fleet maintenance decisions should combine technical condition, cost, downtime, warranty, safety, and operational impact. DecisioQ is most valuable when a simple threshold is insufficient, such as deciding whether to repair an older asset, outsource a repair, defer a non-critical PM, or replace a vehicle.
| Workflow | Criteria | Output |
|---|---|---|
| Preventive maintenance priority | Odometer, engine hours, PM due status, diagnostic codes, inspection defects, shop capacity, route demand. | Service now, schedule this week, monitor, hold for parts, outsource. |
| Repair vs replace | Repair estimate, vehicle age, resale value, lifecycle cost, repeated downtime, warranty status, replacement availability. | Repair, replace, retire, redeploy, extend lease, sell. |
| Vendor selection | Vendor distance, labor rate, warranty authorization, capacity, historical quality, parts availability, downtime impact. | Vendor A, Vendor B, internal shop, mobile service, escalation. |
| Roadside incident response | Vehicle location, safety risk, cargo priority, nearest service, driver availability, customer SLA. | Tow, mobile repair, swap vehicle, send backup driver, escalate. |
Driver-related decisions must be explainable and auditable. Do not use DecisioQ to bypass legal or company eligibility rules. First apply hard exclusions such as invalid license, missing endorsement, expired medical card, or HOS violation. Then use DecisioQ to rank eligible drivers.
| Decision | Hard Exclusions Before DecisioQ | Weighted Criteria Inside DecisioQ |
|---|---|---|
| Driver assignment | Invalid license, unavailable shift, HOS violation, missing endorsement. | Distance to depot, route familiarity, safety score, workload balance, customer familiarity, overtime risk. |
| Safety coaching | No applicable safety event or missing driver identity. | Event severity, repetition, preventability, risk trend, training history, manager priority. |
| Compliance escalation | Document already valid or event already closed. | Expiry proximity, operational impact, legal risk, recurrence, asset criticality. |
| Incident review routing | Duplicate incident or incomplete basic evidence. | Severity, injury/property risk, claim potential, driver history, vehicle damage, customer impact. |
Telematics systems generate frequent events. Developers should avoid calling DecisioQ for every raw sensor event. Instead, aggregate, filter, and classify events before invoking decision templates. Use event severity, confidence, and business impact to decide when a decision is needed.
| Use Case | Inputs | Recommended Decision |
|---|---|---|
| Fuel stop recommendation | Fuel level, route, contract pricing, station distance, wait time, driver schedule, fuel card acceptance. | Best fuel station, skip stop, refuel at depot, supervisor approval. |
| EV charging plan | Battery SOC, charger availability, charge rate, route energy demand, depot charger capacity, dwell time. | Charge now, charge at destination, depot charge, vehicle swap. |
| Idle exception response | Idle duration, temperature, PTO usage, cargo type, driver pattern, fuel cost. | No action, notify driver, manager review, maintenance inspection. |
| Route exception | Traffic, weather, road restrictions, customer window, driver hours, vehicle capability. | Reroute, reassign, delay, notify customer, split route. |
DecisioQ can support long-horizon fleet decisions where finance, operations, maintenance, and sustainability criteria compete. The best pattern is to run lifecycle evaluations periodically and store results for fleet planning dashboards.
| Planning Decision | Criteria | Typical Outcome |
|---|---|---|
| Vehicle replacement | Age, mileage, repair cost, downtime, fuel economy, resale value, emissions target, replacement availability. | Replace this quarter, extend life, redeploy, sell, lease extension. |
| Vehicle acquisition | Purchase price, lease terms, TCO, range, capacity, incentives, infrastructure readiness, maintenance forecast. | Buy model A, lease model B, defer, pilot EV, use rental. |
| Depot allocation | Demand by region, utilization, parking capacity, charging infrastructure, maintenance access, driver availability. | Move units, add pool vehicles, reduce underused depot stock. |
| Vendor contract renewal | Cost, SLA, quality, coverage, claim rate, administrative friction, strategic value. | Renew, renegotiate, replace, split volume. |
Fleet users need fast, understandable recommendations. The UI should show the recommendation, score, ranked alternatives, major criteria drivers, and override controls without overwhelming dispatchers or drivers.
Recommended dispatcher UI pattern:
1. Primary recommendation: Assign Unit 104 to Job 884219.
2. Confidence/score: 91.7.
3. Rationale: Best balance of capability, readiness, proximity, and SLA risk.
4. Alternatives: Unit 133, Unit 118, manual assignment.
5. Key criteria comparison: distance, maintenance readiness, fuel/charge, utilization, SLA risk.
6. Override action: require reason and authorization for high-risk overrides.
7. Audit link: open DecisioQ decision record from the FMS job history.
| Control | Developer Guidance |
|---|---|
| Authentication | Use OAuth2/JWT or a secured API gateway. Do not expose privileged DecisioQ credentials in mobile or browser clients. |
| Authorization | Enforce roles such as dispatcher, driver, maintenance planner, fleet manager, safety officer, finance user, and administrator. |
| Tenant isolation | Include tenantId, depotId, region, cost center, and account context in multi-location or multi-company deployments. |
| Audit trail | Persist decisionId, template version, input snapshot, selected result, ranked alternatives, override reason, user, and timestamp. |
| Template versioning | Create new template versions for policy changes. Do not rewrite historical decisions or overwrite prior scoring policies. |
| PII minimization | Use driver IDs and operational attributes where possible. Avoid sending unnecessary personal data in decision payloads. |
| Override governance | Require reason codes for high-risk overrides such as dispatching a vehicle with low maintenance readiness or assigning a high-risk driver. |
| Test Type | What to Validate |
|---|---|
| Unit tests | Criteria mapping, unit conversion, score direction, payload validation, null handling, and exclusion rules. |
| Contract tests | Request and response schema compatibility between FMS services and DecisioQ. |
| Scenario tests | Vehicle assignment, driver assignment, PM priority, repair-vs-replace, fuel stop, route exception, and compliance cases. |
| Regression tests | Template version changes do not break established workflows unless intentionally changed. |
| Load tests | Dispatch bursts, telematics event filtering, route planning batches, and lifecycle analytics meet performance targets. |
| User acceptance tests | Dispatchers, mechanics, fleet managers, drivers, and safety teams understand the recommendation rationale. |
| Phase | Scope | Success Measure |
|---|---|---|
| Phase 1 - Foundation | Deploy API adapter, authentication, logging, and a low-risk vehicle assignment template for one depot. | Successful end-to-end decision with audit trail and dispatcher feedback. |
| Phase 2 - Dispatch Optimization | Add vehicle and driver assignment decisions using GPS, availability, capability, and SLA criteria. | Improved assignment speed, fewer manual conflicts, better SLA adherence. |
| Phase 3 - Maintenance Intelligence | Add PM priority, repair-vs-replace, vendor selection, and roadside incident decisions. | Reduced downtime, improved shop planning, clearer repair authorization. |
| Phase 4 - Fuel, EV, and Route Decisions | Add fuel stop, EV charging, idling, and route exception templates. | Lower fuel/energy cost and fewer route disruptions. |
| Phase 5 - Lifecycle and Compliance | Add replacement planning, procurement, compliance escalation, and safety coaching decisions. | Better lifecycle cost control, improved compliance visibility, and stronger auditability. |
Template: FLEET_DRIVER_ASSIGNMENT
Purpose: Rank eligible drivers for a route, vehicle, or job after hard eligibility rules are applied.
Alternatives: Eligible drivers only.
Criteria:
distanceToDepotKm weight 15 lowerIsBetter
hoursRemaining weight 20 higherIsBetter
certificationMatch weight 20 higherIsBetter
safetyScore weight 15 higherIsBetter
routeFamiliarity weight 10 higherIsBetter
workloadBalance weight 10 higherIsBetter
overtimeRisk weight 10 lowerIsBetter
Required audit metadata:
jobId, routeId, depotId, dispatcherId, sourceSystem, decisionPolicyVersion
Template: FLEET_REPAIR_VS_REPLACE
Purpose: Recommend whether to repair, replace, retire, redeploy, or extend the life of a vehicle.
Alternatives: Repair, replace, retire, redeploy, extend lease, sell.
Criteria:
repairEstimate weight 20 lowerIsBetter
vehicleAgeMonths weight 10 lowerIsBetter
lifecycleCost weight 20 lowerIsBetter
downtimeDays weight 15 lowerIsBetter
resaleValue weight 10 higherIsBetter
replacementAvailability weight 10 higherIsBetter
operationalCriticality weight 15 higherIsBetter
End of Manual