GOVERNMENT SERVICES
The Government Services module is Leaseora's role-based, multi-tenant infrastructure for public housing, government estates, land administration, citizen applications, allocation, government revenue and tax compliance. It is designed around specialised agency workflows rather than the ordinary private-landlord property-management process.
|
LEASEORA GOVERNMENT SERVICES End-to-End User and Technical Operations Guide Agencies • Programs • Estates • Units • Eligibility • Applications • Allocation • Offer Letters • Invoices • Remita/TSA • Wallet • Handover • Title Cases • Tax Office • Analytics |
For government housing agencies, ministries, land administration bodies, public estate teams, finance and revenue teams, tax officials, citizen-support teams and authorised real estate delivery partners
Version 1.0 | July 2026
|
|
Purpose of this guide This guide explains how to configure and operate Leaseora Government Services from agency creation through program publication, estate and unit setup, citizen eligibility, application review, scoring, allocation, offer acceptance, payment plans, invoice collection, revenue reconciliation, title cases, asset management, tax-office oversight and mobile access. It also provides a technical reference for the supplied routes, models, controllers, services, middleware, payment flows, emails and AI-assisted functions. |
1 Purpose, Scope and Terminology
The Government Services module is Leaseora's role-based, multi-tenant infrastructure for public housing, government estates, land administration, citizen applications, allocation, government revenue and tax compliance. It is designed around specialised agency workflows rather than the ordinary private-landlord property-management process.
|
Item |
Description |
|
Primary audience |
Government Admins and Officials, housing-program teams, estate and unit officers, verification teams, allocation committees, finance/TSA teams, land-title officers, tax officials and Super Admins. |
|
Citizen audience |
Any authenticated and fully verified Leaseora user who browses public programs, checks eligibility, applies, accepts or declines an offer, pays invoices and follows allocation status. |
|
Real estate company use |
Real estate companies may use this guide when operating as authorised delivery partners or support teams within an agency-governed workflow. Access remains subject to the Government role and agency permissions. |
|
Core scope |
Agency setup; bank and gateway configuration; programs; estates; units; applications; verification; scoring; allocation; offer letters; invoices; payments; receipts; handover; title cases; assets; revenue; tax office and mobile access. |
|
Technical scope |
Middleware, models, controllers, allocation engine, NigeriaGovernmentAdapter, payment services, webhooks, email classes and mobile endpoints supplied in the scenario. |
|
Terminology |
This guide uses Citizen for the applicant or beneficiary. Backend class names use GovProgram, GovApplication, GovAllocation and other supplied technical names. |
|
|
Important module boundary Government Services uses dedicated GovAgency, GovProgram, GovEstate, GovUnit, GovApplication, GovAllocation, GovInvoice and GovReceipt records. Do not substitute the ordinary Properties, Listings or Lease workflow where a government program requires statutory eligibility, allocation, TSA reconciliation or title administration. |
What one connected public-housing record should contain
· Agency - the ministry, authority, department, commission or government body responsible for the program.
· Program - the public housing, mortgage, rent-to-own, allocation or land initiative.
· Estate and Unit - the physical housing stock offered through the program.
· Citizen Application - identity, NIN, eligibility data, documents and verification history.
· Score and Allocation - the criteria result, allocation method, matched unit and offer history.
· Invoice, Payment and Receipt - the amount due, payment method, settlement evidence and government receipt.
· Handover and Title - possession, handover documents, title case and land-administration evidence.
· Audit and Analytics - status history, actor, date, revenue, reconciliation, risk and performance.
2 Roles and Responsibilities
|
Role |
Main responsibilities |
Key controls |
|
Super Admin / Admin |
Create and activate agencies; monitor all government records; manage agency payouts and global exceptions. |
Cannot replace statutory agency approval. High-risk overrides require evidence and audit. |
|
Government Admin / Official |
Configure agency, programs, estates, units, applications, allocations, revenue and support. |
government_isolation restricts access to the user's agency. |
|
Program Officer |
Create program terms, application windows, fees and requirements. |
Uses approved program policy and dates; AI auto-fill requires human review. |
|
Verification Officer |
Review NIN, documents and application evidence. |
Must record verification result and notes; cannot silently alter citizen data. |
|
Allocation Committee / Officer |
Score, batch-process or manually allocate available units. |
Method, score, unit lock and decision history must be preserved. |
|
Estate / Unit Officer |
Maintain estate status, unit inventory, publication, reservation and work orders. |
One physical unit must have one unique unit record and controlled status. |
|
Finance / Revenue Officer |
Issue invoices, verify payments, reconcile Remita/TSA, manage agency wallet and reports. |
Browser callback or uploaded proof is not settlement until verified. |
|
Land / Title Officer |
Process title cases, encumbrances, legal search and certificate issuance. |
Uses applicable FCTA rules and retains evidence. |
|
Tax Office User |
Review landlord tax records, compliance, flags, reconciliation and AI analytics. |
Access is limited to authorised tax functions and protected taxpayer data. |
|
Citizen / Applicant |
Browse, check eligibility, apply, upload documents, accept/decline, pay and track status. |
Must provide accurate identity and use approved payment channels. |
|
Citizen Support Officer |
Respond to government inquiries and explain status. |
Cannot approve applications, allocations, payments or title outcomes. |
3 Complete Module Journey
Figure 1. Government Services end-to-end journey
|
Phase |
Business outcome |
Main records / systems |
|
1. Agency setup |
A government body is created, activated and isolated from other agencies. |
GovAgency, GovAuthController, government_isolation. |
|
2. Portal configuration |
Agency profile, bank accounts and payment gateways are configured. |
GovSettings, GovAgencyBankAccount, GovAgencyPaymentGateway. |
|
3. Program and stock |
Programs, estates and units are published with dates, fees and terms. |
GovProgram, GovEstate, GovUnit. |
|
4. Citizen discovery |
Citizens browse country-scoped programs, estates and available units. |
CitizenPortalController, CurrencyExchangeService. |
|
5. Application |
Citizen checks eligibility, submits NIN/data/documents and receives confirmation. |
GovApplication, NigeriaGovernmentAdapter, mail. |
|
6. Review and scoring |
Agency verifies documents, applies AI/government criteria and decides. |
AllocationEngine, AIEligibilityScoring. |
|
7. Allocation and offer |
Available units are allocated by merit, FIFO, ballot or manual method. |
GovAllocation, row locking, offer emails. |
|
8. Payment and handover |
Citizen pays invoice/deposit/installments and completes handover. |
GovInvoice, GovReceipt, GovRevenueController. |
|
9. Revenue and compliance |
Agency reconciles TSA, manages wallet/payouts; Tax Office monitors compliance. |
GovReconciliation, GovAgencyWallet, Tax Office. |
4 Access Control, Route Tiers and Data Isolation
|
User tier |
Route prefix |
Middleware / access rule |
|
Government Admin / Official |
/government/admin/... |
auth, government, government_isolation. |
|
Citizen |
/government/citizen/... |
auth, profile.complete, fully_verified. |
|
Super Admin Government |
/superadmin/... |
auth, role:Super Admin|Admin. |
|
Tax Office User |
/government/tax-office/... |
auth plus tax-office authorisation in the live build. |
|
Public or unauthenticated browser |
/government, /government/programs, /government/estates, /government/units |
The supplied description says public browsing is available, while one route note states auth. Confirm the live middleware before publishing public instructions. |
|
Mobile citizen |
/api/mobile/government/... |
Public browse endpoints and Sanctum-authenticated citizen endpoints as supplied. |
|
|
Agency isolation is non-negotiable Every agency-admin query should be scoped to the authenticated agency. A Government Admin must not be able to view or change another agency's programs, applications, allocations, invoices, receipts, bank accounts or citizen documents. |
Access validation checklist
☐ Government role is present and agency account is active.
☐ Authenticated user belongs to the correct GovAgency.
☐ Government isolation is applied to list, show, update, export and AJAX endpoints.
☐ Citizen profile is complete and fully verified before protected actions.
☐ Super Admin actions are separated from agency decisions.
☐ Tax Office permissions are limited to tax/compliance responsibilities.
☐ Mobile APIs enforce the same ownership and country scoping as web routes.
5 Implementation Prerequisites and Agency Onboarding
Business and policy information to prepare
☐ Legal agency name, code, type, jurisdiction and parent agency where applicable.
☐ Country/currency, contact details, website and official address.
☐ Approved government program policy, application dates and fees.
☐ Agency-specific eligibility and statutory identity requirements.
☐ Estate register, unit inventory, price, publication and status reconciliation.
☐ Allocation method policy: merit, FIFO, ballot, manual, priority or special.
☐ Offer validity, deposit, interest, installment, grace and late-payment terms.
☐ Remita/TSA and other gateway credentials, callback URLs and bank accounts.
☐ Invoice numbering, receipt, waiver, refund and reconciliation rules.
☐ Title-case fees, processing timelines, encumbrance categories and signatories.
☐ Staff list, departments, roles, approval thresholds and escalation paths.
☐ Data retention, citizen consent, document protection and audit requirements.
Recommended implementation sequence
1. Create and activate a pilot agency in a non-production environment.
2. Configure country, currency, bank account and test payment gateways.
3. Create one pilot program with a small estate and controlled unit inventory.
4. Run a citizen eligibility and application test with non-production identities.
5. Verify documents, score the application and test all allocation methods.
6. Issue an offer, accept it, generate a deposit and installment plan.
7. Test wallet, gateway and bank-transfer payment scenarios.
8. Reconcile test receipts against gateway/TSA records.
9. Complete handover, revoke/decline/expire test cases and unit release.
10. Test title case, inquiry chat, Tax Office and mobile endpoints.
11. Review audit logs, permissions, exports and exception handling before go-live.
|
|
Use individual accounts Every officer should use an individual account. Shared credentials weaken audit history and make it difficult to identify who verified an application, changed a score, allocated a unit, waived an invoice or issued a certificate. |
6 Phase 1 - Create and Activate a Government Agency
|
STEP |
Create an Agency from Super Admin Primary user: Super Admin / Admin |
Use SuperAdminGovAgencyController@store to create the official agency record before programs or estates are published.
|
Field |
Purpose |
Control / example |
|
name |
Full official name. |
Federal Housing Authority. |
|
code |
Unique short code used in references. |
FHA, FMBN, FCTA or FMHUD. |
|
type |
Government-body classification. |
ministry, department, authority, commission or agency. |
|
parent_id |
Optional parent body. |
Use for a sub-agency or department. |
|
country_code |
Country scoping. |
NG or another approved ISO code. |
|
jurisdiction |
State, region or legal authority. |
FCT, Federal, Lagos State, etc. |
|
contact_email / phone |
Official communication. |
Use monitored government contacts. |
|
address / website |
Public agency information. |
Verify before publication. |
|
is_active |
Controls operational access. |
Keep inactive until approval and configuration pass. |
|
metadata |
Additional structured agency data. |
Store only approved, documented keys. |
The Super Admin dashboard can show total, active, pending and deleted agency counts. A soft-delete should be blocked where active programs exist, according to the supplied oversight rules.
|
STEP |
Use Public Agency Self-Registration Primary user: Government Organisation Applicant |
GovAgencyRegistrationController@showRegisterForm and @register allow an agency to submit its own registration. The record remains inactive until approved.
· Use an official organisation email and verifiable contact details.
· Enter the exact legal agency identity and jurisdiction.
· Do not publish programs while the agency is inactive.
· Super Admin verifies and activates the agency before Government Admin access is treated as live.
|
|
Activation control Agency registration is not the same as approval. The platform should prevent an inactive or unverified agency from publishing public programs, collecting money or accessing other agencies' data. |
7 Phase 2 - Configure the Government Portal
|
STEP |
Log in to the Government Portal Primary user: Government Admin / Official |
Use GovAuthController@create and @store. Successful Government-role verification redirects the user to /government/admin/dashboard.
☐ Confirm agency name and code shown on the dashboard.
☐ Confirm jurisdiction, country and operating currency.
☐ Review system alerts and incomplete setup warnings.
☐ Do not continue if the dashboard shows another agency's records.
|
STEP |
Configure Agency Settings Primary user: Government Admin |
Open /government/admin/settings and maintain agency profile, notification preferences and system settings through GovSettingsController@index and @update.
|
Setting area |
Recommended content |
Business control |
|
Agency profile |
Name, code, contacts, address, website, jurisdiction. |
Changes to legal identity require authorised approval. |
|
Country and currency |
Agency country and operating currency. |
Controls visibility, display and payment processing. |
|
Notifications |
Application, allocation, invoice, reconciliation and inquiry alerts. |
Use monitored recipients and escalation groups. |
|
System settings |
Application, allocation, handover and document defaults. |
Document every non-default value. |
|
STEP |
Add and Maintain Agency Bank Accounts Primary user: Finance / Revenue Officer |
Use GovAgencyBankAccountController to add accounts, set one primary and toggle active status.
|
Action |
Route / result |
Control |
|
Add account |
POST /settings/bank-accounts. |
Use account owned or authorised by the agency. |
|
Set primary |
POST /settings/bank-accounts/{id}/set-primary. |
Only one intended primary receiving/payout account. |
|
Toggle active |
POST /settings/bank-accounts/{id}/toggle-active. |
Deactivate obsolete or compromised accounts immediately. |
|
STEP |
Configure Payment Gateways Primary user: Finance / System Administrator |
Use GovAgencyPaymentGatewayController to configure, enable, disable and test gateway status. Remita/TSA is the primary Nigerian government path in the supplied design; Paystack is secondary, with Stripe and Flutterwave also supported in citizen payment flows.
|
Action |
Route |
Required validation |
|
Configure |
POST /settings/payment-gateways/{gateway}/configure. |
Credentials encrypted; correct environment and callback URLs. |
|
Enable |
POST /settings/payment-gateways/{gatewayConfig}/enable. |
Only after a successful test. |
|
Disable |
POST /settings/payment-gateways/{gatewayConfig}/disable. |
Stop new transactions without deleting history. |
|
Check status |
GET /settings/payment-gateways/{gateway}/status. |
Confirm API connectivity, credentials and environment. |
|
|
Never expose credentials Gateway API keys, Remita/TSA credentials and signing secrets must not appear in screenshots, exports, logs, support messages or client-side code. |
8 Phase 3 - Create and Manage Government Programs
|
STEP |
Create a Housing, Mortgage or Land Program Primary user: Program Officer |
Open /government/admin/programs/create and save through GovProgramController@store.
|
Program field |
Purpose |
Operational control |
|
name / code |
Program identity and unique reference. |
Use approved public name and stable code. |
|
type |
housing, mortgage, rent_to_own, allocation or land. |
Select the workflow that matches policy. |
|
agency_id |
Owning agency. |
Must be the authenticated agency. |
|
description |
Public explanation, benefits and process. |
Use plain language and verified claims. |
|
application_fee |
Application processing fee. |
Confirm legal authority and currency. |
|
start / end date |
Application window. |
End must follow start; test timezone. |
|
is_accepting_applications |
Controls submission availability. |
Close immediately when policy requires. |
|
is_featured |
Homepage visibility. |
Use only for approved campaigns. |
|
country_code |
Country scoping. |
Match agency jurisdiction. |
|
metadata |
Currency, payment plan, deposit, installments, frequency, interest, penalty, discount and grace days. |
Treat metadata as binding configuration; review with finance/legal teams. |
|
STEP |
Use AI Auto-Fill and Program Lifecycle Actions Primary user: Program Officer / Approver |
POST /government/admin/programs/ai-autofill is throttled to five requests per minute and can draft program details from a name or description. Staff must review the output before saving or publishing.
|
Action |
Route / behaviour |
|
Activate |
POST /programs/{program}/activate - makes the program operational according to status rules. |
|
Deactivate |
POST /programs/{program}/deactivate - removes it from active use without deleting history. |
|
Close |
POST /programs/{program}/close - stops new applications. |
|
Upload images |
POST /programs/{program}/images - add authorised program media. |
|
Statistics |
GET /programs/{program}/statistics - view program performance. |
|
Eligibility preview |
POST /programs/{program}/check-eligibility - test criteria before public launch. |
|
|
AI does not create policy AI auto-fill may draft a description or suggested values. It must not invent eligibility law, fees, interest rates, allocation priority or statutory identity requirements. Authorised officials remain responsible for the published program. |
9 Phase 4 - Create Estates and Units
Figure 2. Core government record relationships
|
STEP |
Create and Maintain an Estate Primary user: Estate / Asset Officer |
Use GovEstateController@store to create the estate and link it to the correct agency and program.
|
Estate field |
Purpose |
Good practice |
|
name |
Public estate or scheme name. |
Use the approved project identity. |
|
address / city / state |
Physical location. |
Validate jurisdiction and spelling. |
|
country_code |
Country visibility and currency context. |
Match agency/program scope. |
|
agency_id / program_id |
Ownership and program link. |
Do not cross-link another agency. |
|
status |
planning, active, operational, completed or decommissioned. |
Update only through approved lifecycle. |
|
latitude / longitude |
Map position. |
Use verified coordinates. |
|
total_units |
Planned inventory. |
Reconcile to actual unit records. |
· Update estate status through POST /estates/{estate}/status.
· Bulk-create units through POST /estates/{estate}/units/bulk.
· Upload authorised images through POST /estates/{estate}/images.
· Create work orders through POST /estates/{estate}/work-orders.
· Use GET /estates/{estate}/statistics for stock and activity review.
|
STEP |
Create, Publish and Control Units Primary user: Estate / Unit Officer |
Use GovUnitController@store for each apartment, house, bungalow, duplex or flat.
|
Unit field |
Purpose |
Control |
|
unit_number |
Unique identifier within the estate. |
Prevent duplicates. |
|
unit_type |
apartment, house, bungalow, duplex or flat. |
Use the configured taxonomy. |
|
bedrooms / bathrooms |
Layout. |
Use verified specifications. |
|
floor_area_sqm |
Approved floor area. |
Use measured square metres. |
|
price |
Program price. |
Match approved schedule and currency. |
|
status |
available, reserved, allocated or occupied. |
Status determines allocation availability. |
|
is_published |
Citizen-visible toggle. |
Publish only complete, available records. |
|
Unit action |
Result |
|
Publish / Unpublish |
Controls citizen visibility. |
|
Reserve / Release |
Temporarily blocks or returns a unit to availability. |
|
Duplicate |
Copies a similar unit; unique values must be replaced. |
|
Bulk Publish |
Publishes selected verified units. |
|
Create Work Order |
Links operational maintenance to the unit. |
|
|
One physical unit, one record Duplicate unit numbers or stale statuses can cause double allocation and payment disputes. Reconcile the physical inventory before every allocation batch. |
10 Phase 5 - Citizen Discovers Programs, Estates and Units
|
STEP |
Open the Government Portal Landing Page Primary user: Citizen / Applicant |
CitizenPortalController@index resolves the user country code, normalises ISO-2/ISO-3 values, loads country-scoped featured programs and estates, counts available units and shows the citizen's application statistics.
|
Portal card / statistic |
Meaning |
|
Active Programs |
Country-scoped government programs currently available. |
|
Total Estates |
Government estates visible in the user's country. |
|
Available Units |
Published units with status = available. |
|
My Applications |
Applications created by the authenticated citizen. |
|
Converted application fee |
CurrencyExchangeService displays the fee in the citizen's currency where conversion is available. |
|
STEP |
Browse Programs and Understand Agency Requirements Primary user: Citizen / Applicant |
Use /government/programs with agency, program type, accepting-applications and free-text filters. Results are paginated at 12 per page.
|
Agency |
Injected requirement summary |
|
FMBN |
NHF contribution 2.5%; LTV 90%; supplied rates: NHF 6%, Non-NHF 9%, Rent-to-Own 6.5%; tenure 5-30 years; income requirements. |
|
FHA |
Age 21-55; BVN required; scoring weights: income 25%, employment 20%, family 15%, housing 15%, NHF years 15%, credit 10%. |
|
FCTA |
Title types C-of-O, R-of-O and Deed of Assignment; ground-rent schedules; encumbrance checks. |
|
FMHUD |
Age 18-60; NIN required; minimum income NGN 30,000 per month; priority categories. |
|
STEP |
Browse Estates and Available Units Primary user: Citizen / Applicant |
Use /government/estates and /government/units. Estate filters include agency, state, city and search. Unit filters include estate, type, bedrooms and price range. Only available, published units are shown.
|
|
Converted price is informational The official program or unit currency remains the contractual currency unless the agency formally fixes a converted amount. Exchange rates can change between browsing and payment. |
11 Phase 6 - Check Eligibility Before Applying
|
STEP |
Run the Citizen Eligibility Check Primary user: Citizen / Applicant |
POST /government/citizen/check-eligibility submits program, income, employment, family, housing, NHF and credit information to GovApplicationController@checkEligibility.
|
Criterion |
Maximum |
Supplied scoring logic |
|
Income stability |
25 |
At least NGN 200k = 25; 100k = 20; 50k = 15; otherwise 10. |
|
Employment type |
20 |
Federal civil servant = 20; State = 18; Private = 15; Self-employed = 12. |
|
Family size |
15 |
At least 5 = 15; at least 3 = 12; otherwise 8. |
|
Housing status |
15 |
Homeless = 15; Renting = 12; Living with family = 10. |
|
NHF contribution years |
15 |
At least 10 = 15; at least 5 = 12; at least 2 = 8. |
|
Credit history |
10 |
At least 700 = 10; at least 600 = 8; at least 500 = 5. |
The supplied maximum is 100 and the stated minimum threshold to apply is 50. The response contains eligible, score, max_score, agency-specific requirements and recommendations.
|
|
Eligibility check is not allocation A passing preview does not guarantee application approval, unit availability, allocation, financing or title. The citizen must still submit a complete application and pass agency review. |
|
|
Human and legal review Income, employment, family and housing criteria may be regulated and sensitive. The agency must confirm lawful use, transparency, appeals and non-discrimination requirements before production. |
12 Phase 7 - Citizen Submits an Application
|
STEP |
Open the Citizen Dashboard and Application Form Primary user: Citizen / Applicant |
The dashboard shows recent applications, allocations, pending offers and totals. The create action loads the chosen program, active units and agency-specific document requirements, and blocks a duplicate active application for the same program.
☐ Confirm the correct program and optional preferred unit.
☐ Read the official eligibility and document requirements.
☐ Confirm the application window is open.
☐ Check whether an existing active application already exists.
☐ Prepare clear, current documents before starting.
|
STEP |
Submit the Government Application Primary user: Citizen / Applicant |
POST /government/citizen/applications saves the application within a database transaction and stores uploaded files under government/applications/{Y/m}/.
|
Required input |
Rule / purpose |
|
program_id |
Required; identifies the government program. |
|
applicant_nin |
Required; exactly 11 digits in the supplied Nigerian flow. |
|
applicant_phone |
Required contact number. |
|
monthly_income |
Required numeric value in application_data. |
|
employment_type |
Required eligibility field. |
|
family_size |
Required integer. |
|
current_housing_status |
Required eligibility field. |
|
documents |
Optional file array in the supplied validation; agency-specific requirements may make particular files operationally mandatory. |
|
Generated field |
Example / meaning |
|
application_number |
{AGENCY_CODE}-{YEAR}-{NNNNNN}, for example FHA-2026-000001. |
|
status |
submitted on initial save. |
|
application_data |
JSON containing the citizen's eligibility form values. |
|
documents |
JSON array of uploaded paths. |
|
submission_date |
Exact submission timestamp. |
GovApplicationSubmittedMail confirms submission. NigeriaGovernmentAdapter::validateApplication then checks NIN format, agency age range, income minimum for mortgage/rent-to-own and NHF number for FMBN. Validation errors move the application to incomplete and are recorded in verification_notes.
|
|
Document upload control Government applications can contain identity, income and financial records. Restrict file types and size, scan uploads, encrypt storage where supported, and never place direct storage paths in public responses. |
13 Phase 8 - Verify, Review and Score Applications
Figure 3. Application review and allocation status flow
|
STEP |
Review and Filter Applications Primary user: Verification / Program Officer |
GET /government/admin/applications lists agency-scoped applications. Filter by program, status, date range or application number/applicant name/email. Results are paginated at 20 per page.
|
STEP |
Verify Documents and Update Status Primary user: Verification Officer |
POST /government/admin/applications/{application}/verify records verification_status, verification_notes and verified_documents. Verified applications move to under_review; failed verification moves to incomplete.
|
Status |
Operational meaning |
|
submitted |
Application received and awaiting agency action. |
|
under_verification |
Identity and documents are being checked. |
|
under_review |
Verification passed and substantive review is underway. |
|
scored |
Eligibility score calculated and ready for allocation. |
|
approved |
Approved according to the supplied status workflow; an application-fee invoice is generated. |
|
rejected |
Not approved; reason should be recorded. |
|
waitlisted |
Eligible but not immediately allocated. |
|
allocated |
A GovAllocation has been created. |
|
withdrawn |
Citizen withdrew the application. |
|
incomplete |
Nigerian validation or document verification failed. |
GovApplicationStatusMail notifies the citizen whenever the status changes and receives the previous status for context.
|
STEP |
Score One Application or a Batch Primary user: Allocation / Verification Team |
POST /applications/{application}/score calls AllocationEngine@calculateScore. POST /applications/batch-score scores all submitted and under_review applications for a program.
|
Scoring layer |
Supplied contribution |
|
AI base score |
AIEligibilityScoring::calculateAdvancedScore - maximum 1,000 points. |
|
Civil servant bonus |
+100. |
|
First-time owner bonus |
+50. |
|
NHF contributor bonus |
+50. |
|
Nigeria criteria score |
NigeriaGovernmentAdapter::calculateEligibilityScore - maximum 100. |
|
Stored output |
application.eligibility_score; status becomes scored. |
|
|
Confirm the scoring formula The supplied scenario combines an AI base score of up to 1,000, bonuses and a separate 100-point Nigerian score, but does not define the final normalisation formula. Confirm the live implementation and publish an understandable scoring policy before allocation. |
14 Phase 9 - Allocate Units
|
STEP |
Run Automated Allocation Primary user: Allocation Committee / Government Admin |
POST /government/admin/allocations/process sends program_id, method and optional batch_size to GovAllocationController@processAllocations and AllocationEngine@processAllocations.
|
Method |
Ordering rule |
Use case / control |
|
merit |
eligibility_score descending. |
Use where published policy allocates highest scores first. |
|
fifo |
submission_date ascending. |
Use where complete applications are handled first-in, first-out. |
|
ballot |
random order. |
Use only with approved, transparent ballot governance. |
1. Count available units for the selected program.
2. Load applications with status = scored.
3. Order by the selected allocation method.
4. Limit candidates to the available-unit count or approved batch size.
5. For each candidate, open a database transaction and lock an available unit row.
6. Create GovAllocation with offer_issued status and 30-day expiry.
7. Set unit status to allocated and application status to allocated.
8. Record batch_id such as BATCH-{Ymd}.
|
|
Row locking prevents double allocation The allocation engine must select available units using a database row lock and re-check status inside the transaction. A pre-loaded count alone is not sufficient when multiple officers or jobs allocate concurrently. |
|
STEP |
Create a Manual Allocation Primary user: Authorised Allocation Officer |
POST /government/admin/allocations manually matches a specific application_id and unit_id. The unit must be available and the application must not already have an allocation.
|
Generated allocation field |
Meaning |
|
allocation_number |
ALLOC-{YEAR}-{NNNNNN} or the program-code format. |
|
status |
offer_issued. |
|
allocation_date |
Creation date. |
|
expiry_date |
Default 30 days from allocation. |
|
allocation_type |
standard, priority, special or direct. |
|
batch_id |
MANUAL-{Ymd} for the supplied manual flow. |
15 Phase 10 - Issue and Respond to Allocation Offers
Figure 4. Allocation offer, payment plan and handover flow
|
STEP |
Issue, Resend or Expire an Offer Letter Primary user: Government Admin / Allocation Officer |
POST /allocations/{allocation}/issue-offer sets the letter number, issue date, expiry date and offer_issued status, then sends GovAllocationOfferMail. The admin can resend, expire, accept or reject on behalf of the citizen through the supplied routes.
☐ Confirm the citizen, application, program, estate and unit.
☐ Confirm the offer validity period and any deposit deadline.
☐ Review price, payment plan, interest and handover conditions.
☐ Generate the formal offer letter and record its number.
☐ Send to the verified citizen email and retain delivery evidence.
|
STEP |
Citizen Accepts the Offer and Creates a Payment Plan Primary user: Citizen / Applicant |
POST /government/citizen/allocations/{allocation}/accept validates ownership, issued offer and expiry, then reads payment-plan metadata from the program.
|
Calculated item |
Supplied logic |
|
Unit price |
unit.price. |
|
Deposit percent |
metadata.custom_plan_deposit_percent or 10%. |
|
Deposit amount |
unit price x deposit percent / 100. |
|
Loan amount |
unit price - deposit amount. |
|
Monthly rate |
annual interest rate / 100 / 12. |
|
Installment amount |
Amortisation formula using loan amount, monthly rate and installment count. |
|
Schedule |
Up to 360 JSON items with installment number, amount, due date and pending status. |
|
Allocation status |
payment_pending when deposit > 0; otherwise offer_accepted. |
The allocation.payment_plan JSON stores type, label, frequency, installments, installment_amount, loan_amount, deposit_amount, deposit_percent, interest_rate, total_amount, currency and the installment item list. A deposit GovInvoice is generated where required. GovAllocationAcceptedCitizenMail confirms acceptance to the citizen.
|
|
Amortisation requires verification Confirm rounding, zero-interest handling, first due date, last installment adjustment, maximum term, late penalties, early-repayment discount and legal disclosures against the live code and program policy. |
|
STEP |
Citizen Declines the Offer Primary user: Citizen / Applicant |
POST /government/citizen/allocations/{allocation}/decline records offer_rejected, rejection date and reason, releases the unit to available and sends citizen and agency emails.
|
|
Unit release control Do not release the unit before the decline, expiry or revocation transaction completes. Preserve the allocation and offer history; do not delete it. |
16 Phase 11 - Invoices, Payments and Receipts
Figure 5. Government invoice and payment flow
|
STEP |
View and Understand Government Invoices Primary user: Citizen / Finance Officer |
GET /government/citizen/invoices lists GovInvoice records for the authenticated payer. Invoices can be created for application fees, allocation fees, installment payments, title-case fees and annual ground rent.
|
Invoice type |
When created |
|
application_fee |
When the supplied approval workflow creates the application processing fee invoice. |
|
allocation_fee |
When an allocation-level fee is issued. |
|
installment_payment |
When the citizen selects a payment-plan installment. |
|
title_case_fee |
When a title case requires a processing fee. |
|
annual_ground_rent |
For FCTA annual land charges. |
|
STEP |
Pay an Invoice through a Gateway Primary user: Citizen / Payer |
POST /government/citizen/invoices/{invoice}/initiate-payment creates or finds a GovPaymentAttempt with GOV-{UNIQID}, calls PaymentGatewayFactory and redirects to Remita, Paystack, Flutterwave or Stripe. The callback verifies payment before the invoice is marked paid and a receipt is created.
· Select an enabled agency gateway.
· Confirm invoice number, amount and currency.
· Complete payment on the provider page.
· Return to Leaseora and wait for server-side verification.
· Download the GovReceipt only after confirmed payment.
|
STEP |
Pay an Invoice from the Citizen Wallet Primary user: Citizen / Payer |
POST /government/citizen/invoices/{invoice}/pay-with-wallet loads the wallet in the invoice currency, applies FeeCalculationService for government_agency_payment, deducts invoice plus fee, creates a receipt, marks the invoice paid and credits the agency wallet in one transaction.
|
STEP |
Pay by Bank Transfer and Upload Proof Primary user: Citizen / Payer, then Finance Officer |
POST /government/citizen/invoices/{invoice}/bank-transfer stores proof. The admin approves through /government/admin/revenue/bank-transfers/{proof}/approve or rejects through the corresponding reject route.
|
|
Proof is not settlement A screenshot, teller or upload does not prove cleared funds. Finance must match account, amount, currency, reference and value date before approval. |
|
STEP |
Create and Pay a Specific Installment Primary user: Citizen / Payer |
POST /government/citizen/allocations/{allocation}/pay-installment finds the selected installment in payment_plan.items, prevents a duplicate invoice for the same installment number, creates the GovInvoice and redirects to payment.
|
Payment control |
Required behaviour |
|
Idempotency |
Repeated callbacks or clicks must not create duplicate receipts, wallet credits or paid invoices. |
|
Ownership |
Only the payer or authorised officer may view or pay the invoice. |
|
Amount and currency |
Use the stored invoice values, not client-supplied replacements. |
|
Receipt timing |
Generate only after verified settlement or authorised waiver. |
|
Allocation posting |
Deposit/installment status must update the correct allocation and schedule item. |
|
Audit |
Record gateway reference, bank proof, wallet transaction, officer and timestamp. |
17 Phase 12 - Post-Acceptance Allocation and Handover
|
STEP |
Schedule and Complete Handover Primary user: Government Admin / Estate Officer |
Use the supplied allocation actions to schedule handover, mark the unit ready, upload handover documents and complete possession.
|
Action |
Status / record effect |
|
Schedule Handover |
Sets handover_date and moves to the scheduled stage where configured. |
|
Mark Ready for Handover |
Confirms the unit and documents are ready. |
|
Upload Handover Document |
Stores possession/handover evidence. |
|
Complete |
Sets status = handover_completed and sends GovAllocationCompletedMail. |
☐ Confirm required payment or deposit is settled.
☐ Confirm unit identity and physical readiness.
☐ Record inspection, keys, meter readings and defects where applicable.
☐ Upload signed handover evidence.
☐ Confirm citizen and agency copies are accessible.
☐ Update unit occupancy/status according to the live implementation.
|
STEP |
Manage Revocation, Waiver and Manual Payment Actions Primary user: Authorised Government Admin / Finance |
The admin can revoke an allocation, record a payment, waive an invoice with reason, update a due date or issue another allocation invoice.
|
Action |
Control |
|
Revoke |
Record authority and reason; release the unit only after the transaction completes; notify citizen. |
|
Record Payment |
Use only after independently verified settlement. |
|
Waive Payment |
Require written authority, reason and audit; do not issue a paid receipt. |
|
Update Due Date |
Retain previous due date and approval reason. |
|
Issue Invoice |
Confirm type, amount, currency, payer and due date. |
|
|
Manual changes affect public money Waivers, manual payments, due-date changes and revocations can affect revenue and citizen rights. Restrict them to authorised roles and require an audit reason. |
18 Phase 13 - Revenue, Reconciliation and Agency Wallet
Figure 6. Agency revenue, TSA reconciliation and payout
|
STEP |
Use the Agency Revenue Dashboard Primary user: Finance / Revenue Officer |
GET /government/admin/revenue shows all-time revenue, revenue this month, pending invoice count and pending amount. AJAX endpoints provide live statistics and a 12-month trend.
|
Metric |
Source / question answered |
|
Total revenue |
SUM(GovReceipt.amount) - how much verified revenue has been receipted? |
|
Revenue this month |
Current-month GovReceipt total. |
|
Pending invoice count |
How many issued obligations remain unsettled? |
|
Pending invoice amount |
What value remains outstanding? |
|
Monthly trend |
How is verified revenue changing over 12 months? |
|
STEP |
Perform Remita/TSA Reconciliation Primary user: Finance / Reconciliation Officer |
POST /government/admin/revenue/reconciliations compares Remita/TSA credited amounts with Leaseora GovReceipt records and creates GovReconciliation records.
|
Status |
Meaning |
Required action |
|
matched |
TSA amount equals system amount. |
Close with references retained. |
|
variance_detected |
Amount differs. |
Investigate gateway, receipt, timing, duplicate or missing transaction. |
|
pending_review |
Unmatched transaction. |
Assign to an officer and resolve. |
TSA variances from the last seven days are surfaced as a system alert through the supplied dashboard logic.
|
STEP |
Manage the Agency Wallet and Payouts Primary user: Finance / Agency Admin, Super Admin for payout approval |
The agency wallet receives eligible citizen-payment credits. It provides balance, transactions, payout requests and cancellation. Super Admin GovAgencyPayoutController manages agency withdrawal requests.
|
Wallet operation |
Route / behaviour |
|
View balance |
GET /wallet/balance. |
|
Request withdrawal |
POST /wallet/withdraw. |
|
Cancel payout |
POST /wallet/payouts/{payout}/cancel. |
|
Transactions |
GET /wallet/transactions. |
|
Payouts |
GET /wallet/payouts. |
|
Credit webhook |
POST /api/government/webhooks/credit - gateway success. |
|
Payout webhook |
POST /api/government/webhooks/payout - transfer result. |
|
|
Reconciliation source of truth Match the GovInvoice, payment attempt, gateway or TSA reference, GovReceipt, agency-wallet entry and payout. A dashboard total alone is not a complete reconciliation. |
19 Phase 14 - Manage FCTA Title Cases
Figure 7. FCTA title case and encumbrance workflow
|
STEP |
Citizen Files a Title Case Primary user: Citizen / Landholder |
POST /government/citizen/title-cases creates a request for legal search, survey verification, certificate issuance, transfer or rectification according to the supplied FCTA flow.
|
Service |
Supplied fee |
|
Legal Search |
NGN 50,000. |
|
Survey Plan Verification |
NGN 30,000. |
|
Certificate Issuance |
NGN 100,000. |
|
Title Transfer |
NGN 150,000. |
|
Title Rectification |
NGN 75,000. |
The supplied processing durations are 14 days for legal search and 30 days for certificate issuance. Confirm current statutory fees and timelines before publication.
|
STEP |
Verify, Check Encumbrances and Issue a Certificate Primary user: Land / Title Officer |
The admin can update status, verify, run encumbrance checks, assign an officer and issue the certificate.
|
Encumbrance check |
Purpose |
|
Existing mortgages |
Identify registered lender interests. |
|
Court orders |
Identify restrictions or litigation. |
|
Government acquisition notices |
Identify compulsory acquisition or public interest restrictions. |
|
Boundary disputes |
Identify survey or neighbouring-title conflicts. |
|
Unpaid ground rent |
Identify outstanding statutory charges. |
GET /government/land-admin-rules returns JSON of FCTA land-use zones, ground-rent schedules, title types and processing timelines.
|
|
Title data requires legal authority Leaseora supports workflow and evidence management. It does not itself create legal title unless the authorised government process and signatory requirements are satisfied. |
20 Phase 15 - Maintain the Government Asset Registry
|
STEP |
Register Government-Owned Assets Primary user: Government Asset / Estate Officer |
GovAssetController is a resource controller for /government/admin/assets. Use it to track government land parcels, buildings and infrastructure linked to programs, estates or allocations.
|
Asset-data area |
Recommended content |
|
Identity |
Asset name, code, type and official reference. |
|
Ownership / custody |
Agency, department and responsible officer. |
|
Location |
Address, state, country, coordinates and survey reference. |
|
Program linkage |
Related program, estate, unit or allocation. |
|
Status |
Operational, planned, under development, disposed or other approved state. |
|
Documents |
Title, survey, valuation, inspection and maintenance evidence. |
|
Financial data |
Approved value, revenue or cost fields where configured. |
|
Audit |
Creation, modification, assignment and disposal history. |
|
|
Asset registry is not a substitute for title registration Use the asset registry as the operational record. Preserve the underlying statutory title and land-administration documents in the appropriate legal workflow. |
21 Phase 16 - Respond to Citizen Inquiries
|
STEP |
Use the Government Inquiry Inbox Primary user: Citizen Support / Government Admin |
GovernmentInquiryInboxController provides a real-time inbox for questions about programs, applications and allocations.
|
Action |
Route / behaviour |
|
View all |
GET /government/admin/support/inquiries. |
|
Unread count |
GET /support/inquiries/unread-count. |
|
Open inquiry |
GET /support/inquiries/{roomId}. |
|
Reply |
POST /support/inquiries/{roomId}/reply. |
|
Resolve |
PATCH /support/inquiries/{roomId}/resolve. |
|
Reopen |
PATCH /support/inquiries/{roomId}/reopen. |
· Confirm the citizen and record context before replying.
· Do not disclose another applicant's data.
· Explain status; do not promise approval or allocation.
· Escalate legal, payment, identity or fraud questions to the correct officer.
· Resolve only when the question is answered and no action remains.
22 Phase 17 - Tax Office Sub-Portal
|
STEP |
Review Landlord Tax and Compliance Records Primary user: Tax Office User |
Use /government/tax-office to access dashboards, tax records, exports, landlord compliance, tax history, properties, flags, reconciliation and analytics.
|
Feature |
Route / management question |
|
Dashboard |
/tax-office/dashboard - current workload and risk. |
|
Tax records |
/tax-records and /tax-records/{id} - individual records. |
|
Export |
/tax-records/export - authorised reporting. |
|
Landlord compliance |
/landlords and /landlords/{id}/compliance. |
|
Tax history |
/landlords/{id}/tax-history. |
|
Properties |
/properties - property-level tax context. |
|
Compliance flags |
/compliance-flags - unresolved risks. |
|
Reconciliation |
/reconciliation - compare tax/payment records. |
|
Revenue analytics |
/analytics/revenue. |
|
Compliance analytics |
/analytics/compliance. |
|
STEP |
Use Tax Office AI Analytics Primary user: Tax Analyst / Authorised Official |
TaxAIAnalyticsController supports an AI dashboard, risk assessment, revenue forecast, anomaly detection, chatbot and AI reports.
|
AI feature |
Route |
Required human review |
|
Analytics dashboard |
/tax-office/ai/analytics-dashboard. |
Check source completeness and reporting period. |
|
Risk assessment |
/tax-office/ai/risk-assessment. |
Do not treat risk as final liability or guilt. |
|
Revenue forecast |
/tax-office/ai/revenue-forecast. |
Compare with approved budget and economic assumptions. |
|
Anomaly detection |
/tax-office/ai/anomaly-detection. |
Investigate before enforcement. |
|
AI chatbot |
/tax-office/ai/chatbot. |
Do not expose taxpayer data in uncontrolled prompts. |
|
AI reports |
/tax-office/ai/reports. |
Authorised officer signs off formal reports. |
|
|
AI is decision support AI can identify patterns and prepare summaries. It must not issue a tax assessment, reject an application, allocate a unit, find fraud or determine title without the authorised human and legal process. |
23 Phase 18 - Super Admin Oversight
|
STEP |
Manage Agencies and Global Government Statistics Primary user: Super Admin / Admin |
Use /superadmin/gov-agencies to list, create, view, update, activate, deactivate and soft-delete agencies. Deletion is blocked where active programs exist in the supplied design.
|
Global metric |
Source / oversight use |
|
Total / active agencies |
GovAgency counts. |
|
Active programs |
GovProgram where status = active. |
|
Estates / units |
GovEstate and GovUnit counts. |
|
Pending applications |
GovApplication in submitted or under_review. |
|
Total revenue |
SUM GovReceipt.amount. |
|
TSA variances |
GovReconciliation where variance_detected. |
|
STEP |
Review System Alerts, AI Recommendations and Agency Payouts Primary user: Super Admin / Government Platform Operations |
The dashboard creates rule-based recommendations from real thresholds and GovAgencyPayoutController manages withdrawal requests.
|
Supplied condition |
Recommendation |
|
pending_applications > 20 |
Allocate more resources to the Verification Team. |
|
pending_invoices_amount > 1,000,000 |
Initiate automated payment reminders. |
|
units_available < 10 |
Accelerate new unit publishing. |
|
Otherwise |
System operating optimally. |
|
|
Thresholds are operational prompts These recommendations are simple supplied thresholds, not statutory decisions. Super Admin should confirm agency capacity, data freshness and local policy before acting. |
24 Phase 19 - Mobile Citizen Services and Webhooks
|
STEP |
Use the Government Mobile API Primary user: Citizen / Mobile App |
GovernmentMobileController mirrors public browsing and authenticated citizen functions under /api/mobile/government.
|
Endpoint |
Access |
Purpose |
|
GET /programs |
Public |
Browse programs. |
|
GET /programs/{program} |
Public |
Program detail. |
|
GET /estates |
Public |
Browse estates. |
|
GET /estates/{estate} |
Public |
Estate detail. |
|
GET /units |
Public |
Browse available units. |
|
GET /units/{unit} |
Public |
Unit detail. |
|
GET /citizen/dashboard |
Sanctum |
Citizen dashboard. |
|
GET /citizen/applications |
Sanctum |
My applications. |
|
POST /citizen/applications |
Sanctum |
Submit application. |
|
GET /citizen/allocations |
Sanctum |
My allocations. |
|
POST /citizen/check-eligibility |
Sanctum |
Eligibility check. |
The supplied mobile controller also includes payment orchestration, invoice generation and allocation acceptance mirroring GovRevenueController. The CSRF-exempt credit and payout webhooks remain server endpoints and must validate provider signatures.
|
|
Mobile parity does not reduce controls Ownership, profile verification, country scoping, payment verification, duplicate prevention and agency isolation must be identical across web and mobile APIs. |
25 Status Lifecycles and Record Relationships
|
Record |
Key statuses supplied |
Operational meaning |
|
GovAgency |
active/inactive; status may also be present. |
Controls agency access and publication. |
|
GovProgram |
active/deactivated/closed; application flags. |
Controls visibility and submissions. |
|
GovEstate |
planning, active, operational, completed, decommissioned. |
Estate development/operating state. |
|
GovUnit |
available, reserved, allocated, occupied. |
Allocation availability and possession. |
|
GovApplication |
submitted, under_verification, under_review, scored, approved, rejected, waitlisted, allocated, withdrawn, incomplete. |
Citizen application lifecycle. |
|
GovAllocation |
offer_issued, payment_pending, offer_accepted, offer_rejected, offer_expired, handover_scheduled, ready_for_handover, handover_completed, revoked. |
Offer, payment and possession lifecycle. |
|
GovInvoice |
draft, issued, sent, pending, paid, overdue, cancelled, waived. |
Government payment obligation. |
|
GovReconciliation |
matched, variance_detected, pending_review. |
TSA/system comparison. |
|
|
Confirm exact enum values The guide preserves the status names supplied. Validate the live database enums, transition guards and notification behaviour before staff training. |
26 Notification and Email Matrix
|
Notification / mail |
Recipient |
Trigger / purpose |
|
GovApplicationSubmittedMail |
Citizen |
Application saved. |
|
GovApplicationStatusMail |
Citizen |
Application status changed. |
|
GovAllocationOfferMail |
Citizen |
Formal allocation offer issued or resent. |
|
GovAllocationAcceptedMail |
Agency Admin |
Citizen accepted the allocation. |
|
GovAllocationAcceptedCitizenMail |
Citizen |
Acceptance confirmation. |
|
GovAllocationDeclinedCitizenMail |
Citizen |
Citizen copy of decline. |
|
GovAllocationDeclinedMail |
Agency Admin |
Citizen declined the allocation. |
|
GovAllocationRevokedMail |
Citizen |
Allocation revoked. |
|
GovAllocationCompletedMail |
Citizen |
Handover completed. |
|
Invoice reminder |
Citizen |
GovRevenueController sends payment reminder. |
|
Bank-proof rejection / approval notification |
Citizen |
Admin verifies bank transfer. |
|
System alert |
Government Admin / Super Admin |
High pending applications, revenue, low stock or TSA variance. |
|
|
Notification is not the legal record Email or in-app delivery supports communication. The authoritative status, offer, invoice, receipt, allocation and title records remain in the database and stored documents. |
27 Staff Permissions and Segregation of Duties
|
Role |
Typical access |
Control point |
|
Agency Administrator |
Agency setup, staff, programs and dashboard. |
Does not independently reconcile money or issue title without authority. |
|
Program Officer |
Program terms, dates, fees, images and statistics. |
No unilateral allocation or waiver. |
|
Verification Officer |
Application identity, documents and notes. |
Cannot edit scores or allocate units without separate permission. |
|
Allocation Officer |
Score review, process allocation, offers and status. |
Cannot change unit price/payment settlement. |
|
Estate / Unit Officer |
Estates, units, publication, reservation and work orders. |
Cannot approve citizen applications. |
|
Finance Officer |
Invoices, payment verification, receipts, reconciliation and wallet. |
Cannot alter eligibility or allocation policy. |
|
Land / Title Officer |
Title cases, encumbrances and certificate workflow. |
Uses approved legal authority and signatory. |
|
Tax Analyst |
Tax records, compliance, flags, reconciliation and analytics. |
No access to unrelated government applications. |
|
Citizen Support |
Inquiry responses and guidance. |
Cannot approve, reject, allocate, waive or verify settlement. |
|
Super Admin |
Platform configuration, agency management and payouts. |
Agency statutory decisions remain with authorised government officials. |
Minimum security practices
· Individual accounts and multi-factor authentication where available.
· Least-privilege permissions and agency isolation.
· Immediate access removal when employment or assignment ends.
· Encryption for credentials and sensitive citizen documents.
· Audit reasons for status, score, allocation, waiver, revocation and reconciliation changes.
· Restricted exports containing NIN, income, tax, title or payment data.
· Webhook signature validation, idempotency and replay protection.
· Periodic permission, bank-account and gateway review.
28 Dashboards, Reports and Management Review
|
Dashboard / report |
Management question answered |
|
Agency dashboard |
Is the agency configured, active and operating within its jurisdiction? |
|
Program statistics |
How many applications, approvals, allocations and available units exist? |
|
Estate / unit statistics |
What stock is planned, published, reserved, allocated or occupied? |
|
Application pipeline |
What is submitted, incomplete, under review, scored, approved or waitlisted? |
|
Allocation batch |
Which method, score, unit and batch produced each offer? |
|
Revenue dashboard |
What is receipted, pending, overdue and collected this month? |
|
TSA reconciliation |
Which transactions match and which have variance? |
|
Agency wallet / payouts |
What balance and withdrawal obligations exist? |
|
Title cases |
What is pending verification, encumbered or ready for certificate? |
|
Tax Office analytics |
Which landlords, properties or records require compliance review? |
|
Super Admin overview |
Which agencies, programs, applications, revenue or variances need attention? |
Recommended review cadence
|
Frequency |
Review |
|
Daily |
New applications, verification backlog, expiring offers, pending bank proofs, failed gateway attempts, urgent inquiries and TSA variances. |
|
Weekly |
Program windows, available units, scored applications, allocation batches, overdue invoices, title cases and staff workload. |
|
Monthly |
Revenue, reconciliation, wallet/payouts, allocation outcomes, handovers, application demographics and unit inventory. |
|
Quarterly |
Program policy, scoring fairness, access permissions, gateway/bank configuration, title timelines and tax-compliance trends. |
|
Before allocation batch |
Available units, eligible/scored list, method approval, conflict checks and database backup. |
|
Before handover |
Payment, receipt, unit readiness, documents, inspection, identity and appointment. |
29 Worked Examples
Example 1 - FMHUD Featured Housing Program
|
Stage |
What happens |
|
Agency |
FMHUD agency is active, country NG and currency NGN. |
|
Program |
A featured housing program is created with application window and NGN fee. |
|
Stock |
Estate and published available units are linked. |
|
Citizen |
A verified citizen checks eligibility, enters 11-digit NIN and submits documents. |
|
Review |
Agency verifies and scores; citizen meets threshold. |
|
Allocation |
Merit process creates an offer for an available unit. |
|
Acceptance |
Citizen accepts, deposit invoice is generated. |
|
Payment |
Citizen pays through Remita; callback is verified and receipt issued. |
|
Handover |
Agency schedules and completes handover with documents. |
Example 2 - FHA Allocation with Waitlist
An FHA program receives more scored applications than units. The published criteria include age 21-55, BVN and the supplied weighted factors. The allocation engine selects the number of candidates that matches available units; remaining eligible citizens can be waitlisted. Each decision preserves score, method, batch and unit availability.
Example 3 - FMBN Mortgage / Rent-to-Own Program
The program injects NHF, LTV, rate and tenure information. A citizen provides NHF contribution history and income. After approval and allocation, the citizen accepts a payment plan, pays the deposit and then creates individual installment invoices from allocation.payment_plan. Finance reconciles every receipt.
Example 4 - FCTA Title Transfer
A citizen files a title-transfer case, receives the supplied NGN 150,000 fee invoice, pays, and the officer checks existing mortgage, court order, acquisition notice, boundary dispute and ground rent. When cleared, the authorised certificate or transfer evidence is issued and retained.
Example 5 - TSA Reconciliation Variance
Leaseora shows NGN 5,000,000 in GovReceipts while Remita/TSA reports NGN 4,950,000 for the same period. GovReconciliation records variance_detected. Finance investigates fee/net settlement, timing, duplicate or missing reference before closing. The dashboard alert remains until resolved.
30 Government Agency Onboarding Checklist
Agency and policy setup
☐ Agency legal name, code, type, parent and jurisdiction approved.
☐ Country, currency and public contact details confirmed.
☐ Government Admin and officer accounts created with individual access.
☐ Program policy, fees, dates and eligibility rules approved.
☐ Allocation method and committee authority documented.
☐ Offer, payment-plan, handover and revocation policy approved.
☐ Title-case rules, fees and signatories approved.
☐ Tax Office scope and permissions approved.
Finance and technology setup
☐ Primary agency bank account configured and independently verified.
☐ Remita/TSA and secondary gateway credentials tested.
☐ Gateway callbacks and government webhooks verified and signed.
☐ Agency wallet and payout approval configured.
☐ Invoice, receipt and reconciliation formats approved.
☐ Email delivery, support inbox and notification recipients tested.
☐ Mobile APIs tested with public and Sanctum-authenticated scenarios.
☐ Backup, audit, incident response and support contacts documented.
Data migration / pilot
☐ Estate register cleaned and approved.
☐ Unit numbers, prices, statuses and publication reconciled.
☐ Existing applications and allocations mapped where migration applies.
☐ Open invoices, receipts and TSA records reconciled.
☐ One pilot program and small unit batch selected.
☐ Success measures and go-live gate approved.
31 User Acceptance Testing and Go-Live Validation
|
Test area |
Test case |
Expected result |
|
Agency isolation |
Government Admin tries another agency record. |
Access denied; no data leakage. |
|
Agency setup |
Create, activate and configure agency. |
Correct dashboard and jurisdiction. |
|
Bank / gateway |
Add account; configure/test Remita and secondary gateway. |
Secure successful connection. |
|
Program |
Create, AI-draft, review, activate, close. |
Correct data and application availability. |
|
Estate / units |
Create estate, bulk units, publish/reserve/release. |
Unique inventory and correct statuses. |
|
Citizen browse |
Browse programs, estates and units by country. |
Only eligible public records shown. |
|
Eligibility |
Test score below and above threshold. |
Correct score, requirement and recommendation. |
|
Application |
Submit valid and invalid NIN/document cases. |
Confirmation or incomplete with notes. |
|
Verification |
Verify and fail document review. |
Correct status and audit. |
|
Scoring |
Single and batch scoring. |
Reproducible score and status. |
|
Allocation |
Merit, FIFO, ballot and manual under concurrency. |
No duplicate unit allocation. |
|
Offer |
Issue, resend, expire, accept and decline. |
Correct emails, status and unit release. |
|
Payment plan |
Accept with deposit, interest and installments. |
Correct JSON schedule and invoice. |
|
Gateway payment |
Pay test invoice and replay callback. |
One receipt and one agency credit only. |
|
Wallet payment |
Pay invoice plus fee. |
Correct debit, fee, receipt and agency credit. |
|
Bank transfer |
Upload proof; approve and reject. |
Pending until authorised settlement review. |
|
Handover |
Schedule, mark ready, upload, complete. |
Timeline and documents complete. |
|
Revenue |
Dashboard and monthly trend. |
Totals reconcile with receipts. |
|
TSA reconciliation |
Matched and variance cases. |
Correct status and alerts. |
|
Title case |
File, pay, verify, encumbrance, certificate. |
Full controlled history. |
|
Tax Office |
Review and export authorised records. |
No unrelated data access. |
|
Mobile API |
Public browse and protected actions. |
Parity with web and correct auth. |
|
Notifications |
Trigger every supplied mail. |
Correct recipient and context. |
|
|
Go-live gate Do not place live citizens, public money or allocation stock into production until agency isolation, unit concurrency, payment verification, receipt generation, reconciliation, offer expiry, permission and audit tests pass. |
32 Common Issues and Troubleshooting
|
Issue |
Recommended action |
|
Government user cannot access dashboard |
Confirm active agency, Government role and government middleware. |
|
Admin sees another agency's data |
Stop use immediately; review government_isolation on all routes and queries. |
|
Program not visible |
Confirm active status, country, dates, featured/public flags and application acceptance. |
|
Estate or unit missing |
Confirm country scope, estate status, unit available status and is_published. |
|
Eligibility result unexpected |
Review inputs, agency adapter rules, threshold and scoring version. |
|
Duplicate application blocked |
Check for existing active application in the same program. |
|
Application becomes incomplete |
Review NIN format, age, income, NHF and verification_notes. |
|
Score seems inconsistent |
Review AI base, bonuses, Nigeria score and normalisation implementation. |
|
Allocation does not run |
Confirm scored applications, available units, method and permissions. |
|
Unit allocated twice |
Review row locking, transactions and status re-check. |
|
Citizen cannot accept offer |
Confirm ownership, issue fields, expiry, allocation status and profile. |
|
Payment plan wrong |
Review metadata, deposit, interest, term, first date and rounding. |
|
Gateway shows success but invoice pending |
Check server verification, callback reference, webhook and provider status. |
|
Bank proof uploaded but unpaid |
Finance must verify cleared funds and approve. |
|
Wallet payment fails |
Check currency wallet, invoice amount, fee and balance. |
|
Receipt duplicated |
Review callback idempotency and unique transaction constraints. |
|
TSA variance alert |
Compare receipt/gateway/TSA amount, net fees, date and reference. |
|
Unit not released after decline/revoke |
Complete approved status transaction and update unit availability. |
|
Title case delayed |
Review assigned officer, required evidence, fee and encumbrance result. |
|
Mobile result differs from web |
Compare country, auth, ownership and service calls. |
|
AI output seems wrong |
Use source data and policy; disregard unsupported AI output. |
|
|
Support information to include Provide agency, program, estate, unit, application/allocation/invoice reference, affected user, date/time, route/action, expected result, actual result and a redacted screenshot. Never send full NIN, gateway credentials or unredacted financial documents. |
33 Frequently Asked Questions
Can any landlord create a government agency?
No. Agency creation is a Super Admin or approved self-registration workflow. The account must be activated and hold a Government role.
Can a real estate company use the module?
Only when formally authorised within the government agency workflow and given the required role and agency-scoped permissions.
Can citizens browse without logging in?
The supplied overview says public browsing is available, while one route note applies auth to /government. Confirm the live middleware and publish the correct rule.
Does an eligibility score guarantee allocation?
No. It is a preliminary or scoring input; approval, available units and the allocation method still apply.
Can one citizen submit two active applications to the same program?
The create flow blocks a duplicate active application for the same program.
What allocation methods are supported?
Merit, FIFO, ballot and manual allocation.
Can an officer manually allocate a unit?
Yes, if authorised, the unit is available and the application has no allocation.
How long is an offer valid?
The supplied default is 30 days, but program policy or admin configuration may determine the actual period.
Can the citizen pay in installments?
Yes, when the program metadata creates a payment plan. Each installment can generate its own invoice.
Which payment methods are supported?
Remita/TSA, Paystack, Stripe, Flutterwave, wallet and bank transfer are described.
Does bank proof mean payment is complete?
No. An authorised officer must verify cleared funds.
Can an invoice be waived?
Yes through an authorised admin action with a recorded reason.
What happens when an offer is declined or expires?
The allocation records the outcome and the unit is released to available after the workflow completes.
What is TSA reconciliation?
It compares Remita/TSA credited amounts with Leaseora GovReceipt totals and records matched, variance or pending-review results.
Does the module issue land title automatically?
No. It manages the authorised title-case workflow, evidence, checks and certificate record.
What does the Tax Office see?
Authorised tax records, landlord compliance, properties, flags, reconciliation and analytics according to permission.
Can AI approve an application or tax case?
No. AI supports auto-fill, scoring inputs and analytics; human statutory decision remains required.
Is the mobile app equivalent to web?
The supplied GovernmentMobileController mirrors core citizen browsing, applications, allocations and payment orchestration, subject to the same controls.
34 Quick Reference - 43 Operational Steps
1. Create the GovAgency from Super Admin.
2. Approve a self-registered agency.
3. Government Admin logs in.
4. Configure agency settings.
5. Add and verify agency bank accounts.
6. Configure and test Remita/TSA and other gateways.
7. Create the government program.
8. Review AI auto-fill and activate/close the program.
9. Create the estate.
10. Create, publish and control units.
11. Citizen opens the government portal.
12. Citizen browses programs and agency requirements.
13. Citizen browses estates and available units.
14. Citizen checks eligibility.
15. Citizen opens dashboard and application form.
16. Citizen submits NIN, data and documents.
17. Agency lists and filters applications.
18. Officer verifies documents and changes status.
19. Officer scores one or batches applications.
20. Run merit, FIFO or ballot allocation.
21. Create a manual allocation when authorised.
22. Issue, resend or expire the offer letter.
23. Citizen accepts and receives payment plan/deposit invoice.
24. Citizen declines and unit is released.
25. Citizen views invoices.
26. Citizen pays through gateway.
27. Citizen pays through wallet.
28. Citizen uploads bank-transfer proof.
29. Citizen creates and pays an installment invoice.
30. Agency schedules and completes handover.
31. Agency manages revocation, waiver and manual payment actions.
32. Finance reviews the revenue dashboard.
33. Finance performs Remita/TSA reconciliation.
34. Agency manages wallet and payout requests.
35. Citizen files a title case.
36. Title officer verifies, checks encumbrance and issues certificate.
37. Agency maintains the asset registry.
38. Citizen support manages inquiry chat.
39. Tax Office reviews tax/compliance records.
40. Tax Office uses AI analytics with human review.
41. Super Admin oversees agencies and global statistics.
42. Super Admin reviews alerts and agency payouts.
43. Mobile app uses public and authenticated Government APIs.
35 Technical Reference - Core Models
|
Model / table |
Purpose and key fields |
|
GovAgency / gov_agencies |
name, code, type, parent, country, jurisdiction, active/status, currency, metadata. |
|
GovProgram / gov_programs |
agency, name/code/type, fee, dates, accepting/featured, country, payment-plan metadata. |
|
GovEstate / gov_estates |
agency/program, location, status, total units, coordinates. |
|
GovUnit / gov_units |
estate, unit number/type, bedrooms/bathrooms, area, price, status, publication. |
|
GovApplication / gov_applications |
application number, citizen, program/unit, NIN, JSON data/documents, status, score and timeline. |
|
GovAllocation / gov_allocations |
application, unit, program, offer, acceptance, payment plan, handover, batch, approval and status. |
|
GovInvoice / gov_invoices |
agency, polymorphic invoiceable, type/category, payer, amounts, status, issue/due/paid dates, metadata. |
|
GovReceipt / gov_receipts |
invoice, agency, amount, currency, method, receipt number, paid date and reference. |
|
GovReconciliation / gov_reconciliations |
TSA amount, system amount, variance and status. |
|
GovAgencyBankAccount |
Agency receiving/payout account and primary/active controls. |
|
GovAgencyPaymentGateway |
Agency-specific gateway configuration and active state. |
|
GovPaymentAttempt |
Gateway payment attempt and GOV reference. |
|
GovAllocation activity / timeline records |
Actor, date, status transition and description as assembled by the controller. |
|
GovTitleCase |
Citizen title request, fee, documents, status, officer, encumbrances and certificate. |
|
GovAsset |
Government land, building or infrastructure asset. |
|
Government inquiry ChatRoom / messages |
Citizen and government support conversation context. |
36 Technical Reference - Controllers and Services
|
Class |
Responsibility |
|
GovAuthController |
Government login/logout and role redirect. |
|
GovAgencyRegistrationController |
Public agency self-registration. |
|
GovAgencyController |
Agency CRUD, dashboard stats, alerts and AI recommendations. |
|
SuperAdminGovAgencyController |
Platform agency creation, activation, deactivation and oversight. |
|
GovSettingsController |
Agency portal settings. |
|
GovProgramController |
Program CRUD, AI auto-fill, activation, closure and statistics. |
|
GovEstateController |
Estate CRUD, bulk units, work orders, images and statistics. |
|
GovUnitController |
Unit CRUD, publish, reserve, release, duplicate and bulk actions. |
|
CitizenPortalController |
Country-scoped landing, programs, estates, units, citizen dashboard and requirement injection. |
|
GovApplicationController |
Eligibility, application submission, admin review, verification, status, scoring and batch scoring. |
|
GovAllocationController |
Automated/manual allocation, offers, citizen response, installment invoice and handover actions. |
|
GovRevenueController |
Invoices, gateway/wallet/bank payments, callbacks, receipts, reconciliation and reports. |
|
GovTitleCaseController |
Title-case filing, status, verification, encumbrances, assignment and certificate. |
|
GovAssetController |
Government asset registry. |
|
GovAgencyBankAccountController |
Agency bank accounts. |
|
GovAgencyPaymentGatewayController |
Per-agency gateway setup and status. |
|
GovAgencyWalletController |
Agency wallet, withdrawals, transactions, payouts and webhooks. |
|
GovAgencyPayoutController |
Super Admin agency payout management. |
|
GovernmentInquiryInboxController |
Government inquiry chat. |
|
GovernmentMobileController |
Mobile citizen portal and payment orchestration. |
|
AllocationEngine |
Scoring integration and concurrent allocation processing. |
|
NigeriaGovernmentAdapter |
FMHUD/FHA/FMBN/FCTA rules, validation, scoring and Remita config. |
|
CurrencyExchangeService |
Display conversion for citizen-facing program/unit values. |
|
PaymentGatewayFactory |
Creates configured Remita/Paystack/Flutterwave/Stripe processors. |
|
FeeCalculationService |
Government wallet payment fee configuration. |
|
Tax Office controllers |
Tax records, compliance, properties, flags, reconciliation, analytics, AI and exports. |
37 Technical Reference - Controller Actions by Functional Area
|
Functional area |
Key actions / routes |
|
Agency setup |
POST /superadmin/gov-agencies; GET/POST /government/register; activate/deactivate. |
|
Government login |
GovAuthController@create / @store. |
|
Settings |
GovSettingsController@index / @update. |
|
Bank accounts |
add, set-primary, toggle-active. |
|
Payment gateways |
configure, enable, disable, status. |
|
Programs |
create/store, ai-autofill, activate, deactivate, close, images, statistics, eligibility preview. |
|
Estates |
store, status, bulk units, images, work orders, statistics. |
|
Units |
store, publish, unpublish, reserve, release, duplicate, bulk-publish, work orders. |
|
Citizen browse |
CitizenPortalController@index, @programs, estates and units actions. |
|
Eligibility / application |
checkEligibility, create, store, citizen dashboard. |
|
Admin application |
index, verify, status, score, batch-score. |
|
Allocation |
processAllocations, store manual, issue/resend/expire, admin accept/reject. |
|
Citizen offer |
accept, decline, payInstallment. |
|
Allocation admin |
complete, revoke, record-payment, waive-payment, update-payment-due, schedule/ready/upload handover, invoices. |
|
Citizen invoice |
myInvoices, initiatePayment, payment callback, payWithWallet, bankTransfer. |
|
Bank proof review |
approve / reject under government admin revenue. |
|
Revenue |
dashboard, AJAX stats/trend, performReconciliation. |
|
Agency wallet |
balance, withdraw, cancel payout, transactions, payouts. |
|
Webhooks |
/api/government/webhooks/credit and /payout. |
|
Title cases |
citizen store; admin index, status, verify, encumbrances, assign, certificate. |
|
Land rules |
GET /government/land-admin-rules. |
|
Assets |
GovAssetController resource. |
|
Inquiries |
index, unread, show, reply, resolve, reopen. |
|
Tax Office |
dashboard, records, export, compliance, history, properties, flags, reconciliation, analytics and AI routes. |
|
Mobile |
GovernmentMobileController public browse and Sanctum citizen endpoints. |
38 Technical Reference - Payment, Receipt and Reconciliation Controls
|
Control point |
Required behaviour |
|
Invoice amount |
Use stored total_amount and currency; ignore client modifications. |
|
Gateway session |
Include invoice, citizen, agency, amount, currency and unique GOV reference. |
|
Gateway verification |
Verify server-side and process callback/webhook idempotently. |
|
Wallet payment |
Check balance; calculate fee; debit, receipt and agency credit atomically. |
|
Bank evidence |
Store proof in pending state; verify bank settlement before approval. |
|
GovReceipt |
Create once after paid status; use unique receipt and transaction references. |
|
Agency wallet credit |
Prevent duplicate credit on callback replay. |
|
Installment posting |
Use metadata.installment_number and prevent duplicate invoice/payment. |
|
Waiver |
Use waived status and authority/reason; distinguish from paid. |
|
Reconciliation |
Match invoice, attempt, receipt, gateway/TSA, wallet and payout. |
|
Webhook security |
Validate signature, timestamp, environment and replay. |
|
Payout |
Approve within available settled balance and record bank result. |
39 Technical Reference - Allocation, Scoring and Concurrency
|
Control point |
Required behaviour |
|
Candidate set |
Only applications eligible under the approved status and program. |
|
Available stock |
Count and select units belonging to the program and agency. |
|
Method approval |
Store merit, FIFO, ballot or manual method and decision authority. |
|
Score version |
Retain scoring inputs, formula/version and output. |
|
Row lock |
SELECT available unit FOR UPDATE inside the allocation transaction. |
|
Re-check |
Confirm unit is still available and application has no allocation. |
|
Atomic update |
Create allocation and update unit/application in one transaction. |
|
Batch identity |
Store BATCH-{date} or manual batch reference. |
|
Failure recovery |
Rollback all records when any step fails. |
|
Audit / appeal |
Preserve method, candidate list, score, unit and reason. |
|
|
Ballot transparency Random ordering must use an approved, reproducible or independently auditable process where public policy requires it. The supplied scenario names RANDOM ORDER but does not define seed, witness or publication controls. |
40 Nigerian Agency Rules Reference
|
Agency / service |
Supplied rules |
|
FMBN |
NHF contribution 2.5%; LTV 90%; NHF 6%, Non-NHF 9%, Rent-to-Own 6.5%; tenure 5-30 years; NHF number validation. |
|
FHA |
Age 21-55; BVN required; income 25%, employment 20%, family 15%, housing 15%, NHF years 15%, credit 10%. |
|
FMHUD |
Age 18-60; NIN; minimum monthly income NGN 30,000; priority categories. |
|
FCTA |
C-of-O, R-of-O, Deed of Assignment; ground rent; encumbrance and title case processing. |
|
General Nigeria eligibility preview |
100-point income/employment/family/housing/NHF/credit score with threshold 50. |
|
Government payments |
Remita/TSA primary; Paystack secondary in portal setup; other supported gateways appear in payment flow. |
|
|
Verify current policy Rates, fees, ages, thresholds and statutory rules can change. The values above are the supplied scenario, not a legal or regulatory update. Confirm them with the relevant agency before launch. |
41 Data Security, Privacy and Audit Requirements
|
Data / action |
Required protection |
|
NIN / BVN / identity documents |
Access control, encryption, masked display and retention limits. |
|
Income / employment / credit |
Purpose limitation, consent, lawful criteria and restricted exports. |
|
Citizen documents |
Malware scan, protected URLs, audit access and deletion policy. |
|
Bank / gateway credentials |
Encrypted at rest; never returned to client or logged. |
|
Payment callbacks / webhooks |
Signed, idempotent, replay-protected and environment-checked. |
|
Allocation decisions |
Actor, method, score, batch, unit and timestamp retained. |
|
Waivers / manual payments |
Approval reason, evidence and immutable history. |
|
Title / encumbrance data |
Legal access controls and evidential chain. |
|
Tax records |
Tax-office-only permission and protected exports. |
|
AI prompts / outputs |
Minimise personal data; store source, version and human decision separately. |
|
Agency isolation |
Applied to every web/API query, export and background job. |
42 Implementation Details Requiring Confirmation
|
Area |
Why confirmation is required |
|
Public portal middleware |
Overview says unauthenticated browsing; one landing-page note states auth. Confirm route policy. |
|
Government role names |
Exact role labels and tax-office authorisation middleware are not fully enumerated. |
|
Program status values |
Actions are supplied, but complete enum and visibility guards are not. |
|
Application invoice timing |
Scenario creates application_fee invoice on approval; confirm whether fee is due before or after review. |
|
Scoring normalisation |
AI max 1,000 + bonuses + Nigeria score 100 lacks a final documented formula. |
|
Eligibility legality |
Sensitive criteria require agency/legal validation, explanation and appeal process. |
|
Ballot audit |
Random-order seed, witness and reproducibility are not supplied. |
|
Offer expiry condition |
Supplied acceptance text contains an expiry comparison that should be checked against intended logic. |
|
Payment-plan edge cases |
Zero interest, rounding, proration, final installment, grace, penalties and early repayment need confirmation. |
|
Gateway configuration |
Portal setup prioritises Remita/Paystack; payment flow also names Stripe/Flutterwave. Confirm enabled set. |
|
Callback/webhook idempotency |
Unique constraints and replay handling are not detailed. |
|
Bank proof completion |
Storage/verification fields and notification classes are not fully listed. |
|
Agency wallet settlement |
Gross/net fee treatment, payout timing and reversal rules require policy. |
|
TSA data source |
Import/API format, reference matching and reconciliation tolerance are not supplied. |
|
Unit occupancy after handover |
Exact unit status update on handover completion is not stated. |
|
Title-case model fields |
Full status list, invoice link and certificate storage are not supplied. |
|
Asset registry schema |
Specific GovAsset fields and lifecycle are not supplied. |
|
Audit timeline model |
Controller assembles a timeline, but underlying event model is not named. |
|
Email delivery and retry |
Queue, retry and failed-mail handling are not supplied. |
|
Mobile payment endpoints |
Controller capability is described, but full endpoint list is not supplied. |
|
Tax AI data governance |
Prompt, model, retention and explainability controls are not supplied. |
|
|
Source-grounded limitation This guide preserves the supplied backend names, values and behaviours. Items above are deliberately not filled with assumptions and must be checked against the live code, configuration, government policy and applicable law before formal training or production use. |
43 Key Highlights
|
Capability |
Business value |
|
Multi-tenant government infrastructure |
Each agency manages isolated programs, citizens, allocations and revenue. |
|
Country-scoped public portal |
Citizens see relevant programs, estates, units and converted display values. |
|
Nigeria-specialised rules |
FMHUD, FHA, FMBN and FCTA requirement adapters. |
|
Structured eligibility and scoring |
Pre-check, verification, AI/government scoring and batch processing. |
|
Auditable allocation |
Merit, FIFO, ballot and manual methods with locked unit assignment. |
|
Offer and payment-plan workflow |
Offer letters, deposit, amortisation, installments and handover. |
|
Multi-channel government payments |
Remita/TSA, Paystack, Stripe, Flutterwave, wallet and bank transfer. |
|
Revenue accountability |
GovReceipt, agency wallet, TSA reconciliation, variances and payouts. |
|
Land administration |
Title cases, encumbrance checks, certificates and rules API. |
|
Tax Office oversight |
Landlord tax records, compliance, reconciliation and AI analytics. |
|
Citizen support and mobile access |
Inquiry inbox and mobile browsing/application/allocation services. |
|
Super Admin control |
Agency lifecycle, global statistics, alerts and payout oversight. |
|
LEASEORA GOVERNMENT SERVICES Digital infrastructure for public housing programs, citizen applications, transparent allocation, government revenue and accountable land administration. Support and onboarding support@leaseora.com | leaseora.com |
Tags
Was this article helpful?
Your feedback helps us improve our documentation.