VENDORS AND VENDOR MARKETPLACE
The Vendors module provides a controlled digital network for external contractors, maintenance companies and specialist service providers. It connects verified vendor profiles to landlord rosters and maintenance operations while preserving credentials, insurance, pricing, availability, job history, performance, reviews and access status.
|
LEASEORA VENDORS AND VENDOR MARKETPLACE Detailed User and Technical Operations Guide Registration • Verification • Marketplace • Connections • Invitations • Maintenance Jobs • Field Operations • Earnings • Performance • Reviews • Mobile API |
For real estate companies, maintenance teams, property managers, vendor administrators, procurement teams, compliance teams, contractors and authorised platform administrators
Version 1.0 | July 2026
|
|
Purpose of this guide This guide explains how a real estate company uses Leaseora's Vendors module and Vendor Marketplace from vendor registration, email verification and SuperAdmin review through marketplace discovery, direct hire, connection requests, email invitations, landlord roster management, maintenance-job assignment, field execution, completion evidence, performance, earnings, reviews, notifications, mobile APIs and relationship termination. It also provides a detailed technical reference based on the supplied models, controllers, middleware, events, notifications and mail classes. |
1 Purpose, Audience and Scope
The Vendors module provides a controlled digital network for external contractors, maintenance companies and specialist service providers. It connects verified vendor profiles to landlord rosters and maintenance operations while preserving credentials, insurance, pricing, availability, job history, performance, reviews and access status.
|
Item |
Description |
|
Primary users |
Real estate companies, landlords, property managers, maintenance coordinators, procurement teams, compliance teams, vendors and SuperAdmins. |
|
Vendor scope |
Self-registration, invitation, profile, services, credentials, pricing, availability, contracts and marketplace visibility. |
|
Connection scope |
Direct hire, connection request and email invitation, all recorded through LandlordVendorConnection. |
|
Job scope |
Assignment, acceptance, decline, arrival, completion report, photos and performance updates. |
|
Reporting scope |
Marketplace conversion, job performance, earnings, ratings, reviews and activity. |
|
Operational boundary |
Leaseora records and coordinates vendor workflows. It does not independently guarantee licensing, insurance validity, workmanship, safety, tax treatment, payment entitlement or regulatory compliance. |
|
|
Terminology Business-facing text may use Client for the occupant receiving the service. Technical model and controller names retain tenant where it exists in the supplied implementation. |
2 Complete Vendor Lifecycle
Figure 1. Complete Vendors lifecycle
|
Stage |
Business outcome |
|
Register |
A vendor profile and linked user account are created. |
|
Verify |
Email, licences, insurance, certifications and account status are reviewed. |
|
Publish |
Approved vendors choose marketplace visibility and availability. |
|
Discover |
Landlords search and compare eligible vendors. |
|
Connect |
Hire, connection or invitation creates a tracked relationship. |
|
Assign |
A maintenance request is assigned to an eligible vendor. |
|
Execute |
The vendor accepts, arrives, completes or declines through web or mobile. |
|
Measure |
Performance, earnings, ratings and marketplace conversion are updated. |
|
Manage |
Both parties manage profile, settings, reviews, roster and termination. |
3 Roles, Responsibilities and Separation of Duties
|
Role |
Main responsibility |
Control |
|
Vendor Applicant |
Supplies accurate business, credential, service and pricing information. |
Cannot self-verify or self-activate. |
|
SuperAdmin Reviewer |
Reviews, verifies, activates, suspends or blacklists vendors. |
Should record evidence, reason and review date. |
|
Landlord Vendor Manager |
Searches, connects, invites and manages the vendor roster. |
Should not bypass verification or safety requirements. |
|
Maintenance Coordinator |
Assigns jobs and monitors execution. |
Should assign only qualified, available vendors. |
|
Vendor Field User |
Accepts, arrives and completes assigned work. |
Access should be limited to assigned jobs and necessary Client data. |
|
Property Manager |
Reviews completion evidence and service outcome. |
Should not approve incomplete work without evidence. |
|
Landlord Reviewer |
Rates completed work. |
Reviews should be factual and linked to completed jobs. |
|
Vendor Administrator |
Maintains profile, pricing, availability and notification settings. |
Material credential changes may require re-verification. |
|
|
Recommended approval control Use Applicant Submission -> Credential Review -> Verified -> Active. Verification and Active status should remain separate so an expired or suspended vendor can be blocked without losing historical verification evidence. |
4 Before Using the Vendors Module
|
☐ |
Vendor categories and specialty vocabulary are configured consistently. |
|
☐ |
Required business, licence, insurance and tax fields are documented by country and service type. |
|
☐ |
Email verification and invitation links are configured. |
|
☐ |
Vendor status and middleware rules are enabled. |
|
☐ |
Marketplace visibility and ranking rules are documented. |
|
☐ |
Landlord roles for hire, invitation, assignment and termination are configured. |
|
☐ |
Maintenance requests can be linked to vendor assignments. |
|
☐ |
Notifications and mail providers are configured. |
|
☐ |
Completion-photo storage and access rules are configured. |
|
☐ |
Vendor earnings definitions and any external payment workflow are documented. |
|
|
Pilot with a controlled vendor group Onboard a small number of known contractors, validate verification, assignment, field completion and review flows, and expand after operational sign-off. |
5 Phase 1 - Vendor Self-Registration
|
STEP |
Open the Vendor Registration Form Primary user: Vendor applicant |
VendorRegistrationController@showRegistrationForm displays the marketplace registration form. @register creates the linked User and MaintenanceVendor records.
|
Registration group |
Required information |
|
Business identity |
company_name, business_type, tax_id, business licence number and expiry, years in business. |
|
Primary contacts |
contact name and title, primary, secondary and emergency phone, email and website. |
|
Address |
street, city, state, postcode and country. |
|
Services |
specialties, services offered, service areas, service radius and emergency availability. |
|
Operations |
response time, service hours, team size and equipment owned. |
|
Credentials |
certifications, licences, bonded, insured and insurance details. |
|
Pricing |
pricing model, hourly rate, minimum charge, emergency multiplier, travel fee and payment terms. |
|
Marketplace |
visibility, public description, accepts new Clients and minimum job value. |
|
|
Registration begins as Pending The MaintenanceVendor record is created with status = pending. Registration does not mean verified, active or approved for assignment. |
6 Business Identity Fields
|
Field |
Purpose |
Review consideration |
|
company_name |
Legal or trading name. |
Compare with submitted registration evidence. |
|
business_type |
Company or contractor structure. |
Use country-appropriate values. |
|
tax_id |
Tax registration identifier. |
Restrict access because it is sensitive. |
|
business_license_number |
Professional or business licence. |
Validate issuer, scope and trade. |
|
business_license_expiry |
Licence expiry date. |
Block or flag expired credentials. |
|
years_in_business |
Operating history. |
Do not treat as a guarantee of quality. |
|
vendor_code |
Internal vendor identifier. |
Should be unique and immutable after issue. |
7 Contact and Location Fields
|
Category |
Fields |
Operational use |
|
Contact person |
contact_name, contact_title. |
Primary authorised vendor representative. |
|
Phones |
primary_phone, secondary_phone, emergency_phone. |
Routine and emergency communication. |
|
Digital |
email, website. |
Account, notifications and public profile where approved. |
|
Address |
address, city, state, zip_code, country. |
Business location and service-area matching. |
|
Service geography |
service_areas, service_radius. |
Marketplace filtering and job eligibility. |
|
|
Do not expose private contact information unnecessarily The public marketplace should display only approved business contact details. Emergency or personal phone numbers should remain restricted. |
8 Services and Operational Capacity
|
Field |
Purpose |
|
specialties |
Structured trades such as plumbing, electrical, HVAC, carpentry, cleaning or pest control. |
|
services_offered |
Detailed service catalogue. |
|
emergency_service_available |
Indicates emergency work capability. |
|
response_time |
Expected response or acceptance time. |
|
service_hours |
Normal operating hours. |
|
team_size |
Available workforce size. |
|
equipment_owned |
Relevant tools and equipment. |
|
currently_available |
Current assignment availability. |
|
available_from |
Next availability date or time. |
|
current_capacity |
Current number or volume of jobs available. |
|
blackout_dates |
Dates unavailable for assignment. |
|
|
Availability is time-sensitive A profile can be Active but not currently available. Assignment screens should consider currently_available, available_from, capacity and blackout dates. |
9 Credentials, Insurance and Background Information
|
Credential |
Purpose |
Control |
|
certifications |
Trade or industry credentials. |
Store issuer, scope and expiry where possible. |
|
licenses |
Required professional licences. |
Revalidate after renewal or change. |
|
bonded |
Indicates bonding status. |
Retain evidence and coverage scope. |
|
insured |
Indicates insurance coverage. |
Do not rely on the toggle without documents. |
|
insurance_provider |
Policy provider. |
Restrict policy details to authorised users. |
|
insurance_policy_number |
Policy reference. |
Sensitive operational information. |
|
insurance_expiry_date |
Coverage expiry. |
Generate renewal alert or assignment block. |
|
insurance_coverage_amount |
Declared coverage. |
Confirm currency and policy limit. |
|
background_check_completed |
Recorded check status. |
Apply lawful and proportionate process. |
|
background_check_date |
Date of completed check. |
Use review and expiry rules. |
|
|
Verification is evidence-based A checkbox or uploaded document does not independently prove validity. Verification should record the reviewer, source, date, result and any limitation. |
10 Pricing and Commercial Terms
|
Field |
Meaning |
|
pricing_model |
Hourly, fixed or per-job. |
|
hourly_rate |
Standard hourly rate. |
|
minimum_charge |
Minimum invoice or attendance charge. |
|
emergency_rate_multiplier |
Multiplier for emergency service. |
|
travel_fee_applicable |
Whether travel fees apply. |
|
travel_fee |
Configured travel fee. |
|
payment_terms |
When payment is due. |
|
accepted_payment_methods |
Supported settlement methods. |
|
minimum_job_value |
Minimum job accepted from new Clients. |
|
|
Displayed pricing is not a final quotation Actual job cost may depend on diagnosis, materials, taxes, travel, emergency timing and approved change scope. The company should agree job pricing before work where practicable. |
11 Marketplace Profile and Preferences
|
Field |
Purpose |
|
is_marketplace_visible |
Vendor opts into public marketplace visibility. |
|
marketplace_description |
Approved public description. |
|
accepts_new_clients |
Whether new landlord connections are accepted. |
|
preferred_contact_method |
Email, SMS, phone or configured channel. |
|
sms_notifications_enabled |
SMS preference. |
|
email_notifications_enabled |
Email preference. |
|
preferred_language |
Preferred portal and communication language. |
|
|
Visibility depends on more than the toggle The marketplace query also requires Active and Verified status. A suspended, unverified or blacklisted vendor must not be shown merely because is_marketplace_visible is true. |
12 Email Verification and Registration Completion
|
STEP |
Verify the Vendor Email Address Primary user: Vendor applicant |
1. Submit the registration form.
2. Receive VendorAccountCreatedMail or verification communication.
3. Open the signed verification link.
4. VendorRegistrationController@verifyEmail validates the vendor ID and hash.
5. If the message is missing, use @resendVerification.
6. After successful registration, @registrationSuccess displays the result.
|
|
Email verification does not verify the business It confirms control of the email address. SuperAdmin credential review remains required. |
13 MaintenanceVendor Query Scopes
|
Scope |
Purpose |
|
scopeActive |
Returns Active vendors. |
|
scopeInactive |
Returns Inactive vendors. |
|
scopeVerified |
Returns verified vendors. |
|
scopePreferred |
Returns preferred vendors. |
|
scopeByStatus |
Filters by status. |
|
scopeBySpecialty |
Filters by trade or specialty. |
|
scopeByServiceArea |
Filters by geography. |
|
scopeEmergencyAvailable |
Returns emergency-service vendors. |
|
scopeAvailable |
Returns currently available vendors. |
|
scopeInsured |
Returns vendors marked insured. |
|
scopeHighRated |
Returns vendors at or above the rating threshold. |
|
scopeForLandlord |
Returns vendors connected to a landlord. |
|
scopeWithActiveJobs |
Returns vendors with active jobs. |
14 Phase 2 - SuperAdmin Review
|
STEP |
Review the Vendor Application Primary user: SuperAdmin reviewer |
SuperAdmin\Core\VendorController@index lists vendor applications. @show displays the full profile, credentials and performance. @analytics and @activities provide platform and audit views.
|
☐ |
Email is verified. |
|
☐ |
Company identity is consistent across evidence. |
|
☐ |
Tax and licence identifiers are formatted correctly. |
|
☐ |
Licence scope matches the selected specialties. |
|
☐ |
Licence and insurance have not expired. |
|
☐ |
Service areas and emergency claims are plausible. |
|
☐ |
Pricing and marketplace description are appropriate. |
|
☐ |
Uploaded documents are readable and malware-scanned. |
|
☐ |
Any risk or missing item is recorded in status_notes or review records. |
|
|
Do not approve solely from performance fields New vendors may have no Leaseora job history. Credential verification and operational suitability remain separate from rating and marketplace popularity. |
15 Verify and Unverify a Vendor
|
STEP |
Record Verification Status Primary user: SuperAdmin reviewer |
|
Action |
Effect |
|
verify |
is_verified = true and verified_at = now. |
|
unverify |
Removes verification status while preserving history where implemented. |
|
|
Verification should expire or require review where credentials expire The supplied model has credential expiry fields. Confirm whether expiry automatically un-verifies, suspends, blocks assignments or creates an alert. |
16 Activate, Suspend and Blacklist
Figure 2. Vendor status, verification and access control
|
Action |
Status effect |
Recommended requirement |
|
activate |
status = active. |
Verified credentials and approval. |
|
suspend |
status = suspended with status_notes. |
Reason, duration, review owner and affected jobs. |
|
blacklist |
status = blacklisted. |
Serious reason, authority, evidence and appeal/review process. |
|
|
Blacklisting is high-impact Use defined policy, evidence, authorised review and a correction or appeal path where appropriate. Do not blacklist for discriminatory or unsupported reasons. |
17 Vendor Middleware Enforcement
|
Middleware |
Purpose |
|
VendorAccessMiddleware |
Controls access to the vendor portal based on account state. |
|
VendorStatusMiddleware |
Blocks suspended or blacklisted vendors from protected actions. |
|
☐ |
Pending vendors can access only onboarding and status pages. |
|
☐ |
Suspended vendors cannot accept or complete new jobs unless an explicit controlled exception exists. |
|
☐ |
Blacklisted vendors cannot perform vendor actions. |
|
☐ |
Existing job and evidence records remain available to authorised staff. |
|
☐ |
API and web routes apply equivalent restrictions. |
18 Phase 3 - Browse the Vendor Marketplace
|
STEP |
Search Published Vendors Primary user: Landlord vendor manager |
VendorMarketplaceController@index queries vendors where status is Active, is_verified is true and is_marketplace_visible is true.
|
Filter |
Purpose |
|
Specialty |
Find a required trade. |
|
Service area |
Find vendors serving the property location. |
|
Emergency available |
Find emergency service providers. |
|
Minimum rating |
Filter by average rating threshold. |
|
Insured |
Limit to vendors marked insured. |
|
Price range |
Compare declared price range. |
|
Response time |
Compare expected response. |
|
Years in business |
Filter by operating history. |
|
|
Filters support discovery, not final qualification Confirm current availability, credential validity, scope, quotation and property access before assignment. |
19 Marketplace Search
VendorMarketplaceController@search performs full-text search across company_name, specialties, services_offered and marketplace_description, combined with structured filters.
|
☐ |
Search remains landlord-authorised where private data is returned. |
|
☐ |
Public descriptions are sanitised. |
|
☐ |
Sensitive tax, policy and internal notes are excluded. |
|
☐ |
Search results show Verified and Active indicators correctly. |
|
☐ |
Unavailable or non-marketplace vendors are excluded. |
|
☐ |
Ranking factors are documented and monitored for manipulation. |
20 View the Marketplace Vendor Profile
|
STEP |
Review a Vendor Before Connection Primary user: Landlord vendor manager |
|
Profile area |
Information |
|
Company |
Name, business type, years in business and public description. |
|
Services |
Specialties, services, areas, radius and emergency capability. |
|
Credentials |
Certifications, licences and approved insurance information. |
|
Pricing |
Model, rate, minimum, emergency multiplier and travel fee. |
|
Performance |
Completed jobs, rating, on-time rate, satisfaction and response time. |
|
Availability |
Currently available, available from and current capacity. |
|
Reviews |
Landlord reviews and vendor responses. |
|
|
Limit policy-number exposure A landlord may need proof of insurance, but full policy numbers or personal information should not be publicly displayed. |
21 VendorMarketplaceStat
|
Metric |
Purpose |
|
Impressions and interactions |
Tracks marketplace visibility and profile activity where implemented. |
|
hire_requests |
Number of hire requests received. |
|
hire_acceptances |
Number accepted. |
|
hire_declines |
Number declined. |
|
Conversion rate |
hire_acceptances divided by hire_requests times 100. |
|
|
Marketplace conversion is not workmanship quality Acceptance rate can be affected by capacity, geography, price and timing. Do not rank vendors solely by acceptance rate. |
22 Phase 4 - Direct Hire and Connection Requests
|
STEP |
Create a Marketplace Connection Primary user: Landlord vendor manager |
Figure 3. Vendor marketplace and connection flow
|
Action |
Connection record |
|
hire |
connection_type = hired, connection_source = marketplace, status = pending, hired_at set. |
|
requestConnection |
connection_type = connected, connection_source = marketplace, status = pending. |
A hire request increments VendorMarketplaceStat.hire_requests and notifies the vendor.
|
|
Hire request is not job assignment The relationship must be accepted before the vendor becomes part of the active roster. A separate maintenance assignment is required for each job. |
23 LandlordVendorConnection Fields
|
Field |
Purpose |
|
landlord_id |
Real estate company or landlord. |
|
vendor_id |
Connected vendor. |
|
connection_type |
hired, connected or invited. |
|
connection_source |
marketplace, invitation or direct. |
|
status |
pending, accepted, declined or terminated. |
|
hired_at |
Hire or request date. |
|
terminated_at |
Relationship termination time. |
|
notes |
Connection or termination context. |
|
|
Prevent duplicate active relationships Confirm whether a landlord and vendor can have multiple accepted connections and how duplicate marketplace or invitation requests are handled. |
24 Phase 5 - Invite a Vendor
|
STEP |
Send a Tokenised Vendor Invitation Primary user: Landlord vendor manager |
VendorInvitationController@inviteVendor creates VendorInvitation with vendor, email, token and expires_at, then sends VendorInvitationMail.
1. Enter the existing vendor or external contractor email.
2. Confirm the intended landlord and connection context.
3. Create a unique, time-limited token.
4. Send VendorInvitationMail.
5. Track Pending, Accepted or Expired state.
|
|
Invitation links should be single-use and time-limited Do not include private landlord or property details in a link that can be forwarded. Require authentication or controlled registration before exposing sensitive data. |
25 Accept an Invitation
|
STEP |
Validate and Accept the Invitation Primary user: Vendor |
VendorInvitationController@acceptInvitation validates the token with isValid(). markAsAccepted() sets accepted_at, and a LandlordVendorConnection is created.
|
☐ |
Token exists and matches the intended invitation. |
|
☐ |
Invitation has not expired. |
|
☐ |
Invitation has not already been accepted. |
|
☐ |
Authenticated vendor identity matches the invitation email or approved process. |
|
☐ |
Duplicate landlord connection is checked. |
|
☐ |
Acceptance time and resulting connection are stored. |
26 Complete Registration After Invitation
VendorInvitationController@completeRegistration creates or updates MaintenanceVendor where the invited contractor has no account. VendorAccountCreatedMail confirms setup.
|
|
Invitation does not bypass verification A newly created vendor should remain Pending until email, business and credential checks are complete. |
27 Phase 6 - Vendor Hire Requests
|
STEP |
Review Incoming Hire Requests Primary user: Vendor |
VendorHireRequestController@index lists LandlordVendorConnection records for the authenticated vendor. @show displays landlord and request context.
|
Filter |
Purpose |
|
Status |
Pending, accepted or declined. |
|
Source |
Marketplace, invitation or direct. |
|
Date range |
Request period. |
|
☐ |
Vendor can see only their own requests. |
|
☐ |
Landlord profile information is limited to the connection purpose. |
|
☐ |
Pending requests show required decision details. |
|
☐ |
Accepted or declined requests remain in history. |
28 Accept or Decline a Hire Request
|
Action |
System effect |
|
accept |
Connection status becomes Accepted; hire_acceptances increments; landlord is notified. |
|
decline |
Connection status becomes Declined; hire_declines increments; landlord is notified. |
|
|
Record a safe decline reason where collected The vendor should not be required to reveal unnecessary confidential information. Use structured reasons such as capacity, geography, trade mismatch or scheduling. |
29 Phase 7 - My Vendors Roster
|
STEP |
Review Connected Vendors Primary user: Landlord vendor manager |
LandlordVendorController@index returns vendors linked through scopeForLandlord. @hired shows accepted active relationships.
|
Dashboard statistic |
Meaning |
|
Total vendors |
All linked vendor records under the roster rule. |
|
Active |
Vendors with Active status. |
|
Preferred |
Vendors marked preferred by the landlord. |
|
Verified |
Vendors with current verification. |
|
Average rating |
Average of visible vendor ratings. |
|
|
Roster status and platform status are different An Accepted connection does not override a Suspended, Blacklisted, Unverified or unavailable platform vendor. |
30 View a Vendor from the Landlord Roster
LandlordVendorController@show displays the full vendor detail, job history with the landlord, reviews, credentials, insurance, connection history and hire status.
|
☐ |
Connection belongs to the landlord. |
|
☐ |
Credential expiry is visible. |
|
☐ |
Internal notes are not exposed to the vendor or public. |
|
☐ |
Job history is limited to the landlord unless platform policy allows aggregated metrics. |
|
☐ |
Performance definitions are clear. |
31 Terminate a Vendor Relationship
|
STEP |
Close the Landlord-Vendor Relationship Primary user: Landlord vendor manager |
LandlordVendorController@terminate changes LandlordVendorConnection.status to Terminated, stores terminated_at and records notes.
|
☐ |
No active or safety-critical job is left without an owner. |
|
☐ |
Outstanding completion evidence and disputes are retained. |
|
☐ |
Termination reason is factual and authorised. |
|
☐ |
Vendor is removed from the active roster. |
|
☐ |
Historical jobs, reviews and audit records remain available. |
|
|
Termination is not platform blacklisting A landlord may end its own relationship without changing the vendor status for other landlords. Platform suspension or blacklisting requires SuperAdmin authority. |
32 Phase 8 - Vendor Connections Portal
|
STEP |
Review All Landlord Connections Primary user: Vendor |
VendorConnectionsController@index lists all LandlordVendorConnection records for the vendor. @show displays landlord profile and joint job history.
|
Connection view |
Purpose |
|
Status |
Pending, accepted, declined or terminated. |
|
Type |
Hired, connected or invited. |
|
Source |
Marketplace, invitation or direct. |
|
Dates |
Request, hire, acceptance or termination history. |
|
Job history |
Work completed within that relationship. |
33 Phase 9 - Assign a Maintenance Job
|
STEP |
Assign an Eligible Vendor Primary user: Maintenance coordinator |
Landlord\MaintenanceController sets MaintenanceRequest.assigned_vendor_id, moves the request to Assigned and fires VendorTaskAssigned.
|
☐ |
Vendor has an Accepted landlord connection or approved assignment path. |
|
☐ |
Vendor status is Active and verification is current. |
|
☐ |
Vendor specialty matches the maintenance category. |
|
☐ |
Service area includes the property. |
|
☐ |
Vendor is currently available and has capacity. |
|
☐ |
Emergency capability matches the priority where required. |
|
☐ |
Property, unit and issue details are complete. |
|
☐ |
Client contact access is limited to what is needed. |
VendorTaskAssignedNotification and VendorTaskAssignedMail provide the assignment details.
|
|
Do not assign solely on marketplace ranking Trade qualification, availability, location, safety, property access and scope are more important than profile popularity. |
34 Assignment Data and Privacy
|
Information |
Vendor access rule |
|
Property address |
Available for the assigned job. |
|
Unit |
Available where needed for attendance. |
|
Issue description |
Full work context. |
|
Priority |
Required urgency. |
|
Preferred date |
Scheduling context. |
|
Client contact |
Minimum necessary contact details. |
|
Images |
Only maintenance evidence relevant to the job. |
|
Landlord notes |
Approved instructions; exclude unrelated internal notes. |
|
|
Client contact is purpose-limited Vendor access should end or become restricted after the job and required follow-up are complete. |
35 Phase 9 - View and Accept a Task
|
STEP |
Review the Assigned Maintenance Task Primary user: Vendor field user |
VendorTaskController@show and VendorApiController@taskDetails return task details.
1. Review property, unit, issue, priority and preferred date.
2. Review permitted Client contact and uploaded images.
3. Review landlord notes and access instructions.
4. Confirm specialty, availability, travel and equipment.
5. Accept or decline promptly.
@accept or @acceptTask moves MaintenanceRequest.status to in_progress, fires VendorTaskStatusUpdated and sends VendorAcceptedJobNotification to the landlord.
36 Decline a Task
VendorTaskController@decline and VendorApiController@declineTask record the reason, return MaintenanceRequest.status to Pending and notify the landlord through VendorDeclinedJobNotification.
|
☐ |
Decline reason is recorded. |
|
☐ |
The task is released for reassignment. |
|
☐ |
The vendor active job count is not incorrectly incremented. |
|
☐ |
Any appointment or Client expectation is updated. |
37 Mark Arrival
|
STEP |
Confirm Arrival at the Property Primary user: Vendor field user |
VendorTaskController@markArrived and VendorApiController@markArrived fire VendorTaskStatusUpdated and VendorArrivedNotification to the landlord and Client.
|
☐ |
Vendor is at the correct property. |
|
☐ |
Arrival timestamp is recorded once. |
|
☐ |
No precise continuous location is collected unless separately authorised. |
|
☐ |
Client receives only the necessary arrival notification. |
|
☐ |
If access fails, the vendor records the outcome. |
|
|
Arrival is not completion The event confirms attendance, not that the work has been completed or accepted. |
38 Complete the Job
|
STEP |
Submit the Completion Report Primary user: Vendor field user |
VendorTaskController@complete or @storeCompletion and VendorApiController@completeTask submit the job result.
|
Completion item |
Required content |
|
Work done |
Clear description of diagnosis and completed work. |
|
Materials used |
Itemised materials and quantities. |
|
Time spent |
Arrival, work duration and completion context. |
|
Cost breakdown |
Labour, materials, travel and approved additional charges. |
|
Completion photos |
Evidence of the completed condition. |
|
Outstanding issue |
Any unresolved or follow-up requirement. |
MaintenanceRequest.status becomes Completed and completed_at is recorded. VendorTaskStatusUpdated fires and VendorCompletedJobNotification informs the landlord.
|
|
Completion should not hide incomplete work Where the issue is only temporarily resolved or requires parts or return attendance, use an appropriate follow-up state or clearly record the limitation before marking final completion. |
39 MaintenanceVendor::recordJobCompletion
|
Metric update |
Purpose |
|
total_jobs_completed |
Increment completed-job count. |
|
average_rating |
Recalculate where rating is supplied. |
|
last_job_date |
Record most recent job. |
|
active_jobs_count |
Decrement active workload. |
|
on_time metrics |
Update on-time or late counts where implemented. |
|
revenue metrics |
Update recorded revenue where supported. |
|
|
Metric updates should be idempotent A repeated completion callback or API retry must not increment job counts or revenue more than once. |
40 Complete Job Lifecycle
Figure 4. Vendor maintenance job execution flow
41 Job Status Events and Notifications
|
Component |
Recipient / purpose |
|
VendorTaskAssigned |
Event when the job is assigned. |
|
VendorTaskStatusUpdated |
Event for accepted, arrived, completed or declined status. |
|
VendorTaskAssignedNotification |
Vendor receives new assignment notice. |
|
VendorTaskAssignedMail |
Vendor receives assignment email. |
|
VendorAcceptedJobNotification |
Landlord is told the vendor accepted. |
|
VendorArrivedNotification |
Landlord and Client are told the vendor arrived. |
|
VendorCompletedJobNotification |
Landlord is told the job completed. |
|
VendorDeclinedJobNotification |
Landlord is told the vendor declined. |
|
|
Notifications should use the source-of-truth status A notification failure should not roll back a valid job status, while retry must not create misleading duplicate messages. |
42 Phase 10 - Vendor Dashboard
|
STEP |
Use the Vendor Operations Dashboard Primary user: Vendor |
VendorDashboardController@index and VendorApiController@dashboard provide the main overview.
|
Dashboard area |
Purpose |
|
Active jobs |
Current assigned or in-progress work. |
|
Pending hire requests |
Relationship requests awaiting decision. |
|
Completed this month |
Monthly job count. |
|
Earnings summary |
This week, month and all-time under the configured definition. |
|
Average rating |
Current review score. |
|
Recent reviews |
Latest landlord feedback. |
|
Upcoming jobs |
Scheduled work. |
|
Performance |
Response, timeliness and satisfaction indicators. |
|
Notifications |
Unread operational messages. |
|
|
Dashboard earnings require definition Confirm whether earnings are approved cost, invoiced amount, paid amount, net amount or another value. The supplied scenario does not define a vendor payout processor. |
43 Vendor Dashboard Review Routine
1. Review unaccepted hire requests.
2. Review newly assigned jobs and deadlines.
3. Check today's schedule and property access information.
4. Review overdue status updates or completion reports.
5. Review earnings and payment status exceptions.
6. Review ratings and landlord feedback.
7. Update availability and capacity.
8. Read security or account-status notices.
44 Vendor Profile Management
|
STEP |
Maintain the Public and Operational Profile Primary user: Vendor administrator |
VendorProfileController@show, @edit and @update manage company, service, credential, pricing and marketplace data. @deletePhoto removes the profile photo. VendorApiController@profile and @updateProfile provide mobile equivalents.
|
☐ |
Company and contact information remains current. |
|
☐ |
Specialties and services match actual capability. |
|
☐ |
Service areas and radius are current. |
|
☐ |
Licence, certification and insurance renewals are uploaded. |
|
☐ |
Pricing and minimum charges are current. |
|
☐ |
Marketplace description is factual. |
|
☐ |
accepts_new_clients reflects current capacity. |
|
☐ |
Public photo and media are authorised. |
|
|
Material credential changes may require review Confirm whether updated licence, tax, insurance or ownership information automatically returns the vendor to Pending or Unverified review. |
45 Vendor Settings
|
Setting operation |
Purpose |
|
updateAccount |
Email, password and account credentials. |
|
updateNotifications |
SMS, email and preferred contact method. |
|
updateAvailability |
Currently available, available from, capacity and blackout dates. |
|
updateServiceAreas |
Geographic service areas. |
|
updatePricing |
Pricing model, rates, fees and payment terms. |
|
updateSecurity |
Two-factor authentication and password/security settings. |
|
|
Use two-factor authentication for field and administrative access Vendor accounts may contain Client addresses, job photos, earnings and business credentials. |
46 Availability and Capacity Management
|
☐ |
currently_available is updated promptly. |
|
☐ |
available_from reflects the next possible assignment date. |
|
☐ |
current_capacity is reduced as work is accepted. |
|
☐ |
blackout_dates include holidays, leave and planned closure. |
|
☐ |
Emergency availability is separately maintained. |
|
☐ |
Declined work informs future capacity planning. |
|
|
Capacity should not be inferred only from active_jobs_count Job complexity, distance, team size and scheduled dates can affect actual capacity. |
47 Phase 11 - Vendor Earnings
|
STEP |
Review Recorded Earnings Primary user: Vendor |
VendorEarningsController@index and VendorApiController@earnings provide earnings history with date, landlord and job-type filters. @exportCsv and @exportPdf export the data.
|
Earnings view |
Purpose |
|
All time |
Total under the configured earnings definition. |
|
This month |
Current-month total. |
|
This week |
Current-week total. |
|
Per job |
Job-level amount and status. |
|
Payment status |
Recorded settlement or approval state. |
|
|
Payment flow requires production confirmation The supplied scenario describes earnings views but does not identify vendor bank accounts, vendor payout jobs or a payment gateway settlement flow. Confirm how vendor invoices are approved and paid before presenting amounts as received. |
48 Earnings Export Controls
|
☐ |
Vendor can export only their own earnings. |
|
☐ |
The reporting period and currency are clear. |
|
☐ |
Gross, fee, tax and net values are labelled if available. |
|
☐ |
Unpaid, pending and disputed amounts are separated. |
|
☐ |
Client personal data is excluded unless required. |
|
☐ |
Exports are protected and retained under policy. |
49 Phase 12 - Vendor Performance
|
STEP |
Review Performance Metrics Primary user: Vendor / landlord manager |
Figure 5. Vendor performance, earnings and marketplace signals
|
Metric |
Meaning |
|
total_jobs_completed |
Completed jobs recorded. |
|
total_jobs_cancelled |
Cancelled jobs. |
|
no_shows |
Recorded missed appointments. |
|
average_rating |
Mean review rating. |
|
total_reviews |
Count of reviews. |
|
on_time_completion_rate |
Percentage completed on time. |
|
customer_satisfaction_rate |
Configured satisfaction score. |
|
average_response_time_hours |
Average time to accept or respond. |
|
jobs_completed_on_time / late |
Timeliness counts. |
|
total_revenue_generated |
Recorded revenue under the configured rule. |
50 Performance Definitions and Fair Use
|
☐ |
Response time begins and ends at defined timestamps. |
|
☐ |
On-time completion uses agreed due or appointment dates. |
|
☐ |
Cancelled jobs identify who cancelled and why. |
|
☐ |
No-show is supported by attendance evidence. |
|
☐ |
Rating excludes deleted or invalid reviews under policy. |
|
☐ |
Performance is shown with sample size. |
|
☐ |
Landlords do not use metrics for discriminatory decisions. |
|
|
Metrics need context A vendor handling emergency or complex work may have different completion times from a routine cleaning vendor. Compare like-for-like categories where possible. |
51 Phase 13 - Vendor Reviews
|
STEP |
Rate a Completed Vendor Job Primary user: Landlord |
After completion, the landlord creates a VendorReview with a 1-5 star rating and written feedback. recordJobCompletion recalculates the average rating and increments total_reviews where implemented.
|
☐ |
The review is linked to a completed job. |
|
☐ |
The reviewer is authorised by the landlord. |
|
☐ |
The review is factual and service-related. |
|
☐ |
No Client private information is included. |
|
☐ |
Abusive, discriminatory or defamatory content is prohibited. |
|
☐ |
Duplicate reviews for the same job are controlled. |
|
|
A rating should not be used as retaliation Disputes about price, scope or access should be handled through a documented process, not misleading review content. |
52 Vendor Response to Reviews
VendorReviewsController@index lists received reviews by rating, date and landlord. @respond stores a public vendor response.
|
☐ |
Response addresses the service issue professionally. |
|
☐ |
No Client name, address or private job detail is disclosed. |
|
☐ |
The original review is not altered by the vendor. |
|
☐ |
Response edits and moderation follow platform policy. |
|
|
Public responses should preserve confidentiality A vendor may explain its process without revealing property, Client, dispute or payment information. |
53 Phase 14 - Vendor Notifications
|
STEP |
Manage Vendor Notifications Primary user: Vendor |
|
Operation |
Purpose |
|
index |
List vendor notifications. |
|
markAsRead |
Mark one as read. |
|
markAsUnread |
Return one to unread. |
|
markAllAsRead |
Clear unread state. |
|
destroy |
Delete under notification retention rules. |
|
|
Deleting a notification does not delete the source record Job, connection and audit records should remain available independently of the notification inbox. |
54 Phase 15 - Vendor Mobile API
|
STEP |
Use the Vendor Mobile Workflow Primary user: Vendor field user |
|
API method |
Purpose |
|
login / logout |
Vendor mobile authentication. |
|
dashboard |
Mobile operating summary. |
|
tasks |
Assigned task list. |
|
taskDetails |
Full task detail. |
|
acceptTask |
Accept assigned job. |
|
declineTask |
Decline with reason. |
|
markArrived |
Record arrival. |
|
completeTask |
Submit completion report and photos. |
|
earnings |
View earnings. |
|
profile / updateProfile |
View or update profile. |
|
|
Apply web-equivalent status and ownership checks Mobile API actions must use VendorAccessMiddleware or equivalent authentication and status enforcement, not only UI restrictions. |
55 Mobile Field Operation Controls
|
☐ |
Authentication token is securely stored and revocable. |
|
☐ |
Suspended or blacklisted vendor access is blocked. |
|
☐ |
Vendor can see only assigned tasks. |
|
☐ |
Completion uploads are size and file-type validated. |
|
☐ |
Offline retries do not duplicate acceptance or completion. |
|
☐ |
Arrival and completion timestamps are server-controlled. |
|
☐ |
Sensitive Client data is not cached longer than necessary. |
56 Marketplace Conversion and Ranking
|
STEP |
Review Marketplace Performance Primary user: Vendor / SuperAdmin |
|
Metric |
Calculation or use |
|
hire_requests |
All recorded marketplace hire requests. |
|
hire_acceptances |
Accepted requests. |
|
hire_declines |
Declined requests. |
|
conversion rate |
hire_acceptances / hire_requests x 100, where requests > 0. |
|
impressions |
Vendor appears in marketplace results where tracked. |
|
profile interactions |
Profile views or actions where tracked. |
|
|
Ranking rules should be transparent and robust Do not create a self-reinforcing system where only already-visible vendors receive impressions and ratings. Consider trade, geography, availability and verified suitability. |
57 Contracts and Internal Vendor Records
|
Field |
Purpose |
|
contract_signed |
Indicates signed vendor agreement. |
|
contract_start_date / end_date |
Contract term. |
|
contract_document_path |
Stored agreement document. |
|
contract_terms |
Structured or summarised terms. |
|
references |
Vendor references. |
|
notes |
General notes. |
|
internal_notes |
Restricted landlord or platform notes. |
|
documents |
Additional vendor evidence. |
|
custom_fields / metadata |
Configured additional data. |
|
|
Internal notes require strict access Do not expose confidential assessments, disputes, investigation notes or personal data through marketplace, vendor portal or API responses. |
58 Integration Map
Figure 6. Vendors module integration map
|
Integration |
Purpose |
|
Maintenance |
Assigns requests and records completion. |
|
Properties |
Provides property and unit context. |
|
Landlords |
Own connections, rosters and reviews. |
|
Clients |
Receive arrival and service updates. |
|
Marketplace |
Supports discovery, hire and conversion tracking. |
|
Notifications |
Communicates assignment and status events. |
|
Mobile API |
Supports field execution. |
|
Analytics |
Provides performance and marketplace insights. |
59 Backend Models Reference
|
Model |
Purpose |
|
MaintenanceVendor |
Core company, service, credential, pricing, performance, availability and marketplace record. |
|
LandlordVendorConnection |
Landlord-vendor relationship, source, status and dates. |
|
VendorInvitation |
Token, expiry and acceptance record. |
|
VendorMarketplaceStat |
Marketplace hire and conversion metrics. |
|
VendorReview |
Landlord review and vendor response. |
|
MaintenanceRequest |
Assigned maintenance task and completion status. |
60 Controllers Reference
|
Controller |
Purpose |
|
VendorRegistrationController |
Self-registration, email verification and success. |
|
SuperAdmin\Core\VendorController |
Platform review, analytics, activity, verification and status. |
|
VendorMarketplaceController |
Browse, search, show, hire and connection requests. |
|
VendorInvitationController |
Invite, accept and complete registration. |
|
VendorHireRequestController |
Vendor hire-request decisions. |
|
LandlordVendorController |
Roster, hired list, profile and termination. |
|
VendorConnectionsController |
Vendor landlord connections. |
|
VendorTaskController |
Task view, accept, decline, arrival and completion. |
|
VendorDashboardController |
Vendor operating dashboard. |
|
VendorProfileController |
Vendor profile. |
|
VendorSettingsController |
Account, notification, availability, areas, pricing and security. |
|
VendorEarningsController |
Earnings and exports. |
|
VendorPerformanceController |
Performance dashboard. |
|
VendorReviewsController |
Review list and response. |
|
VendorNotificationController |
Notification inbox. |
|
VendorApiController |
Mobile authentication and field operations. |
61 Events, Notifications, Mail and Middleware
|
Component |
Purpose |
|
VendorTaskAssigned |
Assignment event. |
|
VendorTaskStatusUpdated |
Vendor job-status event. |
|
VendorTaskAssignedNotification |
New job for vendor. |
|
VendorAcceptedJobNotification |
Acceptance notice for landlord. |
|
VendorArrivedNotification |
Arrival notice for landlord and Client. |
|
VendorCompletedJobNotification |
Completion notice for landlord. |
|
VendorDeclinedJobNotification |
Decline notice for landlord. |
|
VendorAccountCreatedMail |
Account creation confirmation. |
|
VendorInvitationMail |
Tokenised invitation. |
|
VendorTaskAssignedMail |
Job details by email. |
|
VendorAccessMiddleware |
Vendor portal access guard. |
|
VendorStatusMiddleware |
Suspended and blacklisted action guard. |
62 Vendor Status and Connection Lifecycles
|
Lifecycle |
States |
|
Vendor account |
Pending -> Active / Suspended / Blacklisted; verification recorded separately. |
|
LandlordVendorConnection |
Pending -> Accepted or Declined; Accepted -> Terminated. |
|
VendorInvitation |
Created -> Accepted or Expired. |
|
Maintenance job |
Assigned -> In Progress -> Arrived / work execution -> Completed; or Declined -> Pending for reassignment. |
|
|
Confirm exact maintenance status handling The supplied scenario moves Accept directly to in_progress and uses arrival as an event rather than a separate stated MaintenanceRequest status. Confirm the production enum. |
63 Security, Privacy and Safety Controls
|
☐ |
Vendor portal and API enforce authenticated vendor ownership. |
|
☐ |
Suspended and blacklisted accounts are blocked. |
|
☐ |
Client contact and property access details are purpose-limited. |
|
☐ |
Tax, insurance, background and contract documents are access-controlled. |
|
☐ |
Completion photos are scanned and protected. |
|
☐ |
Emergency and safety procedures are documented. |
|
☐ |
Vendor credentials are reviewed before relevant assignments. |
|
☐ |
Activity logs capture verification and status actions. |
|
☐ |
Sensitive exports are protected. |
|
☐ |
Account and field users use strong passwords and two-factor authentication. |
|
|
Leaseora is not a substitute for site-safety management The real estate company and vendor remain responsible for risk assessment, permits, safe systems of work, qualified personnel, incident response and legal duties. |
64 Worked Example 1 - Vendor Self-Registration
|
|
Scenario A plumbing company registers for the marketplace and wants to serve properties in Abuja. |
|
Stage |
What happens |
|
1. Register |
The company enters identity, licence, insurance, plumbing specialty, service area and pricing. |
|
2. Create |
User and MaintenanceVendor are created as Pending. |
|
3. Email |
VendorAccountCreatedMail and verification process are completed. |
|
4. Review |
SuperAdmin checks the business licence, insurance and service information. |
|
5. Verify |
is_verified becomes true and verified_at is recorded. |
|
6. Activate |
Status becomes Active. |
|
7. Publish |
The vendor enables marketplace visibility and accepts new Clients. |
|
8. Discover |
A landlord finds the vendor by plumbing, Abuja, insured and available filters. |
65 Worked Example 2 - Invite an Existing Contractor
|
|
Scenario A landlord has used an electrical contractor offline and invites the company to Leaseora. |
|
Stage |
What happens |
|
1. Invite |
VendorInvitation is created with token and expiry. |
|
2. Email |
VendorInvitationMail is sent. |
|
3. Validate |
The contractor opens the link before expiry. |
|
4. Register |
The company completes the profile because no account exists. |
|
5. Verify |
SuperAdmin reviews licence and insurance. |
|
6. Accept |
markAsAccepted records accepted_at. |
|
7. Connect |
LandlordVendorConnection is created. |
|
8. Roster |
The contractor appears in My Vendors after approval and acceptance. |
66 Worked Example 3 - Emergency Maintenance Job
|
|
Scenario A Client reports a major water leak. The landlord assigns an emergency plumbing vendor. |
|
Stage |
What happens |
|
1. Filter |
The coordinator selects Active, Verified, insured, emergency plumbing vendors in the service area. |
|
2. Assign |
assigned_vendor_id is set and VendorTaskAssigned fires. |
|
3. Notify |
The vendor receives portal notification and VendorTaskAssignedMail. |
|
4. Accept |
The vendor accepts; status moves to in_progress. |
|
5. Arrive |
The vendor marks arrival; landlord and Client are notified. |
|
6. Complete |
The vendor records repair, materials, time, cost and photos. |
|
7. Update |
recordJobCompletion updates metrics once. |
|
8. Review |
The landlord rates the completed job. |
67 Worked Example 4 - Vendor Declines and Job Is Reassigned
|
|
Scenario An HVAC vendor cannot attend because its capacity is full. |
|
Stage |
What happens |
|
1. Review |
The vendor opens the assigned task. |
|
2. Decline |
Capacity is selected as the decline reason. |
|
3. Revert |
MaintenanceRequest returns to Pending. |
|
4. Notify |
VendorDeclinedJobNotification informs the landlord. |
|
5. Search |
The coordinator selects another qualified, available HVAC vendor. |
|
6. Reassign |
A new assignment event and notification are created. |
|
7. Capacity |
The first vendor updates current_capacity and available_from. |
68 Worked Example 5 - Terminate a Relationship Without Blacklisting
|
|
Scenario A landlord changes procurement strategy and no longer uses a cleaning vendor, but there is no platform misconduct. |
|
Stage |
What happens |
|
1. Review |
The landlord checks active jobs and outstanding issues. |
|
2. Complete |
Existing work and evidence are closed. |
|
3. Terminate |
Connection status becomes Terminated and notes record the business reason. |
|
4. Roster |
The vendor is removed from the landlord active roster. |
|
5. History |
Joint jobs and reviews remain available. |
|
6. Platform |
The vendor remains Active for other landlords because SuperAdmin status is unchanged. |
69 Implementation and Onboarding Checklist
Vendor data and verification
|
☐ |
Required fields are defined by country and specialty. |
|
☐ |
Credential document types and expiry rules are configured. |
|
☐ |
SuperAdmin review roles and evidence are configured. |
|
☐ |
Marketplace-safe public fields are separated from restricted fields. |
|
☐ |
Status and verification are represented separately. |
Connections and maintenance
|
☐ |
Connection duplicate rules are defined. |
|
☐ |
Invitation token and expiry are tested. |
|
☐ |
Maintenance assignment eligibility checks are configured. |
|
☐ |
Notifications and mail classes are enabled. |
|
☐ |
Completion report and media storage are configured. |
Vendor operations
|
☐ |
Vendor portal and mobile authentication are enabled. |
|
☐ |
Availability and capacity rules are documented. |
|
☐ |
Earnings definitions and external settlement are documented. |
|
☐ |
Review moderation and response rules are configured. |
|
☐ |
Performance metric definitions are approved. |
70 User Acceptance Testing and Go-Live
|
Test area |
Acceptance test |
|
Registration |
Create a full vendor and validate required fields. |
|
Email verification |
Valid, expired, altered and resent links. |
|
Pending access |
Allow onboarding and block protected actions. |
|
Verification |
Verify and unverify with timestamps. |
|
Activation |
Activate only eligible vendor. |
|
Suspension |
Block web and API actions with notes. |
|
Blacklisting |
Block account and preserve history. |
|
Marketplace eligibility |
Active + verified + visible only. |
|
Marketplace filters |
Specialty, area, emergency, rating, insured, price and response. |
|
Search |
Company, service and description search. |
|
Profile privacy |
Exclude tax, policy and internal fields. |
|
Direct hire |
Create Pending connection and increment request. |
|
Connection request |
Create Connected type. |
|
Invitation |
Send, accept, expire and reject reuse. |
|
New invitee |
Complete registration and remain Pending for review. |
|
Hire requests |
Accept and decline; update statistics. |
|
Roster |
Accepted connections only under configured view. |
|
Terminate |
Terminate without changing platform status. |
|
Assignment |
Assign qualified connected vendor. |
|
Task ownership |
Vendor sees only assigned tasks. |
|
Accept task |
Move to in_progress once. |
|
Decline task |
Record reason and revert to Pending. |
|
Arrival |
Notify landlord and Client once. |
|
Completion |
Report, materials, cost and photos. |
|
Idempotency |
Repeat completion without duplicate metrics. |
|
Dashboard |
Jobs, requests, earnings, ratings and notifications. |
|
Profile |
Update allowed fields and trigger review for credentials. |
|
Availability |
Capacity, date and blackout handling. |
|
Earnings |
Filters and CSV/PDF export. |
|
Reviews |
Create only for completed job and respond safely. |
|
Notifications |
Read, unread, all-read and delete. |
|
Mobile API |
Login, tasks, accept, decline, arrive and complete. |
|
Security |
Middleware, landlord scope and sensitive fields. |
|
Audit |
Verification, status and termination activities. |
|
|
Go-live gate Do not open public self-registration or marketplace visibility until verification, middleware, privacy, invitation, assignment and mobile API tests pass. |
71 Daily, Weekly and Monthly Operating Procedures
|
Frequency |
Recommended activities |
|
Daily |
Review pending applications, expired credentials, new hire requests, urgent assignments, declined jobs and failed notifications. |
|
Weekly |
Review vendor capacity, incomplete jobs, ratings, marketplace conversion, suspension cases and completion evidence. |
|
Monthly |
Review insurance and licence expiry, earnings exceptions, performance definitions, terminated relationships and marketplace ranking. |
|
Quarterly |
Review verification policy, background-check rules, data retention, security, contracts, review moderation and mobile access. |
72 Common Issues and Troubleshooting
|
Issue |
Recommended action |
|
Vendor cannot register |
Check required fields, duplicate email, document validation and user creation. |
|
Verification link fails |
Check hash, ID, signature, expiry and prior verification. |
|
Vendor is verified but not visible |
Check Active status, marketplace toggle and accepts-new-Clients rule. |
|
Suspended vendor can use API |
Apply status middleware or equivalent API guard. |
|
Marketplace search returns private data |
Review resource transformer and public field allow-list. |
|
Duplicate connection created |
Add landlord-vendor active connection check. |
|
Invitation accepted twice |
Enforce single-use markAsAccepted. |
|
Vendor cannot see hire request |
Check authenticated vendor ID and connection ownership. |
|
Accepted vendor missing from roster |
Check connection status and scopeForLandlord. |
|
Task assigned to unavailable vendor |
Review eligibility and capacity checks. |
|
Vendor sees another task |
Fix vendor ownership policy and API query scope. |
|
Completion count doubled |
Add idempotency around completion event. |
|
Arrival notification repeats |
Prevent duplicate arrival transition. |
|
Rating average is wrong |
Check review count, deleted reviews and recalculation. |
|
Earnings differ from job costs |
Confirm gross, approved, paid and net definitions. |
|
Expired insurance still passes filter |
Review expiry-aware insured scope. |
|
Terminated vendor remains active |
Distinguish roster connection from platform status. |
|
Blacklisting has no reason |
Require authorised notes and activity record. |
73 Frequently Asked Questions
Can vendors register without a landlord invitation?
Yes. VendorRegistrationController supports marketplace self-registration.
Does registration make a vendor active?
No. The record begins Pending and requires review, verification and activation.
Can a vendor hide from the marketplace?
Yes. is_marketplace_visible controls public listing, subject to status and verification.
Can landlords invite contractors who are not registered?
Yes. The invitation flow can lead to completeRegistration.
What is the difference between Hire and Assign?
Hire creates a landlord-vendor relationship. Assign links a specific maintenance request to the vendor.
Can a vendor decline a connection?
Yes. The connection becomes Declined and statistics are updated.
Can a vendor decline a job after accepting the relationship?
Yes. The job returns to Pending for reassignment.
Who receives the arrival notification?
The landlord and Client under the supplied scenario.
How is performance updated?
recordJobCompletion updates configured metrics after completion.
Can vendors respond to reviews?
Yes, through VendorReviewsController@respond.
Can a landlord terminate a relationship?
Yes. The connection becomes Terminated without necessarily changing platform status.
Can a suspended vendor use the mobile API?
It should be blocked by status middleware or equivalent API authorisation.
Does Leaseora pay vendors automatically?
The supplied scenario defines earnings views but does not specify a vendor payout job. Production settlement must be confirmed.
Can a vendor be blacklisted by one landlord?
The supplied blacklist action is SuperAdmin platform status. A landlord terminates its own connection.
74 Technical Matters to Confirm Before Production
|
Area |
Confirmation required |
|
Status enums |
Confirm Pending, Active, Inactive, Suspended and Blacklisted rules. |
|
Verification history |
Confirm unverify behaviour and audit history. |
|
Credential expiry |
Confirm alerts, auto-suspension and assignment block. |
|
Background checks |
Confirm provider, lawful basis, expiry and appeal. |
|
Vendor code |
Confirm generation and uniqueness. |
|
Profile documents |
Confirm types, storage, malware scanning and retention. |
|
Marketplace ranking |
Confirm factors, fairness and sponsored treatment. |
|
Marketplace statistics |
Confirm impressions, interactions and deduplication. |
|
Connection duplicates |
Confirm one active connection per landlord-vendor pair. |
|
Hire notification |
Confirm whether VendorTaskAssignedNotification is intentionally used for hire requests or a separate notification is required. |
|
Invitation |
Confirm token length, signature, expiry and authentication. |
|
Roster scope |
Confirm accepted, active and verified combination. |
|
Task status |
Confirm Assigned, In Progress, Arrived and Completed enum behaviour. |
|
Task decline |
Confirm status reset and reassignment audit. |
|
Arrival |
Confirm duplicate handling and optional geolocation. |
|
Completion |
Confirm required fields, approvals and correction workflow. |
|
Performance |
Confirm formulas, sample sizes and recalculation. |
|
Reviews |
Confirm one review per job, moderation and deletion impact. |
|
Earnings |
Confirm gross, approved, invoiced, paid and net values. |
|
Vendor settlement |
Confirm payment method, bank details, payout jobs and audit. |
|
Mobile auth |
Confirm token expiry, refresh, revocation and device security. |
|
Middleware |
Confirm application to web, API and background actions. |
|
SuperAdmin audit |
Confirm actor, reason, previous state and notifications. |
|
Deletion |
Confirm account deletion versus retained job and legal records. |
|
|
Specification basis This guide preserves the terminology and workflow supplied for the Leaseora Vendors module. Undefined production behaviour is listed for confirmation rather than silently assumed. |
75 Quick Reference - 38-Step Vendor Operating Flow
1. Vendor opens the self-registration or invitation flow.
2. Vendor enters business, contact, service, credential and pricing data.
3. User and MaintenanceVendor records are created as Pending.
4. Vendor verifies the email address.
5. SuperAdmin reviews the application and documents.
6. SuperAdmin verifies or rejects the evidence.
7. SuperAdmin activates, suspends or blacklists under policy.
8. Active verified vendor configures marketplace visibility.
9. Vendor sets availability, service area and capacity.
10. Landlord browses the marketplace.
11. Landlord filters by specialty, geography, emergency, rating and insurance.
12. Landlord reviews the full vendor profile.
13. Landlord hires, requests a connection or sends an invitation.
14. LandlordVendorConnection is created as Pending.
15. Vendor accepts or declines the relationship.
16. Accepted vendor appears in the landlord roster.
17. Maintenance coordinator reviews vendor eligibility.
18. Coordinator assigns a MaintenanceRequest.
19. VendorTaskAssigned event and notices are sent.
20. Vendor reviews the task through web or mobile.
21. Vendor accepts and the request moves to In Progress.
22. Or vendor declines and the request returns to Pending.
23. Vendor attends the correct property.
24. Vendor marks arrival.
25. Landlord and Client receive arrival notice.
26. Vendor performs the authorised work.
27. Vendor submits completion description, materials, time, cost and photos.
28. The request becomes Completed.
29. recordJobCompletion updates performance once.
30. Landlord reviews the completion evidence.
31. Landlord creates a factual review and rating.
32. Vendor may post a confidential-safe response.
33. Vendor reviews earnings and payment status.
34. Vendor updates profile, pricing, availability and security.
35. Landlord monitors roster and performance.
36. Landlord terminates the relationship where required.
37. SuperAdmin monitors activities, verification and platform status.
38. The company retains auditable records and periodically revalidates credentials.
|
|
Business value Leaseora's Vendors module gives a real estate company one connected workflow for contractor onboarding, marketplace discovery, verified relationships, maintenance assignments, mobile field execution, performance measurement and vendor governance. |
LEASEORA
VENDORS AND VENDOR MARKETPLACE
Find, verify, connect, assign and manage real estate service providers from one connected platform.
|
|
Support and onboarding For vendor onboarding, verification configuration, marketplace setup, invitation workflows, maintenance assignment, mobile field operations, performance or reporting assistance, contact Leaseora through support@leaseora.com. |
leaseora.com
Tags
Was this article helpful?
Your feedback helps us improve our documentation.