🌳 Interactive Workflow Tree

UnitCycle Workflow Tree

Every step in the property management lifecycle — mapped, linked, and audited. Click any step to go directly to that page in the app. Red dashed nodes are gaps that need to be built.

46 Steps Mapped
39 Have UI ✓
7 Gaps ✗
85% Coverage
Legend:
Exists — Live in app
Gap — Needs to be built
AI-Powered
System / Auto
Actors:
PM
Tenant
Vendor
AI
🏢

Phase 1 — Property Setup

Onboard a property into the portfolio with buildings and units

1.1
🏢 Create Property
Add a new property to the portfolio — name, address, type, GPS coordinates, class, features
PM
1.2
🏗 Add Buildings
Create buildings within the property — name, floors, total units, amenities. No UI exists — buildings only created via database.
PM
⚠ GAP — No Create Form
1.3
🚪 Add Units
Create units within a building — unit number, bedrooms, bathrooms, sqft, market rent, floor
PM
1.4
👤 Assign Owner
Link Eigentümer (owner) to property — ownership percentage, role, start date
PM
1.5
📊 Dashboard & KPIs Activate
Property appears on portfolio dashboard. Occupancy, revenue, exposure KPIs start calculating
System
📋

Phase 2 — Unit Goes Vacant → Marketing

When a unit becomes available, prepare it and get it in front of prospects

2.1
📋 Mark Unit Vacant
Change unit status to vacant after move-out. Service method exists but NO button in UI triggers it.
PM
⚠ GAP — No Button
2.2
📊 Lifecycle Dashboard Updates
Lease status transitions tracked, lifecycle counts refresh, unit appears in vacancy pool
System
2.3
📸 AI Virtual Staging
Upload empty room photos → AI generates furnished versions → approve for listings
AI
2.4
📡 Syndicate Listing
Publish to Zillow, Apartments.com, etc. AI-optimized title/description. SEO scoring. Stale detection.
PM
2.5
💰 AI Revenue Pricing
Market comp analysis → recommended rent → confidence score → accept/reject pricing
AI
2.6
📅 Schedule Showings
Showings list page exists but no "Create Showing" or "Schedule" button. Can only view existing showings.
PM
View List ⚠ GAP — No Create
2.7
🚪 List Unit on Property Detail
"List Unit" button on unit detail page triggers listing creation flow
PM
📝

Phase 3 — Leasing Pipeline

From first applicant to signed lease — screening, generation, signing, and abstraction

3.1
📝 Receive Application
New applicant submits application form — personal info, income, rental history, credit score, employer
PM
3.2
🔍 AI Screening Score
AI calculates 0-100 score with component breakdown (income, credit, rental, employment). Risk factors identified.
AI
3.3
Approve or Deny Applicant
PM reviews AI recommendation, clicks "Approve" or "Deny". Can override AI suggestion.
PM
If Approved
3.4
📄 AI Lease Generation
3-step wizard: Deal Terms → Configure 15 Clauses (8 required, 7 optional) → Generate PDF via ReportLab
AI
3.5
✍️ Send for Signing (DocuSign)
Send generated lease to tenant for electronic signature. Token-based signing URL. IP address tracked.
PM
3.6
🔎 AI Lease Abstraction
AI extracts key terms from signed PDF → PM reviews → "Apply to Lease" confirms and writes to record
AI
🏠

Phase 4 — Move-In & Onboarding

Document unit condition, issue keys, complete all move-in tasks

4.1
📸 Move-In Inspection
Room-by-room photo walkthrough with GPS. AI quality scoring. Checklist items per room. Dual signature.
PM
4.2
📋 Start Onboarding Checklist
Onboarding page lists tasks (keys, utilities, insurance, etc.) but no "Create Onboarding" action exists. Created server-side only.
PM
View List ⚠ GAP — No Create
4.3
📋 Complete Onboarding Tasks
Tenant completes tasks: sign docs, pay deposit, transfer utilities, register pets, upload insurance
Tenant
4.4
🔑 Key Issuance
Track physical key handoff — key type, identifier, issued to, return status
PM
4.5
👤 Tenant Becomes Active
Tenant portal access activated. Dashboard, payments, maintenance, chat — all live.
System
💰

Phase 5 — Active Tenancy

Day-to-day operations — rent collection, maintenance requests, communications, insurance

5.1
💰 Rent Payments
Tenant pays monthly rent via portal (Stripe). ACH or card. Autopay available. All transactions logged to ledger.
Tenant
5.2
🔧 Maintenance Request
Tenant submits request with photos → PM triages → assigns vendor → full WO lifecycle (see Phase 7)
Tenant
5.3
💬 Communications
Tenant ↔ PM chat. AI classifies urgency. Emergency detection. Broadcast messaging. Sentiment tracking.
Tenant
5.4
🛡️ Insurance & Compliance
Track renter's insurance policies. Lapse monitoring. Compliance alerts. Legal overrides.
PM
⚠️

Phase 6 — Delinquency & Collections

When rent isn't paid — escalating from friendly reminder to legal action

