DOCUMENT HUB

The Leaseora Document Hub is the platform’s Centralised Document Management System (CDMS). It acts as the single source of truth for documents created, uploaded, requested, shared, analysed, signed, versioned, verified, or migrated from every major Leaseora module.

L
Leaseora
Jul 30, 2026 65 min read 14 views

LEASEORA

DOCUMENT HUB

End-to-End User and Technical Operations Guide

Documents • Folders • Sharing • Requests • AI Analysis • Versioning • Blockchain • Client Portal • Security

For real estate companies, corporate landlords, property managers, legal, compliance, finance and operations teams

Version 1.0 | July 2026

Purpose of this guide
This guide explains how to operate the Leaseora Document Hub from company setup through document upload, folder organisation, controlled client sharing, secure document requests, AI analysis, lease generation, versioning, blockchain verification, module-specific workflows, mobile access, security, migration, reporting and platform administration. It also provides a technical reference for the supplied models, controllers, services, scopes, policies, events, notifications, mail classes, jobs and commands.

 

 

Document Control

Item

Details

Document title

Leaseora Document Hub User and Technical Operations Guide

Version

1.0

Date

July 2026

Primary audience

Real estate companies, corporate landlords, property managers, legal/compliance teams, finance and mortgage teams, staff users, and clients/tenants

Platform area

Corporate Landlord Document Hub and connected Client/Tenant Document Portal

Purpose

Explain how to configure, operate, secure, govern, and troubleshoot the centralised document management system from end to end.

Terminology

This guide uses “Client” for the customer-facing term. “Tenant” appears where it is the actual backend model, field, controller, route, or system label.

Important implementation note
This manual is based on the Document Hub capabilities and backend workflow supplied for the current Leaseora implementation. Exact screen labels, routes, available buttons, storage limits, and premium features may vary by account type, subscription plan, staff permissions, deployment region, and future platform updates.

Contents

Part 1: Understanding the Document Hub

Part 2: First-Time Setup and Governance

Part 3: Everyday Document Operations

Part 4: Sharing, Requests and the Client Portal

Part 5: AI Document Understanding and Generation

Part 6: Versioning, Blockchain and Legal Integrity

Part 7: Module-Specific Document Workflows

Part 8: Security, Privacy and Operational Control

Part 9: Administration, Migration and Platform Oversight

Part 10: Standard Operating Procedures and Troubleshooting

Appendices: Backend systems, field dictionaries, scopes, controllers, services, events, notifications, mail and glossary

 

 

Phase 1 - Understanding The Document Hub

What the module is, who uses it, what it controls, and how documents move through Leaseora.

1.1 What the Document Hub Is

The Leaseora Document Hub is the platform’s Centralised Document Management System (CDMS). It acts as the single source of truth for documents created, uploaded, requested, shared, analysed, signed, versioned, verified, or migrated from every major Leaseora module.

Instead of keeping lease agreements in one section, property title documents in another, mortgage files in email, compliance certificates on a staff member’s laptop, and client identity documents in chat messages, the Document Hub brings them together in one controlled repository. Every document retains its business context through links to the relevant property, lease, client, folder, source module, and underlying module record.

1.2 Business Problems the Module Solves

·         Scattered files across email, messaging applications, cloud drives, paper files and employee devices.

·         Difficulty identifying the latest or legally approved version of a contract.

·         Uncontrolled sharing of confidential client, legal, mortgage or compliance records.

·         Missed insurance, licence, certificate and compliance expiry dates.

·         Slow collection of documents from clients because requests are not tracked.

·         Lack of proof that a client viewed or acknowledged a shared notice.

·         Manual reading of long leases, invoices, policies and mortgage documents.

·         Weak auditability when documents are changed, downloaded, revoked, deleted or verified.

·         Duplicate storage across property, lease, mortgage, development, WeBuild, land, CRM and compliance modules.

1.3 What the Dashboard Brings Together

Document source

Typical contents

How it appears in the Hub

Property

Title deeds, certificates, permits, surveys, floor plans, inspection reports

Linked by property_id and/or PropertyDocument; filterable as Property Documents

Lease

Lease agreements, addenda, renewal notices, termination notices, invoices, receipts

Linked by lease_id and LeaseDocument; may be AI-generated and versioned

Client/Tenant

Identity documents, proof of income, references, insurance, acknowledgments

Linked by tenant_id or TenantDocumentShare; visible according to permissions

Mortgage

Applications, valuations, loan agreements, legal charges, payment records

Linked to MortgageDocument or MortgageApplicationDocument

Property Development

Plans, approvals, contractor documents, progress reports, legal contracts

Linked to project records and development document models

WeBuild

Booking contracts, BOQs, construction documents, client agreements

Connected through WeBuild document records and AI contract tools

Land

Survey plans, allocation letters, purchase agreements, payment schedules, receipts

Connected through land document services and source_module metadata

Compliance and verification

Certificates, filings, KYC/AML evidence, regulatory records

Eligible for expiry tracking, notifications and blockchain verification

CRM

Proof of funds, identity records, financial statements and lead attachments

Stored as CrmLeadDocument and consolidated in the CDMS

Media

Property photographs, videos and supporting images

Filterable through scopeMedia and Media / Images category

1.4 Main Users and Responsibilities

Role

Primary responsibilities in Document Hub

Recommended access

Company owner / account administrator

Owns the document governance policy, approves sensitive access, manages staff roles and oversees storage usage.

Full view, create, update, delete, download, share, folder, request, AI and blockchain permissions.

Document administrator

Maintains folders, metadata, naming standards, archive rules, request queues and quality checks.

Broad document management without access to unrelated finance or platform settings.

Property manager

Uploads and manages property, lease, maintenance and client records for assigned properties.

Only assigned properties and clients; no company-wide confidential records unless required.

Legal / compliance officer

Reviews contracts, compliance certificates, expiry dates, legal versions, e-signature and blockchain verification.

View and manage legal/compliance categories; controlled delete and share rights.

Finance / mortgage officer

Manages invoices, payment evidence, mortgage application requirements and lender documents.

Finance and mortgage categories only; access to relevant client files.

Development project team

Uploads plans, approvals, BOQs, contractor records and legal project documents.

Assigned development projects and project templates.

Support / client operations

Sends document requests, follows up outstanding submissions and helps clients access shared documents.

Request and portal support rights; no unrestricted download of sensitive files.

Client / tenant

Views documents shared with them, downloads when allowed, acknowledges notices, and fulfils document requests.

Only active TenantDocumentShare records and secure request upload links.

SuperAdmin

Maintains system-wide services, migrations, AI lease records and platform oversight.

Platform-level administrative access, subject to audit and operational controls.

1.5 Core Document Lifecycle

1.        A document enters Leaseora through manual upload, module generation, client request fulfilment, migration, mobile upload, or AI lease generation.

2.        The system stores the physical file through DocumentService in a user-scoped storage path and creates the relevant database record.

3.        Metadata connects the document to a module, category, property, lease, client, folder and owner.

4.        DocumentScope automatically restricts queries to the correct landlord, client or authorised staff context.

5.        DocumentPolicy checks every protected action, including viewing, updating, deleting, downloading and sharing.

6.        The company may organise, edit, archive, share, request acknowledgment, analyse with AI, create versions or register the document on blockchain.

7.        The document remains available according to its status, visibility, sharing expiry, retention policy and access permissions.

Key principle
The Document Hub is not merely a file uploader. It is the control layer connecting documents to properties, leases, clients, workflows, AI analysis, legal version history, blockchain verification, notifications, and audit evidence.

1.6 Dashboard Overview

After signing in, open Document Hub from the Corporate Landlord navigation. The main route is /document-hub and the dashboard is served by LandlordDocumentHubController@index($request). Depending on your account configuration, the sidebar may also show direct links such as All Documents, Upload Document, Property Documents, Lease Documents, Mortgage Documents, Tenant-Assigned Documents, Compliance Documents, Verification Documents, WeBuild Documents, Land Parcel Documents, Property Development Documents, Mortgage Legal Documents, General Documents, Media / Images, Manage Folders and Document Requests.

Dashboard area

What it tells you

Typical next action

All documents

Total active records accessible to your account, across modules.

Search, filter, preview or open a document.

Folder navigation

Documents arranged in company-defined folder hierarchy.

Open, create, rename, recolour or restructure folders.

Pending requests

Clients who still need to submit requested files.

Send a follow-up, change the deadline or cancel the request.

Recently shared

Documents most recently shared with clients.

Review access, download permission, acknowledgment and expiry.

Expiring soon

Documents with expiry_date within the next 30 days through scopeExpiringSoon(30).

Request a replacement, renew the document or update expiry metadata.

Unfiled documents

Documents not yet assigned to a folder.

Classify and move them into the approved structure.

Module filters

Documents grouped by lease, property, mortgage, development, compliance and other source modules.

Work within a business process instead of browsing the full library.

 

 

Phase 2 - First-Time Setup And Governance

How a real estate company should prepare permissions, folders, metadata standards and internal controls before uploading documents at scale.

2.1 First-Time Setup Checklist

Setup task

Owner

Completion standard

Confirm Document Hub is enabled for the landlord account

Account owner / SuperAdmin

Document Hub menu and routes are visible for authorised users.

Define staff roles and permissions

Account owner / security administrator

Users receive only the minimum document permissions required for their duties.

Approve document classification and naming rules

Document administrator / legal

All departments use the same categories, tags and file naming convention.

Create the master folder hierarchy

