One place for every dashboard. Categorized by domain, sliceable by site.
analytics-01 — it runs the report generators and pushes artifacts to this repo. The mystery VM at 20.84.50.106 needs its dashboard inventory captured before its content can land.
One-page form. Submit creates the Dataverse lead in the right tenant. Bypasses the heavyweight CRM UI.
One-page form. Creates or updates the Dataverse contact and de-dupes by phone.
Two-click activity capture so the CRM activity log actually reflects what happens on the front desk.
One-page form that kicks off the refunds workflow with SODA inputs. No more reverse-invoice surgery in CRM.
Per-inbox volume across PM + AuthNet salesreceipts + LiveWire check notifications. Categorized + flagged as needs-action vs no-action so the dashboard surfaces the real triage list (unmatched payments, external inquiries) and de-emphasizes automated digests.
Outbound applicant reminders + inbound replies. Failed-delivery + opt-out rate.
Inquire → tour → application → screening → approval → move-in. Conversion per stage, time-in-stage, drop-off by source: Facebook / Google / drive-by / referral / sign.
Per source: call volume, applications submitted, approval rate, weekly rent activated, effective CAC. Joins voice-report unknown-callers + CRM signup-source.
Plaid identity-verification + income + bank-income + payroll-income results per applicant. Currently on Crosbyprodinternal: /crosbyplaidresults (Flask, port 8080).
Who showed up for tours, when, party size, conversion to applicant. Driven by gr_toursignin in Crosby Dataverse today; no dashboard view yet.
Weekly rent recognition schedule, deferred revenue, period close. Currently on Crosbyprodinternal: /revrec port 5009 + dashboard at port 6231; cron at /var/www/cronjobs/revrec every 30 min.
Active leases × rent × occupancy state × discount class. Daily cron on Crosbyprodinternal: /var/www/cronjobs/rentroll/billing_validation_job.py.
Onsite kiosk transactions via the ACH-encrypted JPMC pipeline. Per-kiosk volume, decline reasons, reconciliation status. Today: 4 Azure Functions + /ckreports FastAPI port 8000.
Active deposits held per lease — security, pet, FOB, electrical. Lifetime + currently-held; flagged for those near move-out so the SODA workflow can pre-stage.
The thing we don't have today. Open refunds, age, dollars, blocker reason — waiting on Wild Energy / cleaning fee / damage assessment. Closes the reverse-invoice confusion by giving refunds their own first-class state machine.
Per pending move-out: deposit on file, open invoice total including pending Wild Energy power-bill close, cleaning + damage line items, projected refund-check amount. Drives the 30-day cycle from move-out to refund check.
Status of the automated job that queries Wild Energy after invoice-period close and generates the resident power invoice — feeds SODA. Surfaces backlog and stuck residents.
Success / decline rates, ACH return reasons, recurring Customer Profile skipped charges, retry success.
30 / 60 / 90+ buckets, by lease, by property, by source-of-payment. Auto-flag escalation candidates.
Internal financials, inter-company, vendor activity. Stays in Business Central per the customer-vs-vendor split.
Live unit grid per site: occupied / vacant-ready / vacant-not-ready / maintenance-hold. Days-vacant, churn signals.
Open work-orders by property, age, SLA breach, vendor performance, parts pipeline. Currently on the finrep LXC at maintenance.gatedrentals.com — folds into the platform.
WiFi PPSK provisioned + Assa Abloy locks + SODA generated. Time-to-ready after move-out.
Structured PM checklist that feeds the SODA workflow's damage line items. Per-room damage classification using the canonical catalog's deposit-forfeiture products. Photos + signatures.
Routine + annual inspections, pass / fail rate, follow-up actions outstanding.
Cross-domain summary: occupancy %, weekly rent activated, calls answered, applications submitted, arrears, work-orders open. Currently cron on Crosbyprodinternal: /var/www/cronjobs/dailykpi/kpi.py.
The Flask app that aggregated Crosby ops views (port 7000 on Crosbyprodinternal). Specific tabs to inventory and re-implement.
Mystery VM (likely the lead-dev's personal Azure) hosting grprod.gatedrentals.com. Inventory pending — needs access transfer before content can migrate.
Source: github.com/Gated-Rentals/gr-reports. Generators live in gatedrentals-platform under tools/*. Refresh cadence: cron on analytics-01 pushes fresh artifacts directly to this repo; CF Pages auto-deploys.