REELS

The Reels module is Leaseora's short-form video marketing and lead-generation system. It allows a real estate company to connect visual content directly to a Property, WeBuild or Property Development project, Mortgage, or LandParcel, publish that content to an active feed, build a follower audience, record engagement, capture prospect interest, and purchase controlled promotion within the platform.

L
Leaseora
Jul 30, 2026 58 min read 20 views

LEASEORA

REELS

End-to-End User and Technical Operations Guide

Video Publishing • Property Context • Public Feed • Engagement • Followers • Leads • Boosts • Verified Badges • Payments • Moderation

For real estate companies, corporate landlords, property managers, marketing teams, leasing teams, sales teams and authorised platform administrators

Version 1.0 | July 2026

Purpose of this guide

This guide explains how a real estate company uses Leaseora Reels to publish short-form property and project videos, notify followers, manage public engagement, capture leads, purchase paid boosts, apply for a verified badge and monitor outcomes. It also provides a technical reference for the supplied models, controllers, resources, validation rules, notifications and payment flows.

 

 

 

Document Control

Item

Details

Document title

Leaseora Reels Module - User and Technical Operations Guide

Version

1.0

Date

July 2026

Owner

Leaseora

Primary audience

Real estate companies, corporate landlords, property administrators, marketing/content teams, leasing/CRM teams, sales teams, finance teams and authorised administrators.

Client audience

Clients, tenants, prospects, applicants, investors and other users browsing reels through web or mobile.

Technical audience

Product, engineering, QA, mobile, payment, security and platform-operations teams.

Basis

The supplied end-to-end Reels scenario, models, controllers, resources, validation, notifications, promotion payments and moderation actions.

Support

support@leaseora.com | leaseora.com

 

How to Use This Guide

Reader

Recommended sections

Company director / operations lead

Purpose, roles, module journey, governance, KPIs, worked examples and go-live checks.

Marketing / content team

Video preparation, reel creation, publishing, follower communication, comments, boosts and performance review.

Leasing / CRM / sales team

Lead capture, follow-up, qualification, property context and conversion reporting.

Finance team

Boost and verification payment controls, wallet deductions, gateway callbacks, refunds/cancellation rules requiring confirmation.

Customer support / moderation

Reports, comments, content status, user complaints and escalation to SuperAdmin.

Technical / QA team

Models, fields, scopes, relationships, controllers, API resources, notifications, payment callbacks and UAT.

 

Terminology rule

This guide uses Client or Prospect in user-facing instructions. Backend model and controller names may use User, Tenant or Landlord; those technical names are preserved exactly where relevant.

 

1 Purpose, Scope and Terminology

The Reels module is Leaseora's short-form video marketing and lead-generation system. It allows a real estate company to connect visual content directly to a Property, WeBuild or Property Development project, Mortgage, or LandParcel, publish that content to an active feed, build a follower audience, record engagement, capture prospect interest, and purchase controlled promotion within the platform.

Item

Description

Primary scope

Reel creation, video and thumbnail storage, publication, feed discovery, interactions, comments, followers, lead capture, paid boosts, verification badges and SuperAdmin moderation.

Business objective

Convert property and project videos into measurable discovery, trust, inquiries and sales or leasing opportunities.

Context links

A reel can link to property_id, project_id, mortgage_id or land_parcel_id so the viewer can understand what the video represents.

Public experience

Active reels are returned through API\ReelController using ReelResource, with boosted reels eligible for higher placement.

Commercial scope

ReelBoost and ReelVerification can be paid through the landlord wallet or a configured payment gateway.

Technical scope

Reel, ReelInteraction, ReelComment, ReelBoost, ReelVerification, ReelVerifiedBadge, ReelLead, controllers, API resources, validation and notifications.

AI scope

The supplied Reels scenario does not identify a dedicated AI controller or service. This guide therefore does not present AI reel generation or AI moderation as confirmed live features.

 

Key terminology

Term

Operational meaning

Reel

A short video record owned by a landlord and optionally linked to a property, project, mortgage or land parcel.

Active reel

A published reel visible in public-facing active queries.

Draft reel

A saved but unpublished reel that can be reviewed and edited.

Inactive reel

A reel removed from active public display without necessarily deleting its record.

Interaction

A view, like, save, share or report recorded against a reel and user/device context.

Follower

A user who follows a landlord and can receive notifications for future reels.

Lead

A prospect interest record created directly from a reel, attributed to source = reel_lead.

Boost

A paid promotion with plan, duration, impression target, payment and status.

Verification application

A landlord request and payment record awaiting approval for a trust badge.

Verified badge

An approved, time-bounded badge displayed on the landlord profile and reels.

 

Reels are not a substitute for the property record

A reel is marketing content. The linked Property, Project, Mortgage or LandParcel remains the authoritative operational record for pricing, availability, legal documents, application terms and transaction details.

 

2 Roles and Responsibilities

Role

Main responsibilities

Key controls

Corporate Landlord / Real Estate Company

Owns reel strategy, publishing authority, promotion budget, brand standards, lead response and compliance.

Approves public claims, payment spend, badge application and deletion of business records.

Marketing / Content Officer

Plans, uploads, tags, edits, publishes and reviews reel performance.

Uses authorised media, accurate descriptions and approved calls to action.

Property / Project Administrator

Confirms the correct property, project, mortgage or land parcel context.

Prevents a reel from linking to the wrong asset or outdated availability.

Leasing / CRM / Sales Team

Receives, contacts, qualifies and converts ReelLead records.

Records status changes and avoids exporting contact data without authority.

Finance Officer

Verifies wallet or gateway payments for boosts and verification.

Requires a successful payment record before activation and reconciles references.

Customer Support / Moderator

Reviews reports, comments and inappropriate-content concerns.

Escalates serious issues and does not remove content without policy authority.

Client / Prospect

Browses, views, likes, saves, shares, comments, follows and submits leads.

Uses accurate contact details and follows community rules.

Leaseora SuperAdmin

Moderates all reels, boosts, badges and platform-wide reel leads.

Can activate/deactivate/remove reels and approve/pause/cancel paid services.

 

3 Complete Module Journey

Figure 1. Reels end-to-end marketing and lead journey

Phase

Business outcome

Principal records

1. Create and publish

The company produces accurate, branded video content linked to a Leaseora asset.

Reel, ReelRequest, media files.

2. Discover and engage

Clients and prospects find active reels and generate measurable interaction.

ReelResource, ReelInteraction, ReelComment.

3. Follow and notify

Users follow a landlord and receive new-reel notifications.

LandlordFollower, ReelPostedNotification.

4. Capture leads

Video interest becomes a trackable sales or leasing opportunity.

ReelLead.

5. Paid promotion

The company pays to increase reel visibility for a controlled period and target.

ReelBoost, wallet/gateway transaction.

6. Verification

The company applies and pays for a trust badge subject to SuperAdmin approval.

ReelVerification, ReelVerifiedBadge.

7. Oversight and optimisation

Management and SuperAdmin review content, payments, impressions, leads and conversion.

SuperAdminReelController, analytics fields and exports where implemented.

 

4 Implementation Prerequisites and Account Configuration

Business information and assets to prepare

  Approved company logo, profile identity and public contact information.

  Authorised list of properties, projects, mortgages and land parcels that may be promoted.

  Approved video files in supported format: MP4, MOV or AVI.

  Optional approved thumbnail images in JPG, PNG or WebP.

  Clear content titles, descriptions, tags and content type definitions.

  Property availability, price and feature facts verified against the current Leaseora record.

  Consent or rights for all people, music, footage, floor plans and third-party branding appearing in the video.

  Comment moderation and inappropriate-content escalation policy.

  Lead response process, owner, target response time and CRM attribution rules.

  Approved promotion budget, wallet balance and configured gateway access.

  Verification credentials and internal approval to apply for a paid badge.

  Staff roles and permissions for creation, publication, payments and lead management.

Recommended rollout sequence

1. Confirm company branding, user permissions and asset ownership.

2. Create one short test reel for an active property.

3. Keep it as Draft and review playback, thumbnail, title, description, context link and tags.

4. Publish the test reel and confirm it appears in the active feed.

5. Test view, like, save, share, report, comment and reply actions with authorised test users.

6. Test follow and ReelPostedNotification delivery.

7. Submit a test ReelLead and verify assignment and status tracking.

8. Create a low-value test boost and verify wallet or gateway payment once.

9. Test verification application without approving production credentials until governance is ready.

10. Review SuperAdmin moderation, reports and status controls before expanding content volume.

Use role-based accounts

Every employee should use an individual Leaseora account. Shared credentials weaken accountability for publishing, deletion, promotion spend, badge applications and lead changes.

 

Video rights and personal data

Do not publish footage containing people, private interiors, vehicle plates, documents, access codes or other identifiable information unless the company has a lawful basis and appropriate consent.

 

5 Phase 1 - Create and Publish Reels

Steps 1 to 4: prepare, upload, review, publish and notify followers.

Figure 2. Reel creation, review and publishing flow

STEP
1

Access the Reels Dashboard

