Scope
Who needs the workflow, what is visible, and what stays out.

Module · Maintenance
Turn property requests, seasonal care, inspections, vendor assignments, and closeout evidence into repeatable workflows.
Module proof path
See the workflow, proof, and operating limits in one scan before reviewing the detailed path.
Inspect proof Open demoWho needs the workflow, what is visible, and what stays out.
Screenshot, proof card, or demo path that makes the claim inspectable.
What requires human review or source evidence.
Who it is for
Pain
Maintenance work crosses requests, photos, schedules, vendors, access notes, cost decisions, and owner updates; the risk is losing context.
Workflow
Capture the issue with property, area, asset, priority, and evidence.
Route the task to internal field work, vendor bid, emergency review, or owner approval.
Attach checklists, service presets, access notes, and expected proof.
Track scheduled versus unscheduled work and blocked states.
Close out with reviewed photos, cost context, and next preventive recommendation.
Proof
Related modules
Product proof
Module pages show how a signal moves through the product without becoming a false automation claim.
Module receives a synthetic operational signal.
Module pages show how a signal moves through the product without becoming a false automation claim.
Safe sample scenario · illustrative operational state only.
Enforced boundary
Only typed files captured for this exact closeout can be reviewed. Acceptance binds clean scanned bytes and the current closeout evidence version; historical metadata labels do not establish accepted proof.
BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/evidence_routes.py:25
21 further boundary constants in this module
Acknowledging this window records your company’s review of the selected quote scope and scheduled window. Operations confirms dispatch and actual attendance separately.
BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/vendor_router.py:36Maintenance requests capture property care needs, triage decisions, owner-safe updates, and manual follow-up status. Quoalis does not guarantee emergency response through this portal, store access/security secrets in ordinary request data, expose vendor pricing or markups, process payments/client funds, or automatically dispatch vendors.
MAINTENANCE_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:196Maintenance relationship and repeat-issue intelligence is a manual review aid for staff and owner-safe property context only. It does not merge requests automatically, escalate or dispatch work, guarantee emergency response, expose access/security secrets, reveal vendor pricing or markups, process payments/client funds, or include raw media identifiers.
RELATIONSHIP_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:213Maintenance saved views store whitelisted owner-safe board filters for repeatable manual triage, including auditable pin/default/archive lifecycle controls. They do not assign work, dispatch staff or vendors, guarantee emergency response, store access/security secrets, reveal vendor pricing or markups, process payments/client funds, or include raw media identifiers.
SAVED_VIEW_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:250Bulk triage planning is an owner-safe, staff-reviewed planning aid for selected maintenance requests. It can queue owner-update drafts for review, but it does not publish automatically, assign work, dispatch staff or vendors, create escalations, guarantee emergency response, store access/security secrets, reveal vendor pricing or markups, process payments/client funds, or include raw media identifiers.
BULK_TRIAGE_PLAN_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:257Bulk work-order planning is an owner-safe, staff-reviewed planning aid for selected maintenance requests. It can create ordinary work-order records with manual review and owner-approval gates, but it does not dispatch staff or vendors, schedule appointments, create escalations, approve work on an owner's behalf, guarantee emergency response, store access/security secrets, reveal vendor pricing or markups, process payments/client funds, or include raw media identifiers.
BULK_WORK_ORDER_PLAN_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:264Opening an RFQ freezes the scope packet this request produced and creates a project to hold the quotes. It does not invite a vendor, promise the owner a price, guarantee a response, or dispatch work. The frozen packet is what the vendors are asked to price; the request text stays editable and the two are deliberately no longer the same document.
RFQ_PROJECT_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:6296Maintenance catalog templates guide request intake and manual triage. They are not emergency dispatch, vendor procurement, access/security secret handling, pricing/payment capture, or an arrival/resolution guarantee.
CATALOG_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/catalog.py:943The canonical request lifecycle is a read-only projection over persisted request, work-order, appointment, closeout, and owner-safe update records. It does not dispatch vendors, send provider messages, collect payments, expose access/security details, or publish reports.
CANONICAL_LIFECYCLE_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:202Preventive maintenance plans and tasks are manual planning aids for recurring property care, seasonal readiness, owner-safe follow-up, and closeout learning. They do not guarantee emergency response, automatically dispatch staff or vendors, store access/security secrets, expose vendor pricing or markups, or process payments/client funds.
PREVENTIVE_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:207Maintenance request comments provide owner-safe request updates and staff-only coordination notes. They do not guarantee emergency response, automatically dispatch staff or vendors, share access/security secrets, expose guest data, reveal vendor pricing or markups, process payments/client funds, or include raw media identifiers.
COMMENT_THREAD_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:219Maintenance analytics summarize owner-safe trends, aging buckets, repeat-issue signals, and derived timing metrics for manual planning only. They are not opaque scores, automated dispatch, emergency guarantees, vendor pricing or markup records, payment/client-funds records, access/security details, guest data, or raw media identifiers.
ANALYTICS_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:225Maintenance request detail combines owner-safe request context, comments, related issues, work orders, appointments, closeouts, preventive follow-up, and field assignments for manual coordination. It does not guarantee emergency response, automatically dispatch staff or vendors, expose access/security secrets, reveal vendor pricing or markups, process payments or client funds, or include raw media identifiers.
REQUEST_DETAIL_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:231Guided maintenance intake drafts help owners and staff collect complete owner-safe request context before submission. Drafts do not create work orders, guarantee emergency response, automatically dispatch staff or vendors, store access/security secrets, reveal vendor pricing or markups, process payments/client funds, or include raw media identifiers.
REQUEST_DRAFT_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:238Owner update drafts are a staff-reviewed publishing queue for owner-safe maintenance communications. They do not publish automatically, guarantee emergency response, dispatch staff or vendors, expose access/security secrets, reveal vendor pricing or markups, process payments/client funds, or include raw media identifiers.
OWNER_UPDATE_QUEUE_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:244Maintenance quote request drafts are staff-only RFQ planning previews. They do not create vendor packages, notify vendors, choose bidders, guarantee pricing or schedules, approve owners, dispatch work, expose access/security secrets, process payments/client funds, post accounting entries, file taxes or 1099s, or certify vendors.
QUOTE_REQUEST_DRAFT_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:272Maintenance vendor quote intake previews validate a structured quote shape for staff review only. They do not persist a quote, compare vendors authoritatively, choose a winner, notify owners or vendors, approve owners, create vendor packages, dispatch work, schedule work, release payment, post accounting entries, file taxes or 1099s, or certify vendors.
VENDOR_QUOTE_INTAKE_PREVIEW_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:278Maintenance quote comparison previews are staff-only recommendation aids. They do not persist quotes, select a winner, publish an owner packet, notify owners or vendors, create vendor packages, approve owners, dispatch or schedule work, expose wholesale/internal pricing, release payment, post accounting entries, file taxes or 1099s, or certify vendors.
QUOTE_COMPARISON_PREVIEW_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:284Maintenance owner quote approval packet previews are staff-reviewed owner-safe drafts. They do not publish to owners, record an approval or decline, create an immutable decision packet, select a vendor, create vendor packages, dispatch or schedule work, expose wholesale/internal pricing, release payment, post accounting entries, file taxes or 1099s, or certify vendors.
OWNER_QUOTE_APPROVAL_PACKET_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:290The maintenance request board is a read-only, owner-safe operating view for manual triage and portfolio planning. It does not auto-dispatch staff or vendors, guarantee emergency response, expose access/security secrets, reveal vendor pricing or markups, process payments/client funds, or include raw media identifiers.
REQUEST_BOARD_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:405Mobile field execution is a guided view of the day's route. It does not store secrets in drafts, bypass assignment authorization, promise background push delivery, or replace the canonical media and workflow submission APIs. Offline state belongs to the device and is not reported here.
MOBILE_FIELD_BOUNDARY · apps/api/src/ironbound_api/modules/maintenance/router.py:7558Copied verbatim from apps/api/src/ironbound_api/modules/maintenance/router.py and regenerated from apps/api/src/ironbound_api/modules. The API returns these same strings in its boundary fields, and a drift check fails the build if this page and the source stop agreeing.
Boundary
Module landing pages describe buyer-facing product workflows and controlled-pilot proof. They do not change billing, permissions, legal advice, emergency monitoring, payments, or live integrations.
Pilot access
The best demo is not a feature checklist. It follows a request from owner intake to manager triage, vendor packet, field evidence, reviewed closeout, and owner-safe reporting.
We respond with the recommended demo route, who should attend, and what production access would require.