API Documentation

DecisioQ Parking Lot Management Developer Integration Manual

How software developers should incorporate DecisioQ into parking, mobility, access control, enforcement, reservation, payment, and operator management systems.

Parking Lot Management Industry Edition

Contents

1. Purpose and Scope

2. Parking System Architecture

3. Industry-Specific Decision Workflows

4. Data Mapping for Parking Integrations

5. API Workflow Pattern

6. Implementation Guides by Parking Module

7. Developer Reference Architecture

8. Sample C# Integration Pattern

9. Security, Privacy, and Compliance

10. Performance and Reliability

11. Testing Strategy

12. Implementation Roadmap

13. Best Practices Checklist

14. Example Parking Templates to Build First

15. Summary

1. Purpose and Scope

This manual explains how developers in the Parking Lot Management industry should embed DecisioQ into operational software. The focus is not only calling an API; it is designing decision workflows that are reusable, configurable, explainable, and auditable across parking operations.

DecisioQ is best positioned as a decision-intelligence layer between parking data sources and business actions. It can evaluate alternatives using weighted criteria and return ranked recommendations for operators, automated workflows, or supervisor review.

Typical Parking Decisions Suitable for DecisioQ

  • Which parking space, zone, level, or facility should be assigned to a driver?
  • Should a reservation be accepted, rejected, oversold, or redirected to another facility?
  • What rate should be applied for transient, event, premium, or dynamic pricing?
  • Which enforcement task should an officer perform next?
  • Should a permit application be approved, waitlisted, escalated, or denied?
  • Which gate, kiosk, charger, sensor, or camera maintenance issue should be handled first?
  • How should occupancy be balanced across multiple lots or garages?
  • Should a citation appeal be auto-approved, auto-denied, or routed to manual review?

2. Parking System Architecture

A parking platform usually includes multiple real-time and back-office systems. DecisioQ should receive normalized data from those systems, evaluate decision templates, and return recommendations with an explanation and audit metadata.

Component Integration responsibility
Parking customer / mobile app Submits reservation, permit, payment, or access request.
Parking platform Collects occupancy, zone, rate, violation, and account data.
Operational data sources Sensors, LPR cameras, gates, kiosks, payment processors, enforcement handhelds, and permits.
DecisioQ API Evaluates weighted criteria and ranks options for allocation, pricing, enforcement, or escalation.
Operator system of record Stores the selected action, recommendation score, explanation, and decision audit trail.

Recommended Integration Pattern

  • Keep DecisioQ behind the parking platform service layer rather than calling it directly from gates, kiosks, or mobile apps.
  • Use the platform backend to enrich requests with occupancy, payments, permits, LPR, customer profile, and operator policy data.
  • Store DecisioQ decision IDs and template versions in the parking system of record so every operational action remains traceable.
  • Allow parking administrators to change criteria weights through templates instead of requiring code redeployment for every policy change.

3. Industry-Specific Decision Workflows

Decision workflow Developer use case Example criteria populated from parking systems
Space allocation Assign best available space, zone, or garage level Occupancy, permit type, walking distance, vehicle class, accessibility needs, reservation priority
Dynamic pricing Recommend transient, event, or premium-zone rate Occupancy, demand forecast, event calendar, competitor rate, time of day, revenue target
Enforcement prioritization Rank lots, rows, or violations for officer routing Violation age, permit mismatch, sensor confidence, citation value, risk, proximity
Permit approval Approve, deny, or queue permit requests Eligibility, lot capacity, account standing, employer/resident group, waitlist position
Reservation acceptance Accept or redirect online reservations Projected occupancy, entry window, capacity buffer, customer tier, oversell policy
Maintenance dispatch Prioritize gate, kiosk, charger, sensor, or camera repairs Device criticality, revenue impact, safety risk, SLA, technician availability
EV charger allocation Select charger assignment or reservation strategy Battery need, dwell time, charger speed, price plan, accessibility, hardware status
Appeals triage Route citation appeals for auto-approval, review, or denial Evidence strength, payment history, permit data, location confidence, policy exception

4. Data Mapping for Parking Integrations

The integration layer should translate raw parking platform data into clear DecisioQ criteria and alternatives. Developers should avoid passing unexplained raw fields when the decision engine needs business meaning.