Document administrator

Properties, leases, clients, legal, finance, compliance and projects have an agreed structure.

Assign folder and document owners

Department heads

Each folder has a responsible person or team for quality and lifecycle management.

Define visibility defaults

Legal / security

Sensitive uploads default to landlord_only and private unless sharing is intentional.

Define request templates and service levels

Client operations

Common requests include instructions, deadlines and escalation steps.

Define AI review controls

Legal / compliance / operations

AI results are reviewed before they are used for legal, financial or compliance decisions.

Define blockchain eligibility

Legal / compliance

Only approved high-value final documents are registered.

Train client-facing staff

Operations manager

Staff can share, revoke, request, explain acknowledgment and support mobile uploads.

2.2 Recommended Permission Design

Leaseora enforces document access through both global data scoping and action-level policies. The company should still design staff roles carefully. Avoid giving every staff member company-wide download, share and delete permissions merely because they need to upload documents.

Permission capability

Give to

Restrict from

View document lists

Staff who need document context for assigned work

Staff with no document-related responsibility

View a document

Staff assigned to the relevant property, lease, client or department

Unassigned staff and users outside the owning landlord account

Create / upload

Property, lease, legal, finance, compliance and development staff as needed

Read-only auditors and unrelated departments

Update metadata

Document owners or administrators

Casual viewers

Delete

Very limited administrators, ideally with review process

Most operational staff

Download

Users who need a local copy for approved work

Users who only need in-platform review

Share with client

Authorised client operations, legal and property managers

Users without responsibility for client communication

Folder administration

Document administrators

General uploaders

AI analysis

Trained users who understand verification requirements

Users likely to treat AI output as final legal advice

Blockchain registration

Legal/compliance approvers

General uploaders and unapproved staff

Security recommendation
Separate “upload”, “share”, “delete”, “AI analysis” and “blockchain registration” into different permissions or approval roles. This reduces accidental disclosure, deletion and irreversible registration of the wrong file.

2.3 Recommended Master Folder Structure

DocumentFolder supports nested folders through parent_id, so the company can build a professional digital filing cabinet. The hierarchy should reflect how staff search for documents, not merely the names of internal departments.

Top-level folder

Suggested subfolders

Examples

01 - Corporate & Legal

Company registration; board records; licences; insurance; policies; signed vendor contracts

Certificate of incorporation, professional indemnity policy, data-processing agreements

02 - Properties

One folder per property; title; permits; surveys; floor plans; inspections; insurance

Property title, building approval, valuation, inspection checklist

03 - Leases

One folder per property/lease; agreements; addenda; notices; invoices; receipts; handover

Signed lease, renewal notice, rent invoice, move-in report

04 - Clients

One folder per client; identity; income; references; correspondence; acknowledgments

Passport, proof of income, insurance, signed acknowledgment

05 - Mortgage & Finance

Applications; lender records; valuations; legal charges; payment evidence

Mortgage application, offer letter, valuation report

06 - Property Development

One folder per project; approvals; designs; BOQs; contracts; progress; handover

Planning permit, contractor agreement, progress certificate

07 - WeBuild

Bookings; client contracts; design; BOQ; payment schedule; completion

WeBuild booking contract, construction schedule

08 - Land

One folder per parcel; survey; allocation; sale; payment; transfer

Survey plan, allocation letter, deed of assignment

09 - Compliance & Verification

KYC/AML; tax; regional compliance; audit evidence; certificates

Compliance certificate, regulator filing, verification result

10 - CRM & Sales

Lead attachments; proof of funds; due diligence; offers; purchase milestones

Proof of funds, buyer ID, due diligence report

99 - Archive

Closed leases; sold properties; completed projects; superseded documents

Historical records retained under company policy

2.4 Naming Convention

A consistent title and file-name pattern makes search, sorting, export and audit work far easier. Use a pattern that remains understandable outside Leaseora.

Recommended pattern
YYYY-MM-DD - Property or Project - Document Type - Unit or Client - Status or Version
Example: 2026-07-30 - Rivergate Apartments - Lease Agreement - Unit A12 - Final Signed v2.pdf

·         Use the actual document date, not the upload date, when the two are different.

·         Use standard document type names such as Lease Agreement, Insurance Certificate, Valuation Report or Proof of Income.

·         Include a property, unit, lease, project or client reference whenever the document belongs to a specific business record.

·         Use Draft, Under Review, Final or Signed to describe approval state where relevant.

·         Use version numbers only when the document is genuinely version-controlled; do not create “final-final-new” file names.

·         Avoid special characters that may cause storage or export problems.

2.5 Metadata Standard

Metadata is what makes the Document Hub more powerful than a normal drive. A document can be physically stored once but located through its type, category, property, lease, client, module, folder, tags, expiry date and visibility.

Metadata element

Company rule

Example

Title

Clear business name, not the original scanner filename

Rivergate Apartments - Building Insurance Certificate

Document type

Use an approved controlled list

insurance

Source module

Use the business process that created or owns the document

property

Category

Use a narrower classification within the module

building_insurance

Property

Link whenever the document relates to a specific property

Rivergate Apartments

Lease

Link when the document affects a specific lease relationship

Lease #LS-2048

Client/Tenant

Link only where there is a direct client context

Client #CL-1082

Folder

Use the master hierarchy; avoid leaving important files unfiled

02 - Properties / Rivergate / Insurance

Tags

Use short reusable search terms

renewal, insurer, 2026, fire-cover

Expiry date

Set for certificates, policies, IDs, licences and time-limited approvals

30 June 2027

Visibility

Default to landlord_only unless the business purpose requires sharing

landlord_only

Download permission

Enable only when the recipient needs a local copy

false for read-only policy notice

2.6 Document Categories and Examples

Document type

Common examples

Recommended expiry tracking

Contract

Service agreements, vendor contracts, management agreements

Only if contract has an end or renewal date

Lease

Lease agreement, addendum, renewal, termination notice

Track lease end separately; expiry may be used for time-limited notices

Invoice

Rent, service charge, contractor or project invoice

Usually no expiry; use due dates in source module

ID

Passport, national ID, residence permit, company representative ID

Yes, where the ID has an expiry date

Certificate

Compliance, safety, occupancy, inspection or professional certificate

Yes

Insurance

Property, liability, contents, construction or mortgage insurance

Yes

Report

Valuation, inspection, progress, market, financial or compliance report

Usually no expiry; use report date

Legal

Deed, legal opinion, charge, conveyancing record, court or dispute record

Usually no expiry; version and status are critical

Mortgage

Loan agreement, offer, valuation, repayment or discharge document

Depends on the document

Media

Property images, videos, site photographs, scanned evidence

No expiry unless used for a time-bound listing

 

 

Phase 3 - Everyday Document Operations

How to upload, classify, search, preview, edit, move, archive, delete, download and process documents in bulk.

3.1 Accessing the Document Hub

STEP
1

Sign in
Sign in to the Leaseora Corporate Landlord dashboard using your authorised company account.

Expected result: Your dashboard opens within the correct landlord/company context.

STEP
2

Open Document Hub
From the sidebar, select Document Hub and then All Documents, or open the Document Hub dashboard.

Expected result: You see only documents allowed by DocumentScope and your staff permissions.

STEP
3

Choose the work area
Use the full library, a module-specific category, a folder, a property, a lease, a client or the document request queue.

Expected result: The document list is narrowed to the business task you are performing.

Access issue
When Document Hub is missing from the menu, the most likely causes are plan availability, menu visibility configuration, staff permissions or route configuration. Contact the account owner or Leaseora administrator before creating duplicate files elsewhere.

3.2 Uploading a New Document

Use Upload Document or the create action in the Document Hub. The upload is handled by LandlordDocumentHubController@create and @store. The file itself is stored through DocumentService@storeDocument($user, $file, $attributes) in a user-scoped path.

3.2.1 Upload Procedure

8.        Select Upload Document.

9.        Choose the file from your device. Supported categories can include PDF, Word, Excel, image, media and archive formats, subject to platform validation.

10.     Enter a clear document title and, where useful, a description explaining purpose, source, approval status or important handling instructions.

11.     Select the document type, source module and category.

12.     Link the correct property, lease and client where applicable. Use getLeasesForProperty when the interface needs to load lease options for a selected property.

13.     Choose an existing folder or leave the file temporarily unfiled only when classification is genuinely unknown.

14.     Add searchable tags.

15.     Set the expiry date for time-limited documents.

16.     Select visibility and privacy settings. New sensitive documents should generally remain landlord-only until sharing is intentional.

17.     Choose whether the client may view and download the document. These settings do not replace the creation of a specific TenantDocumentShare when controlled sharing is required.

18.     Submit the upload and wait for confirmation.

19.     Open the saved document to verify the preview, file name, size, business links and permissions.

3.2.2 Upload Field Guide

Field

Requirement

Operational meaning

title

Yes

Human-readable document title used throughout Leaseora.

slug

Automatic

Unique URL identifier generated by the system.

description

Optional

Purpose, context, instructions or status notes.

document_type

Yes

Broad type such as contract, invoice, lease, ID, certificate, report, insurance or legal.

source_module

Recommended

Module of origin such as lease, property, mortgage, maintenance or development.

category

Recommended

Narrower classification within the source module.

property_id

When applicable

Links the document to a property.

lease_id

When applicable

Links the document to a lease.

tenant_id

When applicable

Links the document to a client/tenant.

user_id / owner_id

System/required

Identifies the owning landlord or user.