Primary user: Corporate Landlord / Marketing Team

 

Navigate to Reels (/reels). Landlord\Shared\ReelController@index returns reels owned by the authenticated landlord and can eager-load the linked asset, landlord identity, interactions, boosts and leads so the dashboard can show both content and outcome information.

Dashboard area

What it shows

Operational use

Reel list

Title, thumbnail, status, type, linked asset and creation date.

Identify drafts, inactive content and active campaigns.

Engagement

Views, likes and available interaction totals.

Compare content performance and detect unusual activity.

Leads

Lead count and conversion status where displayed.

Prioritise follow-up and calculate content contribution.

Boost status

Active boost badge, plan and dates.

Avoid purchasing overlapping boosts unintentionally.

Filters

Status, property type, date range and tags.

Locate content for one campaign, asset or review period.

Relationships

Property, project, mortgage or land parcel.

Confirm every reel points to the intended business record.

 

Reel query controls

·         landlord_id = auth()->id() limits the dashboard to the authenticated landlord's reels.

·         scopeActive() returns only published/active reels.

·         scopeBoosted() returns reels with a currently active ReelBoost.

·         Eager loading reduces repeated queries when showing linked assets, interactions, boosts and leads.

Dashboard counts are operational indicators

Views, likes, leads and delivered impressions should be interpreted with the selected date range, reel age, boost period and audience size. Do not compare raw totals without context.

 

STEP
2

Create and Upload a Reel

Primary user: Marketing / Content Officer

 

Open Reels -> Create. Landlord\Shared\ReelController@create loads the form and @store validates the request through ReelRequest, stores the media and creates the Reel record. The recommended operating rule is to save new content as Draft until an authorised reviewer confirms it is ready.

Field

Requirement / purpose

Example / control

title

Required string identifying the reel.

Use a clear public title such as "3-Bedroom Tour - Meridian Court".

description

Optional supporting text and call to action.

State verified facts and the next step, not unsupported claims.

video

Required MP4, MOV or AVI file within the configured size limit.

Test playback before upload and confirm orientation.

thumbnail

Optional JPG, PNG or WebP image.

Use a clear frame that represents the actual content.

property_id

Optional link to the featured Property.

Choose the exact property or unit context supported by the interface.

project_id

Optional link to a WeBuild or development project.

Use for project updates, progress or investor content.

mortgage_id

Optional mortgage context.

Use only when the content and permissions support mortgage promotion.

land_parcel_id

Optional link to a LandParcel.

Verify boundaries and listing facts before publishing.

tags

Optional searchable JSON array.

Location, property type, bedrooms, project name or campaign.

type

Reel content classification.

Property tour, project update, market insight or configured type.

status

Draft or Active according to the supplied workflow.

Use Draft for review; publish Active only after approval.

 

What happens on save

1. ReelRequest validates the title, media type, file size, optional thumbnail and context identifiers.

2. The video is stored through Storage::disk("public") and video_url is saved.

3. The supplied thumbnail is stored, or a generated thumbnail may be used where implemented.

4. A unique slug is generated from the title for stable public routing.

5. The Reel record is created with ownership and context links.

6. The reel remains Draft unless the authorised workflow explicitly publishes it.

Recommended video preparation controls

Control

Recommended practice

Accuracy

Confirm property name, address references, availability, price statements, project stage and amenities against current Leaseora data.

Length and pace

Keep the video focused enough for short-form viewing and show the strongest verified features early.

Orientation

Use the orientation required by the mobile feed; test letterboxing and cropping.

Audio

Use authorised audio and ensure speech remains understandable.

Branding

Use the official company identity without obscuring the property.

Accessibility

Add captions or text support where available and avoid conveying essential information by audio alone.

Call to action

Use a clear action such as submit interest, follow, save or view the linked property.

Privacy

Remove personal documents, faces without consent, access codes, keys, plates and confidential information.

 

STEP
3

View, Edit, Publish, Deactivate or Delete a Reel

Primary user: Authorised Marketing / Portfolio Administrator

 

Controller action

Purpose

Control

show($reel)

View media, metadata, linked asset and performance detail.

Confirm the record belongs to the landlord.

edit($reel)

Open the edit form.

Review whether the reel is currently boosted or publicly active.

update($request, $reel)

Save corrected title, description, tags, thumbnail, context or status.

Do not silently alter an active campaign without recording the reason.

toggleStatus($reel)

Switch Active and Inactive.

Use Inactive to stop public display without immediate deletion.

destroy($reel)

Delete the record and remove the stored video file.

Check retention, leads, boosts and audit requirements first.

 

Publishing checklist

  Video plays successfully on web and mobile.

  Thumbnail is clear and not misleading.

  Title and description are accurate and approved.

  Correct property, project, mortgage or land parcel is linked.

  Tags and type are consistent with company naming standards.

  No private or unapproved content is visible.

  Call to action matches the viewer journey.

  Reel status changes to Active and the public feed displays it.

  Follower notification is sent only when intended.

Deletion is more serious than deactivation

Deleting a reel may remove media while leads, payment records, comments or reporting references still exist. Prefer Inactive when the business needs to stop public display but preserve history. The exact deletion and cascade behaviour must be confirmed from the live build.

 

STEP
4

Notify Followers When a Reel Is Published

Primary user: Marketing / Content Officer

 

When a reel becomes Active, ReelController@notifyFollowers($reel) retrieves users connected through the LandlordFollower relationship and sends ReelPostedNotification. The notification is delivered through database and broadcast channels, allowing an in-app record and real-time WebSocket delivery.

Notification payload

Meaning

reel_id

Internal identifier of the published reel.

reel_title

Public title used in the notification.

landlord_name

Company or landlord identity the follower recognises.

action_url

Deep link such as /reels/{slug}.

channels

database and broadcast.

 

Avoid duplicate publication alerts

Publishing actions and payment callbacks should be idempotent. Repeated status updates or retries should not send the same ReelPostedNotification multiple times to every follower. Confirm the live implementation.

 

6 Phase 2 - Client and Prospect Discovery and Engagement

Steps 5 to 10: browse the feed, interact, follow a landlord and submit interest.

Figure 3. Public feed, engagement and follower architecture

STEP
5

Browse the Reels Feed

Primary user: Client / Prospect

 

The mobile or web experience uses API\ReelController@index to return a paginated collection of active reels. Reel::scopeActive() prevents draft and inactive content from appearing in the public feed. Results may be ordered by newest first and may give higher placement to active boosted reels or content from followed landlords according to the implemented ranking logic.

Endpoint

Result

User value

index($request)

Paginated active feed.

Discover current property, project, mortgage or land content.

landlordReels($request)

Public reels from one landlord.

Browse a company-specific content profile.

saved($request)

Authenticated user's bookmarked reels.

Return to shortlisted properties or campaigns.

search($request)

Search titles, descriptions and tags.

Find location, property type, project or topic.

followStatus($request)

Current follow state for a landlord.

Show the correct Follow or Following control.

 

ReelResource response

Resource data

Purpose

id, slug

Stable identity and route.

title, description

Public content and context.

video_url, thumbnail_url

Playback and preview media.

status

Public state where exposed.

views, likes

Engagement indicators.

tags

Search and classification.

landlord

ID, name, logo and verified state.

property / context

Linked asset summary.

created_at

Publication recency.

 

Feed ranking requires production confirmation

The supplied scenario states newest-first or boost priority and that followed landlords can be surfaced higher. The exact ranking weights, pagination rules, duplicate prevention and personalisation logic should be confirmed before formal performance reporting.

 

STEP
6

View a Single Reel

Primary user: Client / Prospect

 

API\ReelController@show($reel) returns the full reel through ReelResource. The system increments Reel.views and creates a ReelInteraction with type = view, together with available user, IP address and device context.

System action

Expected result

Control consideration

Resolve reel by slug or ID

Correct active reel returned.

Do not expose another landlord's Draft or Inactive reel.

Increment views

Reel.views increases.

Avoid multiple increments caused by one API retry where idempotency is expected.

Create interaction

ReelInteraction type = view.

Apply privacy and retention controls to IP and user agent data.

Return linked context

Property, project, mortgage or land parcel summary.

Authoritative price and availability should come from the linked record.

 

Views do not equal unique people

The scenario records a view interaction and an aggregate views counter. It does not define a unique-view window, bot filtering or repeat-view rule. Treat views as platform events until the analytics definition is confirmed.

 

STEP
7

Like, Save, Share or Report a Reel

Primary user: Client / Prospect

 

Action

Backend result

Expected user experience

like($reel)

ReelInteraction type = like; Reel.likes incremented.

Like state becomes active.

unlike($reel)

Like interaction removed or reversed; counter adjusted.

Like state becomes inactive.

save($reel)

ReelInteraction type = save.

Reel appears in Saved collection.

unsave($reel)

Save interaction removed.

Reel leaves Saved collection.

share($reel)

ReelInteraction type = share.

Share sheet or link is presented.

report($reel)

ReelInteraction type = report.

User receives confirmation and moderation can review.

 

ReelInteraction fields

Field

Purpose