Field Type Purpose
decisionContext Object Lot, garage, customer, vehicle, account, reservation, time window, and operational context.
criteria[] Array Weighted factors such as occupancy, walking distance, permit eligibility, payment status, safety risk, and revenue impact.
alternatives[] Array Candidate spaces, zones, rates, enforcement routes, technicians, or appeal outcomes.
scores[] Array Normalized values for each alternative against each criterion.
selectedAlternativeId String The selected recommendation after DecisioQ evaluation or human override.
auditMetadata Object User, source system, template version, timestamp, correlation ID, and justification.

Common Source Data

  • Lot, garage, zone, row, level, space, and access point identifiers.
  • Real-time occupancy from counters, sensors, LPR reads, gate entries, exits, reservations, and manual counts.
  • Permit type, account status, validation rights, employer group, resident group, waitlist priority, and payment standing.
  • Rate rules, event schedules, capacity buffers, oversell limits, grace periods, and operator policies.
  • Officer location, route, issued citation history, violation confidence, and safety notes.
  • Device health for gates, kiosks, card readers, payment terminals, cameras, EV chargers, sensors, and network equipment.

5. API Workflow Pattern

The same integration pattern can be reused across parking workflows: gather context, build alternatives, score alternatives against criteria, execute a DecisioQ decision, apply the selected action, and persist the audit result.

1. Receive parking event or operator request.
2. Resolve lot, customer, vehicle, permit, occupancy, and payment context.
3. Choose the appropriate DecisioQ decision template.
4. Build criteria weights from the template or operator configuration.
5. Build alternatives such as spaces, zones, rates, enforcement routes, or permit outcomes.
6. Submit the decision request to DecisioQ.
7. Display or automatically apply the top-ranked recommendation.
8. Store the recommendation, selected outcome, explanation, template version, and audit ID.

Example: Space Allocation Request

POST /api/decisions/execute
Authorization: Bearer {token}
Content-Type: application/json

{
  "templateName": "Parking Space Allocation",
  "criteria": [
    { "name": "Occupancy risk", "weight": 25 },
    { "name": "Walking distance", "weight": 15 },
    { "name": "Permit compatibility", "weight": 30 },
    { "name": "Revenue protection", "weight": 15 },
    { "name": "Accessibility constraint", "weight": 15 }
  ],
  "alternatives": [
    { "id": "ZONE-A-LEVEL-2", "scores": { "Occupancy risk": 78, "Walking distance": 92, "Permit compatibility": 100, "Revenue protection": 88, "Accessibility constraint": 85 } },
    { "id": "ZONE-C-LEVEL-5", "scores": { "Occupancy risk": 94, "Walking distance": 70, "Permit compatibility": 100, "Revenue protection": 75, "Accessibility constraint": 80 } }
  ],
  "context": {
    "correlationId": "optional",
    "attributes": {}
  }
}

Example: Decision Response

{
  "decisionId": "DQ-7f8a91",
  "templateVersion": "Parking Space Allocation v3.2",
  "rankedAlternatives": [
    { "id": "ZONE-A-LEVEL-2", "score": 89.15, "rank": 1 },
    { "id": "ZONE-C-LEVEL-5", "score": 84.35, "rank": 2 }
  ],
  "recommendedAlternativeId": "ZONE-A-LEVEL-2",
  "explanation": "Zone A Level 2 ranked highest because it satisfies permit compatibility, preserves revenue, and provides better walking distance while maintaining acceptable occupancy risk.",
  "auditStatus": "Recorded",
  "context": {
    "correlationId": "optional",
    "attributes": {}
  }
}

6. Implementation Guides by Parking Module

6.1 Reservations and Pre-Booking

Use DecisioQ when the system must decide whether to accept a reservation, redirect the customer, hold capacity, or apply a premium rate. The application should send expected arrival time, dwell time, inventory forecast, event calendar, oversell policy, customer tier, and payment confidence.

  • Create alternatives for accept, reject, waitlist, redirect to facility, redirect to time window, or premium price.
  • Score alternatives using projected occupancy, revenue impact, customer value, contract obligations, and operational risk.
  • Persist the recommendation with the reservation record for later dispute resolution and capacity analysis.

6.2 Dynamic Pricing

For dynamic pricing, DecisioQ should not replace the payment engine. It should recommend the pricing decision before the parking system posts the final payable rate. Developers should expose guardrails such as minimum price, maximum price, contract exceptions, and event overrides.

  • Use criteria for demand, occupancy, event proximity, competitor rates, customer tier, revenue target, and fairness policy.
  • Return a recommended price tier or rate rule rather than a hard-coded amount when local tax or validation rules must still be applied downstream.
  • Log the pricing rationale so operators can explain why a rate was offered.