owner_type

System

Polymorphic owner type.

documentable_id / documentable_type

System or module-driven

Polymorphic link to any supported module entity.

folder_id

Optional

Places the document in a DocumentFolder.

file_path

System

Stored file path.

file_name

System

Original or normalised file name.

file_size

System

File size in bytes.

file_type

System

Extension such as pdf, docx, xlsx or jpg.

file_category

System

Document, media, spreadsheet or archive.

mime_type

System

Detected MIME type used for validation and preview behaviour.

is_private

User/system

Private-document control within the permitted owner context.

status

User/system

Active, archived or expired.

visibility

Yes

landlord_only, shared_with_tenant or public.

tags

Optional

Searchable JSON tags.

expiry_date

When applicable

Date used for expiry monitoring.

tenant_can_view

When sharing

Whether the linked client may view.

tenant_can_download

When sharing

Whether the linked client may download.

document_request_id

Automatic for fulfilment

Links an upload to the request it fulfils.

external_ref_id / external_ref_table

Optional/integration

Reference to an external system record.

3.2.3 Upload Quality Check

Check

Pass condition

Correct file

The file opens, is readable, complete and is not a temporary scan or wrong attachment.

Correct title

A colleague can understand the document without opening it.

Correct links

Property, lease, client, module and category match the document.

Correct folder

The file appears in the approved location.

Correct visibility

No client or unrelated staff member can access the file unintentionally.

Correct expiry

Time-limited documents have an accurate expiry date.

Correct version

The upload is identified as draft, final, signed or superseded where relevant.

Correct AI status

When automatic AI analysis is enabled, results are reviewed rather than assumed correct.

3.3 Viewing a Document

Select the document title or action menu to open the detail page through LandlordDocumentHubController@show($slug). The detail view should provide the document metadata, file information, property/lease/client links, sharing information and other available history.

·         Confirm the document identity before downloading or sharing.

·         Review file size and type to detect accidental uploads.

·         Check visibility, tenant view/download rights and active sharing records.

·         Check expiry date and status.

·         Review module links to understand the business context.

·         Review version or blockchain information where available.

3.4 Previewing and Downloading

Use Preview for inline display of supported PDFs and images. Use Download when a local copy is required. LandlordDocumentHubController@preview($slug) and @download($slug) enforce DocumentPolicy checks. The model’s computed attributes help the interface determine file URL, human-readable size, extension and whether the file is an image, PDF, Word or Excel document.

Do not download by habit
Keeping documents inside Leaseora preserves access control and centralised history. Download only for an approved business reason, and avoid storing sensitive copies on unmanaged devices.

3.5 Editing Metadata

20.     Open the document detail page.

21.     Select Edit.

22.     Update the title, description, tags, visibility, expiry date, folder or allowed business links presented by the form.

23.     Do not use metadata editing to disguise a different file. When the actual file content changes, create a new version or replace it using the appropriate version-aware workflow.

24.     Save the update and re-open the document to confirm the change.

3.6 Deleting a Document

Deletion is performed through LandlordDocumentHubController@destroy($slug). DocumentPolicy@delete must authorise the user, after which DocumentService@deleteDocument($document) removes the database/file record according to implementation.

Deletion control
Before deleting, confirm that the document is not the only signed contract, evidence file, mortgage record, regulatory record, active request fulfilment, current property version or blockchain-registered final. Prefer Archive when the document must be retained but removed from everyday views.

3.7 Archiving

Archiving changes the operational status without treating the document as active. Use it for completed leases, sold properties, closed mortgage applications, completed projects, superseded reports and historic compliance evidence that must still be retained under company policy.

Use Active when

Use Archived when

Use Expired when

The document is current and used in an ongoing process.

The document is no longer current but must remain available for history, audit or legal retention.

The document has passed its expiry date and should be renewed, replaced or formally retained as expired evidence.

3.8 Searching and Filtering

Use search and filters before creating a duplicate. The Document model provides scopes for common queries. The exact filter controls may differ by screen, but the underlying capabilities include the following.

Model scope

User-facing purpose

ofType($type)

Filter by document type.

forProperty($propertyId)

Show documents for one property.

forLease($leaseId)

Show documents for one lease.

private()

Show private documents only.

public()

Show public documents only.

forModule($module)

Show documents from one source module.

inCategory($category)

Show documents in one category.

tenantVisible()

Show documents visible to clients.

tenantDownloadable()

Show documents clients may download.

withVisibility($visibility)

Filter by the visibility value.

expiringSoon($days = 30)

Show documents expiring within the selected number of days.

forTenant($tenantId)

Show documents linked to one client.

inFolder($folderId)

Show documents in a folder.

media()

Show image/video files.

documentsOnly()

Exclude media files.

unfiled()

Show documents without a folder.

3.9 Folder Management

Folder operations are served by LandlordDocumentHubController@folders, @createFolder, @storeFolder, @updateFolder, @destroyFolder and @moveFolder. DocumentFolder supports nested parent-child relationships, colour, icon, description and document_count.

3.9.1 Create a Folder

25.     Open Manage Folders.

26.     Select Create Folder.

27.     Enter a clear name and optional description.

28.     Choose a parent folder when creating a nested folder.

29.     Choose a colour and icon that support visual scanning but do not replace the folder name.

30.     Save and confirm the folder appears under the intended parent.

3.9.2 Move a Document to a Folder

31.     Open the document action menu or select the document.

32.     Choose Move to Folder.

33.     Select the destination folder.

34.     Confirm the move.

35.     Verify the folder’s document count and the document’s new location.

3.9.3 Move a Folder

Use moveFolder to restructure a folder and all its contents under a different parent. Review the destination carefully because the move changes how an entire branch of documents is found. Avoid deep nesting that requires many clicks; three to four levels are usually sufficient for daily operations.

3.9.4 Delete a Folder

Deleting a folder should move its documents to the unfiled area rather than deleting the documents. After deletion, immediately review Unfiled Documents and reassign important records. Do not treat folder deletion as document disposal.

3.10 Bulk Operations

LandlordDocumentHubController@bulkAction($request) supports operations across multiple selected records. Bulk actions are efficient but have greater risk, so use filters and review the selection count before confirmation.

Bulk action

Use case

Mandatory check before confirming

Bulk delete

Remove genuine duplicates, invalid uploads or approved disposable records.

Confirm none are signed, current, legally retained, linked to fulfilled requests or required by another module.

Bulk move to folder

Classify a group of unfiled or newly migrated records.

Confirm all selected records belong in the same folder.

Bulk archive

Close a completed lease, project, sale or historical batch.

Confirm the business process is closed and records remain searchable.

Bulk share

Provide a document pack to one client.

Confirm every document is appropriate for that recipient and has the correct download/acknowledgment rules.

Bulk download ZIP

Prepare a due-diligence, legal, audit or handover pack.

Use an approved device and secure storage; check that no unrelated client records are included.

Bulk assign

Link multiple documents to one property, lease or client.

Confirm the selection is not mixed across entities.

 

 

Phase 4 - Sharing, Requests And The Client Portal

How to give clients controlled access, request missing records, track acknowledgments and support document use on web and mobile.

4.1 Document Visibility Model

Visibility

Who can access

When to use

landlord_only

The owning landlord and authorised staff according to scope and policy.

Internal contracts, staff notes, legal advice, finance records, draft documents and sensitive evidence.

shared_with_tenant

The landlord plus clients with an active share or allowed tenant visibility.

Lease agreements, notices, invoices, receipts, policies and documents directly relevant to the client.

public

Authenticated users with the correct property/lease context, subject to implementation.

Only documents intentionally approved for broad contextual access.

Default safely
A document should not become client-visible merely because it has tenant_id populated. Use the full sharing workflow when you need recipient-specific download rules, acknowledgment, expiry and view tracking.

4.2 Sharing a Document with a Client

Use the Share action on the document. LandlordDocumentHubController@share($request, $slug) creates a TenantDocumentShare record for each selected client and fires the DocumentShared notification.

4.2.1 Share Procedure

36.     Open the correct document and confirm that it is the approved version.

37.     Select Share.

38.     Select the intended client or clients. Check names, property and lease context carefully.

39.     Set can_download. Leave it disabled when the client only needs to read the document inside Leaseora.

40.     Set requires_acknowledgment when the company needs evidence that the client has read the document.

41.     Enter a clear share note explaining why the document is being sent and any required action.

42.     Set expires_at when access should end automatically.

43.     Confirm the property and lease context.

44.     Submit the share and verify the notification was created.

45.     Monitor view and acknowledgment status from the document or share record.

4.2.2 Share Record Explained

TenantDocumentShare field

Meaning

property_document_id

The document being shared.

tenant_id

Recipient client/tenant.

shared_by

User who created the share.

property_id / lease_id

Business context for the share.

share_note

Message displayed or communicated to the client.

can_download

Whether download is permitted.

requires_acknowledgment

Whether the client must acknowledge reading.

acknowledged_at

Time acknowledgment was recorded.

first_viewed_at

First time the client opened the document.

last_viewed_at

Most recent view time.

view_count

Total number of recorded views.

expires_at

Access expiry date/time.

is_active

Whether the share is currently active.

4.3 Acknowledgment Tracking

When requires_acknowledgment is enabled, the client can use TenantDocumentPortalController@acknowledge($shareId). The system records acknowledged_at and can also set first_viewed_at if this is the first interaction. The landlord can track whether a notice was opened and acknowledged.

