Parking Lot Management Integration Manual
Developer guidance for integrating DecisioQ parking decisions with access control, permits, reservations, EV charging, enforcement, customer service, equipment, pricing, and operations systems.The Parking Lot Management sector in the DecisioQ Decision Catalog is identified by AUTO-PARK. It covers access and permits, occupancy, reservations, EV charging, enforcement, customer service, asset lifecycle, automation, business continuity, equipment, and operational planning decisions.
DecisioQ integrations should load sector, category, decision, Decision Preparation Model, and scenario metadata from the Decision Catalog. Do not hard-code old template names, static decision lists, or legacy request models.
Recommended first deployment: start with a workflow where operators already review tradeoffs, such as entry authorization, visitor eligibility, EV charging queue priority, violation notice approval, customer complaint resolution, or gate equipment upgrade prioritization.
Parking 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-PARKfor Parking Lot Management. - Populate Category from
selectedSector.categories[]. Example categories include Access & Permit Management, EV Charging Management, Enforcement & Compliance, Customer Services, Asset Lifecycle & Equipment, Automation & Innovation, and Business Continuity. - 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 |
|---|---|---|
| Access and permit authorization | Parking operations, access control teams, tenant managers | Credential status, permit eligibility, occupancy, event schedule, risk, payment status, priority group. |
| Reservation and parking alternative recommendation | Reservation platforms, mobile apps, customer service | Facility occupancy, walking distance, price, accessibility, customer preference, time window, availability. |
| EV charging allocation and queue priority | EV charging operators, facility managers | State of charge, dwell time, charger availability, customer priority, energy price, queue age, operational impact. |
| Enforcement and incident escalation | Enforcement supervisors, compliance teams, security | Violation severity, evidence quality, repeat history, location risk, customer status, policy exception, officer workload. |
| Customer service and complaint resolution | Customer service, facility managers, valet teams | Customer impact, accessibility need, service failure, remedy cost, loyalty value, policy constraints. |
| Equipment and asset lifecycle planning | Facilities, operations, finance, IT | Failure history, downtime impact, replacement cost, utilization, safety risk, revenue dependency, vendor support. |
| Automation and innovation prioritization | Operations leaders, product teams, technology teams | Business value, customer impact, data readiness, implementation complexity, integration risk, ROI. |
| Business continuity and severe weather response | Operations leaders, security, facility managers | Weather severity, occupancy, staffing, system outage impact, emergency access need, customer communication urgency. |
Parking integrations should map facility, zone, gate, credential, reservation, payment, LPR, enforcement, EV charging, and customer-service 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 |
|---|---|---|
| Facility ID, zone ID, credential ID, reservation ID, citation ID, charger ID, or equipment ID | optionId and audit correlation. | Keep stable source-system IDs so recommendations can be traced to parking, access, payment, enforcement, and maintenance systems. |
| Occupancy and availability data | Space allocation, alternative recommendation, oversell, event operations. | Include data freshness and distinguish reserved, occupied, blocked, accessible, EV, and premium spaces. |
| Access, permit, and credential data | Entry authorization, temporary permit approval, visitor eligibility, contractor access. | Separate eligibility, payment status, access schedule, policy exceptions, and security risk. |
| Payment, reservation, and customer data | Reservation decisions, pricing, customer service, complaint resolution. | Protect customer and payment data; send only fields needed by the selected decision. |
| LPR, citation, and enforcement evidence | Violation notice, incident escalation, appeal review, patrol priority. | Separate evidence quality, repeat history, violation severity, and policy constraints. |
| EV charging and energy data | Charging space allocation, queue priority, pricing, station maintenance. | Keep charger availability, dwell time, energy price, state of charge, and customer need distinct. |
| Equipment, sensor, gate, and kiosk telemetry | Maintenance priority, replacement, upgrade, outage response. | Capture downtime impact, failure recurrence, safety risk, revenue impact, and parts/vendor availability separately. |
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 spaces, facilities, permits, gates, citations, chargers, maintenance actions, customer remedies, or continuity plans.
- 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 Parking Lot Management decision. The example below shows the integration style rather than a guaranteed schema for every decision.
{
"decisionId": "AUTO-PARK-047",
"decisionPreparationModelId": "AUTO-PARK-PROFILE-STANDARD",
"scenarioId": "AUTO-PARK-SCENARIO-EV-CHARGING-ALLOCATION",
"businessData": {
"candidates": [
{
"optionId": "CHARGER-LEVEL2-A17",
"name": "Level 2 charger near north entrance",
"values": {
"chargerAvailabilityScore": 92,
"customerPriorityScore": 84,
"dwellTimeFitScore": 78,
"accessibilityScore": 72,
"revenueImpactScore": 69,
"queueReductionScore": 81
}
},
{
"optionId": "CHARGER-DCFC-C03",
"name": "Fast charger near visitor parking",
"values": {
"chargerAvailabilityScore": 76,
"customerPriorityScore": 89,
"dwellTimeFitScore": 88,
"accessibilityScore": 83,
"revenueImpactScore": 91,
"queueReductionScore": 74
}
}
]
},
"requestContext": {
"correlationId": "parking-ev-20260717-001"
}
}
This pattern belongs in a trusted backend, not directly in browser JavaScript.
async function executeParkingDecision(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. | Parking operators understand the decision before entering data. |
| Guided Data Collection | Criterion label, field, data type indicator, summary, and expandable "More about this criterion". | Improves occupancy, access, enforcement, EV, and equipment data quality. |
| Candidate Cases | Two fields per row where practical, editable option ID, and visible units or data type indicators. | Operators can compare spaces, chargers, permits, citations, or maintenance options 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, kiosks, gates, or mobile apps.
- 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, facility ID, zone ID, credential ID, reservation ID, citation ID, charger 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 customer identifiers, payment details, vehicle plate data, citation evidence, and security-sensitive facility 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 access, enforcement, payment, and customer-service workflows remain usable when DecisioQ is unavailable.
- Review Decision Preparation Models and scenario assumptions with operations, security, finance, and customer-service owners when facility policies or event 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. |
| Occupancy or charger recommendation seems stale. | Sensor, reservation, gate, or charging data changed after the decision input was prepared. | Refresh operational data close to execution time and include data freshness where available. |