reel_id, user_id

Connect the action to the content and authenticated user where available.

type

view, like, save, share or report.

ip_address, user_agent

Security, abuse and analytics context subject to privacy controls.

metadata

Additional JSON context such as source screen or campaign.

 

Counter and record consistency

Like and view counters should reconcile with interaction rules. Duplicate requests, unlike actions and deleted interactions must not produce negative or inflated counters. Test concurrency and retries during UAT.

 

STEP
8

Comment on a Reel and Reply to a Comment

Primary user: Client / Prospect / Landlord

 

API\ReelCommentController manages top-level comments and threaded replies. ReelComment.parent_id = null identifies a top-level comment, while a reply stores the original comment ID in parent_id.

Action

What it does

Notification / control

index($request, $reel)

Returns paginated top-level comments.

Apply visibility and moderation rules.

store($request, $reel)

Creates a new top-level ReelComment.

Landlord is notified using the supplied new-comment notification variant.

show($reel, $comment)

Returns one comment and available thread data.

Confirm comment belongs to the reel.

reply($request, $reel, $comment)

Creates child comment with parent_id.

ReelCommentReplyNotification sent to original commenter.

update(...)

Edits the user's own comment.

Record edit policy and time window where implemented.

destroy(...)

Deletes the user's own comment.

Confirm child reply and moderation behaviour.

like / unlike

Changes comment-like state.

Prevent duplicate likes.

 

ReelCommentReplyNotification payload

Payload item

Purpose

reel_id

Identifies the related reel.

parent_comment_id

Identifies the original comment.

reply_body

Provides a safe preview of the reply.

replier_name

Identifies who replied.

action_url

Deep link to /reels/{slug}.

channels

database and broadcast for real-time delivery.

 

Comment moderation

The supplied scenario defines user edit/delete and reporting interactions but does not state profanity filtering, moderation queues, blocked words, appeal or retention rules. The company and SuperAdmin should confirm these controls before public launch.

 

STEP
9

Follow or Unfollow a Landlord

Primary user: Client / Prospect

 

API\ReelController@toggleFollowLandlord($landlordId) creates a LandlordFollower record when the user follows and removes it when they unfollow. @followStatus returns the current state so the interface can show the correct control.

Follow state

System result

Future effect

Not following -> Follow

LandlordFollower record created.

Landlord reels can be prioritised and ReelPostedNotification can be delivered.

Following -> Unfollow

LandlordFollower record deleted.

No future new-reel follower notification.

Status check

Boolean/current status returned.

Prevents ambiguous button state.

 

Following is not a business relationship

A follow records content preference. It does not create a lease, application, viewing appointment, investment commitment or payment obligation.

 

STEP
10

Submit a Lead Directly from a Reel

Primary user: Client / Prospect

 

Figure 4. Reel-to-lead conversion flow

A viewer who wants more information uses API\ReelController@submitLead($request, $reel). The system creates a ReelLead linked to the reel, landlord and available property context, and records source = reel_lead for attribution.

Field

Purpose

Control

reel_id

Source content.

Must reference the reel used to submit interest.

landlord_id

Recipient company.

Derived from reel ownership.

user_id

Authenticated prospect where available.

Do not rely on this alone for contact consent.

property_id

Featured property context.

May be null for non-property reel types.

name, email, phone

Prospect contact data.

Validate and protect as personal data.

message

Interest, question or requested next step.

Do not collect unnecessary sensitive data.

status

new, contacted, qualified, converted or rejected.

Update after every material follow-up.

source

reel_lead.

Preserves marketing attribution.

 

Recommended lead response procedure

1. Open the new ReelLead and confirm the source reel and linked asset.

2. Check that the property or project is still available and the reel information is current.

3. Contact the prospect through an approved channel and record the attempt.

4. Update status from New to Contacted.

5. Qualify need, budget, location, timing and requested transaction without collecting unnecessary data.

6. Move to Qualified when the opportunity meets company criteria.

7. Create the relevant viewing, CRM, application, sale or mortgage workflow.

8. Mark Converted only when the company-defined conversion event occurs; otherwise use Rejected with an authorised reason where available.

Lead consent and response

A reel lead contains personal contact information. Use it only for the stated property/service purpose, apply the company privacy notice, and honour opt-out or deletion requirements.

 

7 Phase 3 - Paid Reel Boosts

Steps 11 and 12: select a promotion plan, pay securely and monitor delivery.

Figure 5. Paid reel boost and payment activation

STEP
11

Create a Reel Boost

Primary user: Landlord Marketing / Finance

 

Landlord\Shared\ReelPromotionController presents promotion plans with duration, impression target, price and currency. The landlord selects an eligible reel, reviews the checkout and creates a ReelBoost before payment.

Controller action

Purpose

index($request)

View all boost records for the landlord.

showVerificationPlans

Displays the supplied promotion/verification plan catalogue.

showBoostCheckout($reel)

Shows the reel, plan, price, duration and payment choices.

create / store

Creates the ReelBoost record, normally with status = pending_payment.

 

ReelBoost field reference

Field

Operational meaning

reel_id, landlord_id

Content and payer ownership.

plan_name, duration_days

Selected product and active period.

start_date, end_date

Actual campaign window after activation.

impressions_target, impressions_delivered

Purchased target and delivered count.

amount, currency

Charge to be reconciled.

payment_method

wallet or gateway.

payment_reference

Unique transaction reconciliation reference.

status

pending_payment, active, paused, completed or cancelled.

boost_notes

Administrative notes.

 

Pre-payment checklist

  Reel belongs to the landlord and is approved for public promotion.

  Reel is Active or will become Active according to the implemented rule.

  Linked asset information and availability are current.

  Plan name, duration, target, amount and currency match the checkout.

  No overlapping boost already exists unless explicitly permitted.

  Wallet balance or gateway configuration is ready.

  Budget owner approves the spend.

  The company understands that impressions are delivery events, not guaranteed leads or transactions.

STEP
12

Pay for and Activate a Reel Boost

Primary user: Finance Officer / Authorised Landlord

 

Method A - Wallet payment

1. Open the boost checkout and choose Wallet.

2. ReelPromotionController@payWithWallet validates the boost, amount, currency and landlord wallet.

3. The wallet executes deductFunds($amount).

4. The transaction and payment reference are retained.

5. On success, ReelBoost.status becomes Active.

6. start_date is set to the activation time and end_date to start_date plus duration_days.

7. The reel becomes eligible for Reel::scopeBoosted placement.

Method B - Payment gateway

1. Choose a configured gateway in @payWithGateway.

2. The controller creates a payment session with the correct reel, boost, amount, currency and payment_reference.

3. The user completes payment on the gateway.

4. @handleBoostCallback or @handleGatewayCallback receives the return/webhook.

5. The system matches the payment_reference and verifies the transaction with the provider.

6. Only a successful verified payment activates the boost and campaign dates.

Control point

Required behaviour

Wallet balance

Reject insufficient funds without partial activation.

Single deduction

Retries must not debit the wallet more than once.

Gateway verification

Do not activate from browser success text alone; verify provider status.

Reference match

Amount, currency, payer and boost reference must agree.

Activation dates

Start only after verified payment or authorised SuperAdmin approval.

Pause / resume

Preserve the campaign history and define whether end_date changes.

Cancellation

Record who cancelled and determine delivery/refund treatment.

Completion

Mark Completed when the configured end or target rule is reached.

 

Promotion does not guarantee conversion

A boost increases eligible visibility according to the configured delivery logic. It does not guarantee views from unique users, inquiries, qualified leads, applications, sales or leases.

 

Payment and refund rules require confirmation

The supplied scenario does not state taxes, platform fees, refunds, under-delivery remedies, plan changes, proration or currency conversion. Confirm these from the live pricing and payment configuration before selling boosts.

 

8 Phase 4 - Verified Badge Application and Trust Controls

Step 13: apply, pay, receive approval and manage badge status.

Figure 6. Verified badge application and lifecycle

STEP
13

Apply and Pay for a Verified Badge

Primary user: Authorised Landlord / Company Administrator

 

A verified badge is a platform trust indicator attached to the landlord profile and displayed with the landlord's reels. The application and payment do not automatically create an active badge: SuperAdmin approval remains a separate control.

Application process

1. Open Reels -> Verification Plans through ReelPromotionController@showVerificationPlans.

2. Review badge plan, duration, price, currency and supporting credential requirements.

3. Open @showVerificationCheckout and select the appropriate plan.

4. Submit @applyForVerification with accurate company credentials.

5. The system creates ReelVerification with landlord_id, plan, amount and status = pending.

6. Pay through the landlord wallet or configured gateway.

7. After successful payment, ReelVerification.status becomes paid and awaits SuperAdmin review.

8. SuperAdmin approves the application and creates or activates ReelVerifiedBadge.

9. The badge appears on the landlord profile and ReelResource presentation while active.

Wallet and gateway methods

Method

Controller action

Result

Wallet

payVerificationWithWallet($request)

wallet->deductFunds($amount); application moves to paid after success.

Gateway

payVerificationWithGateway($request)

