Automatic Tenancy Archiving on Deposit Release
Automatic Tenancy Archiving on Deposit Release
Available from: v0.1.219
Overview
When a deposit release is confirmed, the platform automatically assembles and stores a complete tenancy archive — a permanent, structured evidence snapshot of the entire tenancy lifecycle. This happens without any manual steps from landlords, agents, or tenants.
The archive is the definitive record of what happened during the tenancy: what was checked, what was agreed, what was deducted, and who signed off on it.
Trigger
Archiving is initiated by the deposit/release.released event. This event fires when a deposit release reaches a confirmed state within the platform.
Archive Assembly
Once triggered, the archive consolidates the following evidence into a single record:
| Component | Description |
|---|---|
| Check-in report | Property condition at the start of the tenancy |
| Check-out report | Property condition at the end of the tenancy |
| Signatures | All captured digital signatures from involved parties |
| Compliance checks | Results of regulatory and process compliance verifications |
| Negotiation thread | Full message history from any deposit dispute or negotiation |
| Deductions | Itemised deductions agreed or adjudicated during the release process |
When assembly is complete, tenancyArchives.status is set to complete.
Propagation Delay
A 5-minute delay is applied between the deposit/release.released event and the start of archive assembly. This window allows deposit scheme confirmation to propagate fully before the archive is built, ensuring the snapshot contains accurate and final data.
Idempotency
Before firing the tenancy.archive.requested event, the system checks whether a tenancy_archive record already exists for the tenancy. If one is found, the process exits without creating a duplicate. This makes the trigger safe to replay in failure or retry scenarios.
Event Flow
deposit/release.released
│
▼
[5-minute delay]
│
▼
Does tenancy_archive exist?
├── YES → exit (no-op)
└── NO → fire tenancy.archive.requested
│
▼
Assemble evidence snapshot
(check-in, check-out, signatures,
compliance, negotiation, deductions)
│
▼
tenancyArchives.status = 'complete'
Related Entities
depositReleases— source of the triggering eventtenancies— the tenancy being archivedtenancyArchives— the archive record created or checkedcheckInReports— included in the snapshotcheckOutReports— included in the snapshotsignatures— included in the snapshotcomplianceChecks— included in the snapshotnegotiationMessages— included in the snapshot
Notes
- Archives are created automatically — no manual action is required from any party.
- The archive is immutable once
statusis set tocomplete. - If the archive trigger fails before the
tenancy.archive.requestedevent is fired, it can safely be retried without risk of duplication.