CautaPark — Parking¶
CautaPark is the parking module: issue permits, scan vehicles at the gate, log violations, and let residents see what they're permitted to park.
What residents see¶
Residents have a My Parking view inside the parking module:
- All their currently active permits (resident, visitor passes they've invited, contractor passes for ongoing renovations).
- Expiry dates with a colour cue — green = valid, amber = expiring within 7 days, red = expired.
- Any violations logged against their vehicles, with photos and the reason (illegal parking, blocked driveway, expired permit, etc.).
- A Request Visitor Pass button if your facility allows residents to pre-register their own visitors' vehicles.
Residents can't issue their own resident permits — those come from management. They can only invite visitors or report a stolen plate.
What guards see¶
Guards have a focused Scan workflow:
- Scan the QR code on the resident's permit (or type the plate number).
- The screen shows: permit status, unit number, owner name, expiry, and any open violations.
- Green = let them in. Amber = expiring soon (let them in but warn). Red = expired or revoked (refuse entry, optionally log a violation).
The Scan tab works offline — guards in a basement gate house can keep working through internet outages. Records sync when the connection comes back.
Guards also see today's expected arrivals from the Visitors module (pre-registered passes for the day).
What facility admins do¶
Issue a resident permit¶
- Open Parking → Issue tab.
- Pick Permit type (Resident, Visitor, Contractor, Temporary, Short Term, Commercial, Reserved, Staff).
- Select the Unit the permit belongs to.
- Enter the plate number, owner name, and expiry date.
- Click Save — the permit is generated with a QR code.
- Print or share the QR with the owner.
The system blocks duplicate active permits on the same plate, so you won't accidentally issue two passes for the same car.
Renew or revoke¶
- Registry tab: filterable list of every active and expired permit.
- Click any permit to renew it, revoke it, or reprint the QR.
- Every reprint is logged to the audit trail (visible in Settings → Audit Log for the CautaReside operator).
Log a violation¶
From the Scan tab or the Registry, open a vehicle and click Log Violation:
- Pick a category (illegal parking, blocked driveway, expired, no permit, reckless, other).
- Add a photo if you have one.
- Optional note describing what happened.
- Save.
The resident is notified (email + push + Telegram, depending on their preferences) and the violation appears on their dashboard.
Violation disputes¶
Residents can dispute any violation logged against them:
- From their My Parking dashboard, the resident opens the violation row and clicks Dispute.
- They enter a reason + can attach counter-evidence photos.
- The dispute lands in Parking → Disputes (mgmt). Original violation is marked under dispute — the associated billing line (if any) is held pending the decision.
- Mgmt reviews → Uphold (the violation stands, charges release) or Overturn (the violation is voided, any associated charge is reversed via a credit note).
- Resident is notified by email + push with the decision and any reason text.
Revoke a permit (with reason)¶
Sometimes a permit needs to be cancelled before its natural expiry — plate transferred, lost sticker, tenant moved out, owner request.
- Parking → Permits → open the permit → Revoke.
- Pick a reason from the dropdown (Plate transferred / Lost or stolen / Vehicle sold / Tenant moved out / Operator error / Other) plus optional free-text detail.
- The revoke is logged on the audit trail with the reason. The permit row keeps its history but stops scanning green at the gate.
If the resident needs a replacement, use Reissue rather than
issuing a fresh permit — the new permit links back to the original
via reissued_from_id so the chain is traceable in audit. The
original counts against history; the reissue counts as the active
permit going forward.
Reception role for parking enforcement¶
In addition to dedicated guards, a reception role can be granted the parking-enforcement scope (Settings → Users → role: reception with the parking module-role enabled). Reception users can:
- Scan vehicles at the front desk (typical for buildings where reception doubles as the gate).
- Log violations the same way guards do.
- View today's expected arrivals.
They CANNOT issue permits, revoke them, or change configuration — that's mgmt-only. This split lets you give the front-desk crew enough authority to enforce on the spot without exposing the full admin surface.
Configure permit types¶
Go to Settings → Parking to: - Set max permits per unit (default 2 — typically the number of parking spaces a unit has). - Toggle which permit types are enabled for residents to request. - Configure the QR design (logo, colours).
Permit types in detail¶
The five core types the issue form offers:
| Type | Who | Typical use |
|---|---|---|
| Resident | Unit owner / tenant | The car they drive every day. Long expiry. |
| Tenant | Lease-holder (when distinct from owner) | Mid-length expiry, tracks against lease end. |
| Staff | Live-in staff (housekeeper, gardener) | Long expiry, scoped to a particular unit. |
| Vendor | Contractor, renovation crew, regular delivery | Multi-day pass linked to a unit or service window. |
| Visitor | Day-pass for guests | Short expiry (24 h default; configurable). |
Additional types (Reserved, Commercial, Short Term, Contractor) remain available in the Registry filter for facilities that captured them under previous schemas; new issuance uses the core five above.
Account-required permits¶
Some permit types require the unit to have an active billing account before the permit can be issued — this links the parking record into the same financial governance as service charges. The required-reason text (e.g. "Resident permits require an active account so renewals can post to the correct line") shows next to the Issue button when the unit's account is missing; clicking the hint deep-links to Billing → Accounts to create or activate one.
Registry view + breakdown chart¶
The Registry tab shows the full active + expired list with filters on type, unit, expiry window, and status. A small breakdown chart at the top shows the current active permit count per type — useful for catching unusual mixes ("why do we have 40 Vendor permits active?" hints at a stale renewal queue).
Tips¶
- Visitor permits expire automatically — you don't have to manually revoke them. Set a reasonable default (24 hours is typical) in Settings.
- Scan offline — the gate house can keep working during ISP outages. Make sure the guard's tablet/phone has the app cached (the first scan while online does this automatically).
- QR code on the dashboard — residents see a live QR they can show the guard if they've forgotten their physical pass.
- Audit trail — every permit action (issue, renew, revoke, reprint, scan, violation) is logged with who, what, when. Use it when there's a dispute over "who let that car in?"
Process flows¶
End-to-end procedures the parking / mgmt team runs day-to-day. Steps are anchored to the actual UI labels.
Issue a permit (homeowner or tenant)¶
Resident needs a vehicle registered to their unit.
- Open CautaPark → Issue Permit (mgmt / mgmt-assist role required).
- Pick the unit from the autocomplete; the system pre-fills owner / tenant name from the unit registry.
- Enter vehicle plate + make / model / colour. The plate format is validated against the country's plate regex (Ghana by default).
- Pick permit type (Resident / Tenant / Staff / Vendor / Visitor) — type drives the validity window and the fees applied via Fee Setup.
- Confirm fees on the right-hand summary; tap Charge & issue to post the line to billing AND issue the permit, or Issue without charge for non-billable types.
- The resident gets an email + push with the printable permit + a digital QR sticker for the windscreen.
Scan a vehicle at the gate (guard flow)¶
- On the Guard tab, tap Scan.
- Aim the camera at the windscreen sticker's QR — or type the plate directly when the sticker is missing or unreadable.
- Result lights up green (valid permit), amber (expiring within 7 days — alert resident), or red (no permit / expired / on the block-list).
- On red, tap the entry to see the reason. Decide to allow + log a violation, or refuse entry. Both actions are logged in the audit trail.
- Repeat scans for vehicle exits — the system pairs the entry/exit so the dwell-time + overstay-flag downstream maths work.
Log a violation¶
Vehicle parked outside its assigned bay, or the resident hasn't paid this cycle.
- CautaPark → Violations → + New.
- Pick the offending vehicle (autocomplete from active permits OR enter plate manually for unregistered vehicles).
- Pick a violation reason from the dropdown (Wrong bay / No permit / Overstay / Blocking access / Improper signage / Other).
- Snap up to 3 photos as evidence. Add a free-text note if the situation needs context.
- Pick the fee schedule — the configured fine for the chosen reason auto-fills; mgmt can override before submit.
- Submit → resident receives email + push with photos + appeal window. The line posts to billing under "Penalties".
Renew an expiring permit¶
Permit expires in ≤ 30 days.
- CautaPark → Permits → filter by Expiring soon.
- Pick the permit row and tap Renew.
- The form pre-fills with the previous permit's vehicle + unit + type. Edit if the resident has changed cars.
- Confirm the new validity window; the renewal fee uses the same Fee Setup line as a fresh issue.
- Charge & renew posts the new line and issues a fresh sticker / QR.