Fleet Vehicle Management Integration Manual
Developer guidance for integrating DecisioQ fleet decisions with dispatch, telematics, maintenance, driver, compliance, fuel, energy, lifecycle, and financial-control systems.The Fleet Vehicle Management sector in the DecisioQ Decision Catalog is identified by AUTO-FLEET. It supports decision support across dispatch, driver management, maintenance, compliance and safety, fuel and energy, cost control, digital operations, lifecycle planning, and business performance.
DecisioQ integrations should load sector, category, decision, Decision Preparation Model, and scenario metadata from the Decision Catalog. Do not hard-code old template codes, static decision lists, or legacy request models.
Recommended first deployment: start with one operational workflow where a ranked recommendation is useful but human review still matters, such as vehicle assignment, driver assignment, preventive maintenance priority, fuel exception approval, or replacement planning.
Fleet client applications should use the same discovery flow as the Business Decision Studio:
- Load
GET /decisioncatalogthrough the approved server-side Decision Catalog gateway. - Populate Sector from
catalog.sectors[]and selectAUTO-FLEETfor Fleet Vehicle Management. - Populate Category from
selectedSector.categories[]. Example categories include Driver Management, Compliance & Safety, Cost & Financial Control, Digital Operations, Fuel & Energy Management, Business Performance, Maintenance, Dispatch, and Lifecycle Planning. - Populate Decision from
selectedCategory.decisions[]when available, or call/decisioncatalog/sectors/{sectorCode}/categories/{categoryCode}/decisions. - Display Decision Name only in the dropdown while keeping
decisionIdas the option value. - Load full decision detail from
/decisioncatalog/decisions/{decisionId}before rendering Guided Data Collection.
Decision detail is the source of truth for criterion names, data guidance, scale, direction, profile options, scenarios, and overview metadata.
For regional deployments, keep DecisioQ technical identifiers stable and localize only user-facing labels and guidance. Unless the selected endpoint and decision schema explicitly support unit-qualified input, convert mileage, distance, pressure, temperature, mass, volume, speed, fuel consumption, and other measurements to the required canonical units before submission. Do not infer units or currency from locale.
| Use Case | Primary Users | Typical Inputs |
|---|---|---|
| Vehicle assignment | Dispatchers, route planners, operations teams | Vehicle capability, location, availability, utilization, maintenance status, route fit, service window. |
| Driver assignment and exception review | Dispatchers, safety teams, fleet managers | Availability, certifications, hours-of-service status, safety score, route familiarity, overtime risk. |
| Maintenance prioritization | Maintenance planners, shop supervisors | Mileage, engine hours, fault codes, inspection defects, downtime risk, workshop capacity, parts availability. |
| Compliance and safety intervention | Compliance teams, safety managers | Inspection urgency, policy exceptions, violation severity, driver risk, audit exposure, training history. |
| Fuel and energy decisions | Fuel managers, EV operations, route planners | Fuel price, charging availability, range, route distance, dwell time, contract terms, exception severity. |
| Lifecycle and replacement planning | Fleet managers, finance, procurement | Depreciation, lifecycle cost, repair history, utilization, resale value, downtime, capital constraints. |
| Digital operations and system upgrades | Operations leaders, IT, transformation teams | Business value, integration complexity, user adoption, operational risk, data readiness. |
| Business performance improvement | Executives, operations leaders, analysts | Cost savings, service impact, process maturity, benchmark gap, customer impact, implementation effort. |
Fleet integrations should map vehicle, driver, route, maintenance, telematics, fuel, compliance, and financial data into decision-specific Business Data. The selected decision detail defines which criteria are required and how each value should be measured.
| Business Data Source | Common Use | Integration Notes |
|---|---|---|
| Vehicle ID, driver ID, route ID, work order ID, asset ID, or job ID | optionId and audit correlation. | Keep stable source-system IDs so recommendations can be traced back to fleet, dispatch, maintenance, and finance systems. |
| Telematics and live operations data | Dispatch, safety, maintenance, routing, utilization decisions. | Normalize timestamps, location freshness, odometer, engine hours, fault codes, idling, and sensor confidence. |
| Maintenance and inspection records | Preventive maintenance, repair-vs-replace, shop scheduling, downtime planning. | Separate current fault severity from long-term maintenance history and warranty eligibility. |
| Driver profile and compliance data | Assignment, coaching, safety intervention, policy exception decisions. | Use current certification and hours-of-service status. Do not mix unavailable drivers into eligible candidate sets. |
| Fuel, charging, and energy data | Fueling strategy, EV charging, range risk, route energy decisions. | Keep units clear for cost, distance, range, dwell time, and fuel or charging availability. |
| Financial and lifecycle data | Replacement, capital plan, insurance, outsourcing, expansion decisions. | Distinguish purchase cost, operating cost, depreciation, resale value, lease terms, and downtime cost. |
| Policy, safety, and regulatory data | Compliance inspection, exception, audit, and safety prioritization. | Capture jurisdiction, deadline, severity, recurrence, and exposure as distinct criteria when the decision expects them. |
Do not invent criterion IDs. Use the canonical criteria returned by /decisioncatalog/decisions/{decisionId}, including criterion overview metadata, unit, direction, scale, and data guidance.
Production integrations should keep credentials and bearer tokens on trusted servers or server-side gateways. Browser pages should use same-origin proxy handlers or their own backend service.
- Trusted backend obtains a JWT token from
identity.vinquery.com. - Application loads catalog and decision detail metadata.
- User or system prepares Business Data for candidate vehicles, drivers, routes, maintenance jobs, fuel options, compliance cases, or lifecycle actions.
- Call
POST /api/v1/validateto validate and prepare the decision input before execution. - Call
POST /api/v1/decideto return the authoritative Decision Result. - Display the recommendation, ranked alternatives, warnings, assumptions, and Explanation of Decision Result.
- Keep execution trace and diagnostics available to integrators, but collapsed or hidden by default for business users.
Use /api/v1/decide for both Prepared Criteria Mode and business-data integrations that submit a businessData object. New public onboarding should prefer Preview Decision and Execute Decision terminology.
The exact fields depend on the selected Fleet Vehicle Management decision. The example below shows the integration style rather than a guaranteed schema for every decision.
{
"decisionId": "AUTO-FLEET-009",
"decisionPreparationModelId": "AUTO-FLEET-PROFILE-STANDARD",
"scenarioId": "AUTO-FLEET-SCENARIO-DRIVER-ASSIGNMENT",
"businessData": {
"candidates": [
{
"optionId": "DRIVER-1842",
"name": "Driver A - local delivery route",
"values": {
"availabilityScore": 91,
"certificationMatchScore": 96,
"hoursOfServiceScore": 82,
"safetyScore": 88,
"routeFamiliarityScore": 79,
"overtimeRiskScore": 24
}
},
{
"optionId": "DRIVER-2057",
"name": "Driver B - regional delivery route",
"values": {
"availabilityScore": 86,
"certificationMatchScore": 92,
"hoursOfServiceScore": 74,
"safetyScore": 91,
"routeFamiliarityScore": 84,
"overtimeRiskScore": 37
}
}
]
},
"requestContext": {
"correlationId": "fleet-dispatch-20260717-001"
}
}
This pattern belongs in a trusted backend, not directly in browser JavaScript.
async function executeFleetDecision(decisionInput, jwtToken) {
const response = await fetch(`${process.env.DECISIOQ_BASE_URL}/api/v1/decide`, {
method: "POST",
headers: {
"Authorization": `Bearer ${jwtToken}`,
"Content-Type": "application/json"
},
body: JSON.stringify(decisionInput)
});
if (!response.ok) {
throw new Error(`DecisioQ execution failed: ${response.status} ${await response.text()}`);
}
return await response.json();
}
| UI Element | Recommended Display | Why It Matters |
|---|---|---|
| Choose a Decision | Sector, Category, Decision, Profile, and Scenario selectors populated from catalog metadata. | Users see business names while integrators retain stable IDs. |
| Selection Overview | Sector, category, and decision overviews in one collapsible panel. | Fleet, dispatch, maintenance, and safety users understand the decision before entering data. |
| Guided Data Collection | Criterion label, field, data type indicator, summary, and expandable "More about this criterion". | Improves vehicle, driver, maintenance, and compliance data quality. |
| Candidate Cases | Two fields per row where practical, editable option ID, and visible units or data type indicators. | Dispatchers and fleet managers can compare alternatives quickly. |
| Decision Result | Recommendation, ranking, confidence, and key drivers. | Users need the answer and the reason. |
| Outcome Follow-up | Accepted, Rejected, or Overridden; selected option and override reason when applicable. | Connects the recommendation to the action actually taken. |
| Realized Value | Outcome status plus a consistently defined financial or operational metric. | Measures adoption and business value without changing deterministic scoring. |
| Explanation | Business-friendly explanation without AI provider branding. | Supports trust while keeping the UI provider-neutral. |
| Diagnostics | Collapsed technical panel for status, timings, warnings, and errors. | Useful for integrators without distracting business users. |
- Store identity credentials, Decision API base URL, and proxy configuration in trusted server configuration or a secret manager.
- Do not expose bearer tokens or integration credentials in browser code.
- Use catalog metadata rather than hard-coded categories, decisions, criteria, profiles, or scenarios.
- Validate Business Data before execution and show user-friendly validation messages.
- Persist correlation ID, vehicle ID, driver ID, route ID, work order ID, decision ID, profile ID, scenario ID, selected option, score, and explanation for audit.
- Retain the successful decision response
requestIdwith the host business transaction, then callPOST /api/v1/decision-outcomeswhen the action and realized result are known. - Require an
overrideReasonfor overridden recommendations; never infer acceptance merely because a result was displayed. - Monitor
GET /api/v1/decision-outcomes/summaryfor acceptance rate, override rate, and realized-value aggregates. Treat outcome feedback as reporting evidence, not automatic model training. - Redact driver identifiers, location traces, safety notes, customer route details, and sensitive cost data in logs and diagnostics.
- Monitor catalog load failures, token refresh failures, API latency, validation failures, account verification failures, and unusual exclusion rates.
- Define fallback behavior so dispatch, maintenance, safety, and compliance workflows remain usable when DecisioQ is unavailable.
- Review Decision Preparation Models and scenario assumptions with operations, maintenance, safety, and finance owners when policies or operating conditions change.
| Symptom | Likely Cause | Fix |
|---|---|---|
| Category list is empty. | The catalog response does not include categories for the selected sector, or the client is reading an old category layer. | Use selectedSector.categories[] from /decisioncatalog. |
| Decision dropdown shows IDs only. | The client did not load decision detail or category decision names. | Display Decision Name as the label and keep decision ID as the option value. |
| Criterion guidance is missing. | Decision detail lacks criterion overview metadata or the page is not rendering it. | Read criterion overview from /decisioncatalog/decisions/{decisionId} and show available summaries. |
| Secure session could not be refreshed. | Token proxy or identity service configuration failed. | Check server-side identity configuration and proxy logs; do not request tokens directly from browser JavaScript. |
| Decision execution failed. | Decision API unavailable, invalid Business Data, authorization failure, or account verification issue. | Check response envelope, HTTP status, correlation ID, Decision API health, and server logs. |
| Unexpected recommendation. | Scale, units, direction, or values do not match catalog criterion guidance. | Compare Business Data fields against criterion overview and validation metadata. |
| Live fleet recommendation seems stale. | Telematics, driver availability, or maintenance state changed after the decision input was prepared. | Refresh live operational data close to execution time and include data freshness in the decision context where available. |