6.3 Enforcement and Violation Triage

Enforcement software can use DecisioQ to prioritize officer routes, identify high-confidence violations, and reduce low-value patrols. The system should combine LPR reads, sensor states, payment records, permit records, and officer location.

  • Build alternatives as lots, rows, route segments, individual violations, or appeal outcomes.
  • Score violation candidates with payment mismatch, permit mismatch, sensor confidence, citation age, risk, and officer proximity.
  • Keep final citation issuance subject to local policy and human review where required.

6.4 Permit Management

Permit workflows benefit from transparent decisions because approvals and denials often affect resident, employee, campus, or tenant access. DecisioQ can rank permit outcomes and explain capacity or eligibility constraints.

  • Alternatives: approve, approve alternate lot, waitlist, request documentation, deny, or supervisor review.
  • Criteria: eligibility, capacity, account standing, waitlist age, disability accommodation, tenant allocation, and policy exception.
  • Store the DecisioQ audit ID in the permit application record.

6.5 Access Control and Gate Exceptions

When a gate, QR credential, LPR match, or mobile pass fails, DecisioQ can help determine whether to grant access, issue a temporary validation, redirect the driver, or escalate to staff.

  • Use real-time inputs such as LPR confidence, account status, recent payment, reservation status, occupancy, and fraud risk.
  • Return an action code that the access-control system can map to gate behavior.
  • Do not let DecisioQ directly open gates; the parking control layer should enforce safety and hardware rules.

6.6 Maintenance and Device Operations

Parking facilities depend on hardware uptime. DecisioQ can prioritize maintenance across gates, kiosks, payment terminals, cameras, EV chargers, signs, elevators, lights, and sensors.

  • Criteria should include revenue impact, safety impact, customer impact, device criticality, technician skill, parts availability, and SLA age.
  • Alternatives can be repair now, defer, route technician, replace device, dispatch vendor, or close as duplicate.
  • Integrate with work order systems so the selected decision becomes a maintenance ticket.

7. Developer Reference Architecture

Parking UI / Mobile App / Operator Dashboard
        |
Parking API Gateway
        |
Parking Decision Orchestrator
        |-- Reads occupancy, permits, payments, LPR, reservations, sensors
        |-- Selects DecisioQ template
        |-- Builds normalized criteria and alternatives
        |
DecisioQ API
        |
Decision result: ranked alternatives, recommendation, explanation, audit ID
        |
Parking System of Record
        |
Gate, rate, reservation, permit, enforcement, or maintenance action

Recommended Services

  • DecisionOrchestratorService: owns DecisioQ calls and maps parking workflows to templates.
  • CriteriaBuilderService: transforms raw data into normalized criteria values.
  • AlternativeBuilderService: creates candidate spaces, lots, rates, routes, permits, or actions.
  • DecisionAuditService: stores template version, inputs, outputs, selected result, and user override reason.
  • PolicyConfigService: controls operator-specific weights, thresholds, guardrails, and exception rules.

8. Sample C# Integration Pattern

public sealed class ParkingDecisionService
{
    private readonly HttpClient _httpClient;

    public ParkingDecisionService(HttpClient httpClient)
    {
        _httpClient = httpClient;
    }

    public async Task<DecisionResult> AllocateSpaceAsync(ParkingRequest request)
    {
        var decisionRequest = new
        {
            templateName = "Parking Space Allocation",
            correlationId = request.ReservationId,
            decisionContext = new
            {
                request.FacilityId,
                request.CustomerTier,
                request.PermitType,
                request.VehicleClass,
                request.RequestedEntryTime
            },
            criteria = BuildAllocationCriteria(request),
            alternatives = BuildSpaceAlternatives(request)
        };

        using var response = await _httpClient.PostAsJsonAsync(
            "/api/decisions/execute",
            decisionRequest);

        response.EnsureSuccessStatusCode();
        return await response.Content.ReadFromJsonAsync<DecisionResult>()
               ?? throw new InvalidOperationException("DecisioQ returned an empty decision result.");
    }
}

Implementation Notes

  • Keep DTOs explicit and versioned. Parking decision payloads evolve as sensors, permits, and pricing models change.
  • Use correlation IDs from reservations, permit applications, citations, or work orders.
  • Handle DecisioQ API failures with a deterministic fallback policy, such as operator-configured default assignment or manual review.
  • Never discard the ranked alternatives. They are useful for operator transparency and continuous improvement.

9. Security, Privacy, and Compliance