6.1
📋 Create Collection Case
Cases are managed once they exist, but no UI to create a new collection case. Backend/seed only.
PM
View List ⚠ GAP — No Create
6.2
📞 AI Collections Engine
Automated escalation: Day 1 reminder → Day 7 call → Day 14 payment plan → Day 30 legal notice. AI-tuned tone.
AI
6.3
📅 Create Payment Plan
Offer installment plan — number of payments, frequency, start date. Track each installment status.
PM
6.4
⬆️ Escalate Case
Escalate to next level (1→5). Attorney referral. Court filing. Legal fee tracking. Full audit trail.
PM
🔧

Phase 7 — Maintenance & Work Orders

Complete work order lifecycle — from 10 sources through vendor marketplace to completion

7.1
📝 Create Work Order
10 sources: tenant portal, PM manual, phone, email, IoT sensor, predictive, preventive, legal, inspection, turnover
PM
7.2
📡 Send to Vendor Portal
Post work order to VendorHub marketplace for competitive bidding. Set budget range and requirements.
PM
7.3
💼 Vendor Submits Bid
Vendor browses jobs → submits bid with line items, hours, proposed start, completion timeline
Vendor
7.4
Award Bid & Schedule
PM reviews bids → "Accept Bid" → vendor confirmed → schedule with tenant availability
PM
7.5
🔧 Work Execution
Technician mobile app: GPS check-in, time tracking, photo capture, completion checklist, materials log
Vendor
7.6
Tenant Sign-Off
Tenant reviews completed work → marks satisfied/not-satisfied → comments → sign-off recorded
Tenant
7.7
🧾 Vendor Invoice Upload
Vendor uploads invoice after work completion. PM reviews and approves for payment processing.
Vendor
7.8
🌡️ IoT & Predictive Maintenance
IoT sensors auto-create WOs on threshold breach. AI predicts equipment failure. Preventive schedules.
AI
🔄

Phase 8 — Renewal Decision or Move-Out

Lease approaching expiry — renew with AI-optimized terms, or begin the move-out process

8.1
🔄 AI Renewal Recommendation
AI scans expiring leases → churn score → market rent comparison → recommended rent & term
AI
8.2
📨 Send Renewal Offer
PM approves terms → generates renewal letter → sends to tenant for acceptance
PM
8.3
🔄 Convert to Month-to-Month
If lease expires without renewal — PM can convert to MTM holdover with "Convert to MTM" button
PM
If Tenant Leaves
8.4
📝 Give Notice
PM records notice date and expected move-out date. Updates lifecycle status to "notice".
PM
📸

Phase 9 — Move-Out & Turnover

Inspect, calculate deductions, make ready, and get the unit back on the market

9.1
📸 Move-Out Inspection
Compare vs move-in photos. AI damage detection & severity. Deduction calculation per item.
PM
9.2
📄 Generate Deduction Letter
Auto-generate deduction letter listing all damage items, amounts, and deposit refund calculation
PM
9.3
📋 Create Turnover Case
Turnover kanban exists with stage advancement, but no "Create Turnover Case" button. Cases created server-side only.
PM
View Kanban ⚠ GAP — No Create
9.4
🔧 Advance Turnover Stages
Kanban board: Notice → Inspection → Deposit Reconciliation → Make Ready → Ready to Lease → Leased
PM
9.5
🔄 Unit Back to Vacant → Return to Phase 2
Turnover complete. Unit status returns to vacant. Cycle restarts from Phase 2 — listing and marketing.
System

⚠️ 7 Workflow Gaps Identified

These steps exist conceptually in the workflow but have no UI button or form to perform the action. The data models and API endpoints exist — only the frontend trigger is missing.

🏗 1.2 — Add Building Phase 1

No form to create buildings within a property. Buildings only exist via database seeding.

💡 Fix: Add "Add Building" button to Property Detail page with name, floors, units form.

📋 2.1 — Mark Unit Vacant Phase 2

Service method markVacant() exists in tenant.service.ts but no button in the UI calls it.

💡 Fix: Add "Mark Vacant" to Tenant Detail PM actions dropdown or Unit Detail page.

📅 2.6 — Schedule Showing Phase 2

Showings page displays existing data but has no "Create Showing" or "Schedule" button.

💡 Fix: Add "Schedule Showing" button to Showings page with date/time/prospect form.

📋 4.2 — Start Onboarding Phase 4

Onboarding checklists are viewed and tasks completed, but no way to initiate a new onboarding from the UI.

💡 Fix: Add "Start Onboarding" button on Tenant Detail or auto-trigger after lease signing.

📋 6.1 — Create Collection Case Phase 6

Collections dashboard manages existing cases but has no way to create a new case from the UI.

💡 Fix: Add "Create Case" button on Collections page or auto-trigger from delinquent balance.

📋 9.3 — Create Turnover Case Phase 9

Turnover kanban tracks cases through stages but has no way to create a new one.

💡 Fix: Add "Create Turnover" button on Turnovers page or auto-trigger when notice is given.

🔧 Pattern: Most gaps are "Create" actions

6 of 7 gaps follow the same pattern: the list/detail views exist and work correctly, but there's no button to create a new entity. The fix for each is a simple form or auto-trigger.

💡 Estimated effort: ~2-4 hours per gap. Total: ~1-2 days to close all 7 gaps.