Payment session created with application reference.

Gateway confirmation

handleVerificationCallback($request)

Provider payment verified; status moves to paid.

 

ReelVerifiedBadge fields

Field

Purpose

landlord_id

Identifies the badge owner.

badge_type

verified, premium or trusted.

issued_at, expires_at

Defines the valid period.

status

active, suspended or revoked; expiry may also be derived.

badge_duration

Approved duration in days.

issued_by

SuperAdmin who approved the badge.

 

Payment is not approval

The landlord must not advertise itself as Leaseora Verified merely because an application was submitted or paid. The public badge should appear only after the SuperAdmin approval action creates an Active badge.

 

Badge lifecycle controls

Status / event

Operational meaning

Company action

Pending

Application created but not paid or reviewed.

Complete payment or correct required information.

Paid

Payment verified; approval still outstanding.

Wait for review and respond to credential questions.

Active

Badge issued within its valid period.

Keep company details and credentials current.

Suspended

Badge temporarily hidden or invalidated.

Resolve the stated issue; do not display badge manually.

Revoked

Badge permanently withdrawn.

Remove claims and follow the appeal/reapplication policy.

Expired

expires_at has passed.

Renew through the approved process where available.

 

9 Phase 5 - SuperAdmin Oversight and Platform Moderation

Steps 14 to 17: moderate content, control paid promotion, manage badges and oversee leads.

STEP
14

Moderate Reels Across the Platform

Primary user: Leaseora SuperAdmin / Content Moderator

 

Action

Purpose

Control

index($request)

View all reels with filters for status, landlord, date and tags.

Use documented moderation criteria.

showReel(Reel $reel)

Review media, metadata, owner, context, engagement, reports and boosts.

Preserve evidence before enforcement.

toggleReelStatus(Reel $reel)

Activate or deactivate a reel.

Record reason and notify the landlord where policy requires.

removeReel(Reel $reel)

Permanently remove content.

Use only for authorised final removal and retention rules.

 

Platform statistics

·         Total reels across all landlords.

·         Active and inactive reel counts.

·         Total views and available engagement totals.

·         Total ReelLead records and lead-status distribution.

·         Content filters by landlord, date, status and tags.

Moderation should be evidence-based

Reports are signals, not automatic proof. Review the actual reel, context, user history, rights, privacy and policy before deactivation or removal.

 

STEP
15

Manage Reel Boosts

Primary user: Leaseora SuperAdmin / Promotion Operations

 

Action

Status result

Operational use

boosts($request)

No direct change.

Review pending and active campaigns, payments and delivery.

approveBoost($boost)

Active.

Approve a campaign requiring manual approval.

pauseBoost($boost)

Paused.

Temporarily stop delivery without cancelling history.

resumeBoost($boost)

Active.

Resume a paused campaign according to date rules.

cancelBoost($boost)

Cancelled.

Stop the campaign and apply the configured payment/remedy policy.

updateBoostNotes(...)

No status requirement.

Record investigation, delivery or customer-service notes.

 

Admin notes are not client-facing advertising

Boost notes should be factual operational records and must not contain unnecessary sensitive payment or personal data.

 

STEP
16

Approve, Suspend or Revoke Verified Badges

Primary user: Leaseora SuperAdmin / Verification Team

 

Action

Backend result

Control

badges($request)

Lists applications and badges.

Filter by pending, active, suspended, revoked or expiry.

approveBadge($request, $badge)

status = active; issued_at = now; expires_at calculated.

Confirm payment, credentials and badge type.

suspendBadge($request, $badge)

status = suspended.

Record reason, evidence and review path.

revokeBadge($badge)

status = revoked.

Use for final withdrawal under policy.

 

Recommended verification review

  Landlord/company identity matches the Leaseora account.

  Company registration, licence or supporting credentials are current where required.

  Payment is verified and reconciled.

  Badge type and duration match the purchased plan.

  No unresolved fraud, impersonation or severe content issue exists.

  Approval, suspension and revocation reasons are auditable.

  Expiry and renewal notifications are configured where implemented.

STEP
17

Manage Reel Leads Platform-Wide

Primary user: Leaseora SuperAdmin / Authorised Support

 

SuperAdminReelController@leads($request) provides a platform-wide ReelLead view, while @updateLeadStatus changes the lead lifecycle. Landlord teams should remain responsible for the commercial follow-up unless the platform operating model assigns central support.

Status

Meaning

Minimum record expectation

new

Lead submitted and not yet actioned.

Source reel and contact data present.

contacted

An approved outreach attempt was made.

Date, channel and owner recorded where available.

qualified

Lead meets company criteria for next stage.

Need and relevant asset confirmed.

converted

Lead reached the defined conversion event.

Application, viewing, sale, lease or other outcome linked where available.

rejected

Lead is not progressing.

Use an authorised, non-discriminatory reason where recorded.

 

10 Real Estate Company Content Operating Model

Recommended content approval workflow

Stage

Owner

Required control

Content brief

Marketing / Sales

Objective, target audience, linked asset, message and call to action.

Fact validation

Property / Project Administrator

Availability, features, price references, project stage and location.

Rights and privacy review

Marketing / Legal / Compliance

Media ownership, people consent, music rights and confidential information.

Draft upload

Content Officer

Correct video, thumbnail, title, description, tags and context.

Publish approval

Authorised Manager

Final playback, brand and compliance review.

Promotion approval

Budget Owner / Finance

Plan, amount, currency, target and campaign period.

Lead follow-up

Leasing / CRM / Sales

Owner, response target and status discipline.

Performance review

Marketing Manager

Views, interactions, leads, qualification and conversion.

 

Recommended naming convention

Element

Example

Title

Property Type + Location/Project + Key Feature.

Tags

city, neighbourhood, property type, bedrooms, transaction type, campaign.

Type

property_tour, project_update, market_insight or configured value.

Thumbnail file

property-or-project_campaign_date_thumbnail.webp.

Video file

property-or-project_campaign_date_version.mp4.

 

One reel, one clear objective

A reel should have a primary purpose: awareness, follow, saved shortlist, property inquiry or lead submission. Too many competing calls to action make performance difficult to interpret.

 

11 Content Types and Recommended Use

Reel type

Recommended content

Primary outcome

Key control

Property tour

Exterior, rooms, amenities, layout and local context.

Lead or property detail view.

Do not misrepresent size, condition or availability.

Project update

Construction stage, milestones, site progress and delivery information.

Investor/client update or project lead.

Date the footage and distinguish planned from completed work.

Land parcel

Access, surrounding area, approved plans and verified parcel context.

Land interest lead.

Avoid unsupported boundary or title claims.

Mortgage information

Eligibility overview, process explanation or approved product update.

Mortgage inquiry.

Use approved financial wording and disclosures.

Market insight

Educational summary or local market observation.

Follow, save or brand authority.

Do not present general commentary as a formal valuation.

Company story

Team, service process, completed work or customer education.

Follow and trust.

Obtain consent and avoid confidential client details.

 

12 Status Lifecycles and Record Relationships

Reel status lifecycle

Status

Public visibility

Operational meaning

draft

No

Content is being prepared or reviewed.

active

Yes

Content is eligible for public feed queries and follower notification.

inactive

No

Content is retained but excluded from active public queries.

 

Boost status lifecycle

Status

Meaning

Typical transition

pending_payment

Boost created but not activated.

Wallet/gateway success -> active.

active

Campaign is eligible for boosted delivery.

Pause, completion or cancellation.

paused

Delivery temporarily stopped.

Resume -> active or cancel.

completed

Campaign period/target completed according to rule.

Final reporting.

cancelled

Campaign stopped.

Refund/remedy subject to policy.

 

Verification and badge lifecycle

Record

Key statuses / fields

Meaning

ReelVerification

pending -> paid -> approval outcome.

Application and payment workflow.

ReelVerifiedBadge

active, suspended, revoked; issued_at and expires_at.

Public trust indicator lifecycle.

 

Lead lifecycle

Status

Meaning

new

Submitted and awaiting first action.

contacted

Outreach has started.

qualified

Meets company criteria.

converted

Reached the defined business outcome.

rejected

Not progressing.

 

Confirm status names against the live build

This guide preserves the statuses explicitly supplied. If the interface or database has additional review, pending, expired, refunded, flagged or deleted states, update the training material before go-live.

 

13 Core Record Relationships

Record

Key relationships

Business purpose

Reel

landlord, property, project, mortgage, landParcel, interactions, comments, boosts, activeBoost, leads.

Connects content to ownership, asset context and outcomes.

ReelInteraction

reel and user.

Stores view, like, save, share and report events.

ReelComment

reel, user and parent comment.

Stores threaded discussion.

ReelBoost

reel and landlord.

Stores paid promotion product, delivery and payment.

ReelVerification

landlord.

Stores application and payment state.

ReelVerifiedBadge

landlord and issuing SuperAdmin.

Stores approved trust badge.

ReelLead

reel, landlord, user and property.

Connects video source to contact and conversion status.

LandlordFollower

landlord and following user.

Drives feed preference and follower notification.

 