Legal caution
An in-platform acknowledgment is useful operational evidence, but it may not be equivalent to a legally valid signature, formal service of notice or statutory delivery method in every jurisdiction. Use the correct legal process for the document type and region.

4.4 Revoking Client Access

46.     Open the document or client sharing record.

47.     Choose Revoke from Client/Tenant.

48.     Confirm the correct recipient and reason.

49.     The system disables tenant visibility and sets the relevant TenantDocumentShare to inactive.

50.     Verify the document no longer appears in the client portal.

Revocation is appropriate when the wrong recipient was selected, a sharing period has ended, the document was superseded, the client relationship ended, or a security issue requires immediate restriction.

4.5 Assigning Documents to a Property or Client

Use assignToProperty to link an existing document to a property. Use assignToTenant to link it directly to a client. Assignment improves context and search, but assignment alone should not be treated as a full sharing decision. Use revokeFromTenant to remove access when the client should no longer see the file.

4.6 Creating a Document Request

A DocumentRequest is used when the company needs a client to upload a specific file, such as proof of income, ID, insurance certificate, signed form or mortgage evidence. LandlordDocumentHubController@createRequest and @storeRequest create the request and DocumentRequestedMail sends a secure token-based upload URL.

4.6.1 Request Procedure

51.     Open Document Requests and choose Request a Document.

52.     Select the client.

53.     Select the related property and lease where applicable.

54.     Choose the required document type and category.

55.     Enter a precise title, such as “Current Proof of Income - Last 3 Months”.

56.     Write clear instructions, including acceptable format, required pages, date range, quality standard and whether certification is required.

57.     Set the source module so the response is classified correctly.

58.     Set a realistic deadline.

59.     Submit the request. The system generates a unique token and secure upload URL.

60.     Confirm the request appears as Pending and the client has been notified.

4.6.2 Writing Good Instructions

Weak request

Better request

Upload your ID.

Upload a clear colour copy of the photo page of your valid passport or both sides of your national ID. The full name, document number and expiry date must be readable.

Send proof of income.

Upload your three most recent payslips in PDF format. Each file must show your name, employer, pay period and net pay. Deadline: 5 August 2026.

Insurance document needed.

Upload the current insurance certificate for the leased premises, including policy number, insured party, coverage period and expiry date.

4.7 Document Request Status Lifecycle

Status

Meaning

Available action

pending

The request has been sent and no qualifying document has been accepted as fulfilment.

Follow up, review deadline or cancel.

fulfilled

The client uploaded a document through the secure request flow; fulfilled_at and fulfilled_document_id are populated.

Review the file, classify it, run AI analysis if appropriate, approve or request correction through business process.

cancelled

The landlord cancelled the request and the client is no longer expected to submit it.

Create a new request later if requirements change.

4.8 Client Fulfils a Request

The client opens the unique upload URL from DocumentRequestedMail. The token is matched to the DocumentRequest. After upload, DocumentService stores the file, the request becomes fulfilled, fulfilled_at is set, fulfilled_document_id points to the new Document record, and DocumentFulfilledMail notifies the landlord.

Landlord review after fulfilment

What to check

Identity

The upload came through the correct request and client context.

Completeness

All required pages, statements, signatures or supporting documents are present.

Readability

Text and images are clear enough for review or AI extraction.

Validity

The document is current, genuine-looking and within the required date range.

Classification

Type, category, property, lease, client and folder are correct.

Expiry

Expiry date is captured when applicable.

Security

Visibility remains appropriate; do not make the response public.

4.9 Cancelling a Request

Use cancelRequest($requestId) when the file is no longer required, the request was sent to the wrong client, the requirement was fulfilled elsewhere, or the business process has ended. Record the reason in your internal notes where available. Do not cancel merely to hide overdue requests; cancellation should reflect a genuine change in requirement.

4.10 Managing the Request Queue

LandlordDocumentHubController@listRequests($request) provides a central list of requests. Filter by pending, fulfilled or cancelled; property; client; document type; or deadline. Use the queue as an operational worklist.

Daily review

Weekly review

Monthly review

New fulfilments; requests due within the next few days; failed or unclear submissions.

Overdue requests; repeated non-response; common errors; client support cases.

Request volumes; average fulfilment time; most-requested document types; process improvements; stale cancelled records.

4.11 Client Document Portal

Clients access /tenant/documents through TenantDocumentPortalController@index($request). The portal displays active TenantDocumentShare records organised by property and lease. The client sees only documents shared with them and only the actions allowed by each share.

Portal function

Controller action

Client experience

All shared documents

index

Browse active shared records.

Document detail

show($shareId)

View one document and its context.

By lease

byLease($leaseId)

See all accessible documents for a lease.

By property

byProperty($propertyId)

See all accessible documents for a property.

Search

search($request)

Search accessible documents by title, type or tag.

Statistics

getStats()

See totals, pending acknowledgments and recent activity.

Recent

getRecent($request)

See recently shared or updated documents.

Download

download($shareId)

Download only when can_download is true.

Acknowledge

acknowledge($shareId)

Confirm reading and populate acknowledgment timestamp.

View version

viewVersion($shareId, $versionId)

Open a permitted historical version.

Download version

downloadVersion($shareId, $versionId)

Download a permitted version when allowed.

4.12 Mobile Document Access

On the Leaseora client mobile app, clients can view shared documents, download when permitted, acknowledge required documents and upload files requested by the landlord. Tax-specific mobile document access is supported through API\Mobile\TaxDocumentController, while broader mobile workflows use the corresponding document portal and request APIs in the deployed application.

·         Ask clients to use a stable internet connection for large files.

·         Photograph documents in good lighting with all corners visible.

·         Use PDF when multiple pages belong together.

·         Do not upload passwords, PINs or unrelated personal records.

·         After upload, confirm the request shows as fulfilled or the document appears in the expected portal area.

 

 

Phase 5 - Ai Document Understanding And Generation

How to analyse documents, extract fields, interpret confidence, reanalyse files, export summaries and generate lease documents responsibly.

5.1 What AI Document Understanding Does

AIDocumentUnderstandingController allows an authorised landlord user to upload a PDF, Word document or image for text extraction and analysis. The implementation uses the OpenAI Laravel facade, document parsers and OCR where required. Results are stored in DocumentAnalysis.

AI is an assistant, not the final approver
AI can accelerate reading and extraction, but it may misunderstand poor scans, unusual clauses, local legal language, handwritten content, tables or inconsistent dates. A qualified person must verify critical outputs before they drive a legal, financial, compliance or client decision.

5.2 Starting an AI Analysis

61.     Open Document Understanding (AI) or the relevant AI analysis action from a document.

62.     Select or upload the document to analyse.

63.     Choose the document type.

64.     Enter an analysis name that identifies the business purpose.

65.     Enter a clear query or prompt, such as “Extract all parties, dates, financial obligations, renewal clauses, termination rights and penalties”.

66.     Start the analysis. The DocumentAnalysis status begins as processing.

67.     Wait for completed or failed status.

68.     Open the result and compare extracted fields against the original file.

69.     Correct the business record or rerun the analysis when output is incomplete or uncertain.

70.     Export or email the summary only after review.

5.3 DocumentAnalysis Record

Field

Purpose

name

User-friendly analysis label.

document_type

Type of document analysed.

document_path / document_url

Stored path and accessible URL of the analysed file.

query

Prompt or analytical question sent to AI.

analysis_result

Full analysis response.

extracted_fields

Structured key-value data such as names, dates, amounts and clauses.

confidence_score

Overall extraction confidence from 0 to 100.

processing_time

Time taken to complete analysis.

file_size

Size of the analysed file.

page_count

Number of pages analysed.

status

processing, completed or failed.

error_message

Failure details when analysis does not complete.

analyzed_by

User who triggered the analysis.

analyzed_at

Analysis timestamp.

5.4 Typical Extraction by Document Type

Document type

AI may extract

Human verification priority

Lease agreement

Landlord, client, property, rent, deposit, start/end dates, break clauses, obligations and termination terms.

Names, property, money, dates, signatures, renewal and termination clauses.

Insurance certificate

Policy number, insurer, insured party, coverage, effective date and expiry.

Policy status, exclusions, insured property and expiry.

Mortgage document

Loan amount, interest rate, term, instalment, lender and security details.

Interest, repayment, fees, default terms, collateral and legal charge.

ID document

Name, date of birth, document number and expiry.

Identity match, authenticity, expiry and data-minimisation requirements.

Invoice

Invoice number, vendor, amount, date, due date and line items.

Currency, total, tax, bank details, duplication and approval.

Legal contract

Parties, key dates, obligations, penalties, representations and termination.

Every clause affecting liability, rights, payment, dispute and termination.

5.5 Recommended Confidence Review Rules

Confidence

Recommended handling

90-100

High confidence, but still verify all critical names, dates, amounts, legal clauses, signatures and expiry information.

70-89

Perform a full side-by-side review; correct missing or ambiguous fields before use.

Below 70

Treat as unreliable. Improve scan quality, upload a better source, simplify the prompt or complete manual extraction.

No score / failed

Do not use the output. Review error_message, file format, file size, OCR quality and service availability.

Recommended rule
Never approve a payment, reject a client, issue a legal notice, sign a contract, register a document on blockchain or update a compliance record solely because the AI extraction appears confident.

5.6 Writing Better Analysis Prompts

Purpose

Example prompt

General lease review

Summarise the agreement and extract all parties, property details, rent, deposit, dates, renewal terms, termination rights, notice periods, penalties and unusual obligations. Quote the relevant section heading for each item.

