Pretenancy Pipeline Dashboard
Pretenancy Pipeline Dashboard
The Pretenancy Pipeline Dashboard gives agents a real-time, at-a-glance view of every tenancy moving through the pre-move-in process. It is available at /dashboard/pretenancy and is accessible from the dashboard sidebar under Pretenancy.
Overview
The page is split into two sections:
- Pipeline Overview — a summary line showing the total number of active pre-move-in tenancies, plus a link to the full tenancies list.
- Bucket cards — 8 interactive cards, one for each pre-tenancy state.
- Detail panel — a filtered tenancy table that updates when you click a bucket card.
Bucket Definitions
Each card shows a live count. Counts auto-refresh every 30 seconds.
| Icon | Bucket | How tenancies qualify |
|---|---|---|
| ⏳ | In Progress | Status = pending |
| ✅ | Ready To Move In | Status = ready_to_move_in |
| ⏸️ | On Hold | Status = on_hold |
| 🏠 | Moved In | Status = active with a start date in the last 30 days |
| ❌ | Fallen Through | Status = fallen_through or cancelled |
| 🚨 | Action Required | Active action flags of type overdue_move_in |
| 📅 | Moving In Within 7 Days | Status = pending with start date within the next 7 days |
| 🗓️ | Moving In Within 30 Days | Status = pending with start date within the next 30 days |
Pipeline total shown in the overview header counts tenancies across In Progress, Ready To Move In, On Hold, and Action Required only — it excludes Moved In, Fallen Through, and the upcoming-window buckets to reflect the active workload.
Using the Dashboard
Drilling into a bucket
Click any bucket card to load its tenancies in the detail panel below the grid. The selected card gains a coloured ring to indicate it is active. The detail panel updates immediately — no page reload required.
Action Required
The Action Required bucket surfaces tenancies that have an active overdue_move_in flag. The detail panel for this bucket shows:
- The tenancy name and property
- The flag description
- How long the flag has been overdue (relative time, e.g. "3 days ago")
Direct links from the panel open the individual tenancy page so you can resolve the issue immediately.
Auto-refresh
Data is fetched via the dashboard.pretenancyPipeline tRPC procedure and automatically re-polled every 30 seconds. No manual refresh is needed.
Navigation
The Pretenancy item appears in the dashboard sidebar between Offers and Tenancies.
API Reference
dashboard.pretenancyPipeline
Type: tRPC query
Auth: Requires an authenticated session and an active organisation context.
Response shape:
{
buckets: {
inProgress: { count: number; tenancies: Tenancy[] };
readyToMoveIn: { count: number; tenancies: Tenancy[] };
onHold: { count: number; tenancies: Tenancy[] };
movedIn: { count: number; tenancies: Tenancy[] };
fallenThrough: { count: number; tenancies: Tenancy[] };
actionRequired: { count: number; flags: ActionFlag[] };
movingIn7Days: { count: number; tenancies: Tenancy[] };
movingIn30Days: { count: number; tenancies: Tenancy[] };
}
}
The movedIn bucket uses a 30-day rolling window calculated server-side. The actionRequired bucket returns flags (with associated tenancy data) rather than bare tenancies.