Overview
Use Arkham when you need demand-responsive rental rates, multi-machine quotes, location-aware delivery, and auditable booking tracking — aligned with the program process (quote → clearing price → lease → billing).
- Demo fleet with dedicated machine IDs (e.g.
EQ-001…) - Multi-select machines, sites, and timing with country/currency support
- Live status board for customers, partners, and internal ops
- Three pricing engines — RL elasticity, SDP leases, spot auction — behind each quote
Concepts
| Concept | Description |
|---|---|
| Quote | Time-limited price offer (~90s). Selected machines become reserved. |
| Booking | Confirmed reservation. Machines move to in_use. |
| Utilization | Share of fleet reserved or in use; drives surge pricing. |
| Location | Delivery / job site with country, city, county, and postal pin fields. |
Same-origin proxy
Browser clients should call the Zi Humana proxy at /api/arkham/*. The route forwards to the Arkham backend configured via ARKHAM_BACKEND_URL (default demo host). Demo is open — no API key required; optional x-api-key is forwarded when present.
GET /api/arkham/health GET /api/arkham/fleet/machines POST /api/arkham/pricing/quote Content-Type: application/json Accept: application/json
Get a price quote
POST /api/arkham/pricing/quote
curl -X POST https://your-site/api/arkham/pricing/quote \
-H 'Content-Type: application/json' \
-d '{
"machine_ids": ["EQ-001", "EQ-006"],
"country": "IE",
"city": "Dublin",
"county": "Dublin",
"pin_eircode": "D02 AF30",
"start_time": "2026-08-10T14:00:00Z",
"duration_hours": 8
}'Confirm a booking
POST /api/arkham/booking/confirm
curl -X POST https://your-site/api/arkham/booking/confirm \
-H 'Content-Type: application/json' \
-d '{ "quote_id": "<uuid>", "customer_name": "Site Supervisor" }'Track delivery
GET /api/arkham/booking/{booking_id}/track returns status, coordinates, and ETA. Complete with POST /api/arkham/booking/{booking_id}/complete to return machines to available.
Fleet & availability
GET /api/arkham/fleet/machines— catalog + statusGET /api/arkham/fleet/locations— countries with currency and pin labelsGET /api/arkham/fleet/summary— counts / utilizationGET /api/arkham/bookings— partner booking listPOST /api/arkham/fleet/machines/{id}/release— ops release for non-available units
API endpoints
| Method | Path (via proxy) | Purpose |
|---|---|---|
| GET | /api/arkham/health | Liveness + fleet summary |
| GET | /api/arkham/fleet/machines | List equipment |
| GET | /api/arkham/fleet/locations | List countries / sites |
| GET | /api/arkham/fleet/summary | Utilization |
| POST | /api/arkham/pricing/quote | Multi-machine quote |
| POST | /api/arkham/booking/confirm | Confirm → in_use |
| GET | /api/arkham/booking/{id}/track | Tracking |
| POST | /api/arkham/booking/{id}/complete | Release fleet |
| GET | /api/arkham/bookings | Partner ledger |
| POST | /api/arkham/fleet/machines/{id}/release | Ops machine release |
Errors
| Code | When |
|---|---|
| 400 | Invalid location or empty machine list |
| 409 | Machine not available / already reserved |
| 404 | Quote or booking not found |
| 410 | Quote expired |
| 502 | Arkham backend unreachable — check ARKHAM_BACKEND_URL |
Program & business process
Quote requests flow through RL elasticity, SDP lease pricing, and spot auction engines to a market-clearing price, then through booking confirmation, tracking, and revenue audit.

