A ground services API is the integration layer that lets an autonomous fleet reserve private-site capacity and prove the work happened. XoomPark's model represents nine objects: site, zone, capability, reservation, session, SLA, evidence, exception, and billing.
An AV ground-services API should expose nine core objects: site, zone, capability, reservation, session, SLA, evidence, exception, and billing. Together they let a fleet ask one site "can my vehicle stage here tonight, what is it allowed to do, is it available, and what proof will I get?" and receive a structured, auditable answer. The API coordinates reservation, access, workflow, SLA, evidence, and audit. It does not map roads, own chargers, dispatch vehicles, or replace a fleet operator.
What an AV ground-services API has to model
The hard part of off-depot fleet operations is not the request. It is the state. A vehicle arrives at a private lot, does work that has to be tracked, and leaves behind a record someone will audit. An API that only books a slot misses everything after arrival.
| Object | Owns | Without it |
|---|---|---|
| Site | The physical private location and its owner | No place to operate |
| Zone | A sub-area inside a site with its own rules | Every part of a lot treated identically |
| Capability | What services the site can actually perform | Booking a service the site cannot deliver |
| Reservation | A future-tense claim on space and service | Vehicles arriving to no available capacity |
| Session | The actual visit, check-in to check-out | No record the work happened |
| SLA | The service level promised and measured | No way to tell a good node from a bad one |
| Evidence | Timestamped proof of the session | Disputes with no record to settle them |
| Exception | The handling path when something deviates | Silent failures, stranded vehicles |
| Billing | The audit-grade settlement record | Reconciliation by spreadsheet |
Plain-English definition
A ground services API is a machine-to-machine interface between an autonomous fleet's operations stack and the private sites that give it ground capacity: places to stage, store overnight, queue near charging, hold during recovery, and run light service between trips.
It is not a parking-reservation endpoint with extra fields. A parking API answers "is there a spot." A ground-services API answers "is there a spot, is my vehicle allowed in it, what is it allowed to do there, what level of service applies, and what evidence will prove the session ran correctly." That last clause is the reason the object model is nine objects deep instead of two.
Why the object model matters
Fleets are moving ground work off the depot. Depots stay central and capacity-bound, while trips happen across the whole city. The number of distributed places a robotaxi needs between rides keeps growing, and each one is a different owner with different rules.
You cannot manage that by phone and PDF. As commercial fleets have scaled past 2,500 vehicles in the US, operators have moved ground work to dedicated partners and distributed facilities rather than a single depot. Waymo outsourced fleet operations, facilities, and charging to Moove across Phoenix and Miami and named Avis Budget Group its depot-and-readiness partner in Dallas (TechCrunch, Dec 2024; Avis Budget Group, Jul 2025). A fleet integrating ten sites can hand-wave the state. A fleet integrating hundreds cannot. The object model exists so that adding the 300th node is the same API call as the 3rd, and so that every session it produces is auditable the same way.
The permission/capability split is what makes this more than logistics software. HD mapping tells an AV where it may be able to drive. The site owner defines permission: where the vehicle is allowed to go and what it may do. The fleet validates capability: whether its own vehicle can perform the action safely. The API sits between them, coordinating reservation, access, workflow, SLA, evidence, and audit. The property defines permission. The fleet validates capability. XoomPark coordinates the record.
How the objects connect
The objects form a chain, each referencing the one before it. A site contains one or more zones. Each zone advertises capabilities. A reservation claims a capability in a zone for a window. When the vehicle arrives, the reservation opens into a session. The session is measured against an sla, accumulates evidence, and may spawn an exception. When it closes, it produces a billing record pointing back at the session and its evidence.
That referential chain is the audit trail. Given a billing line, you can walk back to the exact session, the evidence captured during it, the SLA it was held to, and the reservation that authorized it. No object floats free.
Illustrative request/response sketch
The snippets below are example schemas for documentation only. They are not live endpoints, and field names, paths, and values are illustrative.
POST /v1/reservations
Content-Type: application/json
{
"site_id": "site_8f2",
"zone_id": "zone_overnight_A",
"capability": "overnight_storage",
"vehicle_ref": "fleetX_av_0427",
"window": { "start": "2026-06-26T23:00:00Z", "end": "2026-06-27T05:30:00Z" },
"requested_sla": "standard_overnight"
}{
"reservation_id": "rsv_31a9",
"status": "confirmed",
"site_id": "site_8f2",
"zone_id": "zone_overnight_A",
"capability": "overnight_storage",
"access": {
"method": "gate_code",
"rules": ["no_charging_in_zone", "quiet_hours_22_06"]
},
"sla": {
"id": "standard_overnight",
"check_in_grace_min": 15,
"evidence_required": ["arrival_photo", "departure_photo", "timestamps"]
},
"billing_estimate": { "currency": "USD", "amount": "18.00", "_note": "illustrative example value only" }
}Who needs this
| Role | What they integrate against | Why |
|---|---|---|
| AV fleet engineering | Reservation + session + evidence objects | Wire ground stops into dispatch and ops stack |
| Fleet-ops partners | Capability + SLA + billing objects | Offer and settle ground services across many sites |
| Parking / real-estate operators | Site + zone + capability objects | Publish private capacity as AV-ready nodes |
| eMobility teams | Capability + reservation (charging-adjacent queueing) | Coordinate queueing near charging without owning chargers |
XoomPark is not a fleet operator, not a charging network, not an autonomy or HD-mapping company. The API is the coordination layer those roles meet on, not a replacement for any of them.
Example workflow: an overnight storage session, object by object
| Stage | What happens |
|---|---|
| Site + Zone + Capability | Fleet queries available nodes. A private lot returns a site with an overnight zone advertising overnight_storage and quiet-hours rules. |
| Reservation | Fleet reserves a 23:00 to 05:30 window. API confirms access method and SLA terms. |
| Session | Vehicle arrives. Check-in opens a session referencing the reservation. |
| SLA + Evidence | Session is measured against standard_overnight SLA. Required evidence captured. |
| Exception (if any) | Vehicle overstays. Exception opens, routing to the defined handling path. |
| Billing | Check-out closes session and produces a billing record linked to the session and evidence. |
What XoomPark does and does not do
| XoomPark provides | XoomPark does not provide |
|---|---|
| Site discovery and qualification | Road or HD mapping |
| Private-site access rules and zones | Charger ownership or an EV charging network |
| Reservation and session records | Vehicle dispatch or routing |
| Check-in / check-out workflow | Vehicle maintenance labor |
| SLA tracking and evidence capture | AV safety certification |
| Exception handling and billing/audit records | Fleet operations staffing |
Original analysis: the nine-object decomposition and where integrations break
We mapped the AV ground-session lifecycle against the data a fleet has to retain for audit, and reduced it to the smallest object set that still produces a defensible record. The result is the nine objects above. The test we applied: remove any one object, and either a real operational state becomes unrepresentable or an audit question becomes unanswerable. All nine survived that test. A tenth (a generic "note") did not, because anything worth retaining belonged on session, exception, or evidence.
The decomposition also exposes where naive integrations break. Most teams model reservation and session and stop. They treat evidence as optional metadata and bolt billing on at the end. That works until the first dispute, at which point there is no timestamped proof to point at, and reconciliation collapses into email. Evidence is not a nice-to-have field. It is the object that makes the SLA enforceable and the billing line defensible, which is why it gets equal weight in the model rather than living as a loose attachment.
One framework note worth stating plainly: in this model capability is decoupled from site. A site does not "have services" as fixed attributes. Each zone advertises capabilities independently, because the same lot can offer overnight storage in one corner and recovery holding in another under different rules. This zone-level variation is a modeling assumption behind the object design rather than a measured frequency; XoomPark scopes capability to the zone precisely so that a single site with mixed rules can be represented correctly. Integrations that flatten capability onto the site cannot express that, and end up booking services into zones that cannot deliver them.
Not for you
If you run a single fixed depot, never operate off-site, and own every square foot your vehicles touch, you do not need a distributed ground-services API yet. Your "object model" is one site you already control, and a reservation system would add coordination overhead with nothing to coordinate. This API earns its complexity when you operate across multiple private sites you do not own, where access rules, service levels, and evidence have to travel with each session. Come back when the depot stops being enough.
Frequently asked questions
What should an AV ground-services API include?
At minimum it should model nine objects: site, zone, capability, reservation, session, SLA, evidence, exception, and billing. Together they cover discovering capacity, confirming what is allowed, booking it, running the visit, holding it to a service level, proving it happened, handling deviations, and settling the bill.
Is a ground services API the same as a parking-reservation API?
No. A parking API answers whether a spot is free. A ground-services API also represents what the vehicle is permitted to do at the site, what service level applies, and what evidence will prove the session ran correctly. The evidence and SLA objects are what separate the two.
Does XoomPark's API dispatch or route vehicles?
No. XoomPark coordinates reservation, access, workflow, SLA, evidence, and audit at the ground site. Routing and dispatch stay in the fleet's own stack. The API is the interface between the fleet and the private site, not a dispatch system.
What is the AV session record API for?
The session object records the actual visit from check-in to check-out, links to the evidence captured during it, and is measured against its SLA. It is what makes a ground stop auditable after the fact and what every billing record points back to.
Related pages
Talk to XoomPark about API integration
If you are building the fleet-ops stack for an autonomous fleet and need to coordinate ground capacity across private sites, talk to XoomPark about API integration. We will walk your team through the object model and how it maps to your dispatch and audit requirements.