14 Notification and Real-Time Event Matrix

Notification / event

Recipient

Trigger

Channel / result

ReelPostedNotification

All followers of the landlord

A reel is published and notifyFollowers is executed.

database + broadcast; deep link to reel slug.

ReelCommentReplyNotification

Original commenter

Another user replies to their comment.

database + broadcast; parent comment and reply context.

New comment notification variant

Landlord / reel owner

A user posts a top-level comment.

Supplied scenario states landlord notification; exact class requires confirmation.

New ReelLead notification

Landlord / lead team

A prospect submits interest from a reel.

Supplied scenario states landlord notified; exact class/channel requires confirmation.

 

Notification-class naming gap

The supplied scenario names ReelPostedNotification and ReelCommentReplyNotification. It states that landlords are notified about new comments and leads but does not identify the exact classes. The production guide should be updated when those names and channels are confirmed.

 

15 Promotion, Wallet and Gateway Control Points

Control point

Required behaviour

Plan integrity

Selected plan, duration, target, amount and currency must match the server-side catalogue.

Reel ownership

Only the owning landlord or authorised staff can purchase promotion.

Wallet authority

Validate wallet, balance and currency before deductFunds.

Idempotent debit

Retries must not create duplicate wallet charges.

Gateway session

Create with boost/verification ID, payer, amount, currency and reference.

Callback verification

Verify with provider and do not trust query-string success alone.

Reference matching

Match payment_reference to the correct boost or application.

Activation

Activate only after confirmed payment and any required admin approval.

Failed payment

Retain pending/failed state and do not deliver paid service.

Reconciliation

Match Leaseora record, wallet/gateway transaction and accounting entry.

Refund / cancellation

Apply the approved policy and retain evidence.

Security

Do not expose gateway secrets, wallet credentials or full sensitive transaction data.

 

Payment exception review

Exception

Recommended response

Wallet debited but boost inactive

Check wallet transaction, ReelBoost status and idempotent activation job before retrying.

Gateway paid but callback missing

Verify directly with provider using payment_reference; do not ask the customer to pay again until checked.

Duplicate callback

Return a safe success response without creating another activation or charge.

Wrong amount/currency

Do not activate; investigate checkout and provider metadata.

Boost paused after payment

Check moderation or admin notes and determine whether dates or remedy apply.

Badge paid but not active

Confirm application remains Paid awaiting SuperAdmin approval.

 

16 Lead Management and CRM Handoff

Lead ownership and first action

Lead condition

Recommended owner

Required action

New property reel lead

Leasing / Sales officer for linked property.

Contact within the company target and verify availability.

Project or WeBuild reel lead

Project sales / investment team.

Confirm project stage, eligibility and approved material.

Mortgage reel lead

Mortgage support / authorised adviser.

Use approved financial process and avoid personalised advice outside authority.

Land parcel reel lead

Land sales team.

Confirm parcel and document context before statements.

No context link

Marketing / CRM triage.

Identify the correct business line before assigning.

 

Recommended lead service levels

Time window

Action

Immediately

Create record, notify owner and preserve source reel.

Same business day

First contact attempt for qualified campaign leads where company policy requires.

After contact

Update status and record next step.

Weekly

Review New and Contacted leads with no recent action.

Monthly

Measure lead-to-qualified and lead-to-converted outcomes by reel and campaign.

 

Attribution rules

·         Keep source = reel_lead unchanged even if the lead later moves into CRM, application or sales workflows.

·         Retain reel_id so marketing can identify the exact content that generated interest.

·         Retain property_id or other context when supplied.

·         Define one company conversion event and use it consistently.

·         Do not count a like, save or follow as a converted lead unless company reporting clearly labels it as an engagement conversion.

17 Dashboards, Metrics and Management Review

Metric

Question answered

Caution

Reels created

How much content is being produced?

Volume does not measure quality.

Active vs draft/inactive

How much approved content is public?

Old active content may be inaccurate.

Views

How often did playback/view events occur?

Unique-view and bot rules are not supplied.

Likes / saves / shares

Which content generated engagement intent?

Interaction totals should reconcile with ReelInteraction rules.

Comments / replies

Which reels generated conversation?

High volume can include complaints or spam.

Followers

Is the landlord building a repeat audience?

A follow is not a property transaction.

Reel leads

Which content generated contactable prospects?

Validate spam and duplicates.

Qualified leads

Which leads meet company criteria?

Criteria must be consistent and lawful.

Converted leads

Which reels contributed to business outcomes?

Define conversion consistently.

Boost impressions

How much paid delivery occurred?

Impression definition and unique reach are not supplied.

Cost per lead

Promotion spend divided by leads.

Use verified spend and relevant campaign window.

Lead conversion rate

Converted leads divided by eligible leads.

Exclude test, spam and invalid leads consistently.

 

Recommended review cadence

Frequency

Review

Daily

New comments, reports, ReelLead records, failed payments and active boost issues.

Weekly

Draft backlog, active content accuracy, lead follow-up, boost delivery and comment moderation.

Monthly

Content performance by type, property, views, engagement, leads, qualification, conversion and spend.

Quarterly

Brand standards, permissions, verified badge status, privacy/rights records and promotion ROI.

Before reusing content

Availability, price, project stage, thumbnail, description, tags and call to action.

Before boost purchase

Campaign objective, reel accuracy, audience, budget, duration, target and measurement plan.

 

AI analytics are not confirmed in the supplied Reels scope

Although other Leaseora modules use AI, the provided Reels scenario does not name an AI service for content creation, ranking, moderation or analytics. Any future AI feature should be documented separately with human review and data-use controls.

 

18 Content Security, Privacy and Moderation

Minimum security practices

·         Use individual accounts and least-privilege permissions.

·         Restrict publishing, deletion, boost payment and badge application to authorised roles.

·         Validate uploaded file type, size and content server-side.

·         Scan uploaded media for malware where the storage pipeline supports it.

·         Use signed or protected media URLs where required by the platform design.

·         Protect ReelLead contact information and limit exports.

·         Rate-limit interaction, comment, follow, lead and report endpoints.

·         Log moderation, payment and badge decisions.

·         Remove staff access immediately when assignments end.

·         Preserve evidence for reported or disputed content before permanent removal.

Moderation categories to define

Category

Examples

Recommended response

Misleading property content

Wrong property, fake availability, false amenities or outdated project stage.

Deactivate, correct and review impact on leads.

Privacy breach

Faces without consent, documents, plates, access details or private interiors.

Restrict immediately and investigate.

Rights infringement

Unlicensed music, video, photographs or third-party branding.

Remove/restrict and preserve complaint evidence.

Unsafe or prohibited content

Violence, threats, illegal activity or dangerous instructions.

Escalate to platform policy and legal/safety process.

Spam / manipulation

Duplicate uploads, artificial engagement or deceptive tags.

Limit distribution and investigate account behaviour.

Abusive comments

Harassment, hate, threats or personal data.

Moderate comment and apply account policy.

 

Public content can create legal exposure

Descriptions, overlays, spoken claims and comments may be relied upon by prospects. The company should align reel content with advertising, privacy, consumer-protection, fair-housing and property laws applicable to the market.

 

19 Staff Permissions and Segregation of Duties

Role

Typical access

Control point

Content Creator

Create drafts, upload video/thumbnail and edit metadata.

Cannot publish or spend without approval where policy requires.

Publisher

Review and activate/inactivate reels; notify followers.

Cannot approve own high-value boost without budget authority.

Finance Officer

Wallet/gateway reconciliation and promotion payment review.

Cannot change content claims.

Lead Officer

View and update assigned ReelLead records.

Cannot access unrelated wallet or badge credentials.

Moderator

Review reports, comments and content status.

Uses policy and records enforcement reason.

Verification Officer / SuperAdmin

Approve, suspend or revoke badges.

Must be independent from applicant and retain evidence.

Director / Approver

Budget, exceptions, deletion and policy decisions.

Reviews audit trail and high-risk actions.

 

20 Worked Example 1 - Property Tour to Qualified Lead

Scenario

HarbourGate Properties publishes a short video tour of Unit B-12. Client Amara watches the reel, saves it and submits interest for a viewing.

 

Stage

What happens

1. Preparation

Marketing records a current tour and confirms rights, availability and unit details.

2. Draft upload

Title, description, MP4 video, thumbnail, tags and property_id are saved as Draft.

3. Review

Property administrator confirms the reel links to the correct property/unit and contains no private information.

4. Publish

toggleStatus changes the reel to Active and notifyFollowers sends ReelPostedNotification.

5. View

Amara opens the reel; views increments and a view ReelInteraction is created.

6. Save

Amara saves the reel; a save interaction places it in her collection.

7. Lead

Amara submits name, email, phone and viewing request; ReelLead status = new.

8. Follow-up

Leasing officer confirms availability, contacts Amara and changes status to contacted.

9. Qualification

Budget and timing are suitable; status becomes qualified and a viewing is scheduled.

10. Conversion

The company defines application submission as conversion and updates the lead to converted.

 

Records management can trace

