Legislative Compliance Tracking — Renters' Rights Bill
Legislative Compliance Tracking — Renters' Rights Bill
PurplePepper includes a built-in compliance hub for the Renters' Rights Bill 2024–25, covering everything agents, landlords, and tenants need to track and prepare for the incoming reforms to England's private rented sector.
Overview
The feature has two surfaces:
| Surface | URL | Who uses it |
|---|---|---|
| Public bill tracker | /renters-rights-bill | Anyone — agents, landlords, tenants |
| Agent compliance dashboard | /dashboard/legislation | Signed-in agents |
A compact alert widget also appears on the main agent dashboard (/dashboard) whenever there are outstanding or overdue compliance actions.
Public Bill Tracker
Accessible without an account at /renters-rights-bill.
Bill Stages
Displays all 12 parliamentary stages — First Reading through Royal Assent — with real dates and a progress bar. Completed stages, the current stage, and upcoming stages are visually distinguished.
Implementation Phases
| Phase | Target Date | Summary |
|---|---|---|
| Phase 1 | May 2026 | Initial commencement — first wave of key changes |
| Phase 2 | January 2027 | Second wave of changes; full implementation |
Each phase is expandable to show the specific changes it introduces.
Required-Actions Checklists
Checklist items are segmented by user type:
- Agents — 21 required actions in total
- Landlords
- Tenants
The public page displays all items so landlords and tenants can self-serve. Agents can share this URL with their clients.
Milestones Timeline
A dated timeline of key parliamentary, government, and industry milestones, colour-coded by category.
Agent Compliance Dashboard
Available to signed-in agents at /dashboard/legislation (also reachable via the Legislation item in the dashboard sidebar).
Interactive Checklist
- View all agent-specific required actions
- Toggle items as complete or incomplete — changes are saved per agency and attributed to the acting user
- A progress bar shows how many items have been completed out of the total
Compliance Deadline Alerts
The dashboard surfaces two alert panels:
- Overdue — items whose deadline has already passed, displayed with a red badge and how many days ago they were due
- Upcoming Deadlines — up to 5 items due soonest, showing the exact deadline date and days remaining
Alerts are refreshed automatically when checklist items are toggled.
Bill Progress Overview
Displays the full parliamentary stage tracker and expandable implementation phase details, identical to the public page but within the authenticated dashboard.
Sharing
A link on the dashboard lets agents share the public tracker page directly with their landlords and tenants.
Main Dashboard Alert Widget
A compact ComplianceDeadlineAlerts banner appears at the top of the main agent dashboard (/dashboard) when there are outstanding compliance actions. It shows:
- Up to 3 critical or high-priority incomplete items
- Overdue items in red with the number of days overdue
- Upcoming items with their deadline date and days remaining
- A View all link to the full legislation hub
The widget is hidden if there are no outstanding actions.
Data & API
Database Table — legislative_checklist_items
Stores per-agency checklist completion state.
| Column | Description |
|---|---|
orgId | The agency's organisation ID |
checklistItemKey | Unique key for the checklist action |
completedAt | Timestamp when the item was marked complete |
completedBy | User ID of the person who completed it |
notes | Optional free-text notes |
A unique constraint on (orgId, checklistItemKey) ensures toggle operations are idempotent.
tRPC Procedures
All procedures live under the legislation router.
legislation.getBillTracker — Public
Returns all bill stages, implementation phases, milestones, and the overall parliamentary progress percentage.
const { data } = trpc.legislation.getBillTracker.useQuery();
// data.stages, data.phases, data.milestones, data.progress
legislation.getChecklist — Public
Returns checklist items filtered by user type.
const { data } = trpc.legislation.getChecklist.useQuery({ userType: 'agent' });
// data.items
legislation.getAgentChecklist — Org-scoped
Returns the agent checklist with per-org completion status pulled from the database.
const { data } = trpc.legislation.getAgentChecklist.useQuery();
// data.items[].completed, data.completedCount, data.totalCount
legislation.toggleChecklistItem — Org-scoped mutation
Marks or unmarks a checklist item as complete. Writes an audit log entry.
await trpc.legislation.toggleChecklistItem.mutate({ key: 'review_tenancy_agreements' });
legislation.getComplianceAlerts — Org-scoped
Returns overdue and upcoming deadline alerts for items not yet completed by the agency.
const { data } = trpc.legislation.getComplianceAlerts.useQuery();
// data.overdueAlerts, data.upcomingAlerts, data.totalAlerts
legislation.getUpcomingDeadlines — Public
Returns all upcoming deadlines across all user types.
const { data } = trpc.legislation.getUpcomingDeadlines.useQuery();
// data.deadlines
Navigation
The Legislation item has been added to the dashboard sidebar under Rent Guarantee, using the scale icon. It links to /dashboard/legislation.