Checkout & returns desk (rental custody)
Mobile-first operator surface for the physical edge of renting gear out: hand equipment over with a signature on glass, count it back in with a per-item verdict (ok / damaged / missing) and evidence photos, then inspect and settle the deposit. A damaged or missing verdict pulls the unit out of availability in the same transaction, so the next booking can't sell a broken item. Transitions are idempotent and queue offline (localStorage replay), built for loading docks with dead spots.
If you are building a front end
Your front end calls this over the same-origin `/api/v1` proxy — no backend code to write, no schema to design. Endpoints: GET/POST /lease/custody/agreements, POST /lease/custody/agreements/:ref/{picked,out,return,inspected,settle,cancel}, files spine for photos/signature.
Bring any front end — hand-written, or generated with Lovable, v0, Bolt, Claude, or Cursor. You get auth, a multi-tenant database, payments through your own Stripe, and email/SMS without writing or hosting a backend.
- How to turn it on
- On when the org runs rentals; reachable from the nav (Checkout & returns) or /lease/desk.
- Who can use it
- lease.custody.read to see the desk, lease.custody.write to run transitions — crew holds both without any calendar authority.
- The API behind it
GET/POST /lease/custody/agreements, POST /lease/custody/agreements/:ref/{picked,out,return,inspected,settle,cancel}, files spine for photos/signature- Where it lives
- /lease/desk/lease/desk/[ref]
Machine-readable
This page is generated from our published capability catalog. Point your AI assistant at /features.json (or /llms.txt) and it can read every feature, how to enable it, and the endpoints behind it — then build against them.