·         Reel and linked property.

·         Publication date and follower notification.

·         View and save interactions.

·         Lead source and contact data.

·         Status and conversion outcome.

21 Worked Example 2 - Boosted Project Update

Scenario

A development company publishes a verified construction-progress reel and buys a seven-day boost to increase visibility among prospects.

 

Stage

What happens

1. Project context

Reel is linked to project_id and dated progress footage is approved.

2. Publish

Reel becomes Active and appears in the normal feed.

3. Plan

Marketing selects a seven-day plan with price, currency and impression target.

4. Boost record

ReelBoost is created with status = pending_payment.

5. Wallet payment

Finance approves wallet payment; deductFunds succeeds once.

6. Activation

Boost becomes Active with start_date and end_date.

7. Delivery

Reel is eligible for scopeBoosted priority and impressions_delivered increases.

8. Monitoring

Team reviews comments, leads, remaining duration and admin notes.

9. Completion

Boost moves to Completed under the configured rule.

10. Review

Marketing calculates verified spend, leads, qualified leads and conversion.

 

Do not change the campaign evidence retroactively

If an active boosted reel contains an error, pause or deactivate it, correct through an authorised workflow and preserve the original campaign/payment history.

 

22 Worked Example 3 - Verified Badge Application

Stage

What happens

1. Plan review

Company selects the appropriate badge type and duration.

2. Credentials

Authorised company evidence is submitted.

3. Application

ReelVerification is created with status = pending.

4. Gateway payment

Payment session is created and provider confirmation is verified.

5. Paid state

Application status becomes paid but no public badge is shown yet.

6. SuperAdmin review

Identity, credentials, payment and account history are reviewed.

7. Approval

ReelVerifiedBadge becomes Active with issued_at and expires_at.

8. Display

ReelResource shows the verified state with landlord identity.

9. Ongoing control

Company keeps information current; SuperAdmin may suspend or revoke under policy.

 

23 Worked Example 4 - Reported Reel and Moderation

Stage

What happens

1. Report

A viewer uses @report; ReelInteraction type = report is recorded.

2. Review

Moderator opens the reel, linked asset, owner, reports and comments.

3. Evidence

The video and metadata are preserved for review.

4. Decision

Content is accurate and permitted, corrected, deactivated or removed under policy.

5. Paid campaign

Any active boost is paused/cancelled as required and notes are recorded.

6. Landlord communication

The reason and next action are communicated where policy requires.

7. Audit

Status, moderator, time, reason and related payment treatment remain traceable.

 

24 Real Estate Company Onboarding Checklist

Account, content and governance setup

  Official landlord/company profile is complete and approved.

  Company logo and public identity display correctly in ReelResource.

  Content creators, publishers, finance and lead users have separate accounts.

  Properties, projects, mortgages and land parcels are current and correctly owned.

  Video rights, consent and privacy process is documented.

  Allowed reel types, tags and naming convention are approved.

  Content approval and emergency deactivation authority are assigned.

  Comment and report moderation policy is approved.

  Lead owner, target response time and conversion definition are approved.

  Wallet and payment gateway configuration are tested.

  Boost pricing, currency and approval budget are understood.

  Badge credentials and application authority are identified.

  SuperAdmin escalation and support contacts are known.

Pilot content setup

  One property tour reel created as Draft.

  One project or educational reel created as Draft where relevant.

  Video and thumbnail play correctly on representative devices.

  Correct linked asset appears in the API response and interface.

  Follower, comment, reply and lead notifications are tested.

  One test boost payment is reconciled.

  One test report is reviewed by moderation.

  Management dashboard and lead status process are reviewed.

25 User Acceptance Testing and Go-Live Validation

Test area

Test case

Expected result

Dashboard

Open landlord reels dashboard and apply filters.

Only landlord-owned reels and correct counts are shown.

Video validation

Upload valid MP4 and invalid file type/oversized file.

Valid upload succeeds; invalid file is rejected safely.

Thumbnail

Upload JPG/PNG/WebP and view feed.

Correct thumbnail URL and display.

Draft

Create reel with status Draft.

Not returned by public scopeActive feed.

Publish

Activate approved reel.

Visible in feed and correct linked context shown.

Follower notice

Publish and run notifyFollowers.

Followers receive one database/broadcast notification.

View

Open a reel.

views and view interaction update according to rule.

Like/unlike

Like twice, unlike and retry request.

No duplicate or negative counter.

Save/unsave

Save then remove.

Saved collection updates correctly.

Share

Share reel.

Share interaction recorded and safe link produced.

Report

Report content.

Report interaction recorded for moderation.

Comment

Create, edit and delete own comment.

Authorisation and thread remain correct.

Reply

Reply to comment.

parent_id set and original commenter notified.

Follow

Follow/unfollow landlord.

LandlordFollower and followStatus update.

Lead

Submit valid and invalid lead data.

Valid ReelLead created; validation protects data.

Lead status

Progress new -> contacted -> qualified -> converted.

Status and attribution preserved.

Boost wallet

Pay with sufficient and insufficient balance.

Single debit and correct activation; failure does not activate.

Boost gateway

Test success, failure and duplicate callback.

Only verified success activates once.

Pause/resume/cancel

SuperAdmin changes boost state.

Public priority and history follow status.

Verification wallet/gateway

Pay application through both supported paths.

Application becomes paid, not automatically Active badge.

Badge approval

Approve, suspend and revoke.

Feed badge reflects current status.

Moderation

Deactivate and remove test reel.

Access follows policy and evidence is retained as configured.

Permissions

Test creator, publisher, finance, lead and admin roles.

No unauthorised action or data access.

Mobile/API

Test feed, show, interactions, comments and leads.

Responses follow ReelResource/ReelCommentResource contract.

 

Go-live gate

Do not launch public reels or sell promotion until media validation, asset linking, permissions, notifications, lead handling, payment verification, moderation and data protection pass user acceptance testing.

 

26 Common Issues and Troubleshooting

Issue

Recommended action

Reel does not appear in feed

Confirm status = active, landlord ownership, scopeActive query, media URL and any moderation restriction.

Video upload fails

Check supported format, configured file-size limit, storage permissions, disk capacity and request validation.

Video will not play

Check encoding/container compatibility, public storage link, MIME type and client network.

Thumbnail missing

Confirm upload succeeded, URL is stored and fallback generation is configured.

Wrong property shown

Correct property_id/project_id/mortgage_id/land_parcel_id before republishing.

Slug collision or route error

Confirm unique slug generation and route model binding.

Follower not notified

Check active status, LandlordFollower records, notifyFollowers execution, queue and broadcast configuration.

Duplicate follower alerts

Check idempotency around publication and notification dispatch.

Views appear inflated

Review repeat requests, autoplay, retry behaviour, bot filtering and unique-view definition.

Like count incorrect

Reconcile ReelInteraction like records, duplicate prevention and unlike decrement.

Comment reply notification missing

Check parent comment owner, notification channels, queue and WebSocket authorisation.

User cannot edit comment

Confirm authenticated user owns the comment and reel/comment route match.

Saved reel not shown

Check authenticated user, save interaction and saved query.

Lead not received

Confirm validation, ReelLead creation, landlord_id, notification and lead inbox filters.

Lead linked to wrong property

Review reel context before contacting prospect and correct authorised records.

Wallet charged but boost inactive

Check wallet transaction, ReelBoost status and activation transaction before retry.

Gateway payment pending

Verify with provider using payment_reference and process callback/webhook safely.

Boost active but not prioritised

Check Reel::scopeBoosted, dates, status, feed ordering and admin pause state.

Impressions not updating

Check impression event definition and delivery tracking implementation.

Badge paid but not visible

Confirm application is Paid and SuperAdmin has issued an Active ReelVerifiedBadge.

Badge expired/suspended

Review expires_at, status and SuperAdmin reason.

Reported reel still visible

Check moderation queue and policy; a report is not automatic deactivation in the supplied scenario.

Deleted media remains

Check storage deletion, cached/CDN file and orphan cleanup.

API logo incorrect

Review ReelResource corporate company_logo/private profile_picture fallback logic.

 

Support information to include

When contacting Leaseora support, provide company name, reel slug/ID, linked asset, affected user, device, date/time, action attempted, payment reference where relevant, expected result, actual result and a screenshot without exposing unnecessary personal or payment data.

 

27 Frequently Asked Questions

Can a reel be linked to more than one type of asset?

The supplied model includes property_id, project_id, mortgage_id and land_parcel_id. The interface should enforce the intended context rule; whether multiple links may be populated simultaneously requires production confirmation.

Which video formats are supported?

The supplied ReelRequest specifies MP4, MOV and AVI, subject to the configured maximum file size.

Can a reel be saved without publishing?

Yes. Use status = draft.

How is a reel published?

Change the status to active through the authorised ReelController workflow.

Will all followers be notified?

notifyFollowers sends ReelPostedNotification to users in the LandlordFollower relationship when executed.

Can users save a reel?

Yes. @save and @unsave manage the user's collection through ReelInteraction.

Can users report a reel?

