Vehicle Rental Integration Manual
Developer guidance for integrating DecisioQ rental reservation, vehicle assignment, pricing, risk, maintenance, return, and fleet utilization decisions.The Vehicle Rental sector in the DecisioQ Decision Catalog is identified by AUTO-RENT. It currently covers 100 decision types across reservation and booking, vehicle assignment, rental pricing, fleet utilization, customer eligibility, pickup and return operations, damage and incident intake, maintenance readiness, telematics risk, subscription rental, partner channels, and enterprise governance.
DecisioQ integrations should load sector, category, decision, Decision Preparation Model, scenario, criterion, and decision overview metadata from the Decision Catalog. Do not hard-code old static decision lists or legacy request models.
DecisioQ should not replace payment authorization, identity verification, license validation, or legally required rental contract rules. It should support explainable business decisions around ranking, routing, prioritization, exceptions, and audit-ready recommendations.
Vehicle rental 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-RENTfor Vehicle Rental. - Populate Category from
selectedSector.categories[]. Example categories include Reservation & Booking, Vehicle Assignment, Rental Pricing, Fleet Utilization, Customer Eligibility, Pickup & Return Operations, Damage & Incident Intake, Insurance & Risk, and Maintenance Readiness. - 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.
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.
| Category | Decision Count | Representative Decisions |
|---|---|---|
| Reservation & Booking | 7 | Approve Rental Reservation, Approve Reservation Extension |
| Vehicle Assignment | 7 | Allocate One-Way Rental Vehicle, Approve Customer Upgrade |
| Rental Pricing | 7 | Approve Fee Waiver, Approve Promotional Pricing |
| Fleet Utilization | 7 | Allocate Fleet by Location, Determine Utilization Exception Action |
| Customer Eligibility | 7 | Approve Additional Driver, Approve Corporate Rental Eligibility |
| Pickup & Return Operations | 6 | Allocate Return Inspection, Determine Pickup Readiness |
| Insurance & Risk | 5 | Approve High-Risk Rental Exception, Determine Damage Waiver Eligibility |
| Workflow | Business Question | Systems Involved |
|---|---|---|
| Reservation approval | Which reservation requests should be approved, reviewed, adjusted, waitlisted, or declined? | Booking engine, payment authorization, customer profile, branch availability, rate plan |
| Vehicle assignment | Which specific vehicle should fulfill a reservation based on class, location, readiness, utilization, and customer value? | Fleet inventory, branch operations, telematics, maintenance, loyalty, customer communication |
| Upgrade and substitution | Which upgrade, substitution, transfer, or waitlist action best balances customer experience and fleet economics? | Counter workflow, mobile app, vehicle class inventory, pricing, customer tier |
| Customer eligibility and risk | Which customer or driver should be approved, conditionally approved, manually reviewed, or escalated? | License, age policy, payment, fraud, insurance, incident history, corporate account |
| Return and damage handling | Which late return, damage, fuel, cleaning, toll, or dispute case should be auto-processed or routed to review? | Return inspection, photos, contract, billing, roadside, claims, customer history |
| Fleet utilization and balancing | Which vehicles should be moved, held, reallocated, de-fleeted, or prioritized for maintenance? | Branch demand, one-way imbalance, utilization, maintenance, event surge, logistics |
Vehicle rental integrations should map reservation, customer, fleet, branch, pricing, telematics, payment, inspection, and return 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 |
|---|---|---|
| Reservation data | Pickup/dropoff date, branch, vehicle class, duration, channel, rate plan, extras, corporate account | Use stable reservation IDs and keep dates/time zones consistent. |
| Customer and eligibility data | Loyalty tier, license result, age policy, payment authorization, incident history, risk score | Send only decision-relevant signals and keep hard eligibility rules deterministic. |
| Fleet inventory data | VIN, plate, class, location, mileage, fuel or charge, cleanliness, open maintenance, open recall | Refresh close to execution time for assignment and readiness decisions. |
| Branch and operations data | Queue, staffing, demand forecast, transfer cost, one-way imbalance, airport priority, event surge | Normalize local operational values across branches before ranking options. |
| Pricing and revenue data | Base rate, promotion, competitor index, margin, occupancy, utilization target, fee waiver impact | Keep financial values in clear units and currencies. |
| Return and incident data | Damage photos, inspection result, late return, fuel variance, cleaning status, tolls, roadside case | Separate factual return findings from recommended charge, waiver, dispute, or review actions. |
Do not invent criterion IDs. Use the canonical criteria returned by /decisioncatalog/decisions/{decisionId}, including criterion overview metadata, unit, direction, scale, and data guidance.
- Authenticate through the approved server-side identity flow. Browser pages should not directly handle credentials.
- Load the Decision Catalog and let the user choose Sector, Category, Decision, Decision Preparation Model, and Scenario.
- Load decision detail and render Guided Data Collection from returned criteria.
- User or system prepares Business Data for candidate vehicles, reservations, branches, customer actions, pricing actions, return cases, or fleet balancing 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 recommendation, ranked alternatives, warnings, assumptions, and Explanation of Decision Result.
- Keep execution trace and diagnostics collapsed by default for developer and integrator review.
The exact fields depend on the selected Vehicle Rental decision. The example below shows the integration style rather than a guaranteed schema for every decision.
{
"decisionId": "AUTO-RENT-010",
"decisionPreparationModelId": "AUTO-RENT-PROFILE-STANDARD",
"scenarioId": "AUTO-RENT-SCENARIO-CUSTOMER-UPGRADE",
"businessData": {
"correlationId": "rental-assignment-20260717-1042",
"reservationId": "RES-882104",
"pickupBranch": "YYZ-AIRPORT",
"reservedClass": "Midsize",
"options": [
{
"optionId": "ASSIGN-VEHICLE-STD-421",
"label": "Assign Reserved Class Vehicle",
"values": {
"classMatchScore": 98,
"vehicleReadinessScore": 92,
"customerValueScore": 73,
"utilizationFitScore": 81,
"marginImpactScore": 68
}
},
{
"optionId": "UPGRADE-VEHICLE-SUV-117",
"label": "Upgrade to Compact SUV",
"values": {
"classMatchScore": 86,
"vehicleReadinessScore": 96,
"customerValueScore": 88,
"utilizationFitScore": 89,
"marginImpactScore": 78
}
}
]
}
}
Call DecisioQ from a trusted backend service. Keep identity credentials, account verification, and service configuration outside public browser code.
async function executeVehicleRentalDecision(jwtToken, preparedDecisionInput) {
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(preparedDecisionInput)
});
const payload = await response.json();
if (!response.ok) {
throw new Error(payload.message || "Decision execution failed.");
}
return payload;
}
- Use a guided decision selector: Sector, Category, Decision, Decision Preparation Model, and Scenario.
- Show Selection Overview for sector, category, and decision metadata so business users understand the decision before entering data.
- Render Guided Data Collection from criterion definitions and show criterion overview summaries where available.
- Display Decision Name in selectors and show the selected
decisionIdseparately for developers and integrators. - For counter, mobile, and self-service workflows, keep screens focused on recommendation, reason, required action, warnings, and next step.
- Keep execution trace and diagnostics available to integrators but collapsed by default.
- Never expose internal proxy URLs, service credentials, signing keys, or account verification details in browser code.
- Confirm rental decisions support the right market, branch group, channel, rental type, and customer segment.
- Validate Business Data before execution and show user-friendly validation messages.
- Persist correlation ID, reservation ID, rental agreement ID, customer ID, VIN, plate, branch, 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. - Keep identity, license, payment, and contract eligibility rules deterministic where required; use DecisioQ for multi-factor ranking, prioritization, exception, and recommendation decisions.
- Monitor preview failures, execution failures, account verification errors, timeout rates, and unexpected warning counts.
- Review Decision Preparation Models and scenario assumptions with rental operations, pricing, risk, fleet, maintenance, and customer experience owners when policies or market 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. |
| Customer eligibility result conflicts with a hard rule. | The rental system mixed deterministic eligibility checks with DecisioQ recommendation decisions. | Keep legal and contractual hard rules authoritative, then use DecisioQ for routing, prioritization, exception, and review decisions. |
| 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. |
| Vehicle assignment seems stale. | Inventory, branch, readiness, maintenance, or customer values changed after the decision input was prepared. | Refresh source-system context close to execution time and include data freshness where available. |