Parking systems may process personally identifiable information, payment references, license plate data, permit details, enforcement records, and location history. Developers should minimize the data sent to DecisioQ and store audit records securely.

  • Use JWT or OAuth tokens with least-privilege scopes for decision execution, template administration, and audit retrieval.
  • Avoid sending full payment card data. Use payment status, tokenized transaction references, or risk indicators instead.
  • Treat license plate data as sensitive. Send only what is required for the decision, and mask or hash values when possible.
  • Apply role-based access so enforcement officers, lot attendants, supervisors, finance users, and administrators see only appropriate decisions.
  • Record template version, user ID, source system, timestamp, and override reason for operational accountability.
  • Encrypt decision logs at rest and protect them with retention policies aligned to local regulations and customer contracts.

10. Performance and Reliability

Parking operations often require near-real-time responses. Gate decisions and payment flows must be fast; back-office workflows such as permit approvals or maintenance prioritization can tolerate longer processing.

  • Use synchronous DecisioQ calls for user-facing decisions only when latency is acceptable.
  • Use asynchronous queues for batch enforcement planning, occupancy balancing, maintenance prioritization, and daily pricing recommendations.
  • Cache facility configuration, criteria weights, and template metadata, but avoid caching live occupancy decisions too aggressively.
  • Use circuit breakers and fallback policies for gate and payment scenarios.
  • Batch low-priority decisions such as permit review pre-scoring or appeal triage during off-peak periods.
  • Log request latency, decision score distributions, fallback rates, and override frequency.

11. Testing Strategy

  • Unit-test criteria builders using known parking scenarios, including full lot, low occupancy, permit mismatch, expired payment, and disabled-access requirements.
  • Integration-test DecisioQ execution with sandbox templates for each workflow.
  • Simulate sensor failure, LPR uncertainty, payment processor delay, and gate offline conditions.
  • Regression-test template version changes using historical decision payloads.
  • Verify audit records after human override and automated execution.
  • Load-test high-demand windows such as sports events, airport peaks, campus arrivals, and commuter rush hours.

12. Implementation Roadmap

Phase Recommended developer milestone
Phase 1 Integrate one low-risk workflow such as maintenance prioritization or permit triage.
Phase 2 Add space allocation and reservation recommendations with operator review.
Phase 3 Add dynamic pricing and enforcement prioritization with audit dashboards.
Phase 4 Automate approved decision paths and keep exceptions in supervisor review.
Phase 5 Analyze historical outcomes to refine weights, thresholds, templates, and fallback policies.

13. Best Practices Checklist

  • Design separate templates for reservations, pricing, enforcement, permits, access exceptions, maintenance, and appeals.
  • Keep criteria names human-readable so operators understand recommendations.
  • Use normalized 0-100 scoring to keep criteria consistent across workflows.
  • Store every DecisioQ decision ID with the operational record it influenced.
  • Expose ranked alternatives and explanation text in supervisor dashboards.
  • Track user overrides and require override reasons for high-impact decisions.
  • Version templates whenever weights, criteria, or alternatives change.
  • Do not hard-code parking policy in application code when it belongs in configurable decision templates.
  • Start with recommendation mode before enabling fully automated decisions.
  • Review decision performance using occupancy, revenue, customer satisfaction, citation accuracy, and operational efficiency metrics.

14. Example Parking Templates to Build First

Parking Space Allocation: Assign best space, zone, or level using occupancy, permit, distance, accessibility, and revenue criteria.

Reservation Acceptance: Accept, reject, redirect, waitlist, or premium-price a reservation using demand and capacity forecasts.

Enforcement Route Prioritization: Rank enforcement areas using violation likelihood, citation value, officer proximity, and operational risk.

Permit Application Review: Approve, alternate-lot approve, waitlist, deny, or escalate based on eligibility and capacity.

Gate Exception Handling: Grant access, reject, issue temporary validation, or escalate when credentials fail.

Maintenance Dispatch Priority: Prioritize parking equipment failures by safety, revenue, customer impact, and SLA.

Citation Appeal Triage: Route appeals to auto-approval, manual review, denial, or documentation request.

15. Summary

For Parking Lot Management systems, DecisioQ should be incorporated as a configurable decision layer that supports real-time operations and back-office workflows. The strongest integrations use DecisioQ to make parking decisions transparent: why a space was assigned, why a rate was recommended, why a citation was prioritized, why a permit was approved, and why a maintenance task was escalated.

The most successful developer implementation is one that normalizes parking data, separates decision policy from application code, stores an audit trail, and exposes explanations to operators and supervisors.