JJijibora
Docs & Product Guide
On this page (5 sections)

Feature Package PK-04 — Maintenance & Facilities (Common Areas)

Status: Package Specification
Domain: Common Areas / Assets / Maintenance
Maps to: Process 8 (Asset Maintenance & Remediation), Playbook (common-area work orders)
External integration: OpenMAINT (CMMS), MinIO (evidence photos)


1. What This Package Does

Gives the facilities team one auditable system for common-area maintenance — lifts, landscaping, pools, security lighting, corridors — plus unit defect/snag remediation. Replaces WhatsApp fault reports, paper logs, and uncoordinated vendor management.

2. Features & Functionality

FeatureWhat it doesWho uses itWhat stands behind it
Defect / snag reportingResident or staff reports a common-area or unit defect with photo; work-order claim createdResident, concierge, facilitiescns://claim/type/real-estate/defect; photo hash in claim.evidence; MinIO
Work-order creationDefect claim converted to OpenMAINT work order; WO id mirrored backFacilities managerCamel → OpenMAINT; integration_entity (system: "openmaint")
Contractor dispatchWork order assigned to vendor/contractor by skill, location, priorityFacilities managerSolver-gateway proposes sequence (optional); facilities lead confirms
Parts consumptionContractor logs parts used; charged to service-charge fund or maintenance budgetContractor, facilitiesresource:budget_maintenance deduction on close
Expert sign-offQualified inspector (different from contractor) signs off before closeFacilities inspectorlookup.claims.sod.v1 (inspector ≠ doer); fn::poce::record_step
Preventive maintenanceRecurring work orders (lift certification, pool water test, lift inspection) on cadenceFacilities managerRecurring cns://operations/work_order; Kestra-driven schedule
Common-area statusLift, pool, gym status (operational/under maintenance/closed) visible to residentsResidents, conciergeresource:common-area status; NATS streaming

3. Workflow (Defect to Closure)

  1. Defect reported (lift out of order) → claim with photo; bound to common-area resource
  2. Claim → OpenMAINT work order; ID mirrored in integration_entity
  3. Work order assigned to lift vendor (solver proposes, lead confirms)
  4. Vendor completes work, logs parts, uploads completion photo
  5. Parts charged to service-charge maintenance fund
  6. Independent inspector signs off (SoD); fn::poce::finalize_session; work order closed
  7. Lift status → OPERATIONAL; residents notified via NATS stream

4. Guard Rails

  • No auto-close without expert sign-off
  • No parts deduction without work-order close
  • No synthetic contractor/vendor IDs
  • OpenMAINT owns asset spec/depreciation; Sovereign owns booking availability and sign-off
  • If OpenMAINT is unreachable → 502 fail-closed; no invented work-order numbers

5. Evidence & Audit

  • Defect claim, OpenMAINT work-order ref, parts log, contractor photo, inspector signature, PoCE receipt