WE BUILD FOR YOU
We Build for You is Leaseora's end-to-end module for marketing, booking, financing, constructing and handing over units in a real estate development. It connects the developer's project data with the client's booking, payment schedule, construction updates, legal documents and final occupancy record.
|
LEASEORA WE BUILD FOR YOU Detailed User and Technical Operations Guide Project creation • Unit booking • Construction tracking • Multi-channel payments • Landlord payouts • E-signatures • Handover |
For real estate developers, corporate landlords, sales teams, finance teams, project teams and support teams
Version 2.0 | July 2026
|
|
How to use this guide Part I explains the business workflow in plain language. Part II documents the backend models, controllers, services, jobs, events, notifications and payment flows supplied for the module. Use both parts during onboarding, training, testing and operational handover. |
CONTENTS Guide structure
|
Part |
What it contains |
|
Part I - Business and User Operations |
1. Purpose and roles; 2. Lifecycle; 3-9. Seven operational phases; 10. Status management; 11. Dashboards and reporting; 12. Staff controls. |
|
Part II - Payment, AI and Legal Controls |
13. Multi-currency; 14. Payment channels and payouts; 15. AI-assisted functions; 16. Legal-document workflow; 17. Notifications. |
|
Part III - Technical Reference |
18. Backend architecture; 19. Models; 20. Controller actions; 21. Services and jobs; 22. Events and notifications; 23. Storage and references. |
|
Part IV - Implementation and Support |
24. Worked scenario; 25. Testing; 26. Troubleshooting; 27. FAQs; 28. Onboarding checklist; 29. Quick reference; 30. Specification notes. |
|
|
Terminology This guide uses Client as the preferred business term. The supplied backend specification and several class names use Tenant, for example WeBuildTenantBooking and TenantWeBuildController. These technical names are preserved exactly. |
1 Purpose, Scope and Roles
We Build For You is Leaseora's end-to-end module for marketing, booking, financing, constructing and handing over units in a real estate development. It connects the developer's project data with the client's booking, payment schedule, construction updates, legal documents and final occupancy record.
|
Item |
Definition |
|
Primary users |
Corporate landlords, developers, authorised project administrators, sales, finance, legal, construction and customer-support staff. |
|
Client users |
Individuals or corporate clients who browse projects, favourite them, book units, pay, track progress, sign documents and receive handover. |
|
Technical scope |
WeBuildProject, WeBuildBuildPlan, WeBuildUnit, WeBuildTenantBooking, construction updates, payment plans, legal documents, currency conversion, fees, payouts, jobs and notifications. |
|
Business boundary |
Leaseora manages the workflow. The developer remains responsible for construction quality, pricing, screening decisions, legal approval, payment verification, statutory compliance and handover. |
Roles and responsibilities
|
Role |
Core responsibility |
|
Corporate Landlord / Developer |
Owns the project record, prices, units, booking decisions, construction updates, payments, documents and completion. |
|
Project Administrator |
Creates and maintains projects, units, plans and project media. |
|
Sales / Booking Team |
Monitors new bookings, client communication, AI-assisted review and status changes. |
|
Finance Team |
Verifies payments, manages instalments, fees, waivers, late charges, receipts and payout reconciliation. |
|
Construction Team |
Posts accurate progress, milestones, media and delay updates. |
|
Legal Team |
Generates or uploads contracts, reviews AI analysis and manages signatures. |
|
Client / Buyer |
Browses, books, pays, reviews updates, signs documents and completes handover. |
|
Leaseora Super Admin / Support |
Supports account configuration and platform operation without replacing the developer's approvals. |
|
|
Control principle AI output, automated notifications and system calculations assist the company. They do not remove the need for authorised human review and approval. |
2 End-to-End Lifecycle
Figure 1. Complete We Build For You lifecycle
The lifecycle begins with a private Draft project and ends with a completed booking, settled payment plan, signed legal documents and a unit marked Sold or Occupied.
Records created across the journey
|
Stage |
Primary record |
Output |
|
Project setup |
WeBuildProject |
Draft or published project with country, dates, BIM and media. |
|
Plan setup |
WeBuildBuildPlan |
Active payment structures with deposit and instalments. |
|
Unit setup |
WeBuildUnit |
Unique saleable units with price and availability. |
|
Booking |
WeBuildTenantBooking |
Reference WB-XXXXXXXX and Pending status. |
|
Payment schedule |
PropertyDevelopmentPaymentPlan |
Generated instalment records for the booking. |
|
Construction |
WeBuildConstructionUpdate |
General, milestone or delay update with media. |
|
Legal |
PropertyDevelopmentLegalDocument |
Generated or uploaded contract and signature status. |
|
Payment and payout |
Wallet, BankTransferTransaction, LandlordPayout |
Client collection, fee record and payout to the landlord. |
3 Phase 1 - Corporate Landlord Sets Up the Project
Steps 1 to 4
|
STEP |
Create a Project Primary user: Corporate Landlord / Project Administrator | Controller: CorporateLandlordWeBuildController@storeProject |
Open the We Build For You project creation portal. Complete the development information and save it with publish_status = draft. A Draft project is not visible to clients.
|
Field |
Purpose |
Operating guidance |
|
project_name |
Approved development name. |
Use the exact commercial name and phase. |
|
description |
Full project description. |
Explain unit types, amenities, timeline and approved value proposition. |
|
country, city, address |
Location and currency context. |
Country is used by CurrencyService to determine project currency. |
|
budget |
Development budget. |
Restrict to authorised users where commercially sensitive. |
|
start_date |
Planned start date. |
Use the approved project programme. |
|
estimated_completion_date |
Expected completion. |
Use a realistic date and revise through controlled change. |
|
status |
Development stage. |
Initially draft or planning as supplied. |
|
bim_model_url |
BIM 3D design link. |
Test access and ensure the model is approved for client viewing. |
|
accepts_tenant_bookings |
Booking control toggle. |
Keep off until the plans, units and client terms are ready. |
|
feature image and gallery |
Public project media. |
Stored under we-build-projects/; use authorised files. |
|
publish_status |
Public visibility state. |
Set to draft during preparation. |
System result
· Model created - WeBuildProject.
· Visibility - Private because publish_status is draft.
· Next action - Add build plans and units before publication.
|
STEP |
Add Build Plans (Payment Structures) Primary user: Sales, Finance and Management | Controller: CorporateLandlordWeBuildController@createBuildPlan / @updateBuildPlan / @toggleBuildPlanStatus |
Create one or more approved ways for a client to pay for a unit. Each WeBuildBuildPlan controls the total price, down payment and instalment schedule.
|
Field |
Meaning |
Validation |
|
plan_name |
Client-facing plan name. |
Use clear labels such as Flexi 24 Plan or Outright Purchase. |
|
total_cost |
Full unit cost under the plan. |
Must match the company-approved sale structure. |
|
down_payment_type |
percentage or fixed. |
Select the correct calculation method. |
|
down_payment_value |
Percentage rate or fixed value. |
Review against plan approval. |
|
down_payment_amount |
Calculated flat deposit. |
Confirm the calculated result. |
|
installment_count |
Number of instalments. |
Must match the approved duration. |
|
installment_schedule |
monthly, quarterly or configured cycle. |
Use a schedule clients can understand. |
|
installment_amount |
Amount for each instalment. |
Deposit plus instalments should reconcile to total_cost. |
|
completion_timeline |
Expected delivery period. |
Align with project estimated completion. |
|
is_active |
Whether clients can select the plan. |
Deactivate plans that should no longer be offered. |
|
|
Financial control Before activating a plan, finance should verify that the down payment and generated instalments reconcile to total_cost. The system calculation should be tested with a sample booking. |
|
STEP |
Add Units to the Project Primary user: Project / Sales Administration | Controller: CorporateLandlordWeBuildController@storeUnit / @updateUnit / @updateUnitStatus / @deleteUnit |
Create every apartment, house, office or saleable space as a separate WeBuildUnit. Unique unit records help prevent double allocation and keep payment and document histories traceable.
|
Field |
Use |
Example / control |
|
unit_type |
Category of space. |
Apartment, office, terrace, duplex or configured type. |
|
unit_number |
Unique project reference. |
A-101, B-204 or Shop C12; do not duplicate. |
|
floor |
Physical floor or level. |
Use the approved building schedule. |
|
size_sqft |
Unit size. |
Use the official measurement and state units clearly. |
|
price |
Base unit price. |
Confirm its relationship to build-plan total_cost. |
|
status |
available, reserved or sold. |
New units normally begin as available. |
|
features |
Structured or descriptive features. |
Only include approved specifications. |
|
description |
Additional unit explanation. |
Avoid promises not supported by the contract. |
|
|
Unit status control When a booking is created, the selected unit becomes Reserved. It should not be made Available again unless the booking is cancelled through the approved process. |
|
STEP |
Publish the Project Primary user: Authorised Project Approver | Controller: CorporateLandlordWeBuildController@togglePublishStatus |
After internal review, change publish_status from draft to published. The project becomes visible on the client browse page.
|
☐ |
Project and location data are correct. |
|
☐ |
Country and resulting project currency are correct. |
|
☐ |
Feature image, gallery and BIM link are accessible. |
|
☐ |
At least one active build plan is approved. |
|
☐ |
Units have unique numbers, correct prices and statuses. |
|
☐ |
accepts_tenant_bookings is set intentionally. |
|
☐ |
Client terms, payment rules and legal notices have been approved. |
|
☐ |
A staff member is assigned to monitor new-booking notifications. |
4 Phase 2 - Client Discovers and Books a Unit
Steps 5 to 9
|
STEP |
Browse Published Projects Primary user: Client / Buyer | Controller: TenantWeBuildController@browse |
The client opens the We Build For You browse page. The controller queries projects where publish_status = published. CurrencyService presents plan costs in the client's preferred currency while preserving the project currency.
|
Function |
System behaviour |
|
CurrencyService::getUserCurrency() |
Detects the client's preferred currency. |
|
CurrencyService::getCurrencyFromCountry($project->country) |
Determines the project currency from the project country. |
|
CurrencyService::convert() |
Converts project amounts for client display. |
|
Filters |
city, project status, price range and unit type. |
|
WeBuildSearchHistory |
Saves the client's search activity; retrieval and clearing depend on the configured UI actions. |
|
|
Currency presentation The converted amount is for the client's display and decision support. The project currency remains the authoritative currency for the project and payment records unless the configured transaction flow states otherwise. |
|
STEP |
View Project Details and Favourite Primary user: Client / Buyer | Controller: TenantWeBuildController@showProject / @toggleFavorite |
The detail page combines the project description, gallery, BIM model, active build plans, available units, timeline and current status. WeBuildFavoriteProject::isFavorited() determines whether the client has saved the project.
|
Client view |
Data source / result |
|
Description, location and media |
WeBuildProject. |
|
BIM model |
bim_model_url on WeBuildProject. |
|
Payment options |
Active WeBuildBuildPlan records, converted to client currency. |
|
Available units |
WeBuildUnit records with status = available. |
|
Favourite state |
WeBuildFavoriteProject. |
|
Timeline and status |
Project dates, status and construction information. |
|
STEP |
View Construction Progress Before Booking Primary user: Client / Buyer | Controller: TenantWeBuildController@constructionProgress |
A prospective client can review approved WeBuildConstructionUpdate records before booking. This may include progress percentages, milestone names, photographs, videos and update dates.
|
|
Developer responsibility The developer is responsible for the truth and accuracy of progress updates. Leaseora records and displays the submitted information; it does not independently certify construction. |
|
STEP |
Book a Unit Primary user: Client / Buyer | Controller: TenantWeBuildController@showBookingForm / @bookUnit |
The client selects one available WeBuildUnit and one active WeBuildBuildPlan, then adds optional special_requirements. Leaseora calculates the financial schedule and creates the booking.
|
Calculation / record |
System action |
|
down_payment_amount |
Calculated from down_payment_type and down_payment_value. |
|
remaining_amount |
total_cost minus down_payment_amount. |
|
total_amount |
Full plan cost. |
|
payment_schedule (JSON) |
Generated from installment_count and installment_schedule. |
|
service_fee |
Calculated by FeeCalculationService. |
|
WeBuildTenantBooking |
Created with booking_status = pending. |
|
booking_reference |
Automatically generated as WB- plus eight uppercase characters, for example WB-ABCD1234. |
|
WeBuildUnit.status |
Updated from available to reserved. |
|
PropertyDevelopmentPaymentPlan |
One or more instalment records generated for the booking. |
Booking validation
|
☐ |
The selected unit is Available. |
|
☐ |
The project accepts tenant/client bookings. |
|
☐ |
The client does not already have an active booking on the same unit. |
|
☐ |
The build plan is active and belongs to the selected project. |
|
☐ |
Calculated amounts and schedule are successfully generated. |
Notifications
|
Notification |
Recipient |
Purpose |
|
WeBuildNewBookingNotification |
Corporate Landlord |
Alerts the company to review the new booking. |
|
WeBuildBookingConfirmationNotification |
Client |
Acknowledges the submitted booking and reference while the booking remains Pending. |
|
STEP |
Review Booking Confirmation Page Primary user: Client / Buyer | Controller: TenantWeBuildController@bookingConfirmation |
The confirmation page displays the booking reference, unit, selected plan and payment schedule. It shows the down payment in project currency and client currency and lists available payment gateways.
|
|
Confirmation wording The supplied class name WeBuildBookingConfirmationNotification is used when the booking is created, although the booking_status is Pending. The client communication should distinguish acknowledgement of submission from landlord approval. |
5 Phase 3 - Corporate Landlord Reviews and Manages the Booking
Steps 10 to 12
|
STEP |
View All Bookings and Enhanced Details Primary user: Sales / Booking Team | Controller: CorporateLandlordWeBuildController@bookings / @showBooking / @getEnhancedBookingDetails |
The booking dashboard allows the company to review the complete portfolio and open an individual booking for detailed analysis.
|
Dashboard item |
Description |
|
total_bookings |
All booking records in the selected scope. |
|
pending_bookings |
Bookings awaiting review. |
|
confirmed_bookings |
Bookings accepted by the company. |
|
in_construction_bookings |
Active bookings during construction. |
|
completed_bookings |
Bookings completed for handover. |
|
cancelled_bookings |
Bookings stopped under the approved process. |
|
Filters |
status, project, client name/email and date range. |
|
STEP |
Run AI Risk Assessment and Client Screening Primary user: Authorised Sales / Compliance / Management | Controller: @assessBookingRisk / @getTenantScreeningInsights / @getBookingRecommendations |
Leaseora can analyse available booking and client information and present decision-support insights.
|
Action |
AI output |
Required human action |
|
@assessBookingRisk |
Risk score, risk level and risk factors based on payment history, booking patterns and financial signals. |
Review the data and document the final decision. |
|
@getTenantScreeningInsights |
Identity verification status, rental history and financial behaviour insights. |
Apply company policy and applicable law. |
|
@getBookingRecommendations |
Suggested action based on booking data. |
Treat as advice, not automatic approval or rejection. |
Figure 2. AI-assisted touchpoints
|
STEP |
Update Booking Status Primary user: Authorised Sales / Management | Controller: CorporateLandlordWeBuildController@updateBookingStatus |
Move the booking through the approved lifecycle: pending to confirmed to in_construction to completed, or cancelled where required.
|
Transition |
Meaning |
System effect |
|
pending -> confirmed |
Developer accepts the booking. |
Client receives the approved next steps according to the configured workflow. |
|
confirmed -> in_construction |
Booking becomes active during construction. |
WeBuildBookingInConstructionNotification is sent to the client. |
|
in_construction -> completed |
Project and booking conditions are completed. |
Final completion and handover actions become available. |
|
pending / confirmed / active -> cancelled |
Booking stops under company policy. |
Unit release, payment and document consequences must be managed. |
Bulk and reporting actions
· @bulkUpdateBookingStatus - update multiple bookings after careful validation.
· @exportBookings - export booking data for approved reporting or reconciliation.
6 Phase 4 - Construction Updates and Client Tracking
Steps 13 and 14
|
STEP |
Post Construction Updates Primary user: Construction / Project Team | Controller: CorporateLandlordWeBuildController@storeConstructionUpdate / @updateConstructionProgress |
Create a WeBuildConstructionUpdate containing accurate progress information and approved media.
|
Field |
Purpose |
|
title |
Clear update heading. |
|
description |
Plain-language explanation of progress or issue. |
|
progress_percentage |
Approved overall completion percentage. |
|
milestone_name |
Optional named construction milestone. |
|
update_type |
general, milestone or delay. |
|
photos and videos |
Approved project media linked to the update. |
|
Update type |
Notification |
Recipient |
|
general |
WeBuildConstructionUpdateNotification |
Client. |
|
milestone |
WeBuildConstructionMilestoneNotification |
Client. |
|
delay |
WeBuildConstructionDelayNotification |
Client. |
|
☐ |
The progress percentage is supported by the project team. |
|
☐ |
Images and videos are current and authorised. |
|
☐ |
The update date and milestone are correct. |
|
☐ |
A delay update states the known impact and revised expectation. |
|
☐ |
The communication does not make unsupported legal or completion promises. |
|
STEP |
Track Construction Progress Primary user: Client / Buyer | Controller: TenantWeBuildController@constructionProgress |
Clients view all approved WeBuildConstructionUpdate records for their booked project, including progress, milestone history, media and dates. The history improves transparency and reduces repeated requests for basic updates.
|
Client view |
What it shows |
|
Current progress |
Latest approved progress_percentage and project status. |
|
Milestone history |
Named milestones and the date each update was published. |
|
Media |
Approved photographs and videos attached to updates. |
|
Delay information |
Delay update, known impact and revised expectation where supplied. |
|
Related actions |
Upcoming payments, legal documents or support actions linked to the booking. |
|
|
Client communication Clients should use the Leaseora messaging or support channel when an update requires clarification. Material delays or changes should also receive direct business communication from the developer. |
7 Phase 5 - Down Payment, Instalments, Fees and Payouts
Steps 15 to 17
Figure 3. Payment, fee and landlord payout flow
|
STEP |
Pay the Down Payment Primary user: Client / Buyer | Controller: TenantWeBuildController@processDownPayment |
The client pays the calculated down payment by wallet, a configured payment gateway or bank transfer. The selected method determines the verification path, but each successful payment updates the booking, records the fee and triggers the landlord payout process.
Method A - Wallet payment
1. Check the client wallet balance.
2. Use CurrencyService::convert() if wallet currency differs from project currency.
3. Calculate the platform service fee through FeeCalculationService.
4. Debit the wallet using the configured wallet operation.
5. Record the fee transaction.
6. Set WeBuildTenantBooking.down_payment_status to paid.
7. Create a LandlordPayout and dispatch ProcessLandlordPayout.
8. Send the payment notifications.
Method B - Payment gateway
|
Component |
Behaviour |
|
PaymentGatewayService / PaymentGatewayFactory |
Creates the gateway payment session for Flutterwave, Stripe, Revolut, Paystack or Squad as configured. |
|
Transaction reference |
WB-DEP-{bookingId}-{timestamp}. |
|
TenantWeBuildController@paymentSuccess |
Verifies the returning payment result. |
|
@handlePaymentWebhook |
Processes asynchronous gateway confirmation. |
Method C - Bank transfer
1. The client transfers to the approved developer account.
2. The client uploads evidence through TenantWeBuildController@uploadBankTransferProof.
3. A BankTransferTransaction is created.
4. WeBuildBankTransferProofUploadedNotification alerts the landlord.
5. LandlordBankTransferVerificationController is used by authorised staff to verify the proof against bank records.
6. Only after verification is the payment treated as confirmed.
Down payment notifications
|
Notification |
Recipient / meaning |
|
WeBuildDownPaymentReceivedNotification |
Sent to the landlord and client according to the supplied workflow when payment is processed or confirmed. |
|
|
Payout route ProcessLandlordPayout sends funds through the landlord's configured gateway - Flutterwave, Revolut, Stripe, PayPal, SEPA, Solaris or Embedly - or credits the landlord wallet, according to configuration. |
|
STEP |
Pay Instalments Primary user: Client / Buyer | Controller: TenantWeBuildController@processPayment / @makePayment |
Each PropertyDevelopmentPaymentPlan instalment can use the same three channels: wallet, gateway or bank transfer. Successful payment updates the schedule, records fees and triggers the landlord payout flow.
|
Action |
Purpose |
|
@getUpcomingPayments |
Shows the client upcoming instalment due dates. |
|
@downloadReceipt |
Creates or downloads the payment receipt PDF. |
|
WeBuildPaymentReceivedNotification |
Confirms the instalment to the client. |
|
WeBuildPaymentReceivedLandlordNotification |
Alerts the landlord that an instalment was received. |
|
WeBuildPaymentDueReminderNotification |
Automated reminder before the due date. |
|
WeBuildOverduePaymentNotification |
Alerts the client when overdue. |
|
WeBuildOverduePaymentLandlordNotification |
Alerts the landlord when the client is overdue. |
|
STEP |
Manage Booking Payments Primary user: Finance / Authorised Management | Controller: CorporateLandlordWeBuildController@manageBookingPayments / @paymentPlans |
|
Controller action |
Use |
Control |
|
@markPaymentAsPaid |
Manually records an instalment as paid. |
Use only after independent verification. |
|
@applyLateFee |
Adds a late fee to an overdue instalment. |
Must follow the agreed plan and company policy; sends WeBuildLateFeeAppliedNotification. |
|
@waivePayment |
Waives an instalment. |
Requires authorised approval and sends WeBuildPaymentWaivedNotification. |
|
@bulkMarkPaid |
Marks several payments paid. |
Use carefully after reconciliation. |
|
@bulkApplyLateFee |
Applies late fees to multiple records. |
Review eligibility before execution. |
|
@exportPaymentSchedules |
Exports schedules across bookings. |
Use for approved reporting. |
|
@downloadPaymentReceipt |
Downloads a receipt for a payment. |
Check client and booking reference. |
AI payment tools
|
Action |
Output |
|
@predictPaymentRisk |
Likelihood of default for a specific instalment. |
|
@generateSmartReminder |
Personalised draft reminder message. |
|
@generateRevenueForecast |
Revenue forecast across projects. |
|
@getPaymentInsights |
Trends, collection rates and risk distribution. |
|
|
Finance segregation Sales or support staff should not confirm bank settlement, waive payments or apply financial adjustments unless their role and approval policy explicitly permit it. |
8 Phase 6 - Legal Documents and E-Signatures
Steps 18 to 20
Figure 4. Legal-document preparation and signing flow
|
STEP |
Generate or Upload the Contract Primary user: Legal / Authorised Administration | Controller: CorporateLandlordWeBuildController@legalDocuments / @showGenerateDocumentForm |
Create a PropertyDevelopmentLegalDocument for the correct project, booking, unit, plan and client. The developer can generate a document through the AI-assisted flow or upload an existing approved PDF or DOC file.
|
Action |
Purpose |
|
@generateDocumentNameSuggestion |
AI suggests a name using booking details. |
|
@generateContract |
AI generates draft contract content from the booking, unit, plan and client data. |
|
@getBookingDetailsForDocument |
Loads the structured data needed for document generation. |
|
@uploadDocument |
Uploads a pre-prepared contract to we-build-documents/. |
|
@aiAnalyzeDocument |
Analyses an uploaded document for key clauses, risks and completeness. |
|
WeBuildLegalDocumentReadyNotification |
Informs the client that a document is ready for review. |
|
|
Legal review required AI-generated or AI-analysed content is not legal approval. An authorised legal professional or company signatory must review the final document and ensure it complies with the applicable jurisdiction and transaction. |
|
STEP |
Landlord Signs the Document Primary user: Authorised Landlord Signatory | Controller: CorporateLandlordWeBuildController@signDocument |
The landlord reviews and electronically signs the approved document. The record stores signed_by_landlord = true and landlord_signed_at = now.
|
☐ |
The project, unit, client and booking reference are correct. |
|
☐ |
The payment plan and amounts match the approved transaction. |
|
☐ |
Required schedules and annexures are attached. |
|
☐ |
The signatory is authorised. |
|
☐ |
The final document has completed legal review. |
|
STEP |
Client Reviews and Signs Primary user: Client / Buyer | Controller: TenantWeBuildController@legalDocuments / @signDocument |
The client opens the documents for the booking, reviews the final version and signs electronically. The record stores signed_by_tenant = true and tenant_signed_at = now.
|
Event / state |
Result |
|
WeBuildLegalDocumentSignedNotification |
Landlord is notified that the client has signed. |
|
All required signatures complete |
PropertyDevelopmentLegalDocument.status becomes completed. |
|
Legal workflow complete |
WeBuildTenantBooking.legal_documents_status becomes completed. |
|
WeBuildLegalDocumentsCompletedNotification |
Both parties are notified. |
|
@updateDocumentStatus / @viewDocument / @downloadDocument |
Landlord manages status, viewing and downloading. |
9 Phase 7 - Project Completion and Unit Handover
Steps 21 and 22
|
STEP |
Mark the Project as Completed Primary user: Authorised Project Management | Controller: CorporateLandlordWeBuildController@updateProject |
When construction and the company's internal completion process are finished, set actual_completion_date and status = completed. The supplied workflow states that associated WeBuildTenantBooking records in in_construction status are automatically updated to completed.
Completion controls
|
☐ |
Actual completion date is approved. |
|
☐ |
Construction and required internal inspections are complete. |
|
☐ |
Final construction update is published. |
|
☐ |
Booking payment positions are reviewed. |
|
☐ |
Required legal documents are complete. |
|
☐ |
Outstanding disputes, variations or exceptions are recorded. |
|
☐ |
Handover dates and conditions are communicated. |
|
Notification |
Recipient |
|
WeBuildProjectCompletionNotification |
All clients/tenants with active bookings on the project. |
|
|
Automatic booking completion Because the supplied workflow automatically changes in_construction bookings to completed when the project is completed, the company should verify that its business rules do not require a separate payment or legal readiness gate before this automation runs. |
|
STEP |
Complete Booking and Handover the Unit Primary user: Developer, Finance, Legal and Client | Controller: Status and document operations |
At handover, WeBuildTenantBooking.booking_status becomes completed and WeBuildUnit.status becomes sold or occupied. The client can download final receipts and receives occupancy rights according to the signed legal documents.
|
Handover check |
What to verify |
|
Payment |
Required amounts are settled or an approved exception is documented. |
|
Legal |
All required contracts and handover documents are signed. |
|
Unit |
Correct unit number, specifications and status. |
|
Inspection |
Client inspection or snagging completed where applicable. |
|
Access |
Keys, cards or digital credentials are ready. |
|
Receipts |
Final payment records are available through @downloadReceipt. |
|
Possession |
The physical handover follows the signed legal documents. |
10 Status Management and Record Relationships
Figure 5. Project, booking and unit statuses
Project status, publish_status, booking_status and unit status are separate fields. Staff should understand which record they are changing and what downstream action the change triggers.
|
Record |
Statuses supplied |
Operational meaning |
|
WeBuildProject.publish_status |
draft, published |
Controls client visibility. |
|
WeBuildProject.status |
draft/planning, in_construction, completed |
Tracks development stage. |
|
WeBuildTenantBooking.booking_status |
pending, confirmed, in_construction, completed, cancelled |
Tracks the client transaction. |
|
WeBuildUnit.status |
available, reserved, sold |
Tracks inventory allocation. The handover summary also refers to occupied. |
|
WeBuildTenantBooking.down_payment_status |
paid or other configured state |
Tracks deposit settlement. |
|
WeBuildTenantBooking.legal_documents_status |
completed or other configured state |
Tracks legal signing completion. |
|
|
Status consistency check A booking should not be Completed while the unit remains Available. A Sold unit should remain linked to the completed booking and final legal record. |
11 Dashboards, Filters, Bulk Operations and Exports
The landlord dashboard should provide one portfolio view across projects, bookings, payments and construction. Accurate reporting depends on staff updating source records promptly.
|
Area |
Available management functions |
|
Bookings |
Stats for total, pending, confirmed, in construction, completed and cancelled; filter by status, project, client name/email and date. |
|
Enhanced booking detail |
Booking, unit, plan, client, payment, AI insight and legal-document context. |
|
Bulk booking status |
@bulkUpdateBookingStatus. |
|
Booking export |
@exportBookings. |
|
Payments |
@manageBookingPayments, @paymentPlans, bulk payment actions and receipt download. |
|
Payment export |
@exportPaymentSchedules. |
|
AI finance insight |
Payment risk, smart reminders, revenue forecast and payment trends. |
|
Project progress |
Current percentage, milestones, updates and delays. |
Recommended review rhythm
|
Frequency |
Management review |
|
Daily |
New bookings, bank proofs, payment confirmations, due/overdue alerts and support issues. |
|
Weekly |
Unit status, booking conversion, construction updates, payment collection and legal actions. |
|
Monthly |
Revenue forecast, payout reconciliation, risk distribution and project performance. |
|
At milestone |
Progress, media, schedule impact, client notice and payment implications. |
|
Before completion |
Payment, legal, unit and handover readiness for every active booking. |
12 Staff Roles, Permissions and Segregation of Duties
|
Role |
Typical access |
Restriction / control |
|
Project Administrator |
Create and edit projects, units, plans and media. |
Should not approve financial waivers. |
|
Sales Officer |
Review bookings, communicate, request AI insights and recommend status changes. |
Should not verify bank settlement unless authorised. |
|
Finance Officer |
Verify payments, reconcile, fees, receipts and payout records. |
Changes need reasons and audit trail. |
|
Construction Officer |
Post progress, milestones and delays. |
Updates require project verification. |
|
Legal Officer |
Generate/upload documents, review AI analysis and manage signatures. |
Use approved templates and signatories. |
|
Customer Support |
Assist clients and escalate issues. |
Should not change prices, plans or approvals. |
|
Director / Approver |
Approve exceptions, status changes, waivers, completion and handover. |
Use individual credentials and 2FA. |
· Use individual staff accounts and never share passwords.
· Grant the minimum permissions needed for each role.
· Enable two-factor authentication where available.
· Record reasons for cancellation, waiver, late fee, manual payment and status overrides.
· Review access when staff roles change or employment ends.
· Use activity logs when investigating sensitive changes.
13 Multi-Currency Display and Transaction Controls
The project country determines the project currency. The client's preferred currency is detected for display, and CurrencyService::convert() is used where conversion is required.
|
Service method |
Role |
|
CurrencyService::getUserCurrency() |
Returns the client's preferred currency. |
|
CurrencyService::getCurrencyFromCountry($project->country) |
Returns the project currency based on country. |
|
CurrencyService::convert() |
Converts plan or payment amounts between currencies. |
|
|
Authoritative amount The project-currency amount should remain visible alongside converted values during booking and payment. Store transaction currency, converted amount and reference so finance can reconcile correctly. |
|
☐ |
Project country and currency are correct before plans are created. |
|
☐ |
Client display currency is labelled. |
|
☐ |
Down payment shows project and client currency on confirmation. |
|
☐ |
Wallet conversion is applied where wallet and project currencies differ. |
|
☐ |
Gateway and payout records retain references needed for reconciliation. |
|
☐ |
Exchange-rate changes are considered when the final transaction is verified. |
14 Payment Channels, Platform Fees and Landlord Payouts
The module supports wallet, payment gateway and bank transfer for both down payment and instalments. FeeCalculationService calculates and records platform fees. Every confirmed client payment creates or updates the relevant payment record and triggers the landlord payout path.
|
Component |
Purpose |
|
Wallet |
Client wallet collection and landlord wallet payout option. |
|
PaymentGatewayFactory |
Abstracts Flutterwave, Stripe, Revolut, Paystack and Squad. |
|
PaymentGatewayService |
Creates and verifies sessions and determines configured gateway behaviour. |
|
BankTransferTransaction |
Stores uploaded proof and verification status. |
|
LandlordBankTransferVerificationController |
Allows authorised landlord staff to verify proof. |
|
FeeCalculationService |
Calculates and records service fees per payment. |
|
LandlordPayout |
Tracks the payout created for each client payment. |
|
ProcessLandlordPayout |
Background job that executes a payout through gateway or wallet. |
Payment reconciliation checklist
|
☐ |
Gateway callback or webhook has been verified. |
|
☐ |
Wallet debit and fee record match the booking. |
|
☐ |
Bank proof has been checked against the bank account. |
|
☐ |
Payment plan instalment is marked correctly. |
|
☐ |
Client and landlord notifications were sent. |
|
☐ |
LandlordPayout reference exists. |
|
☐ |
Payout result is reconciled to landlord bank or wallet. |
|
☐ |
Errors or reversals are recorded and escalated. |
15 AI-Assisted Functions and Governance
AI is used throughout the module for risk, screening, payment and document assistance. These outputs are advisory and should be governed by company policy.
|
AI area |
Input |
Output |
Human responsibility |
|
Booking risk |
Payment history, booking patterns, financial signals. |
Risk score, level and factors. |
Review source data and decide. |
|
Client screening |
Identity status, rental history and financial behaviour. |
Screening insight and recommendation. |
Apply law and policy. |
|
Booking recommendation |
Booking and client data. |
Suggested next action. |
Approve, reject or request information. |
|
Payment risk |
Specific instalment and payment pattern. |
Default likelihood. |
Prioritise follow-up. |
|
Smart reminder |
Amount, due date and client context. |
Draft personalised reminder. |
Review accuracy and tone. |
|
Revenue forecast |
Schedules and payment history. |
Forecast across projects. |
Compare with finance records. |
|
Document naming |
Booking details. |
Suggested document name. |
Approve naming standard. |
|
Contract generation |
Project, unit, plan and client data. |
Draft contract content. |
Legal review and approval. |
|
Document analysis |
Uploaded document. |
Clauses, risks and completeness. |
Legal interpretation and final decision. |
|
|
AI governance rule Never use an AI output as the sole basis for rejecting a client, applying a financial penalty, issuing a legal contract or declaring a project complete. |
16 Legal-Document Controls and Records
|
Record / field |
Purpose |
|
PropertyDevelopmentLegalDocument |
Stores generated or uploaded legal documents and signature state. |
|
signed_by_landlord / landlord_signed_at |
Records landlord electronic signature. |
|
signed_by_tenant / tenant_signed_at |
Records client electronic signature. |
|
PropertyDevelopmentLegalDocument.status |
Becomes completed after required signatures. |
|
WeBuildTenantBooking.legal_documents_status |
Records legal completion at booking level. |
|
we-build-documents/ |
Storage path for uploaded contracts. |
|
☐ |
Document is attached to the correct booking and unit. |
|
☐ |
Amounts and plan terms match the booking. |
|
☐ |
Jurisdiction and governing law are reviewed. |
|
☐ |
Signatory order and authority are correct. |
|
☐ |
All required parties have signed. |
|
☐ |
Completed document is downloadable by authorised users. |
|
☐ |
Document version and issue date are retained. |
17 Notification Matrix
|
Notification class |
Recipient |
Trigger / purpose |
|
WeBuildNewBookingNotification |
Landlord |
New booking submitted. |
|
WeBuildBookingConfirmationNotification |
Client |
Booking acknowledgement and reference. |
|
WeBuildBookingInConstructionNotification |
Client |
Booking moved into construction. |
|
WeBuildConstructionUpdateNotification |
Client |
General progress update. |
|
WeBuildConstructionMilestoneNotification |
Client |
Milestone reached. |
|
WeBuildConstructionDelayNotification |
Client |
Delay reported. |
|
WeBuildDownPaymentReceivedNotification |
Landlord and Client |
Down payment processed/confirmed. |
|
WeBuildBankTransferProofUploadedNotification |
Landlord |
Client uploaded transfer proof. |
|
WeBuildPaymentReceivedNotification |
Client |
Instalment confirmed. |
|
WeBuildPaymentReceivedLandlordNotification |
Landlord |
Instalment received. |
|
WeBuildPaymentDueReminderNotification |
Client |
Upcoming payment reminder. |
|
WeBuildOverduePaymentNotification |
Client |
Payment overdue. |
|
WeBuildOverduePaymentLandlordNotification |
Landlord |
Client overdue. |
|
WeBuildLateFeeAppliedNotification |
Client |
Late fee applied. |
|
WeBuildPaymentWaivedNotification |
Client |
Payment waived. |
|
WeBuildLegalDocumentReadyNotification |
Client |
Contract ready for review/signature. |
|
WeBuildLegalDocumentSignedNotification |
Landlord |
Client signed. |
|
WeBuildLegalDocumentsCompletedNotification |
Both |
All legal documents complete. |
|
WeBuildProjectCompletionNotification |
Active clients |
Project completed. |
|
|
Specification count note The supplied specification names 19 notification classes when WeBuildBankTransferProofUploadedNotification is included. The summary section says 19 targeted notifications, which is consistent with this full list. |
18 Backend Architecture at a Glance
|
Layer |
Key components |
Responsibility |
|
Models |
WeBuildProject, WeBuildBuildPlan, WeBuildUnit, WeBuildTenantBooking, WeBuildConstructionUpdate, WeBuildFavoriteProject, WeBuildSearchHistory, PropertyDevelopmentPaymentPlan, PropertyDevelopmentLegalDocument, Wallet, LandlordPayout, BankTransferTransaction. |
Persist project, booking, payment, legal and payout data. |
|
Landlord controller |
CorporateLandlordWeBuildController. |
Project setup, plans, units, bookings, AI actions, construction, payments, legal and completion. |
|
Client controller |
TenantWeBuildController. |
Browse, favourite, book, pay, track construction, sign and download receipts. |
|
Payment verification |
LandlordBankTransferVerificationController. |
Manual bank-transfer proof review. |
|
Services |
CurrencyService, FeeCalculationService, PaymentGatewayFactory, PaymentGatewayService. |
Currency, fees and gateway abstraction. |
|
Job |
ProcessLandlordPayout. |
Executes landlord payout asynchronously or according to queue configuration. |
|
Events / notifications |
Named WeBuild notifications and underlying events. |
Targeted communication and downstream processing. |
|
|
Controller-size note The supplied specification describes CorporateLandlordWeBuildController as 4,369+ lines and TenantWeBuildController as 3,238+ lines. These figures are informational and may change as the codebase is refactored. |
19 Backend Model Reference
| Model |
Purpose |
|
WeBuildProject |
Core project: status, publish_status, country, BIM URL, booking toggle and media. |
|
WeBuildBuildPlan |
Payment structures for a project: cost, deposit, instalments, timeline and active state. |
|
WeBuildUnit |
Individual project unit: type, number, floor, size, price, status, features and description. |
|
WeBuildTenantBooking |
Booking lifecycle, reference, amounts, down-payment status and legal-document status. |
|
WeBuildConstructionUpdate |
Progress percentage, milestone, update type, description and media. |
|
WeBuildFavoriteProject |
Client favourite state for a project. |
|
WeBuildSearchHistory |
Client search history. |
|
PropertyDevelopmentPaymentPlan |
Generated instalment records linked to a booking. |
|
PropertyDevelopmentLegalDocument |
Generated/uploaded contract, signatures and status. |
|
Wallet |
Client payment balance and landlord payout destination option. |
|
LandlordPayout |
Tracks each payout created after a client payment. |
|
BankTransferTransaction |
Tracks transfer proof and verification. |
20 Controller Action Reference
|
CorporateLandlordWeBuildController action |
Purpose |
|
@storeProject |
Create project. |
|
@createBuildPlan / @updateBuildPlan / @toggleBuildPlanStatus |
Create, edit and activate plans. |
|
@storeUnit / @updateUnit / @updateUnitStatus / @deleteUnit |
Manage units. |
|
@togglePublishStatus |
Publish or unpublish project. |
|
@bookings / @showBooking / @getEnhancedBookingDetails |
View booking portfolio and detail. |
|
@assessBookingRisk / @getTenantScreeningInsights / @getBookingRecommendations |
AI booking review. |
|
@updateBookingStatus / @bulkUpdateBookingStatus / @exportBookings |
Status and reporting. |
|
@storeConstructionUpdate / @updateConstructionProgress |
Post construction information. |
|
@manageBookingPayments / @paymentPlans |
Payment dashboard. |
|
@markPaymentAsPaid / @applyLateFee / @waivePayment |
Individual payment actions. |
|
@bulkMarkPaid / @bulkApplyLateFee / @exportPaymentSchedules |
Bulk and export payment actions. |
|
@predictPaymentRisk / @generateSmartReminder / @generateRevenueForecast / @getPaymentInsights |
AI payment tools. |
|
@legalDocuments / @showGenerateDocumentForm |
Legal document area. |
|
@generateDocumentNameSuggestion / @generateContract / @getBookingDetailsForDocument |
AI contract preparation. |
|
@uploadDocument / @aiAnalyzeDocument |
Upload and analyse contract. |
|
@signDocument / @updateDocumentStatus / @viewDocument / @downloadDocument |
Landlord signing and document management. |
|
@updateProject |
Project updates and completion. |
|
TenantWeBuildController action |
Purpose |
|
@browse |
Browse published projects with filters and currency display. |
|
@showProject |
View full project details. |
|
@toggleFavorite |
Save or remove favourite project. |
|
@constructionProgress |
View project updates. |
|
@showBookingForm / @bookUnit |
Create booking. |
|
@bookingConfirmation |
Show booking reference, amounts, schedule and gateways. |
|
@processDownPayment |
Start down-payment flow. |
|
@paymentSuccess / @handlePaymentWebhook |
Verify gateway payment. |
|
@uploadBankTransferProof |
Create transfer-proof record. |
|
@processPayment / @makePayment |
Pay instalment. |
|
@getUpcomingPayments |
View future dues. |
|
@downloadReceipt |
Download receipt PDF. |
|
@legalDocuments / @signDocument |
Review and sign contracts. |
21 Services, Gateway Abstraction and Background Jobs
|
Component |
Responsibility |
Operational note |
|
CurrencyService |
Project/client currency detection and conversion. |
Keep project-currency source amounts for reconciliation. |
|
FeeCalculationService |
Calculates and records service fees. |
Fee result should be linked to the payment reference. |
|
PaymentGatewayFactory |
Provides configured gateway implementation. |
Supports Flutterwave, Stripe, Revolut, Paystack and Squad in the supplied flow. |
|
PaymentGatewayService |
Creates sessions, verifies payments and supports payout-method decisions. |
Use callback and webhook verification. |
|
ProcessLandlordPayout |
Executes landlord payout. |
Monitor queue or synchronous execution and retry failures under policy. |
|
LandlordPayout |
Payout ledger record. |
One record should be traceable to the client payment. |
|
LandlordBankTransferVerificationController |
Verifies uploaded bank evidence. |
Proof is not settlement until verified. |
22 Storage Paths, References and Audit Traceability
|
Item |
Format / path |
Purpose |
|
Project media |
we-build-projects/ |
Feature and gallery images. |
|
Legal documents |
we-build-documents/ |
Uploaded PDF/DOC contracts. |
|
Booking reference |
WB-XXXXXXXX |
Unique client booking identifier. |
|
Down-payment gateway reference |
WB-DEP-{bookingId}-{timestamp} |
Links the gateway transaction to the booking. |
|
Payment schedule |
payment_schedule JSON and PropertyDevelopmentPaymentPlan records |
Client schedule and individual instalments. |
|
Payout record |
LandlordPayout |
Links confirmed payment to landlord settlement route. |
|
Bank proof |
BankTransferTransaction |
Records evidence, verification and outcome. |
|
|
Audit requirement Every manual payment confirmation, waiver, late fee, cancellation, status override and document update should retain the acting staff member, time, reason and linked booking reference. |
23 Worked Example - Complete Development Journey
|
|
Scenario Harbour View Developments creates Harbour View Residences, a 60-unit project in Lagos. Client Ada Okafor books Unit B-204 under the Flexi 24 Plan. |
|
Stage |
System and business action |
|
1. Create |
WeBuildProject is created as Draft with Nigeria, Lagos, dates, budget, BIM link and media. |
|
2. Plans |
Outright Purchase and Flexi 24 Plan are created and activated. |
|
3. Units |
Sixty WeBuildUnit records are added. B-204 is Available. |
|
4. Publish |
publish_status becomes Published and bookings are enabled. |
|
5. Browse |
Ada searches by city and price; CurrencyService displays costs in her preferred currency. |
|
6. Favourite |
Ada saves the project through WeBuildFavoriteProject. |
|
7. Progress |
Ada reviews approved WeBuildConstructionUpdate records. |
|
8. Book |
Ada selects B-204 and Flexi 24. Leaseora calculates deposit, balance, schedule and fee. |
|
9. Records |
WeBuildTenantBooking is Pending, reference WB-HV204A1; B-204 becomes Reserved; payment-plan records are generated. |
|
10. Notify |
The landlord receives WeBuildNewBookingNotification and Ada receives the booking acknowledgement. |
|
11. Review |
The company runs risk, screening and booking recommendations, then confirms the booking. |
|
12. Construction |
The booking becomes In Construction and Ada receives the notification. |
|
13. Deposit |
Ada pays through a gateway using WB-DEP-{bookingId}-{timestamp}; the callback/webhook verifies payment. |
|
14. Payout |
FeeCalculationService records the fee; LandlordPayout is created and ProcessLandlordPayout executes. |
|
15. Instalments |
Ada pays monthly; receipts, reminders and overdue controls use PropertyDevelopmentPaymentPlan. |
|
16. Updates |
The developer posts milestone and general updates with progress media. |
|
17. Contract |
The legal team generates or uploads the contract, reviews AI analysis and signs. |
|
18. Client signs |
Ada signs; legal document and booking legal status become Completed. |
|
19. Project complete |
actual_completion_date is set, project status becomes Completed and clients are notified. |
|
20. Handover |
Finance and legal verify readiness; booking is Completed, B-204 becomes Sold/Occupied and Ada receives final receipts and possession. |
24 Testing and User Acceptance Checklist
Project and discovery
|
☐ |
Draft project is not visible to clients. |
|
☐ |
Published project is visible with correct country, currency, gallery and BIM link. |
|
☐ |
Filters for city, status, price and unit type work. |
|
☐ |
Favourite toggle and search history work as intended. |
Booking
|
☐ |
Only Available units can be booked. |
|
☐ |
Booking is blocked when accepts_tenant_bookings is off. |
|
☐ |
Duplicate active booking on the same unit is blocked. |
|
☐ |
Deposit, balance, total and schedule are correct. |
|
☐ |
Booking reference follows WB-XXXXXXXX. |
|
☐ |
Unit becomes Reserved and notifications are sent. |
Payments and payout
|
☐ |
Wallet conversion, debit and fee record are correct. |
|
☐ |
Each configured gateway can create and verify a session. |
|
☐ |
Gateway callback and webhook are idempotent and do not double-post. |
|
☐ |
Bank proof can be uploaded and independently verified. |
|
☐ |
Payment plan, receipt and balance update correctly. |
|
☐ |
LandlordPayout is created and payout result is traceable. |
Construction and legal
|
☐ |
General, milestone and delay notifications reach the correct clients. |
|
☐ |
Progress history and media display correctly. |
|
☐ |
AI contract generation and analysis are clearly marked as assisted. |
|
☐ |
Landlord and client signatures are recorded. |
|
☐ |
Legal statuses complete only when required signatures exist. |
Completion
|
☐ |
actual_completion_date is required or validated. |
|
☐ |
Project completion notification reaches active clients. |
|
☐ |
Automatic booking completion follows approved business rules. |
|
☐ |
Unit and booking statuses remain consistent. |
|
☐ |
Final receipts and documents can be downloaded. |
25 Common Issues and Troubleshooting
|
Issue |
Recommended action |
|
Project not visible |
Confirm publish_status = published, project is accessible and the client filters do not exclude it. |
|
No active build plan |
Activate at least one WeBuildBuildPlan and verify it belongs to the project. |
|
Unit cannot be booked |
Check unit status, booking toggle, plan state and duplicate active booking rule. |
|
Deposit amount wrong |
Review down_payment_type, down_payment_value, total_cost and CurrencyService conversion. |
|
Unit remains Available |
Confirm booking creation updated WeBuildUnit.status to reserved. |
|
Client did not receive notification |
Check recipient, queue, notification channel and event/action completion. |
|
Gateway payment pending |
Check transaction reference, paymentSuccess verification, webhook and gateway status. |
|
Bank transfer not confirmed |
Authorised landlord staff must verify BankTransferTransaction against the bank account. |
|
Payout not received |
Check LandlordPayout status, ProcessLandlordPayout job, configured route and failure logs. |
|
Receipt unavailable |
Confirm payment record is paid and the booking/payment reference is correct. |
|
Construction update not displayed |
Confirm project link, update publication, media storage and client access. |
|
Contract cannot be signed |
Check file, signatory state, document status and permissions. |
|
Project completion closes bookings too early |
Review the automatic update rule and add or configure payment/legal readiness checks if required. |
|
AI insight appears inaccurate |
Review source data and make the human decision; do not act automatically. |
|
|
Support request information When contacting Leaseora Support, provide the project name, booking reference, client account, action attempted, transaction reference, date/time and a screenshot or error message where available. |
26 Frequently Asked Questions
Can one project have several payment plans?
Yes. Multiple active WeBuildBuildPlan records can be offered.
Can the client see prices in another currency?
Yes. CurrencyService converts active plan costs to the client's preferred currency for display.
Does a Pending booking mean the unit is sold?
No. It records the booking request and reserves the unit; the developer must review and confirm.
Can the company screen the client?
Yes. AI-assisted risk, screening and recommendation actions are available, subject to human review and applicable law.
Can a client see progress before booking?
Yes. The supplied constructionProgress action can display approved updates before booking.
Can clients pay by wallet, gateway and bank transfer?
Yes. All three methods are described for down payment and instalments.
Which gateways are listed?
Flutterwave, Stripe, Revolut, Paystack and Squad for client gateways. The payout list also includes PayPal, SEPA, Solaris and Embedly according to configuration.
Does every payment pay the landlord automatically?
A confirmed payment creates LandlordPayout and dispatches ProcessLandlordPayout according to the supplied flow.
Can finance mark payments manually?
Yes, but only after verification and under authorised controls.
Can AI write the contract?
It can generate draft content and analyse a document, but legal review is required.
Can both parties sign in Leaseora?
Yes. The supplied flow records landlord and client electronic signatures.
What happens when the project is completed?
The project actual completion date is set, active clients are notified and in-construction bookings are automatically updated according to the supplied workflow.
27 Implementation and Onboarding Checklist
Company configuration
|
☐ |
Corporate landlord account active. |
|
☐ |
Staff roles and permissions assigned. |
|
☐ |
Company bank and payout method configured. |
|
☐ |
Required payment gateways enabled and tested. |
|
☐ |
Wallet configuration reviewed. |
|
☐ |
Legal templates and signatories approved. |
Project data
|
☐ |
Project name, location, country, budget and dates. |
|
☐ |
Approved description, feature image, gallery and BIM URL. |
|
☐ |
Complete unit inventory with unique numbers. |
|
☐ |
Approved build plans and payment rules. |
|
☐ |
Construction update and milestone plan. |
|
☐ |
Client terms, privacy notice and legal documents. |
Pilot team
|
☐ |
Executive sponsor. |
|
☐ |
Project administrator. |
|
☐ |
Sales/booking lead. |
|
☐ |
Finance and reconciliation lead. |
|
☐ |
Construction-update owner. |
|
☐ |
Legal-document owner. |
|
☐ |
Customer-support contact. |
|
☐ |
Leaseora onboarding coordinator. |
Recommended rollout
1. Select one active project.
2. Upload a controlled set of units and approved plans.
3. Create staff accounts and train each role.
4. Complete the user acceptance checklist.
5. Onboard a limited set of clients or new bookings.
6. Review booking, payment, construction and legal performance weekly.
7. Resolve workflow issues before adding the full portfolio.
28 Quick Reference - 22 Operational Steps
1. Create the project as Draft.
2. Add active build plans.
3. Add individual units.
4. Review and publish the project.
5. Client browses published projects.
6. Client views BIM, plans and units.
7. Client reviews construction progress and favourites the project.
8. Client selects unit and plan and submits booking.
9. System generates WB-XXXXXXXX, reserves unit and creates instalment records.
10. Client reviews confirmation page and available gateways.
11. Landlord views booking dashboard.
12. Landlord runs AI-assisted risk, screening and recommendation.
13. Landlord confirms booking and moves it into construction.
14. Developer posts general, milestone and delay updates.
15. Client tracks progress.
16. Client pays down payment.
17. System records fee and triggers LandlordPayout.
18. Client pays instalments and receives receipts/reminders.
19. Landlord manages late fees, waivers, exports and AI payment insight.
20. Landlord prepares and signs legal documents.
21. Client signs and legal status completes.
22. Developer completes project, booking and handover.
29 Specification Notes and Items to Confirm
The following points are derived from the supplied specification and should be confirmed during technical review before production sign-off.
|
Item |
Why confirmation is useful |
|
Booking acknowledgement naming |
WeBuildBookingConfirmationNotification is sent while booking_status is Pending. Confirm client wording distinguishes submission from approval. |
|
Project completion automation |
All in_construction bookings are said to become completed when the project is completed. Confirm payment and legal readiness gates. |
|
Unit status after handover |
Model list states available/reserved/sold, while the summary also uses occupied. Confirm the implemented enum and business rule. |
|
Notification count |
The full supplied list contains 19 named classes when the bank-transfer-proof notification is included. |
|
Service-fee presentation |
Confirm whether the service fee is included in total_amount, added separately or shown only at payment. |
|
Payout timing |
Confirm which payment states create payout, settlement delays, retries, reversals and refund handling. |
|
Currency rate source |
Confirm exchange-rate provider, rate timestamp, rounding and reconciliation rule. |
|
Cancellation and refund |
The supplied scenario mentions cancelled bookings but does not fully define refund, unit release and document consequences. |
|
Search history privacy |
Confirm retention, client controls and clear-history behaviour for WeBuildSearchHistory. |
|
AI data governance |
Confirm source data, consent, explainability, bias monitoring and audit retention. |
|
|
Source basis This document is based on the end-to-end functional and backend specification supplied for the Leaseora We Build For You module. It does not independently verify the current source code or deployed configuration. |
30 Backend Systems Reference Table
|
System |
Purpose |
|
WeBuildProject |
Core project model - status, BIM URL, publish toggle, country. |
|
WeBuildBuildPlan |
Payment structures per project. |
|
WeBuildUnit |
Individual unit type, floor, price and status. |
|
WeBuildTenantBooking |
Booking lifecycle, payment and legal status. |
|
WeBuildConstructionUpdate |
Progress, milestone, percentage and media. |
|
WeBuildFavoriteProject |
Client favourites. |
|
WeBuildSearchHistory |
Client search history. |
|
PropertyDevelopmentPaymentPlan |
Booking instalment records. |
|
PropertyDevelopmentLegalDocument |
Contract generation, upload, signatures and status. |
|
CorporateLandlordWeBuildController |
All landlord-side operations. |
|
TenantWeBuildController |
All client-side operations. |
|
CurrencyService |
Project/client currency conversion. |
|
FeeCalculationService |
Service fee calculation and recording. |
|
PaymentGatewayFactory |
Gateway abstraction. |
|
PaymentGatewayService |
Session, verification and gateway operations. |
|
LandlordPayout |
Payout ledger. |
|
ProcessLandlordPayout |
Payout execution job. |
|
Wallet |
Client collection and landlord payout option. |
|
BankTransferTransaction |
Bank proof record. |
|
LandlordBankTransferVerificationController |
Manual bank verification. |
LEASEORA
WE BUILD FOR YOU
One connected journey from project setup to client handover.
|
|
Support and onboarding For account setup, pilot onboarding, staff training or operational support, contact Leaseora at support@leaseora.com. |
leaseora.com
Was this article helpful?
Your feedback helps us improve our documentation.