Yes. @report creates a report interaction for moderation.

Can comments have replies?

Yes. Replies are ReelComment records with parent_id set to the original comment.

Does a like create a lead?

No. A lead is created only through @submitLead.

Can a prospect follow a landlord?

Yes. @toggleFollowLandlord creates or removes a LandlordFollower record.

How does a boost work?

The landlord selects a plan, creates ReelBoost, pays through wallet or gateway, and the active reel becomes eligible for boosted feed placement.

Does payment activate a verified badge immediately?

No. Payment moves the application to Paid; SuperAdmin approval creates/activates the badge.

Can SuperAdmin pause a boost?

Yes. SuperAdmin can approve, pause, resume or cancel boosts.

Can SuperAdmin remove any reel?

The supplied SuperAdminReelController includes removeReel, subject to platform policy and retention.

What does verified mean?

It is a Leaseora trust badge issued after the supplied application, payment and SuperAdmin approval flow. The exact verification criteria must be stated by platform policy.

Does Leaseora guarantee impressions or leads?

The scenario includes impression targets and delivery counters, not guaranteed commercial outcomes.

Are AI reel tools included?

No dedicated AI service or controller is identified in the supplied Reels scenario.

Can lead data be exported to CRM?

The scenario creates ReelLead and source attribution but does not state an export or CRM-sync endpoint. Confirm live integration.

What happens when a reel is deleted?

The controller removes the reel and video file, but cascade/retention treatment for comments, interactions, boosts and leads requires production confirmation.

28 Quick Reference - 32 Operational Steps

1. Open the landlord Reels dashboard.

2. Filter reels by status, property type, date or tags.

3. Prepare authorised video and thumbnail assets.

4. Create a Reel with title, description, tags, type and context link.

5. Save new content as Draft.

6. Review playback, accuracy, rights, privacy and call to action.

7. Publish the reel by setting status to Active.

8. Notify followers using notifyFollowers where intended.

9. Client browses active reels in the feed.

10. Client searches or opens a landlord-specific reel feed.

11. Client views a reel; view counter and interaction are recorded.

12. Client likes/unlikes the reel.

13. Client saves/unsaves the reel.

14. Client shares or reports the reel.

15. Client posts a top-level comment.

16. Another user replies and the original commenter is notified.

17. Client follows/unfollows the landlord.

18. Client submits a ReelLead.

19. Landlord contacts and qualifies the lead.

20. Lead status progresses to converted or rejected.

21. Landlord selects an eligible reel for boost.

22. Review plan, duration, target, price and currency.

23. Pay using wallet or gateway.

24. Activate and monitor the ReelBoost.

25. SuperAdmin may approve, pause, resume or cancel the boost.

26. Landlord selects a verification plan and applies.

27. Landlord pays and application becomes Paid.

28. SuperAdmin approves and issues ReelVerifiedBadge.

29. SuperAdmin may suspend or revoke the badge.

30. SuperAdmin moderates reels and reports.

31. Management reviews views, interactions, leads, conversion and spend.

32. Archive/inactivate outdated content and preserve required records.

29 Technical Reference - Core Models and Purpose

Model / component

Purpose

Reel

Core video record: ownership, media, slug, status, engagement counters, tags, type and asset context.

ReelInteraction

Records view, like, save, share and report interactions with user/device metadata.

ReelComment

Stores top-level comments and threaded replies through parent_id.

ReelBoost

Stores promotion plan, dates, impression target/delivery, charge, method, reference and lifecycle status.

ReelVerification

Stores landlord badge application, selected plan, payment and approval state.

ReelVerifiedBadge

Stores issued trust badge, type, valid period, status and issuer.

ReelLead

Stores prospect contact and conversion status attributed to the originating reel.

LandlordFollower

Connects a user to a followed landlord for feed preference and notifications.

ReelRequest

Validates reel title, video, thumbnail, tags, type, status and context identifiers.

ReelResource

Transforms a Reel for API output with landlord identity, logo, verification, property and engagement data.

ReelCommentResource

Transforms comment and reply data for the API.

 

30 Technical Reference - Controllers and Responsibilities

Controller

Responsibility

Landlord\Shared\ReelController

Landlord dashboard, create/store, show, edit/update, delete, toggle status, notify followers and related workload statistics.

Landlord\Shared\ReelPromotionController

Promotion plans, boost records, boost checkout, wallet/gateway payment, callbacks, verification plans/application/payment.

API\ReelController

Public/mobile feed, show, interactions, follow status, follow toggle, search, saved reels and lead submission.

API\ReelCommentController

Comment list/store/show, threaded reply, edit/delete and comment like/unlike.

SuperAdmin\Core\SuperAdminReelController

Platform overview, reel moderation, boost control, badge control and lead status management.

 

31 Technical Reference - Controller Actions by Functional Area

Functional area

Actions

Landlord reel CRUD

ReelController@index, @create, @store, @show, @edit, @update, @destroy, @toggleStatus.

Follower notification

ReelController@notifyFollowers($reel).

Feed and discovery

API\ReelController@index, @landlordReels, @saved, @search, @show.

Engagement

API\ReelController@like, @unlike, @save, @unsave, @share, @report.

Follow

API\ReelController@toggleFollowLandlord, @followStatus.

Lead capture

API\ReelController@submitLead.

Comments

API\ReelCommentController@index, @store, @show, @reply, @update, @destroy, @like, @unlike.

Boost catalogue and checkout

ReelPromotionController@index, @showVerificationPlans, @showBoostCheckout, @create, @store.

Boost payment

@payWithWallet, @payWithGateway, @handleBoostCallback, @handleGatewayCallback.

Verification

@showVerificationCheckout, @applyForVerification, @payVerificationWithWallet, @payVerificationWithGateway, @handleVerificationCallback.

SuperAdmin reels

SuperAdminReelController@index, @showReel, @toggleReelStatus, @removeReel.

SuperAdmin boosts

@boosts, @approveBoost, @pauseBoost, @resumeBoost, @cancelBoost, @updateBoostNotes.

SuperAdmin badges

@badges, @approveBadge, @suspendBadge, @revokeBadge.

SuperAdmin leads

@leads, @updateLeadStatus.

 

32 Technical Reference - Reel Fields, Relationships and Scopes

Reel field reference

Field

Purpose

landlord_id

Owning landlord account.

property_id, project_id, mortgage_id, land_parcel_id

Optional business context links.

title, description

Public content.

slug

Unique public URL identifier.

video_url, thumbnail_url

Stored media locations.

status

active, inactive or draft.

views, likes

Aggregate engagement counters.

tags

Searchable JSON tags.

type

Content type/classification.

 

Relationships

Relationship

Type / result

landlord()

BelongsTo User.

property()

BelongsTo Property.

project()

BelongsTo WeBuild/Development Project.

mortgage()

BelongsTo Mortgage.

landParcel()

BelongsTo LandParcel.

interactions()

HasMany ReelInteraction.

comments()

HasMany ReelComment.

boosts()

HasMany ReelBoost.

activeBoost()

Returns the currently active boost record.

leads()

HasMany ReelLead.

 

Scopes

Scope

Purpose

scopeActive($query)

Filters to Active/published reels.

scopeBoosted($query)

Filters to reels with an active boost.

 

33 Technical Reference - ReelRequest and Media Storage

Input

Validation / handling

title

Required string.

description

Optional text.

video

Required MP4, MOV or AVI within configured maximum file size.

thumbnail

Optional JPG, PNG or WebP.

property_id / project_id / mortgage_id / land_parcel_id

Optional valid context identifiers.

tags

Optional JSON array.

type

Configured reel content type.

status

Draft or Active according to validation.

 

Storage behaviour

·         Video is uploaded to Storage::disk("public") and video_url is saved.

·         Thumbnail is uploaded or generated and thumbnail_url is saved.

·         Destroy removes the reel and stored video according to controller implementation.

·         Exact folder paths, CDN behaviour, transcoding, thumbnail generation and orphan cleanup are not supplied and require confirmation.

34 Technical Reference - Interaction and Comment Records

ReelInteraction

Field

Purpose

reel_id, user_id

Content and actor.

type

view, like, save, share or report.

ip_address, user_agent

Security and analytics context.

metadata

Additional JSON context.

 

ReelComment

Field / relation

Purpose

reel_id, user_id

Connects comment to reel and author.

parent_id

Null for top-level comment; parent comment ID for a reply.

body

Comment text.

Like relation/counter

Supports comment like/unlike where implemented.

ReelCommentResource

API transformation for comments and replies.

 

Uniqueness constraints require confirmation

The supplied scenario does not state database uniqueness rules for one like/save/follow per user or how anonymous views are deduplicated. Confirm indexes and idempotency before load testing.

 

35 Technical Reference - Promotion and Verification Fields

ReelBoost

Field

Purpose

reel_id, landlord_id

Campaign ownership.

plan_name, duration_days

Purchased plan.

start_date, end_date

Campaign window.

impressions_target, impressions_delivered

Delivery target and result.

amount, currency

Payment amount.

payment_method, payment_reference

Reconciliation data.

status