Insurance expiry check

Extract insurer, insured party, policy number, insured property, coverage period, expiry date, coverage amount, exclusions and renewal requirements. Flag missing or inconsistent information.

Invoice validation

Extract supplier, invoice number, issue date, due date, currency, subtotal, tax, total, payment details and line items. Flag duplicate numbers, arithmetic inconsistencies or missing tax information.

Mortgage risk review

Extract principal, interest rate, repayment schedule, term, security, default triggers, fees, early repayment terms and lender rights. Summarise material risks for manual legal review.

5.7 Reanalysing a Document

Use AIDocumentUnderstandingController@reanalyzeDocument($analysisId) when the first result is incomplete, the prompt needs improvement, a clearer file is available, or Leaseora introduces improved analysis capabilities. Reanalysis should not silently overwrite a previously approved business decision; document why the result was rerun and which output is treated as authoritative.

5.8 Exporting an AI Summary

AIDocumentExportSummary can send an AI-generated analysis summary to the landlord by email. Before sending, remove or restrict confidential personal data not required by the recipient, confirm the recipient, and label the summary as AI-assisted and human-reviewed where appropriate.

5.9 AI-Generated Lease Documents

LeaseDocumentService and AILeaseDocument support the creation of lease agreements, addenda, renewal notices, termination notices and related records. AutoGenerateLeaseDocuments can generate standard documents when a lease is activated, and LeaseDocumentGenerated is fired when generation completes.

5.9.1 Generation Workflow

71.     Create or activate the lease with complete property, client, rent, deposit, payment, duration and company information.

72.     Choose the required document type or allow the activation job to generate standard records.

73.     Set generation options and jurisdiction-specific template where supported.

74.     LeaseDocumentService@generateLeaseAgreementPdf creates the professional PDF.

75.     The system stores prompt and AI response in AILeaseDocument, together with tenant_id, property_id, lease_id, status and file path.

76.     LeaseDocumentService@triggerAIDocumentAnalysis may populate extracted data, summary and risk score.

77.     A legal or authorised leasing officer reviews the full document.

78.     Correct errors through an approved revision or template process.

79.     Finalise and route for e-signature where required.

80.     After signing, store the signed version, update is_signed/signed_at and consider blockchain registration if the company policy permits.

5.9.2 AILeaseDocument Fields

Field

Purpose

lease_id

Lease for which the document is generated.

generated_by

User who initiated generation.

document_type

lease_agreement, addendum, renewal_notice, termination_notice or another supported type.

ai_prompt_used

Prompt used to generate content.

ai_response

Raw generated content.

status

draft, finalized or signed.

document_path / file_path

Stored PDF or generated file path.

tenant_id / property_id

Client and property context.

is_signed / signed_at

Signature state and timestamp.

5.9.3 LeaseDocumentService Capabilities

Method

Operational use

generateLeaseAgreementPdf($lease, $options)

Create a professional lease agreement PDF.

generateInvoicePdf($lease, $invoiceData)

Create a lease-related invoice PDF.

uploadDocumentWithAI(...)

Upload a lease document and automatically trigger AI analysis.

triggerAIDocumentAnalysis($document, $lease)

Populate extracted data, AI summary and risk score.

getDocumentTypes()

Return supported lease document types.

searchDocuments($leaseId, $keyword)

Search within lease documents.

getLatestVersion($leaseId, $documentType)

Retrieve the most recent version of a type.

getDocumentVersions($leaseId, $documentType)

Review the full version history.

archiveOldVersions($leaseId, $documentType, $keepVersions = 5)

Archive older versions while retaining the latest N.

getStorageUsage($leaseId)

Measure storage used by a lease’s documents.

cleanupOrphanedFiles($leaseId)

Remove files that no longer have valid database links.

5.10 Other AI Document Features Connected to the Hub

Feature

System action

Purpose

WeBuild name suggestion

CorporateLandlordWeBuildController@generateDocumentNameSuggestion

Suggests consistent document names.

WeBuild contract generation

CorporateLandlordWeBuildController@generateContract

Generates booking or construction contract content.

WeBuild analysis

CorporateLandlordWeBuildController@aiAnalyzeDocument

Analyses uploaded WeBuild contracts.

Tax auto-fill

TaxController@aiAutoFillTax

Extracts and fills tax document fields.

Lease risk scoring

LeaseDocument.ai_risk_score

Highlights potentially risky lease content for review.

 

 

Phase 6 - Versioning, Blockchain And Legal Integrity

How to preserve document history, roll back changes, verify authenticity and use blockchain appropriately.

6.1 Why Versioning Matters

PropertyDocumentVersion records each update to a property-level document. Versioning prevents a new upload from silently erasing the history of title documents, permits, floor plans, certificates, legal records or other controlled files.

Version capability

Meaning

getFileUrlAttribute

Access the file stored for a specific version.

getHumanFileSizeAttribute

Show the version size in a readable format.

getHumanSizeDifferenceAttribute

Show how much the file size changed compared with the previous version.

getSizeChangePercentageAttribute

Show the percentage size change.

getChangesFromPrevious

Describe metadata or file changes between versions.

canRollback

Indicate whether restoration is permitted.

rollback(int $userId)

Restore the property document to the selected version and record the acting user.

scopeCurrent

Filter to the current active version.

scopeChangeType

Filter by the kind of change.

scopeRollbackable

Show versions eligible for rollback.

6.2 Creating a New Version

81.     Open the current property document.

82.     Confirm whether the change is a true replacement, corrected version or new signed version.

83.     Upload the new file through the version-aware property document workflow.

84.     Describe the change, such as “renewed certificate”, “corrected property address”, “signed by both parties” or “updated floor plan”.

85.     Verify that the old version remains in history and the new version is marked current.

86.     Review existing client shares. Decide whether clients should continue seeing the previous version or receive the new one.

87.     For critical final versions, perform legal review and blockchain registration according to policy.

6.3 Rolling Back

Rollback restores a previous version to current status. Use it when a wrong, corrupted, unauthorised or incomplete version was uploaded. Before rollback, assess whether any client has viewed, downloaded, acknowledged or signed the newer version, and whether a legal correction notice is required.

Rollback does not erase history
A professional versioning process keeps the audit trail. Do not attempt to make an incorrect version disappear by deleting evidence of the change unless your legal and retention policy expressly allows it.

6.4 Client Access to Versions

TenantDocumentPortalController@viewVersion($shareId, $versionId) and @downloadVersion($shareId, $versionId) allow authorised clients to access a specific shared version. Share only versions that the client is entitled to see and clearly identify which version is current.

6.5 Blockchain Document Verification

BlockchainDocumentService can register a cryptographic hash of a high-value document. The blockchain record can later confirm whether the document content matches the version originally registered. The service may return blockchain_hash, blockchain_tx_hash and blockchain_block_number.

6.5.1 Eligible Documents

·         Final signed lease agreements.

·         Mortgage contracts and legal charges.

·         WeBuild, property development and land sale legal documents.

·         Insurance policies and certificates.

·         Compliance certificates and approved regulatory records.

·         Other final documents approved by the company’s legal or compliance policy.

6.5.2 Registration Procedure

88.     Confirm the document is final, complete and approved.

89.     Confirm signatures and dates where required.

90.     Confirm the file is the correct current version and is not a draft.

91.     Select Register on Blockchain or use the module-specific verification action.

92.     BlockchainDocumentService@registerDocument($documentData) generates and records the document hash and transaction details.

93.     Store the returned blockchain information with the document record.

94.     Verify that the blockchain badge or verification status appears.

95.     Restrict further replacement of the registered file to the approved versioning process.

6.5.3 Verification Results

Result

Meaning

Required response

verified

The calculated document hash matches the registered blockchain record.

Use the verified record, subject to normal legal and business review.

tampered

The current content does not match the registered hash.

Stop use, restrict access, preserve evidence, investigate version history and notify legal/security.

not_found

No matching blockchain record exists.

Confirm the correct file/hash, network/environment and registration status.

6.5.4 Other Blockchain Service Capabilities

Method

Purpose

verifyDocument($documentHash, $documentContent = null)

Compare a document with its blockchain record.

createAuditTrail($transactionData)

Create an on-chain audit trail entry for document access or activity.

getAuditTrail($transactionId)

Retrieve the blockchain audit trail.

createMortgageSmartContract($mortgageData)

Create a mortgage agreement smart contract.

executePayment($contractAddress, $paymentData)

Execute a payment through a smart contract where configured.

What blockchain does not do
Blockchain verification proves that a file matches a previously registered hash. It does not by itself prove that the document was legally valid, signed by an authorised person, free from fraud, compliant with local law, or appropriate for a transaction. Legal validity, identity, authority, consent and statutory formalities must still be verified.

6.6 Legal and Compliance Events

ComplianceDocumentUploaded fires when a compliance document is uploaded. PropertyDocumentUpdated and MortgageDocumentUpdated fire when corresponding module documents change. These events support downstream notifications, logging, review or automation according to the deployed listeners.

 

 

Phase 7 - Module-Specific Document Workflows

How Document Hub connects to property, lease, mortgage, development, CRM, land, WeBuild, legal and compliance operations.

7.1 Property Documents

PropertyDocumentController manages records attached to a specific property, including title deeds, certificates, permits, floor plans, surveys and inspection evidence. PropertyDocumentVersion provides history and rollback. PropertyDocumentUpdated can notify or trigger connected processes.

