DecisioQ System Architecture Decision Concepts Decision List API Guide Client Kit Developer Center Decision Studio Quick Start Playground End-to-End Examples

AUTO-RENT-009 End-to-End Example

Recommend Vehicle Class

Try the interactive showcase

Vehicle RentalBusiness Data + Prepared CriteriaAHP priorities

Decision Overview

Compare rental classes using customer need, availability, readiness, revenue potential, mismatch risk, and booking pressure.

Compare classes for the same booking after checking passenger, luggage, accessibility, and license requirements. All six inputs are 0–100 scores, including class revenue potential; do not enter a currency amount in that field. Lower mismatch risk and lead-time pressure are preferred. No booking or upgrade is made.

Catalog decision: AUTO-RENT-009. Sector: Vehicle Rental. Samples are fictional, not operational advice or production observations.

5-Minute Quick Path

  1. Review the three candidates in the interactive showcase.
  2. Start with the first working Business Data request, or send Prepared Criteria when values are already calculated.
  3. Inspect the ranking and rerun with changed inputs or AHP priorities.

Criteria and Scales

Use raw values in the published units. The engine normalizes them. AHP changes importance, not the direction or scale of an input.

IDMeaningUnitValidationDirectionBalanced weight
recommend_vehicle_class_customer_fit_scoreCustomer Need MatchScorescore_0_to_100maximize18%
recommend_vehicle_class_vehicle_or_resource_fitClass Availability FitScorescore_0_to_100maximize18%
recommend_vehicle_class_operational_readinessUpsell ReadinessScorescore_0_to_100maximize17%
recommend_vehicle_class_financial_impactClass Revenue PotentialScorescore_0_to_100maximize17%
recommend_vehicle_class_risk_exposureMismatch RiskScorescore_0_to_100minimize15%
recommend_vehicle_class_time_sensitivityBooking Lead-Time PressureScorescore_0_to_100minimize15%

Data Preparation Guide

Business records → input schema → mapping profile → canonical criteria → ranking.

Use mapping profile vehicle-rental-recommend-vehicle-class-auto-rent-009 version 1.0.0. These records contain business assessments as well as measurements; this profile renames and reshapes them, but does not infer scores from free text. Govern rating and scoring rubrics before production use.

The showcase collects Prepared Criteria directly. Its sample values match both downloadable request modes below.

Mapping profile · Input schema

Business sourceCanonical criterionTransformation
option.vehicle.assignment.customerNeedMatchrecommend_vehicle_class_customer_fit_scoreDirect value; no unit conversion
option.vehicle.assignment.classAvailabilityFitrecommend_vehicle_class_vehicle_or_resource_fitDirect value; no unit conversion
option.vehicle.assignment.upsellReadinessrecommend_vehicle_class_operational_readinessDirect value; no unit conversion
option.vehicle.assignment.classRevenuePotentialrecommend_vehicle_class_financial_impactDirect value; no unit conversion
option.risk.mismatchRiskrecommend_vehicle_class_risk_exposureDirect value; no unit conversion
option.schedule.bookingLeadTimePressurerecommend_vehicle_class_time_sensitivityDirect value; no unit conversion

Business Data Mode

Complete illustrative request with three candidates and an explicit decisionVersion. Send it to the decision execute endpoint; do not add an options array to this envelope.

Response identifiers: the current published profile uses root-relative identity paths, so translation returns generated IDs option-1, option-2, and option-3 in input order, with fallback option names. Map these back to the source records by that order. Prepared Criteria retains the explicit source IDs and names. Preserving source identity in Business Data requires a reviewed profile update; this example does not modify the deployed profile.
{
  "decisionId": "AUTO-RENT-009",
  "decisionVersion": "1.0.0",
  "businessData": {
    "requestContext": {
      "sourceSystem": "automotive-profile-factory",
      "correlationId": "factory-auto-rent-009"
    },
    "reservations": [
      {
        "optionId": "CLASS-COMPACT",
        "name": "Compact",
        "vehicle": {
          "assignment": {
            "customerNeedMatch": 76,
            "classAvailabilityFit": 95,
            "upsellReadiness": 94,
            "classRevenuePotential": 64
          }
        },
        "risk": {
          "mismatchRisk": 24
        },
        "schedule": {
          "bookingLeadTimePressure": 15
        }
      },
      {
        "optionId": "CLASS-MIDSIZE",
        "name": "Midsize",
        "vehicle": {
          "assignment": {
            "customerNeedMatch": 94,
            "classAvailabilityFit": 84,
            "upsellReadiness": 90,
            "classRevenuePotential": 83
          }
        },
        "risk": {
          "mismatchRisk": 10
        },
        "schedule": {
          "bookingLeadTimePressure": 20
        }
      },
      {
        "optionId": "CLASS-SUV",
        "name": "SUV",
        "vehicle": {
          "assignment": {
            "customerNeedMatch": 90,
            "classAvailabilityFit": 72,
            "upsellReadiness": 78,
            "classRevenuePotential": 96
          }
        },
        "risk": {
          "mismatchRisk": 16
        },
        "schedule": {
          "bookingLeadTimePressure": 35
        }
      }
    ]
  }
}

