Parking operations · Sample data
Every space, right now.
One system for the lot, the people who park in it, and the officers who keep it fair: live availability, permits, payments and citations.
Riverside Garage Sample
Garage · 200 Riverside Dr (Sample)Three lots
Where you can park, counted by the space.
The numbers come from the same records the plate readers and sensors write. When a car leaves, the space opens here within seconds.
Four doors into one system
Each person sees the part of the lot that is theirs.
Try each one with the Sample logins below. An officer cannot open revenue, and a customer only ever sees their own cars, permits and payments.
Runs the whole system
Lots, rates, permits, payments, citations, users and reports, with CSV exports.
lotwarden · password in the proposal
Watches the lots
Occupancy, entries and exits, the feed, permits and citations. No access to payments or users.
operator / operator-demo
Works the street
Type a plate on a phone, see the permit answer, write a citation in one step.
officer / officer-demo
Parks and pays
Vehicles, permits with renewals, visitor permits for guests, receipts, citations and alerts.
resident / resident-demo
Permits
A permit is a plate, a lot and a date.
Apply online, pay, and the permit is active the same minute. Officers see it the moment they type the plate. Renewal adds a full term from the expiry date.
30 days
For people who live nearby. Park any time in your assigned lot.
1 day
Issued by a resident to a guest. Free, one day.
Plate readers and sensors
Cameras and sensors post one small message. The lot does the rest.
Every plate read and sensor change arrives at the API as an event like this one. Here a simulated feed sends them, so the map and records move the way they would with real hardware.
# POST /api/lpr/events (Bearer token) { "lot_id": 1, "plate": "KTW4821", "direction": "in", "camera": "Riverside Garage entry lane", "confidence": 0.97 } # 201 Created { "space": "1B-07", "summary": "KTW4821 entered Riverside Garage → 1B-07" }