Recommended property workflow

Action

Property onboarding

Upload title, survey, ownership, planning, insurance and inspection records; link every file to the property.

Due diligence

Create a controlled folder, restrict access and use bulk download only for approved reviewers.

Certificate renewal

Set expiry_date, monitor Expiring Soon, request replacement and archive the old version.

Floor plan update

Create a new version; describe what changed; confirm which version is current.

Property sale

Prepare a complete legal and due-diligence pack; include only approved client/buyer records.

7.2 Lease Documents

Lease documents may be uploaded manually, generated by AI, automatically created on lease activation, searched, versioned, analysed and shared with the client. Use the lease link and document type consistently so the latest version can be retrieved reliably.

·         Lease agreement and signed final version.

·         Addenda and amendments.

·         Renewal and rent escalation notices.

·         Termination, breach or handover notices.

·         Invoices, payment schedules and receipts.

·         Inspection, inventory and move-in/move-out records.

·         Correspondence or acknowledgment records where appropriate.

7.3 Mortgage Application Documents

DocumentManagementController and DocumentManagementService handle mortgage application document workflows. The service can define upload requirements, upload multiple documents, retrieve records per tenant/application, enforce secure download with user/access token, delete documents, calculate statistics and bulk-delete authorised records.

Capability

Use

getUploadRequirements

Display the checklist of documents required for a mortgage application.

uploadDocuments

Upload multiple application files and associate them correctly.

getDocuments

Retrieve documents for a client and application.

downloadDocument

Securely download using user and access token checks.

getDocumentStatistics

Show uploaded, pending, approved and rejected counts.

bulkDeleteDocuments

Clean up authorised invalid or duplicate records.

7.4 Mortgage Documents and Legal Records

MortgageDocumentController manages mortgage records and can bulk-delete, export files as ZIP, export a document list as PDF or CSV, and verify documents on blockchain. MortgageLegalDocumentController manages legal contracts and charges connected to mortgage activity. MortgageDocumentUpdated can trigger connected processing.

7.5 Property Development Documents

PropertyDevelopmentDocumentController manages project documents. PropertyDevelopmentDocumentTemplate supports reusable document templates, while PropertyDevelopmentLegalDocument supports legal contracts and e-signature workflows. Team members may receive upload and deletion notifications.

Project phase

Typical documents

Feasibility and acquisition

Site assessment, valuation, market study, title review, acquisition contract.

Design and planning

Architectural drawings, BIM files, permits, planning approvals, specifications.

Procurement

Tender documents, bids, contractor due diligence, award letters, contracts.

Construction

BOQs, work programmes, progress reports, change orders, certificates, site photographs.

Finance

Budgets, drawdown requests, lender documents, invoices, payment evidence.

Sales and pre-leasing

Marketing approvals, reservation agreements, buyer/client files, sales contracts.

Completion and handover

Completion certificates, warranties, manuals, as-built drawings, handover records.

7.6 CRM Lead Documents

CrmLeadDocumentsController stores and removes documents attached to leads. Typical records include proof of funds, identity documents, financial statements, letters of intent and due-diligence files. Access should be limited because lead documents may contain sensitive personal and financial data.

7.7 WeBuild and Development Legal Documents

LegalDocument and PropertyDevelopmentLegalDocument support AI-assisted drafting, e-signature, download, email distribution and blockchain verification. Treat generated drafts as unapproved until reviewed by authorised legal personnel.

7.8 Land Sale Documents

LandDocumentService supports land sale agreements, payment schedules and receipts. Store survey plans, allocation records, title evidence, application records, instalment schedules and transfer documents under the correct parcel and transaction context.

7.9 Compliance and Verification Documents

ComplianceDocument and verification-related records should be classified by jurisdiction, regulator, certificate type, property/company context and expiry. Use the Expiring Soon view, strict visibility, appropriate retention and blockchain registration for approved final certificates.

7.10 Agency Documents and Workflow History

AgencyDocument may use DocumentWorkflowHistory to record actions, status transitions and metadata. This is useful when a document passes through submission, review, correction, approval, signing, issue and archive stages. Do not skip workflow history by replacing files outside the controlled process.

7.11 Tax Documents

Tax documents may be uploaded, accessed on mobile through the tax document controller, and assisted by AI auto-fill. Tax records require strict access control, accuracy review and retention according to the company’s jurisdiction-specific obligations.

 

 

Phase 8 - Security, Privacy And Operational Control

How Leaseora isolates data and how the company should prevent unauthorised access, accidental disclosure and weak document governance.

8.1 Two-Layer Access Control

DocumentScope applies automatically to Document queries and limits records to the correct business context. DocumentPolicy then checks whether the authenticated user may perform a specific action on a specific document.

Control

What it protects against

Key checks

DocumentScope

Cross-company or cross-user exposure in normal queries.

Owning landlord, authenticated client, staff assignment and permitted context.

DocumentPolicy

Unauthorised actions on an individual document.

owner_id, tenant_can_view, tenant_can_download, is_private, visibility and action permission.

8.2 DocumentPolicy Actions

Policy method

Question answered

viewAny(User $user)

May this user view the document library?

view(User $user, Document $document)

May this user open this document?

create(User $user)

May this user upload a document?

update(User $user, Document $document)

May this user edit the document or metadata?

delete(User $user, Document $document)

May this user delete the document?

download(User $user, Document $document)

May this user download the file?

share(User $user, Document $document)

May this user share the document?

8.3 Privacy Rules for Real Estate Companies

·         Collect and store only documents needed for a legitimate property, lease, mortgage, compliance or client process.

·         Do not use public visibility for identity, financial, legal, mortgage, tax or confidential client documents.

·         Limit staff access by role, assigned property, department and business need.

·         Disable downloads when in-platform viewing is sufficient.

·         Use share expiry and revoke access when the business purpose ends.

·         Avoid including sensitive personal data in share notes, email subjects or unnecessary AI prompts.

·         Review exports and ZIP files before release; bulk export can unintentionally include unrelated records.

·         Use approved devices, secure networks and company storage for downloaded copies.

·         Remove obsolete access when staff leave or change roles.

·         Investigate unexpected view counts, failed verification or access to the wrong document.

8.4 Handling Sensitive Document Types

Sensitive type

Minimum controls

Identity / KYC

Private visibility, restricted role, no public share, limited retention, encrypted/secure access and controlled download.

Proof of income / bank records

Finance or screening team only; do not share broadly; verify deletion/retention requirements.

Legal advice / dispute documents

Legal team only; maintain privilege/confidentiality where applicable.

Mortgage documents

Mortgage team and authorised legal/finance users; secure token downloads and strict client context.

Tax records

Finance/tax roles only; jurisdiction-specific retention and access.

Signed contracts

Version control, final status, restricted replacement, e-signature evidence and optional blockchain registration.

Security incident evidence

Security/legal access only; preserve integrity and audit trail.

8.5 Staff Offboarding and Role Changes

96.     Disable or remove the staff user’s access promptly.

97.     Remove document, folder, sharing, deletion, AI and blockchain permissions.

98.     Reassign document ownership, pending requests and folder responsibilities.

99.     Review recent downloads, shares, deletions and bulk exports where audit data is available.

100.  Rotate access credentials or tokens where necessary.

101.  Confirm company documents remain within Leaseora and approved storage.

8.6 Incident Response for Wrong Sharing

102.  Immediately revoke the TenantDocumentShare or disable access.

103.  Confirm whether the document was viewed or downloaded using first_viewed_at, last_viewed_at and view_count.

104.  Preserve the document, share record and audit evidence; do not delete the incident history prematurely.

105.  Notify the company security, legal or data-protection contact.

106.  Assess the sensitivity, recipient, download status and legal reporting obligations.

107.  Correct the sharing process and staff permissions.

108.  Send an appropriate recipient instruction or correction through the approved incident process.

8.7 Expiry Monitoring

Use scopeExpiringSoon(30) as an operational queue. A company should assign responsibility for each expiry category. Expired documents should not simply disappear; they should be renewed, replaced, archived, escalated or marked with an approved exception.

Expiry category

Owner

Typical action

Property insurance

Property/insurance manager

Request renewal, upload new version, verify coverage, archive previous certificate.

Client ID

Client operations/compliance

Request updated ID where legally and operationally required.

Safety/compliance certificate

Compliance/property manager

Schedule inspection or renewal; escalate expired status.

Planning or temporary permit

Development/legal

Confirm extension, replacement or project impact.

Professional licence

Compliance/vendor management

Suspend approval if required and request updated evidence.

8.8 Retention and Disposal

Leaseora provides status, archive, version and delete capabilities, but the company must define its own retention schedule based on applicable law, contracts, limitation periods, regulatory requirements, tax obligations, insurance requirements and litigation holds. Consult qualified legal and compliance advisers for each operating country.

Lifecycle decision

Questions to answer

Keep active

Is the document current and needed for an open property, lease, mortgage, project or compliance process?

Archive

Is the document no longer current but still required for history, audit, legal defence, tax, warranty or regulatory evidence?

Replace/version

Has the document changed while the old version must remain traceable?

Delete

Has retention expired, no hold applies, no module depends on it, and an authorised disposal decision been made?

 

 

Phase 9 - Administration, Migration And Platform Oversight

How SuperAdmin and technical teams consolidate legacy documents, organise user storage and maintain the supporting services.

9.1 CDMS Consolidation