Download Business Data request

Prepared Criteria Mode

The same candidates after direct mapping. This request uses the balanced profile with no named scenario. Do not add businessData to this envelope.

{
  "decisionId": "AUTO-RENT-009",
  "decisionName": "Recommend Vehicle Class",
  "profileId": "balanced",
  "scenarioId": null,
  "options": [
    {
      "optionId": "CLASS-COMPACT",
      "name": "Compact",
      "values": {
        "recommend_vehicle_class_customer_fit_score": 76,
        "recommend_vehicle_class_vehicle_or_resource_fit": 95,
        "recommend_vehicle_class_operational_readiness": 94,
        "recommend_vehicle_class_financial_impact": 64,
        "recommend_vehicle_class_risk_exposure": 24,
        "recommend_vehicle_class_time_sensitivity": 15
      }
    },
    {
      "optionId": "CLASS-MIDSIZE",
      "name": "Midsize",
      "values": {
        "recommend_vehicle_class_customer_fit_score": 94,
        "recommend_vehicle_class_vehicle_or_resource_fit": 84,
        "recommend_vehicle_class_operational_readiness": 90,
        "recommend_vehicle_class_financial_impact": 83,
        "recommend_vehicle_class_risk_exposure": 10,
        "recommend_vehicle_class_time_sensitivity": 20
      }
    },
    {
      "optionId": "CLASS-SUV",
      "name": "SUV",
      "values": {
        "recommend_vehicle_class_customer_fit_score": 90,
        "recommend_vehicle_class_vehicle_or_resource_fit": 72,
        "recommend_vehicle_class_operational_readiness": 78,
        "recommend_vehicle_class_financial_impact": 96,
        "recommend_vehicle_class_risk_exposure": 16,
        "recommend_vehicle_class_time_sensitivity": 35
      }
    }
  ]
}

Download Prepared Criteria request

Understanding the Result

Verified local computation, not a hosted API response. The repository TOPSIS engine ranked these exact samples in-process. TOPSIS scores are relative closeness coefficients, not probabilities or confidence percentages.

RankCandidateScore
1Midsize0.721022
2Compact0.500000
3SUV0.441274

Winner: CLASS-MIDSIZE. Download computation and AHP verification.

Check candidate eligibility and input evidence before acting. Adding or removing candidates can change normalization and the ranking. The showcase displays the actual service response, which may differ when the deployed catalog or configuration differs.

AHP Weights and Sensitivity

Open the paired showcase, choose “Help me generate weights (AHP)”, complete every comparison, and generate consistent weights before running. Option scores describe performance; weights express importance. Read the explanation.

Change one judgment or one measured input at a time, regenerate weights if needed, and compare the winner and score gap. A single unchanged winner is not a formal stability guarantee.

Profiles and Scenarios

The baseline uses balanced and scenarioId: null. Retrieve the deployed decision definition before selecting another profile or named scenario; never assume that “standard” exists. AHP does not override eligibility or safety requirements.

Run the Request

Use either JSON download with your existing authenticated API client. Endpoint and authentication details are in the API Guide. This browser-origin example calls the portal proxy, whose service connection must be configured:

const request = await fetch('/examples/auto-rent-009/business-data-request.json').then(r => r.json());
const response = await fetch('/decisioq-decision-api-proxy.ashx?operation=execute', {
  method: 'POST', headers: {'Content-Type': 'application/json'},
  body: JSON.stringify(request)
});
const result = await response.json();
if (!response.ok) throw new Error(JSON.stringify(result));
console.log(result);

For validation errors, check canonical IDs, required values, units, and current catalog ranges. A transport error is not a decision rejection.

Try the showcase · All examples · Playground