pending_payment, active, paused, completed or cancelled.

boost_notes

Admin notes.

 

ReelVerification and ReelVerifiedBadge

Record

Fields / purpose

ReelVerification

landlord_id, plan, amount and status for application/payment workflow.

ReelVerifiedBadge

landlord_id, badge_type, issued_at, expires_at, status, badge_duration and issued_by.

 

36 Technical Reference - ReelLead

Field

Purpose

reel_id

Originating content.

landlord_id

Recipient company.

user_id

Authenticated prospect where available.

property_id

Featured property context.

name, email, phone, message

Lead contact and request.

status

new, contacted, qualified, converted or rejected.

source

reel_lead attribution.

 

Recommended technical controls

·         Validate email and phone according to market requirements.

·         Rate-limit public lead submission and apply anti-spam controls.

·         Prevent assignment to another landlord by deriving landlord_id from the reel.

·         Keep source immutable for attribution.

·         Authorise status updates to landlord staff or SuperAdmin.

·         Apply privacy retention and deletion workflows to contact data.

37 Technical Reference - API Resources and Public Responses

ReelResource

Response area

Supplied data

Identity

id, slug.

Content

title, description, video_url, thumbnail_url, status, tags, created_at.

Engagement

views, likes and available user interaction state.

Landlord

id, name, logo and verified state.

Asset context

property and applicable linked context.

 

Landlord logo resolution

The supplied scenario states that ReelResource resolves the landlord logo intelligently: corporate landlords use company_logo, private landlords use profile_picture, and a generated avatar is used as fallback. QA should test all three paths and ensure the returned URL is safe and accessible.

ReelCommentResource

ReelCommentResource transforms comment data for mobile/API use. The exact nested reply, author, like-state, pagination and deleted-comment representation are not supplied and should be confirmed in the live contract.

38 Technical Reference - Notifications

Class

Trigger

Channels

Payload

ReelPostedNotification

Landlord publishes a reel and notifyFollowers runs.

database, broadcast

reel_id, reel_title, landlord_name, action_url.

ReelCommentReplyNotification

User replies to a comment.

database, broadcast

reel_id, parent_comment_id, reply_body, replier_name, action_url.

 

Real-time delivery requirements

·         Broadcast channels must be authorised so only intended users receive notification data.

·         Notification previews should avoid leaking private information.

·         Queue retries should be idempotent.

·         Database and broadcast delivery should not create duplicate visible notifications.

·         Deep links should resolve safely when a reel becomes inactive or deleted.

39 Technical Reference - SuperAdmin Actions

Area

Actions

Record impact

Reels

index, showReel, toggleReelStatus, removeReel.

Status change or deletion of Reel/media.

Boosts

boosts, approveBoost, pauseBoost, resumeBoost, cancelBoost, updateBoostNotes.

ReelBoost status/notes.

Badges

badges, approveBadge, suspendBadge, revokeBadge.

ReelVerifiedBadge lifecycle.

Leads

leads, updateLeadStatus.

ReelLead lifecycle.

 

40 Implementation Details Requiring Production Confirmation

The supplied scenario defines the intended components and workflows but does not specify every production rule. Product, engineering, finance, legal, privacy and operations teams should confirm the following before release or formal training:

Area

Details to confirm

File limits

Exact maximum video and thumbnail size, duration, resolution and encoding.

Media processing

Transcoding, thumbnail generation, compression, CDN, signed URLs and malware scanning.

Context rules

Whether exactly one of property_id/project_id/mortgage_id/land_parcel_id must be selected.

Status transition

Who can publish, whether activation requires review and whether Draft can be public by direct URL.

Notification trigger

Whether notifyFollowers runs automatically on first activation and how duplicates are prevented.

Feed ranking

Exact weights for recency, boost, follows, engagement and personalisation.

View definition

Autoplay threshold, repeat window, unique users, anonymous events and bot filtering.

Interaction uniqueness

Database rules for one like/save/follow per user and concurrency handling.

Comment policy

Moderation, edit window, deleted comments, reply cascades and blocked users.

Reports

Moderation queue, reason taxonomy, appeals and automated actions.

Lead notification

Exact class, channels, assignee and CRM sync.

Boost plans

Actual durations, prices, currencies, targets and taxes.

Impressions

Definition, counting event, unique reach and target completion rule.

Payment gateways

Exact supported gateways, callback routes, fees and refund rules.

Wallet

Currency handling, ledger record and duplicate debit protection.

Boost pause

Whether campaign end_date extends during pause.

Cancellation / under-delivery

Refund, credit, reschedule and remedy policy.

Verification criteria

Required credentials, review SLA, payment/refund and appeal.

Badge expiry

Renewal process, automatic expiry handling and notifications.

Deletion

Soft/hard delete, cascading records, media cleanup and legal retention.

Privacy

Retention for ReelInteraction IP/user_agent and ReelLead contact data.

Analytics / export

Available landlord exports and exact KPI formulas.

AI features

No dedicated AI component is supplied; any future AI functionality must be separately validated.

 

Confirm against the live build

This guide preserves the supplied names and intended flows. Where production code or UI includes additional validation, permissions, statuses, payment providers, analytics definitions or moderation controls, update the guide before staff training and go-live.

 

Appendix A - Reel Content Brief Template

Brief field

Content

Campaign objective

Awareness, follower growth, save, lead or conversion.

Target audience

Location, property need, investment or client segment.

Linked asset

Property, project, mortgage or land parcel ID.

Core message

One verified value proposition.

Key scenes

Opening hook, property proof, feature sequence and closing.

Facts to verify

Availability, price reference, size, features, project stage and location.

Call to action

Follow, save, submit interest or view linked asset.

Tags / type

Approved classification and search terms.

Rights / consent

Media owner, music, people and location permission.

Approvers

Property facts, brand, legal/privacy and publisher.

 

Appendix B - Pre-Publish Quality Checklist

  Correct landlord identity.

  Correct asset link.

  Video starts and plays without corruption.

  Thumbnail represents the video.

  Title is clear and not misleading.

  Description and call to action are approved.

  Tags and type are accurate.

  Price, availability and project stage are current.

  All people/media rights are documented.

  No private information is visible.

  Captions or accessible text are added where available.

  Final manager approval recorded.

  Status set to Active only after review.

  Follower notification intentionally enabled.

Appendix C - Boost Approval Checklist

  Reel is Active, accurate and eligible.

  Campaign objective and target audience are defined.

  Plan, duration and impression target are approved.

  Amount and currency are correct.

  No unintended overlapping boost exists.

  Wallet or gateway payer is authorised.

  Payment reference and accounting code are ready.

  Lead owner and response process are active.

  Performance measurement window is defined.

  Cancellation and moderation contact are known.

Appendix D - Reel Lead Follow-Up Template

Field

Record

Lead reference

ReelLead ID.

Source reel

Reel title, slug and reel_id.

Linked asset

Property/project/mortgage/land parcel.

Prospect need

Property/service requested.

Contact attempt

Date, channel and outcome.

Qualification

Budget, timing, location and decision stage.

Next action

Viewing, application, call, document or follow-up.

Owner

Assigned leasing/sales officer.

Status

new, contacted, qualified, converted or rejected.

Conversion record

Linked outcome where available.

 

Appendix E - Moderation Decision Record

Field

Content

Reel

ID, slug, landlord and linked asset.

Trigger

User report, internal review or external complaint.

Category

Misleading, privacy, rights, unsafe content, spam or abuse.

Evidence

Video copy/hash, screenshots, comments, reports and dates.

Assessment

Facts, policy and risk.

Decision

No action, correction, deactivate, remove, pause boost, suspend badge or escalate.

Payment impact

Boost or verification treatment.

Communication

Landlord/user notification.

Approver

Moderator and higher authority where required.

Appeal / review

Deadline and process.

 

Appendix F - One-Page Operating Reference

When this happens

Use this workflow

New property video

Create Reel -> Draft -> review -> Active.

Need to inform followers

notifyFollowers -> ReelPostedNotification.

Viewer wants to shortlist

Save interaction.

Viewer wants more information

submitLead -> ReelLead.

Need more reach

Create ReelBoost -> verified payment -> Active.

Need trust badge

ReelVerification -> payment -> SuperAdmin approval -> ReelVerifiedBadge.

Content is inappropriate

Report interaction -> SuperAdmin moderation.

Comment receives a reply

ReelCommentReplyNotification.

Lead progresses

new -> contacted -> qualified -> converted/rejected.

Campaign issue

Pause/cancel boost and record notes.

Content is outdated

Set Inactive; delete only after retention review.

 

 

 

LEASEORA

REELS

Property-linked short video content that connects discovery, engagement, followers, leads, promotion and trust in one measurable workflow.

Support and onboarding

For corporate onboarding, staff training or operational support, contact Leaseora at support@leaseora.com.

leaseora.com

Was this article helpful?

Your feedback helps us improve our documentation.

Article Info

Category REELS
Reading Time 58 min
Views 20
Published Jul 30, 2026

Share

🤝

Need more help?

Our support team is available to assist you.

Contact Support