MigrateAllDocumentsToCDMS (console command cdms:migrate-all) consolidates module-specific document records into the central Document model while preserving source_module and polymorphic links. It can migrate ComplianceDocument, LeaseDocument, LegalDocument, MortgageDocument, PropertyDevelopmentDocument, PropertyDocument and other attached files.

Command mode

Purpose

cdms:migrate-all --dry-run

Preview migration counts and potential scope without writing records.

cdms:migrate-all

Create central CDMS records according to migration logic.

MigrateDocumentsToUserFolders

Move or organise physical files into the correct user-scoped storage paths.

9.2 Migration Operating Procedure

109.  Back up the database and document storage.

110.  Run the dry-run mode and review counts by source model/module.

111.  Identify duplicates, orphaned records, missing owners, broken paths and invalid property/lease/client links.

112.  Confirm storage capacity and user directory mapping.

113.  Run the migration in a controlled environment or approved maintenance window.

114.  Validate sample records from every source model.

115.  Compare source counts, central Document counts and physical file counts.

116.  Run user-folder migration where required.

117.  Test landlord, staff and client access to ensure DocumentScope and policies remain correct.

118.  Record migration date, operator, version and exceptions.

9.3 DocumentServiceProvider

DocumentServiceProvider registers document-related services and bindings across Leaseora, including DocumentService and DocumentManagementService. Technical teams should ensure the provider is loaded, storage disks are configured, queues and mail are operational, and service dependencies are available in each deployment environment.

9.4 SuperAdmin AI Lease Oversight

AILeaseDocument2Controller and AILeaseDocumentExportController manage AILeaseDocument2 records and exports at SuperAdmin level. AILeaseDocument2 contains tenant_id, property_id, lease_id, generated_by, document_type, ai_prompt_used, ai_response, status, file_path, is_signed and signed_at.

9.5 Operational Monitoring

Area

Monitor

Storage

Total usage, rapid growth, orphaned files, failed writes and user-path correctness.

Preview/download

Missing files, MIME mismatch, broken URLs, policy denials and performance.

Requests

Mail delivery, token validity, upload failures and unfulfilled request backlog.

AI

Processing time, failed status, error_message, extraction quality and usage limits.

Blockchain

Registration failures, network status, transaction confirmation and verification mismatch.

Queues/jobs

AutoGenerateLeaseDocuments, notifications, mail and event listeners.

Migration

Unmigrated legacy records, duplicates and invalid polymorphic links.

Security

Unexpected access, bulk downloads, deletions, share errors and scope leakage tests.

 

 

Phase 10 - Standard Operating Procedures And Troubleshooting

Ready-to-use workflows for common real estate operations, quality assurance and issue resolution.

10.1 SOP - New Property Onboarding

119.  Create or confirm the property record in Leaseora.

120.  Create the approved property folder structure.

121.  Upload ownership/title, survey, planning, permits, insurance, valuation, floor plans, inspections and utility evidence.

122.  Link every document to the property and correct source module.

123.  Set expiry dates for insurance, permits and certificates.

124.  Run AI analysis on lengthy reports or legal documents where useful and verify results.

125.  Register approved final legal documents on blockchain when required by policy.

126.  Restrict access to legal, identity and finance records.

127.  Complete the upload quality checklist and assign a document owner.

10.2 SOP - New Lease and Client Onboarding

128.  Confirm the client and lease records are complete.

129.  Request missing ID, proof of income, references, insurance or compliance files through Document Requests.

130.  Review fulfilled documents and correct metadata.

131.  Generate or upload the lease agreement.

132.  Run AI extraction and risk review, then complete legal review.

133.  Finalise and obtain e-signatures.

134.  Store the signed version as current; archive drafts according to policy.

135.  Share the signed lease with the client, permit download if appropriate and require acknowledgment if company policy requires it.

136.  Register the final signed lease on blockchain when approved.

137.  Confirm the client portal shows the correct property/lease documents only.

10.3 SOP - Insurance Renewal

138.  Review Expiring Soon documents.

139.  Open the insurance certificate and confirm property, insurer, policy number and expiry.

140.  Create a request or task for renewal evidence.

141.  Upload the new policy/certificate as a new version or replacement according to the module workflow.

142.  Use AI extraction to capture policy details and verify them manually.

143.  Update expiry_date.

144.  Archive the previous certificate but retain it according to policy.

145.  Verify any required client, lender or regulator sharing.

10.4 SOP - Mortgage Application Document Pack

146.  Load the application’s required document checklist from getUploadRequirements.

147.  Request missing documents from the client.

148.  Track uploaded, pending, approved and rejected counts through document statistics.

149.  Review identity, income, property, valuation and legal records.

150.  Use secure download only for approved reviewers and lender workflows.

151.  Run AI extraction on mortgage terms and verify financial/legal fields.

152.  Export ZIP, PDF or CSV only after checking the selected records.

153.  Blockchain-verify approved final mortgage legal documents where configured.

10.5 SOP - Property Development Project

154.  Create the project folder hierarchy by phase.

155.  Use document templates for recurring approvals, reports and contracts.

156.  Assign project team permissions.

157.  Upload plans, permits, BOQs, contracts, progress reports, invoices and site evidence against the correct project/phase.

158.  Use upload/deletion notifications to keep team members informed.

159.  Version controlled plans and legal records instead of overwriting.

160.  Use AI for document naming, contract analysis and summaries, with human review.

161.  Register final legal contracts or certificates on blockchain where approved.

162.  Archive the project pack after completion and handover.

10.6 SOP - Client Notice Requiring Acknowledgment

163.  Confirm the notice is final and legally approved.

164.  Upload or generate it under the correct lease/client context.

165.  Share with requires_acknowledgment enabled.

166.  Choose whether download is allowed.

167.  Set a share expiry only if access should end.

168.  Write a clear share note explaining the required action and deadline.

169.  Monitor first_viewed_at, last_viewed_at, view_count and acknowledged_at.

170.  Use the legally required service method in addition to Leaseora acknowledgment where applicable.

10.7 SOP - Closing a Lease or Client Relationship

171.  Confirm all final notices, move-out inspection, settlement, receipts and handover records are uploaded.

172.  Resolve pending document requests.

173.  Review active client shares and revoke those no longer required.

174.  Preserve signed lease, notices, financial records and dispute evidence according to retention policy.

175.  Archive the lease document folder and mark documents appropriately.

176.  Do not delete client records solely because the relationship ended.

177.  Restrict ongoing access to staff with a legitimate post-termination need.

10.8 Daily, Weekly and Monthly Administration

Frequency

Tasks

Daily

Review fulfilled requests, failed uploads, new shares, urgent expiry alerts, AI failures and client support issues.

Weekly

Review overdue requests, unfiled documents, duplicate uploads, pending acknowledgments, recently deleted records and access exceptions.

Monthly

Review storage usage, folder quality, expiry trends, permissions, bulk exports, blockchain verification issues, migration backlog and staff training needs.

Quarterly

Audit roles and permissions, test cross-company isolation, review retention/disposal, evaluate AI accuracy and update document standards.

10.9 Troubleshooting Guide

Issue

Likely cause

Resolution

Document Hub is not visible

Module/menu disabled, plan limitation or missing staff permission.

Ask the account owner to review menu visibility, subscription and permissions.

Upload fails

Unsupported type, file too large, network interruption, storage issue or validation error.

Check format/size, rename file, retry stable network, review error and contact administrator.

Preview does not open

Unsupported preview type, MIME mismatch, missing file or browser issue.

Download if authorised, verify file type/path, try another browser and report missing file.

Download denied

DocumentPolicy or can_download restriction.

Confirm your role and business need; request access rather than bypassing controls.

Client cannot see shared document

Share inactive/expired, wrong client, tenant_can_view false or policy/context mismatch.

Review TenantDocumentShare, recipient, is_active, expires_at and property/lease context.

Client can view but not download

can_download is false.

Enable only if the business purpose requires a local copy.

Acknowledgment not recorded

Client has not selected acknowledge, wrong share, or request failed.

Check view history, guide the client through the portal, and confirm the correct share.

Request email not received

Incorrect email, mail delivery issue, spam filtering or notification failure.

Confirm client email, resend through approved process, check mail logs and request record.

Secure request link fails

Token invalid/expired, request cancelled/fulfilled or route issue.

Confirm request status and token; create a new request when appropriate.

Request remains pending after upload

Upload did not use token flow or update failed.

Check whether a Document was created and manually reconcile only through authorised support.

Wrong folder count

Move/delete operation did not update count or cache is stale.

Refresh, verify actual contents and ask administrator to recalculate if required.

AI analysis fails

Unreadable scan, unsupported file, service error, token/limit issue or prompt problem.

Improve scan, reduce file, retry, review error_message and use manual review.

AI extracted wrong amount/date

OCR or contextual ambiguity.

Correct manually, improve prompt or source file, then reanalyse and document review.

Blockchain verification says tampered

File content differs from registered version.

Stop use, preserve evidence, compare versions and escalate to legal/security.

Blockchain record not found

Wrong file/hash, registration incomplete, wrong network/environment.

Check transaction details and registration status.

Old version was shared

Incorrect current version or legacy share.

Revoke, share correct version, assess client impact and preserve audit trail.

Bulk action affected wrong records

Selection/filter error.

Stop further changes, use rollback/archive recovery where possible, preserve logs and escalate.

Document appears under wrong company

Potential scope or ownership defect.

Do not access further; report immediately as a security incident.

10.10 Quality Assurance Checklist

Area

Questions

Identity

Is this the correct document, client, property, lease, project and company?

Completeness

Are all pages, attachments, signatures and schedules present?

Readability

Can a human and, where used, AI read the content accurately?

Metadata

Are title, type, category, source module, tags and expiry correct?

Storage

Is the file in the correct user path and folder?

Visibility

Is access limited to the intended users?

Sharing

Are recipient, download, acknowledgment and expiry settings correct?

Version

Is this the current, draft, final or signed version?

AI

Were critical extracted fields manually verified?

Blockchain

Was only the approved final file registered and successfully verified?

Retention

Should the document be active, archived, replaced or deleted?

 

 

Phase A - Technical And Data Reference

Controllers, models, services, fields, events, notifications, mail classes, jobs and console commands supporting the Document Hub.

Appendix A - Core Backend Systems Reference

System

Purpose

Document

Core CDMS record: metadata, owner, module links, folder, visibility, client rights, expiry, status and file information.

DocumentFolder

Hierarchical folder structure with parent_id, colour, icon and document_count.

DocumentRequest

Token-based client document request with deadline and fulfilment tracking.

DocumentAnalysis

AI analysis result, extracted fields, confidence, processing status and errors.

DocumentWorkflowHistory

Action and status history for workflow-driven agency documents.

TenantDocumentShare

Recipient-specific share permissions, acknowledgment, view tracking and expiry.

PropertyDocumentVersion

Version history, comparison and rollback for property documents.

AILeaseDocument / AILeaseDocument2

AI-generated lease documents, prompts, responses, status and signing information.

LeaseDocument

Lease-specific file with AI extracted data, summary, risk score, signature, version and access permissions.

PropertyDocument

Property-level record with versioning.

MortgageDocument

Mortgage-related record, export and blockchain verification.

MortgageApplicationDocument

Documents submitted with mortgage applications.

PropertyDevelopmentDocument

Development project document.

PropertyDevelopmentDocumentTemplate

Reusable project document template.

PropertyDevelopmentLegalDocument

Development legal contract with e-signature support.

LegalDocument

General legal document.

ComplianceDocument

Compliance-related document.

CrmLeadDocument

CRM lead attachment.

AgencyDocument

Agency document linked to workflow history.

DocumentScope

Global data isolation scope.

DocumentPolicy

Authorisation policy for list, view, create, update, delete, download and share.

Appendix B - Controller Reference

Controller / action

Responsibility

LandlordDocumentHubController@index

Dashboard, aggregation, filtering and overview.

@create / @store

Upload form and persistence.

@show / @edit / @update / @destroy

Document detail, metadata editing and deletion.

@download / @preview

Protected file access.

@folders / @createFolder / @storeFolder / @updateFolder / @destroyFolder

Folder management.

@moveToFolder / @moveFolder

Document and folder restructuring.

@share

Create client share and notification.

@assignToProperty / @assignToTenant / @revokeFromTenant

Business linking and access revocation.

@createRequest / @storeRequest / @cancelRequest / @listRequests

Document request lifecycle.

@bulkAction

Bulk delete, move, archive, share, download and assignment.

AIDocumentUnderstandingController@index / create / store / show / destroy

AI analysis CRUD.

AIDocumentUnderstandingController@reanalyzeDocument

Rerun AI analysis.

AILeaseDocumentController / AILeaseDocument2Controller

SuperAdmin management of AI lease documents.

AILeaseDocumentExportController

AI lease document export.

DocumentManagementController

Mortgage application document CRUD, download, preview and share.

TenantDocumentPortalController

Client portal list, detail, lease/property filters, search, stats, recent, download and acknowledgment.

TenantDocumentPortalController@viewVersion / downloadVersion

Client access to specific versions.

PropertyDocumentController

Property-level document management and versioning.

MortgageDocumentController

Mortgage document management, bulk deletion, export and blockchain verification.

MortgageLegalDocumentController

Mortgage legal documents.

PropertyDevelopmentDocumentController

Development project document management.

CrmLeadDocumentsController

CRM lead upload and deletion.

API\Mobile\TaxDocumentController

Tax-specific mobile document access.

Appendix C - Service Reference

Service

Responsibility

DocumentService

Store/delete files, resolve user paths, retrieve user documents and handle contractor document storage.

DocumentService@storeDocument

Store a file using user and metadata attributes.

DocumentService@getUserDocumentPath

Resolve a user’s document directory.

DocumentService@getUserBasePath

Resolve the user base storage path.

DocumentService@deleteDocument

Remove a document and associated file.

DocumentManagementService

Mortgage application upload, retrieval, requirement, statistics, download and bulk deletion.

BlockchainDocumentService

Register/verify document hashes, audit trails and mortgage smart-contract operations.

LeaseDocumentService

Generate PDFs, trigger AI, search, version, archive, measure storage and clean orphaned files.

LandDocumentService

Generate and manage land agreements, payment schedules and receipts.

MofiDocumentVerificationService

MOFI-specific document verification.

DocumentServiceProvider

Register document service bindings.

Appendix D - Events, Notifications, Mail and Jobs

Type

Name

Purpose

Event

LeaseDocumentGenerated

Fires when an AI lease document is generated.

Event

PropertyDocumentUpdated

Fires when a property document changes.

Event

MortgageDocumentUpdated

Fires when a mortgage document changes.

Event

ComplianceDocumentUploaded

Fires when a compliance document is uploaded.

Notification

DocumentShared

Notifies a client that a landlord shared a document, including landlord and optional message.

Notification

PropertyDevelopmentDocumentUploadedNotification

Notifies project team members of an upload.

Notification

PropertyDevelopmentDocumentDeletedNotification

Notifies project team members of deletion.

Mail

DocumentRequestedMail

Sends request details, instructions, deadline and secure upload URL.

Mail

DocumentFulfilledMail

Notifies the landlord that a request was fulfilled and includes the request/document context.

Mail

AIDocumentExportSummary

Emails an AI-generated analysis summary.

Job

AutoGenerateLeaseDocuments

Automatically generates standard lease documents when a lease is activated.

Appendix E - Computed Document Attributes

Attribute

Purpose

file_url

Generate the full file access URL.

human_file_size

Display a readable size such as 2.5 MB.

file_extension

Return the extension.

is_image

Identify image files.

is_pdf

Identify PDF files.

is_word

Identify Word files.

is_excel

Identify Excel files.

Appendix F - Document Visibility and Request Flow

Visibility flow
Document created -> landlord_only (default internal use)
OR -> shared_with_tenant + tenant_can_view + TenantDocumentShare -> optional download, acknowledgment, view tracking and expiry
OR -> public -> contextual authenticated access according to implementation and policy.

Request flow
Landlord creates request -> status pending -> token and secure upload URL -> DocumentRequestedMail -> client uploads -> Document stored -> status fulfilled + fulfilled_at + fulfilled_document_id -> DocumentFulfilledMail to landlord.
Alternative: landlord cancels -> status cancelled.

AI flow
Upload for analysis -> status processing -> text extraction/OCR -> OpenAI analysis -> completed with result, extracted fields and confidence OR failed with error_message -> optional reanalysis -> optional export summary email.

Appendix G - Glossary

Term

Definition

CDMS

Centralised Document Management System; the unified Document Hub repository.

Client/Tenant

The person or organisation leasing, purchasing, applying or otherwise receiving services. “Tenant” remains in backend names.

Documentable

A polymorphic module record to which a document is attached.

Metadata

Information describing a file, such as type, category, property, lease, tags and expiry.

DocumentScope

Automatic query filter that isolates documents to authorised business context.

DocumentPolicy

Action-level authorisation rules.

TenantDocumentShare

Recipient-specific access record.

Acknowledgment

Recorded client confirmation that a shared document was read.

Version

A preserved historical state of a document.

Rollback

Restoring a previous version as current.

OCR

Optical character recognition used to extract text from images or scans.

AI analysis

Automated extraction, summary and risk assistance that requires human verification.

Blockchain hash

Cryptographic fingerprint used to verify whether content changed.

Audit trail

History of access, actions, versions or transactions.

Polymorphic relationship

A database relationship allowing one Document record to link to different module entity types.

Orphaned file

A stored file without a valid database record or business link.

Appendix H - One-Page Quick Reference

Task

Fast path

Upload

Document Hub -> Upload Document -> choose file -> classify -> link property/lease/client -> set visibility -> save -> verify.

Share

Open approved document -> Share -> select client -> set download/acknowledgment/expiry -> send -> monitor.

Request

Document Requests -> Request a Document -> select client/context -> instructions/deadline -> send -> track status.

AI analyse

Document Understanding -> upload/select -> choose type -> enter prompt -> analyse -> verify all critical fields.

Version

Open property document -> upload new version -> describe change -> verify current/previous versions.

Blockchain

Confirm final approved file -> register -> store transaction details -> verify badge/result.

Revoke

Open share -> confirm recipient -> revoke -> verify portal access removed.

Archive

Select closed/superseded record -> Archive -> retain search/history.

Delete

Confirm no retention, legal, version, share or module dependency -> authorised delete.

Final operating principle
Every document should have a clear owner, business context, classification, access rule, lifecycle status and review history. When these are maintained consistently, Leaseora Document Hub becomes a reliable operational record for the entire real estate company rather than another file storage location.

 

Was this article helpful?

Your feedback helps us improve our documentation.

Article Info

Category DOCUMENT
Reading Time 65 min
Views 14
Published Jul 30, 2026

Share

🤝

Need more help?

Our support team is available to assist you.

Contact Support