VIRTUAL TOURS

The Virtual Tours module enables a real estate company to present properties and development units through interactive digital experiences while retaining property ownership, content controls, publication status, access settings, engagement data and operational oversight.

L
Leaseora
Jul 29, 2026 37 min read 10 views

LEASEORA

VIRTUAL TOURS

Detailed User and Technical Operations Guide

360° Tours • VR • AR • Interactive Floorplans • Hotspots • Google Cloud • Virtual Open Houses • AI Staging • Leasing Assistant • Accessibility • Analytics

 

For real estate companies, property marketing teams, leasing teams, property-development teams, client-service teams, event coordinators and authorised administrators

Version 1.0 | July 2026

 

 

Purpose of this guide

This guide explains how a real estate company uses Leaseora's Virtual Tours module from property-linked tour creation, cloud upload and background processing through hotspot design, VR/AR configuration, publishing, public and client viewing, virtual open-house registration, waiting-list promotion, AI virtual staging, the virtual leasing assistant, accessibility configuration, analytics and SuperAdmin oversight. It also provides detailed technical reference for the supplied models, controllers, services, events and jobs.

 

 

 

1  Purpose, Audience and Scope

The Virtual Tours module enables a real estate company to present properties and development units through interactive digital experiences while retaining property ownership, content controls, publication status, access settings, engagement data and operational oversight.

Item

Description

Primary users

Real estate companies, landlords, marketing teams, leasing teams, property-development teams, event coordinators, client-service teams and SuperAdmins.

Tour scope

360° tours, VR tours, AR tours and interactive floorplans.

Event scope

Virtual open-house scheduling, meeting links, registration, waiting lists, attendance, reminders and feedback.

AI scope

Descriptions, quality prediction, SEO, thumbnails, hotspot suggestions, accessibility recommendations, VR metadata, virtual staging and leasing chat.

Technical scope

Google Cloud assets, processing jobs, APIs, analytics sessions, events, exports and device compatibility.

Operational boundary

Virtual tours are marketing and engagement tools. They do not replace physical inspection, surveys, valuations, legal disclosure, measurements or accessibility certification.

 

 

Use Client-facing language

Business instructions use Client or Prospect. Technical controller and model names retain Tenant where it is part of the supplied implementation.

 

2  Complete Virtual Tour Lifecycle

Figure 1. Complete Virtual Tours lifecycle

Stage

Outcome

Create

The tour is linked to the correct property with title, type and configuration.

Upload

Tour files and thumbnails are stored and cloud asset identifiers are retained.

Process

GenerateVirtualTour performs background processing and optimisation.

Enrich

Hotspots, descriptions, SEO, accessibility and thumbnails are reviewed.

Publish

The tour becomes Active and available through authorised channels.

Discover

Public users and clients browse through web, mobile or API.

Engage

Scenes, hotspots, device, duration and AI assistant activity are recorded.

Open house

Registration, reminders, capacity, waiting list and attendance are managed.

Analyse

Views, duration, rooms, hotspots, devices, attendance and feedback are reported.

 

3  Roles, Responsibilities and Approval Controls

Role

Main responsibility

Control

Virtual Tour Administrator

Creates, uploads, configures and publishes tours.

Should not publish inaccurate or unapproved property information.

Property Marketing Manager

Reviews copy, thumbnail, featured status and placement.

Should approve content before public release.

VR/AR Specialist

Tests immersive configuration and device compatibility.

Should document supported devices and limitations.

Open House Coordinator

Schedules meetings, registrations, reminders and attendance.

Should protect meeting details and attendee data.

Property Development Manager

Runs AI virtual staging for units.

Must label staged imagery and verify unit association.

Leasing / Sales Agent

Uses tour engagement for follow-up.

Should not treat engagement score as proof of purchase intent.

Accessibility Reviewer

Reviews keyboard, screen reader, audio and contrast support.

AI recommendations do not replace user testing.

SuperAdmin

Provides platform-wide oversight and support.

Changes should be reasoned, logged and landlord-visible where appropriate.

 

 

Recommended publication approval

For public tours, use Draft -> Content Review -> Technical Review -> Approved -> Active, even where the supplied status field exposes Draft, Active, Inactive and Archived.

 

4  Supported Tour Types

Figure 2. Supported virtual tour experiences

Type

Description

Typical use

360_tour

Panoramic room-to-room tour.

Standard residential or commercial walkthrough.

vr_tour

Immersive VR headset experience.

Premium or remote immersive property viewing.

ar_tour

Augmented-reality overlay.

Furniture, staging or scale visualisation through a device.

interactive_floorplan

Clickable 2D or 3D plan.

Layout understanding and room navigation.

 

 

Choose the simplest suitable format

A 360° tour may serve most clients more reliably than VR. Use VR or AR where the device experience adds clear business value.

 

5  Phase 1 - Virtual Tour Dashboard

STEP
1

Open the Virtual Tour Dashboard

Primary user: Virtual Tour Administrator / marketing manager

 

Navigate to Virtual Tours -> Dashboard. Landlord\Shared\VirtualTourController@dashboard and @index provide the portfolio view.

Dashboard area

Purpose

Total tours

All 360°, VR, AR and interactive-floorplan tours.

Status breakdown

Published, draft, inactive and archived tours.

Views

Total and unique viewing activity.

Average engagement

Average session duration and engagement indicators.

Quality score

Stored or predicted tour quality.

Upcoming open houses

Scheduled virtual events.

AI insights

Advisory observations and recommendations.

 

Use @index360, @indexVRAR and @indexFloorplans to review each tour category separately.

 

Dashboard metrics may be provisional

Sessions can remain open, analytics can process asynchronously and public identity may be incomplete. Use a defined reporting close for final numbers.

 

6  Dashboard Review Routine

1. Review Draft tours waiting for upload, processing or approval.

2. Review Active tours with low quality or accessibility recommendations.

3. Check tours with unusually high or low engagement.

4. Review failed or delayed processing jobs.

5. Check upcoming open-house schedules and capacity.

6. Review featured tours for current property availability.

7. Archive outdated properties or superseded tour versions.

8. Review AI insights as suggestions, not automatic decisions.

7  Create a Virtual Tour

STEP
2

Create the Property-Linked Tour Record

Primary user: Virtual Tour Administrator

 

Use Landlord\Shared\VirtualTourController@create and @store.

Field

How it is used

property_id

Links the tour to the correct property.

title

Client-facing tour title.

description

Accurate overview of the property and tour.

type

360_tour, vr_tour, ar_tour or interactive_floorplan.

tour_url

Approved external embed URL validated by ValidVirtualTourUrl.

tour_data

JSON containing scenes, hotspot positions and navigation flow.

settings

JSON for autoplay, controls, branding and viewer settings.

metadata

Additional technical or marketing metadata.

resolution

Tour media resolution.

quality_score

Predicted or reviewed quality score.

file_size_mb

Uploaded asset size.

accessibility_features

JSON for accessibility configuration.

featured

Controls prominent display.

 

 

Property facts must be current

The tour title, description, room labels, pricing, availability and features should agree with the property and listing records before publication.

 

8  Tour Creation Checklist

The property belongs to the landlord and is authorised for marketing.

Property address and unit details are correct.

The correct tour type is selected.

Images and video were captured with permission.

Occupied-property personal items and sensitive information are removed or blurred.

tour_url uses a supported and trusted provider.

The settings provide usable navigation and controls.

A thumbnail is available or scheduled for generation.

Accessibility options are considered.

The tour remains Draft until review is complete.

 

 

Do not expose security-sensitive details

Avoid showing access codes, alarm panels, keys, personal mail, identity documents, children's information, security-camera positions or other unnecessary sensitive details.

 

9  External Tour URL Validation

ValidVirtualTourUrl validates external embed URLs such as Matterport or Kuula links.

The domain is approved by the platform allow-list.

The link uses HTTPS.

The URL is an embed or viewer URL, not an administrative URL.

The link does not require the landlord's private login.

The linked tour belongs to the intended property.

The external provider's privacy and cookie behaviour is understood.

The link remains accessible after publication.

 

 

External provider availability is not controlled by Leaseora

An active Leaseora record can fail to display if the external tour is removed, made private, changed or unavailable.

 

10  Upload Tour Files and Thumbnails

STEP
3

Upload Tour Assets

Primary user: Virtual Tour Administrator

 

VirtualTourService@uploadTourFile uploads the main tour asset. @uploadThumbnail uploads the cover image. GoogleCloudService@uploadVirtualTourFile stores the file and returns google_cloud_asset_id and google_cloud_project_id.

1. Select the correct tour record.

2. Choose the supported source file.

3. Validate file type, size and resolution.

4. Upload the tour file.

5. Upload or generate the thumbnail.

6. Confirm the Google Cloud asset and project identifiers are stored.

7. Confirm the tour remains Draft during processing.

8. Review storage and processing status.

 

Use resumable and controlled uploads for large media

Large 360° images and videos may require upload limits, retries and progress indicators. Failed uploads should not create an Active tour.

 

11  Google Cloud Asset Management

Component

Purpose

google_cloud_asset_id

Identifies the stored or processed asset.

google_cloud_project_id

Identifies the Google Cloud project context.

GoogleCloudService@uploadVirtualTourFile

Uploads and returns identifiers.

process360Image

Processes panoramic imagery.

processVirtualTourVideo

Processes tour video.

generateVRMetadata

Generates VR-specific metadata.

generateAIThumbnail

Generates a proposed thumbnail.

generateHotspotSuggestions

Suggests hotspot locations.

analyzeAccessibilityFeatures

Returns accessibility recommendations.

 

 

Cloud credentials and identifiers are sensitive operational data

Do not expose project credentials, signed upload URLs or internal asset controls to public clients.

 

12  Background Tour Processing

STEP
4

Process and Optimise the Uploaded Tour

Primary user: System / operations team

 

GenerateVirtualTour is dispatched after upload. The background job processes and optimises the tour file.

The job is queued after a successful upload.

The job references the correct tour and cloud asset.

Processing status is visible to authorised users.

Retries are limited and logged.

Failure does not publish the tour.

Output resolution and file size are recorded.

The final viewer opens without missing scenes.

 

 

Queue monitoring is required

A Draft tour may remain incomplete when the queue, worker, storage or processing service fails. Monitor retries, failed jobs and processing duration.

 

13  AI-Assisted Tour Description

STEP
5

Generate and Review a Tour Description

Primary user: Marketing manager

 

VirtualTourController@aiSuggestDescription produces a professional draft based on property data.

1. Confirm the tour is linked to the correct property.

2. Generate the AI description.

3. Compare every claim with property records.

4. Remove unsupported or exaggerated language.

5. Use clear Client-facing wording.

6. Save the approved description.

 

AI copy may invent or overstate features

Do not publish an AI-generated description without verifying room count, size, facilities, view, location, condition, availability and pricing.

 

14  AI Quality Prediction

@aiPredictQuality estimates the tour quality before publication.

Quality input

Review consideration

Resolution

Is imagery clear on mobile and desktop?

Scene coverage

Are important rooms and transitions included?

Navigation

Can users move logically between scenes?

Lighting

Are spaces visible without misleading enhancement?

Thumbnail

Does the cover represent the property accurately?

Accessibility

Are controls and alternatives available?

Performance

Does the tour load within acceptable time?

 

 

A predicted score is not final acceptance

The company should test the tour on real devices and networks before publication.

 

15  SEO Optimisation

@aiOptimizeSeo proposes title and description changes for search discovery.

Use the actual property type and location.

Keep the title readable and accurate.

Avoid keyword stuffing.

Do not include unavailable or unverified features.

Keep public and listing descriptions consistent.

Review how external embed metadata appears.

 

16  Phase 1 - Add Hotspots

STEP
6

Create Interactive Hotspots

Primary user: Virtual Tour Administrator

 

VirtualTourHotspot stores the interactive points placed within a scene.

Field

Purpose

virtual_tour_id

Parent tour.

type

navigation, info, media or link.

scene_id

Scene in which the hotspot appears.

target_scene_id

Destination for navigation.

position_x / y / z

3D location in the scene.

title

Hotspot label.

description

Supporting information.

media_url

Approved media content.

 

Figure 3. Hotspot design and navigation flow

17  Hotspot Types and Use

Type

Use

Control

Navigation

Moves to another scene.

target_scene_id must exist and be reachable.

Info

Explains a room, feature or specification.

Content must be accurate and concise.

Media

Opens image, video or audio.

Use approved, accessible media.

Link

Opens an approved page or resource.

Validate destination and tracking.

 

scopeByScene($sceneId) retrieves hotspots for a scene. isNavigationHotspot() identifies navigation links.

 

Avoid hotspot overload

Too many hotspots can make a tour difficult to use. Prioritise navigation and genuinely useful information.

 

18  AI Hotspot Suggestions

GoogleCloudService@generateHotspotSuggestions analyses the scene and proposes positions.

Suggested hotspot is placed in the correct scene.

Position does not block important visual content.

Navigation destination is correct.

The title and description are approved.

Media and links are authorised.

Keyboard and screen-reader behaviour is reviewed.

 

 

Suggestion is not automatic approval

The system may detect a visually prominent point that is not commercially, technically or legally appropriate to highlight.

 

19  Generate and Review the Thumbnail

STEP
7

Create the Tour Cover Image

Primary user: Marketing manager

 

VirtualTourService@generateThumbnailFromTour can create a thumbnail from the tour. GoogleCloudService@generateAIThumbnail can generate a proposed professional thumbnail.

Thumbnail belongs to the correct tour.

It represents the property accurately.

No misleading furniture, view or room modification is shown.

The image is clear at listing-card size.

People and personal data are removed or authorised.

The thumbnail is stored and loads correctly.

 

 

Generated thumbnail must not misrepresent the property

Do not use an AI thumbnail that adds features, changes the room or suggests a condition not present in the tour.

 

20  Publish, Unpublish, Archive and Feature

STEP
8

Publish the Approved Tour

Primary user: Virtual Tour Administrator / marketing approver

 

Action

System effect

publish

status = active and published_at is set.

unpublish

status = inactive.

archive

status = archived.

toggleFeatured

Marks or unmarks the tour as featured.

 

Property and listing are still available.

Tour processing completed successfully.

Scenes and hotspots work.

Description and title are approved.

Thumbnail is accurate.

Accessibility controls are configured.

External links and embeds work.

Privacy and image rights are cleared.

 

 

Featured status should not override availability

Remove featured placement and unpublish promptly when a property is unavailable, withdrawn or materially changed.

 

21  Tour Status Lifecycle

Status

Meaning

Recommended use

Draft

Being created, uploaded or reviewed.

Not public.

Active

Published and discoverable.

Approved current tour.

Inactive

Temporarily unpublished.

Property paused, update required or external link unavailable.

Archived

Historical or superseded.

Retained for authorised history.

 

 

Confirm exact transition rules

The supplied scenario uses Active rather than Published. Confirm production status enums and whether Featured is allowed for inactive or archived tours.

 

22  Phase 2 - VR and AR Tour Configuration

STEP
9

Create an Immersive VR/AR Configuration

Primary user: VR/AR specialist

 

SuperAdmin\Core\VRARTourController@create and @store support immersive tour creation. VRARService provides device, preview and export operations.

Method

Purpose

getSupportedVRHeadsets

Returns supported VR headsets.

getSupportedARDevices

Returns supported AR devices.

createTourConfiguration

Builds VR/AR-specific configuration.

testDeviceCompatibility

Tests a tour against device information.

generateTourPreview

Creates a preview.

exportTour

Exports in a supported format.

 

 

Supported device lists require production confirmation

Meta Quest, HTC Vive, ARKit and ARCore are described in the supplied scenario. Actual support depends on the implemented export format, browser, headset and external SDK configuration.

 

23  VR/AR Compatibility Testing

STEP
10

Test Device Compatibility

Primary user: VR/AR specialist

 

1. Select the tour and intended device.

2. Capture browser, operating system and device information.

3. Run testCompatibility.

4. Review resolution, controls, orientation and performance.

5. Check scene transitions and hotspots.

6. Check fallback experience when the device is unsupported.

7. Record the tested device and result.

 

Provide a non-VR fallback

Clients without compatible hardware should still be able to access an ordinary web or 360° experience where possible.

 

24  VR/AR Preview and Export

VRARTourController@generatePreview generates a preview. @export exports tour data. GoogleCloudService@generateVRMetadata and process360Image support rendering.

Preview matches the intended property and configuration.

Export format is supported by the target device or platform.

Assets and metadata remain linked.

External sharing permissions are appropriate.

Export does not include private credentials or internal metadata.

 

25  Phase 3 - Schedule a Virtual Open House

STEP
11

Create a Live Virtual Open House

Primary user: Open House Coordinator

 

Use Landlord\Shared\VirtualOpenHouseController@create and @store.

Field

Purpose

virtual_tour_id

Tour used during the event.

title / description

Client-facing event information.

scheduled_date

Event date.

start_time / end_time

Event period.

max_attendees

Registration capacity.

meeting_platform

Zoom, Google Meet, Teams or configured provider.

meeting_link

Generated or approved join link.

meeting_password

Protected access information.

reminder_intervals

JSON reminder schedule.

status

scheduled, active, completed, cancelled or rescheduled.

 

Figure 4. Virtual open-house lifecycle

26  VirtualOpenHouseService Setup

Method

Purpose

getSupportedMeetingPlatforms

Returns supported meeting providers.

getScheduleTemplates

Returns reusable event templates.

generateMeetingLink

Creates a provider meeting link.

generateMeetingDetails

Returns link, password and dial-in details.

createVirtualOpenHouse

Creates the event record.

scheduleReminders

Schedules reminder intervals.

 

 

Meeting links are sensitive

Do not expose private host controls, persistent passwords or administrative links. Share only attendee join details with registered participants.

 

27  Open House Schedule Operations

Operation

Purpose

index

List events with status filters.

show

View full schedule detail.

edit / update

Change approved schedule details.

updateStatus

Activate, complete, cancel or reschedule.

getAttendees

View registered attendees.

destroy

Delete under retention policy.

 

 

Rescheduling requires attendee communication

Update meeting details, reminders and registration records, and notify every registered or waiting-list participant.

 

28  Open House Capacity Controls

VirtualTourSchedule::hasAvailableSpots checks capacity. isFull identifies a full schedule.

max_attendees is greater than zero and appropriate for the platform.

current_attendees is derived consistently.

Cancelled registrations release a place.

Waiting-list promotion does not exceed capacity.

Duplicate registrations are prevented.

Staff and host seats are treated according to policy.

 

29  Phase 4 - Public and Client Tour Discovery

STEP
12

Open a Published Virtual Tour

Primary user: Public visitor or Client

 

PublicVirtualTourController@show displays tours where status is Active and published_at is not null. TenantVirtualTourController@view provides the logged-in Client experience.

Access channel

Behaviour

Public web

Displays published tour without a logged-in profile.

Client web

Displays the tour linked to the Client profile.

Mobile / API

VirtualTourAPIController@index, @show and @viewTour.

 

VirtualTourViewed is fired whenever a tour is viewed.

 

Public analytics should minimise personal data

A public view may record device, duration, IP address and user agent. Apply privacy notices, retention limits and security controls.

 

30  Virtual Tour API Browse and View

Method

Purpose

index

Lists published tours with type, property and featured filters.

show

Returns tour detail, hotspots and schedules.

viewTour

Starts a viewing session and returns tour data plus session ID.

 

Only published Active tours are returned.

Landlord and property scope is correct.

Private metadata and storage credentials are excluded.

Hotspot media and links are sanitised.

The session ID is unique and unguessable.

API rate limits and abuse protection are applied.

 

31  Phase 5 - Track Tour Interactions

STEP
13

Record the Viewing Session

Primary user: System / Client viewer

 

API method

Tracked activity

trackInteraction

Click, zoom, pan or configured general event.

trackHotspotInteraction

Hotspot ID, type and scene.

trackSceneVisit

Room or scene navigation.

endSession

Ends the session, calculates duration and engagement.

 

VirtualTourAnalytics stores tour, user, session, device, duration, scenes, hotspots, timestamps, IP address and user agent.

 

Use one session identity consistently

The same session ID should be used from viewTour through all interactions and endSession. Duplicate end calls should not inflate analytics.

 

32  VirtualTourAnalytics Data

Field

Purpose

virtual_tour_id

Tour being viewed.

user_id

Logged-in Client where available.

session_id

Viewing-session identifier.

device_type

Desktop, mobile, tablet or VR headset.

duration_seconds

Total completed session duration.

scenes_visited

JSON list of visited scenes.

hotspots_clicked

JSON list of interactions.

started_at / ended_at

Session period.

ip_address / user_agent

Technical analytics and security context.

 

 

Sensitive analytics should be restricted

IP address, user agent and linked-user journey data should be available only to authorised users and retained only as required.

 

33  Engagement Scoring

Example condition

Scenario interpretation

Duration over 5 minutes

Maximum engagement band.

Duration over 2 minutes

High engagement band.

Duration over 1 minute

Medium engagement band.

VR headset

May receive a higher experience-quality weighting.

30+ seconds

Used by getEngagementRate as an engaged view.

 

 

Engagement is not a sales decision

Long duration can indicate interest, confusion, slow connection or inactivity. Use it as a follow-up signal, not proof of intent or affordability.

 

34  Phase 6 - Register for a Virtual Open House

STEP
14

Register an Attendee

Primary user: Client / prospect

 

1. Open the tour's available schedules.

2. Select the preferred open house.

3. Confirm the event date, time zone and platform.

4. Submit registration details.

5. The system checks hasAvailableSpots.

6. If a spot is available, create VirtualTourAttendees.

7. If full, create VirtualTourWaitingList.

8. Display the registration or waiting-list result.

VirtualTourAttendees field

Purpose

virtual_tour_schedule_id

Parent event.

user_id

Registered Client.

registration_date

Registration timestamp.

attendance_status

registered, attended, no_show or promoted_from_waiting.

feedback / rating

Post-event feedback.

 

 

Confirm the attendee's time zone

Display the event in a clear time zone and include it in reminders to reduce missed attendance.

 

35  Waiting List Management

VirtualTourWaitingList manages capacity overflow and spot promotion.

Method / scope

Purpose

scopeNotified

Entries that were notified.

scopeExpired

Expired entries.

scopeRemoved

Removed entries.

scopeByPosition

Queue order.

scopeWithExpiredDeadlines

Promotion response deadline passed.

moveUp / moveDown

Reorders queue position.

notifySpotAvailable

Notifies that a place opened.

acceptPromotion

Accepts the spot.

declinePromotion

Declines and advances the queue.

 

 

Queue position changes should be auditable

Manual moveUp or moveDown operations should record who changed the position and why.

 

36  Waiting List Promotion Workflow

1. A registered attendee cancels or capacity increases.

2. promoteFromWaitingList selects the next eligible entry.

3. notifySpotAvailable sends a time-limited offer.

4. The person accepts or declines.

5. On acceptance, create or update attendance as promoted_from_waiting.

6. On decline or expiry, notify the next eligible entry.

7. Update capacity and queue positions.

 

Do not overbook through concurrent promotion

Use transaction or locking controls so two waiting-list members cannot accept the same final spot.

 

37  Automated Open House Reminders

STEP
15

Schedule and Send Reminders

Primary user: Open House Coordinator / system

 

VirtualOpenHouseService@scheduleReminders schedules intervals such as 24 hours, 1 hour and 15 minutes before the event.

Method

Purpose

getUpcomingReminders

Returns pending reminders.

updateScheduleReminders

Changes reminder intervals.

sendReminders

SuperAdmin manual trigger.

 

Only registered or valid promoted attendees receive reminders.

Cancelled attendees are suppressed.

The meeting link and time zone are correct.

Rescheduled events replace old reminders.

Repeated manual reminders are limited.

Delivery failures are logged.

 

38  Client Registration Management

API method

Purpose

getUserSchedules

Returns Client registrations.

cancelRegistration

Cancels one registration and releases capacity.

getSchedules

Returns schedules for a tour.

 

 

Cancellation should trigger capacity processing

After a confirmed cancellation, promote the next waiting-list entry where the event remains open.

 

39  Phase 7 - Activate the Open House

STEP
16

Start the Live Event

Primary user: Open House Coordinator

 

VirtualOpenHouseService@activateSchedule moves the schedule to Active and makes the attendee meeting link available.

Current date and time are within the event window.

The correct meeting platform is available.

Host controls and attendee link are separated.

Registered attendees can join.

Waiting-list promotions are complete.

The tour and property information are current.

Attendance capture is ready.

 

 

Do not expose a meeting link before authorised release

The attendee link may be available shortly before the event, while host or administrative links remain restricted.

 

40  Complete the Open House

STEP
17

Close the Event and Collect Feedback

Primary user: Open House Coordinator

 

VirtualOpenHouseService@completeSchedule moves the schedule to Completed, updates attendance and triggers feedback collection.

Analytics method

Purpose

getAttendeeDemographics

Attendee demographic breakdown.

getRegistrationTimeline

Registration volume over time.

getInteractionMetrics

Event engagement metrics.

getFeedbackSummary

Aggregated feedback and ratings.

 

 

Demographic reporting requires careful governance

Use only lawful, relevant and sufficiently aggregated demographic data. Do not use protected characteristics for discriminatory marketing or access decisions.

 

41  Phase 8 - AI Virtual Staging

STEP
18

Generate Staged Unit Imagery

Primary user: Property Development Manager

 

AIVirtualStagingService@generateStaging takes a source image and unit options, generates a staged image and stores the result in PropertyDevelopmentVirtualStaging.

1. Select the correct project and unit.

2. Upload an authorised source image.

3. Confirm the room or unit is empty, unfinished or intended for staging.

4. Review style recommendations.

5. Choose staging options.

6. Generate the staged image.

7. Compare the result with the source.

8. Reject misleading or structurally changed output.

9. Store and label the approved staged image.

 

Virtual staging must be disclosed

Clearly label AI-staged or digitally furnished imagery. It should not imply that furniture, finishes or features are included unless contractually confirmed.

 

42  Staging Style Recommendations

AIVirtualStagingService@getStyleRecommendations suggests styles based on unit type, size and target market.

Style fits the actual unit dimensions.

Furniture scale is plausible.

Doors, windows, walls and permanent features are not changed.

The output does not conceal defects.

Target-market assumptions are reviewed for fairness.

The source and staged versions are both retained.

 

43  Batch Virtual Staging

BatchGenerateVirtualStagings processes multiple units. VirtualStagingProgress reports progress.

Each source image maps to the correct unit.

Options are appropriate for every unit.

Batch progress is visible.

One failed unit does not corrupt the batch.

Results are reviewed individually.

Approved and rejected results are recorded.

 

 

Batch generation does not replace image-by-image review

AI can create inconsistent furniture, perspective or structural details across similar units.

 

44  Phase 9 - AI Virtual Leasing Assistant

STEP
19

Use the Embedded Leasing Assistant

Primary user: Client / prospect

 

AI\VirtualLeasingAssistantController@index loads the interface. @send sends a Client question to OpenAIService and returns a response about the property.

Question type

Expected source

Property features

Verified property or listing data.

Price

Current approved price or rent record.

Availability

Current listing or unit availability.

Lease terms

Approved lease-product information.

Viewing or application

Configured next-step process.

 

 

Assistant responses require source controls

The assistant should answer from verified Leaseora property data and clearly state when information is unavailable. It should not provide binding legal, financial or availability commitments.

 

45  Virtual Leasing Assistant Safety and Escalation

The assistant identifies the property being toured.

Responses use current approved data.

The assistant does not invent discounts or availability.

Legal, mortgage, tax and contract questions are escalated.

Sensitive personal data is not requested unnecessarily.

Conversation history is stored and retained under policy.

A human contact option is visible.

 

 

AI chat is advisory

A Client should confirm pricing, availability, specifications and terms with the authorised real estate company before relying on them.

 

46  Phase 10 - Clone a Tour

STEP
20

Clone an Existing Tour

Primary user: SuperAdmin / authorised administrator

 

SuperAdmin\Core\VirtualTourController@clone duplicates settings, hotspots and configuration. The new tour is created as Draft.

1. Select the source tour.

2. Confirm the new property or unit.

3. Clone the tour.

4. Update property_id, title, description and metadata.

5. Review every scene and hotspot.

6. Replace property-specific media and links.

7. Reprocess or regenerate assets where required.

8. Publish only after full review.

 

Never publish an unchanged clone for a different unit

Similar units can still differ in orientation, view, finishes, dimensions, availability and features.

 

47  Phase 11 - Tour Analytics

STEP
21

Review Tour Performance

Primary user: Marketing manager / analyst

 

Figure 5. Virtual Tour and open-house analytics

Metric

Meaning

Total views

All recorded sessions.

Unique views

Deduplicated view count under the implemented rule.

Average duration

Mean completed session time.

Device breakdown

Desktop, mobile, tablet and VR headset.

Scene heatmap

Rooms viewed most often.

Hotspot interaction rate

Hotspot clicks relative to relevant views.

Engagement distribution

Session score bands.

Engagement rate

Engaged views of 30+ seconds divided by total views.

 

48  Analytics Filters and Scopes

Scope / method

Purpose

scopeUniqueViews

Returns deduplicated views.

scopeByDevice

Filters by device type.

VirtualTourController@analytics

Landlord portfolio or tour analytics.

SuperAdmin analytics

Platform-wide or selected-tour analytics.

VirtualTourService@exportAnalytics

Exports Excel or CSV.

 

 

Define unique-view logic

Confirm whether uniqueness uses user, session, device, IP, cookie or time window. Public analytics may not identify the same person reliably across devices.

 

49  Scene and Hotspot Analysis

1. Identify the most and least visited scenes.

2. Compare scene order with the intended navigation path.

3. Review hotspots with high and low interaction.

4. Check whether users abandon before important rooms.

5. Test whether navigation labels are clear.

6. Consider simplifying overcrowded scenes.

7. Compare changes after a new thumbnail, scene or hotspot.

 

Low activity can be a design issue

A room may be skipped because the navigation hotspot is difficult to find, not because Clients are uninterested in the room.

 

50  Open House Analytics

Metric

Meaning

Registration rate

Registrations relative to the defined audience or tour views.

Attendance rate

Attended divided by registered.

No-show rate

No-shows divided by registered.

Waiting-list conversion

Promoted and accepted entries relative to waitlisted entries.

Average feedback

Mean attendee rating.

Registration timeline

When registrations occurred.

Interaction metrics

Configured event engagement.

 

 

Use denominator labels

State whether rates use invited, viewed, registered, capacity or another population.

 

51  Export Analytics and Attendee Data

Apply the correct landlord, tour and date filters.

Export only authorised analytics.

Exclude unnecessary IP, user-agent or personal data.

State time zone and reporting period.

State unique-view and engagement definitions.

Protect attendee contact details.

Retain and delete exports under company policy.

 

52  Phase 12 - Accessibility Configuration

STEP
22

Review and Configure Accessibility

Primary user: Accessibility reviewer / tour administrator

 

GoogleCloudService@analyzeAccessibilityFeatures analyses tour data and returns recommendations stored in accessibility_features JSON.

Feature

Purpose

Screen-reader support

Provides accessible labels and content structure.

Keyboard navigation

Allows operation without a pointing device.

Audio descriptions

Describes visual scenes and important features.

Colour contrast

Improves readability of controls and labels.

Focus order

Provides logical navigation through controls and hotspots.

Alternative text

Describes thumbnails, scenes and media.

 

 

AI accessibility analysis is not certification

Test with real keyboard use, screen readers, zoom, contrast and alternative content. Remediate barriers before claiming an accessible experience.

 

53  Accessibility Testing Checklist

Viewer opens and operates with keyboard only.

Visible focus is clear.

Hotspots have meaningful labels.

Navigation order is logical.

Thumbnail and scene images have alternatives.

Audio has captions or transcripts where appropriate.

Colour contrast is sufficient.

Autoplay can be paused or disabled.

Motion and VR effects have a usable alternative.

Meeting registration is accessible.

 

54  Phase 13 - SuperAdmin Virtual Tour Oversight

STEP
23

Use the Platform-Wide Tour View

Primary user: SuperAdmin

 

Action

Purpose

index

View tours across all landlords.

publish / unpublish

Control publication.

toggleFeatured

Manage featured status.

generateThumbnail

Regenerate a thumbnail.

clone

Clone an existing tour.

analytics / exportAnalytics

Review or export analytics.

destroy

Delete under platform policy.

 

 

SuperAdmin intervention should preserve landlord context

Record the acting administrator, reason, previous state and affected landlord whenever a tour is changed.

 

55  SuperAdmin Open House Oversight

Action

Purpose

index

View all open houses.

manageAttendees

Review attendee list.

updateAttendeeStatus

Update attendance status.

sendReminders

Manually send reminders.

analytics

Review event analytics.

exportAttendees

Export attendee data.

 

 

Manual attendance changes need evidence

Record the administrator and reason when changing Attended, No-show or Promoted status.

 

56  Integration Map

Figure 6. Virtual Tours integration map

Integration

Purpose

Properties

Links the tour to the correct property or unit.

Listings

Makes published tours discoverable.

Google Cloud

Stores and processes tour assets.

VR / AR

Supports compatibility, preview and export.

Open house

Links live events to the tour.

CRM

Supports follow-up from viewing interest.

Property Development

Links units to AI staging.

AI assistant

Answers tour-related property questions.

 

57  AI Feature Reference

Figure 7. AI tools across the Virtual Tours module

AI feature

Service / controller

Purpose

Description generation

VirtualTourController@aiSuggestDescription

Creates draft tour description.

Quality prediction

VirtualTourController@aiPredictQuality

Predicts pre-publish quality.

SEO optimisation

VirtualTourController@aiOptimizeSeo

Suggests title and description.

AI thumbnail

GoogleCloudService@generateAIThumbnail

Creates proposed thumbnail.

Hotspot suggestions

GoogleCloudService@generateHotspotSuggestions

Suggests useful placement.

Accessibility analysis

GoogleCloudService@analyzeAccessibilityFeatures

Returns accessibility recommendations.

VR metadata

GoogleCloudService@generateVRMetadata

Generates VR metadata.

Virtual staging

AIVirtualStagingService@generateStaging

Generates staged imagery.

Style recommendations

AIVirtualStagingService@getStyleRecommendations

Suggests staging styles.

Leasing assistant

VirtualLeasingAssistantController@send

Answers property questions.

 

58  Backend Models Reference

Model

Purpose

VirtualTour

Core tour, property, type, status, cloud assets, settings and metrics.

VirtualTourHotspot

Navigation, information, media and link hotspots.

VirtualTourSchedule

Open-house schedule and meeting details.

VirtualTourAttendees

Registration, attendance, feedback and rating.

VirtualTourWaitingList

Queue, notification, promotion and response.

VirtualTourAnalytics

Viewing-session analytics.

PropertyDevelopmentVirtualStaging

AI-generated staged unit images.

 

59  Controllers Reference

Controller

Purpose

Landlord\Shared\VirtualTourController

Dashboard, CRUD, publish, AI tools and analytics.

Landlord\Shared\VirtualOpenHouseController

Schedules, registration, status and attendees.

LandlordVirtualStagingController

Landlord staging workflow.

TenantVirtualTourController

Logged-in Client viewing and tracking.

PublicVirtualTourController

Public viewing and tracking.

VirtualTourAPIController

Browse, view, interactions, schedules and registration.

SuperAdmin\Core\VirtualTourController

Platform-wide tour oversight.

SuperAdmin\Core\VirtualOpenHouseController

Platform-wide event oversight.

SuperAdmin\Core\VRARTourController

VR/AR management.

AI\VirtualLeasingAssistantController

Embedded AI chat.

 

60  Services, Jobs, Events and Validation Reference

Component

Purpose

VirtualTourService

File upload, thumbnail generation and analytics export.

VirtualOpenHouseService

Meeting links, schedules, reminders, registration, waiting list and analytics.

AIVirtualStagingService

Staging generation and style recommendations.

VRARService

Supported devices, configuration, compatibility, preview and export.

GoogleCloudService

Storage, processing, thumbnail, hotspot, accessibility and VR metadata.

ValidVirtualTourUrl

Validates external embed URLs.

GenerateVirtualTour

Background processing and optimisation job.

BatchGenerateVirtualStagings

Batch staging job.

VirtualTourViewed

Event fired on each view.

VirtualStagingProgress

Progress event during staging.

 

61  Daily, Weekly and Monthly Operating Procedures

Frequency

Recommended activities

Daily

Review failed processing, broken embeds, upcoming open houses, capacity, reminders, active featured tours and privacy incidents.

Weekly

Review Draft backlog, quality, accessibility, analytics, low-performing scenes, AI assistant escalations and waiting-list outcomes.

Monthly

Archive outdated tours, close analytics, review device performance, verify external links and review staging labels.

Quarterly

Review Google Cloud access, provider integrations, retention, accessibility tests, VR/AR support and publication permissions.

 

62  Security, Privacy and Content Rights

Property owner or authorised company permits the tour.

Occupied-property privacy has been reviewed.

People, personal items and sensitive documents are removed or authorised.

Cloud storage and external embed access are secured.

Tour data and analytics APIs are landlord-scoped.

IP addresses and user-agent data are restricted and retained appropriately.

Meeting links and attendee data are protected.

AI-staged images are labelled and source images retained.

Exports are access-controlled.

SuperAdmin actions are audited.

 

 

Image rights and property access are operational prerequisites

A technically successful upload does not establish the right to photograph, process, stage or publish the property.

 

63  Worked Example 1 - 360° Rental Tour

 

Scenario

A real estate company creates a 360° tour for a vacant two-bedroom apartment.

 

Stage

What happens

1. Create

The landlord selects the property and 360_tour.

2. Upload

Panoramic files and a thumbnail are uploaded to Google Cloud.

3. Process

GenerateVirtualTour optimises the assets.

4. Enrich

Navigation and information hotspots are added.

5. Review

Description, SEO, thumbnail, quality and accessibility are checked.

6. Publish

The tour becomes Active.

7. View

A Client starts a tracked session from the listing.

8. Engage

The Client visits bedrooms and clicks the application hotspot.

9. Follow-up

The viewing activity supports authorised CRM follow-up.

10. Analyse

The team reviews scenes, duration and conversion.

 

64  Worked Example 2 - Virtual Open House with Waiting List

 

Scenario

A live online open house is limited to 30 attendees and reaches full capacity.

 

Stage

What happens

1. Schedule

The event is linked to the published tour.

2. Meeting

VirtualOpenHouseService generates the approved meeting details.

3. Register

The first 30 Clients receive attendee records.

4. Waitlist

Additional Clients receive ordered waiting-list records.

5. Cancel

A registered attendee cancels.

6. Promote

The next eligible waiting-list member is notified.

7. Accept

The member accepts and becomes promoted_from_waiting.

8. Remind

24-hour, 1-hour and 15-minute reminders are sent.

9. Activate

The event becomes Active.

10. Complete

Attendance and feedback are recorded.

 

65  Worked Example 3 - AI Virtual Staging for an Unbuilt Unit

 

Scenario

A development project markets an unfinished unit using a labelled staged visual.

 

Stage

What happens

1. Select

The development manager selects the correct project unit.

2. Source

An approved empty-room image is uploaded.

3. Recommend

The AI proposes a suitable style.

4. Generate

AIVirtualStagingService creates the staged image.

5. Review

The team checks furniture scale and structural accuracy.

6. Reject or approve

Misleading output is discarded; approved output is retained.

7. Label

The image is clearly marked as AI-staged or illustrative.

8. Publish

The image is connected to the unit marketing experience.

 

66  Worked Example 4 - VR Tour Compatibility

 

Scenario

A premium property is prepared for Meta Quest-style VR viewing with a browser fallback.

 

Stage

What happens

1. Configure

VRARService creates VR configuration.

2. Metadata

GoogleCloudService generates VR metadata.

3. Preview

The VR preview is generated.

4. Test

Compatibility is tested on the target device.

5. Correct

Navigation, resolution or control issues are fixed.

6. Fallback

The standard web tour remains available.

7. Publish

The approved VR experience is released.

8. Analyse

Device type and engagement are reviewed.

 

67  Implementation and Onboarding Checklist

Property and content setup

Properties and units are complete and landlord-scoped.

Tour capture and image-right process is documented.

Approved external embed domains are configured.

Status and publication approval are configured.

Thumbnail, hotspot and accessibility standards are documented.

 

Technical setup

Google Cloud storage and processing credentials are configured.

GenerateVirtualTour queue and failure monitoring are active.

VR/AR device and export support is confirmed.

Meeting-platform integrations are configured.

Analytics session and interaction APIs are secured.

AI services and escalation rules are configured.

 

Governance setup

Privacy notice covers tour analytics.

Meeting and attendee privacy controls are documented.

AI-staging disclosure is approved.

Accessibility review process is documented.

SuperAdmin and export permissions are configured.

 68  User Acceptance Testing and Go-Live

Test area

Acceptance test

Dashboard

Validate totals, statuses, types, views and schedules.

Create

Create each tour type.

URL validation

Accept approved provider and reject unsafe URL.

Upload

Main file and thumbnail success, failure and retry.

Cloud IDs

Store correct asset and project identifiers.

Job

Process, retry and failed-job handling.

AI description

Generate and correct inaccurate content.

Quality

Predict and compare with human testing.

SEO

Generate and review safe copy.

Hotspots

Create navigation, info, media and link types.

Hotspot AI

Review suggestions and positions.

Thumbnail

Generate, replace and verify.

Publish

Publish, unpublish, archive and feature.

Public view

Only Active published tour is visible.

Client view

User-linked tracking.

API

Index, show, view session and permissions.

Interactions

Click, hotspot, scene and end session.

Analytics

Duration, device, scenes and engagement.

VR/AR

Compatibility, preview and export.

Open house

Create, edit, cancel, reschedule and complete.

Capacity

Full event and released spot.

Waiting list

Position, notify, accept, decline and expiry.

Reminders

Intervals, cancellation and reschedule.

Attendance

Registered, attended, no_show and promoted.

Staging

Single and batch generation.

Staging progress

Progress and failure handling.

AI assistant

Correct property, safe fallback and escalation.

Accessibility

Keyboard, labels, focus, alternatives and autoplay.

Exports

Tour analytics and attendee exports.

SuperAdmin

Platform oversight and audit.

Security

Landlord scope, private assets, meeting links and analytics.

 

 

Pilot before broad publication

Start with one property, one 360° tour, one small open house and one analytics report before onboarding the full portfolio.

 

69  Common Issues and Troubleshooting

Issue

Recommended action

Tour upload fails

Check file type, size, network, storage and cloud permissions.

Tour remains Draft

Check GenerateVirtualTour queue and processing status.

External embed is blank

Check approved URL, provider visibility and browser policy.

Thumbnail is wrong

Regenerate or upload a verified replacement.

Hotspot does not navigate

Check scene_id, target_scene_id and coordinates.

Public user sees Draft tour

Review status and published_at query.

Analytics duration is zero

Check session start, endSession and duplicate-close logic.

Unique views are too high

Review deduplication rule and bot traffic.

VR does not load

Check device support, browser, metadata and fallback.

Open house is full incorrectly

Review capacity and cancelled registrations.

Waitlist promotion duplicates

Add locking and promotion idempotency.

Reminder uses old time

Cancel old reminders after reschedule.

Meeting link exposed

Review API response and permission.

AI description is inaccurate

Correct against property data.

Staging changes structure

Reject output and regenerate.

AI assistant gives wrong price

Check source data and response grounding.

Accessibility result says compliant

Perform real user and assistive-technology testing.

Wrong landlord sees analytics

Review controller, service and export scope.

 

70  Frequently Asked Questions

Can a company create different tour formats?

Yes. The supplied types are 360_tour, vr_tour, ar_tour and interactive_floorplan.

Can Leaseora use Matterport or Kuula links?

The supplied ValidVirtualTourUrl rule is intended to validate approved external embed URLs.

Where are uploaded assets stored?

The supplied flow stores files through GoogleCloudService and retains cloud asset identifiers.

Can AI place hotspots automatically?

AI can suggest positions, but staff should review and approve them.

Can a tour be unpublished without deletion?

Yes. unpublish changes the status to Inactive.

Can a live open house use Zoom or Teams?

The supplied service supports configured meeting platforms such as Zoom, Google Meet and Teams.

What happens when an event is full?

The Client enters VirtualTourWaitingList and may be promoted when a place opens.

Can Clients cancel registration?

Yes, through cancelRegistration.

Does the module track room visits?

Yes. trackSceneVisit records scene navigation.

Can Leaseora stage empty rooms?

Yes. AIVirtualStagingService generates proposed staged images.

Must staged images be labelled?

They should be clearly disclosed as AI-staged or illustrative.

Can the assistant answer lease questions?

It can provide approved property and lease-product information, but final terms must be confirmed by authorised staff.

Does AI accessibility analysis prove compliance?

No. It provides recommendations and requires real testing.

Can analytics be exported?

Yes. The supplied service supports CSV or Excel analytics export.

71  Technical Matters to Confirm Before Production

Area

Confirmation required

Status enums

Confirm exact tour and schedule statuses and transitions.

Valid URLs

Confirm supported providers, allow-list and embed formats.

Cloud upload

Confirm file types, size limits, resumable upload and retention.

GenerateVirtualTour

Confirm processing stages, status field, retries and timeout.

JSON schemas

Confirm tour_data, settings, metadata and accessibility schemas.

Hotspots

Confirm coordinate system, validation and media types.

Quality score

Confirm calculation, scale and human override.

Featured

Confirm ranking, limits and inactive-tour behaviour.

VR/AR support

Confirm devices, browsers, formats and fallback.

Meeting platforms

Confirm credentials, link lifecycle and provider callbacks.

Capacity

Confirm counting, staff seats and concurrency handling.

Waiting list

Confirm offer deadline, queue edits and promotion locking.

Reminders

Confirm channels, intervals, time zone and retries.

Attendance

Confirm automatic versus manual status rules.

Public tracking

Confirm consent, IP retention, bot filtering and session identity.

Unique views

Confirm deduplication definition.

Engagement

Confirm score thresholds and device weighting.

Virtual staging

Confirm image limits, disclosure and moderation.

AI assistant

Confirm grounding sources, history, safety and escalation.

Accessibility

Confirm test standard and supported controls.

Exports

Confirm format, columns, personal data and retention.

SuperAdmin

Confirm audit and landlord notification.

Deletion

Confirm cloud asset, analytics and schedule cascading rules.

 

 

Specification basis

This guide preserves the terminology and workflow supplied for the Leaseora Virtual Tours module. Undefined production behaviour is listed for confirmation rather than silently assumed.

 

72  Quick Reference - 34-Step Virtual Tours Operating Flow

1. Open the Virtual Tours dashboard.

2. Confirm the property and tour marketing authority.

3. Choose 360°, VR, AR or interactive floorplan.

4. Create the Draft tour record.

5. Validate an external embed URL where used.

6. Upload the tour file and thumbnail.

7. Store Google Cloud asset and project identifiers.

8. Dispatch and monitor GenerateVirtualTour.

9. Generate and review the AI description.

10. Review the predicted quality score.

11. Review SEO suggestions.

12. Create navigation, information, media and link hotspots.

13. Review AI hotspot suggestions.

14. Generate or approve the thumbnail.

15. Configure accessibility features.

16. Test the tour on desktop and mobile.

17. Test VR/AR compatibility where applicable.

18. Publish or feature the approved tour.

19. Expose it through public, Client and API channels.

20. Create a tracked viewing session.

21. Record scene, hotspot and general interactions.

22. End the session and calculate engagement.

23. Offer the virtual leasing assistant.

24. Create a virtual open-house schedule.

25. Generate meeting details and reminders.

26. Register attendees until capacity.

27. Add excess registrations to the waiting list.

28. Promote waiting-list members when spaces open.

29. Activate and host the event.

30. Complete attendance and feedback.

31. Generate and review AI virtual staging where needed.

32. Analyse views, duration, scenes, hotspots and devices.

33. Analyse registration, attendance and feedback.

34. Export authorised reports and maintain SuperAdmin oversight.

 

Business value

Leaseora's Virtual Tours module gives a real estate company one connected workflow for immersive property presentation, digital open houses, AI staging, real-time Client assistance, engagement analytics and remote property marketing.

 

 

 

LEASEORA

VIRTUAL TOURS

Create, publish, present and analyse immersive real estate experiences from one connected platform.

 

 

Support and onboarding

For Virtual Tours onboarding, Google Cloud asset setup, hotspot configuration, open-house scheduling, AI staging, VR/AR testing, accessibility or analytics assistance, contact Leaseora through support@leaseora.com.

 

leaseora.com

Was this article helpful?

Your feedback helps us improve our documentation.

Article Info

Category VIRTUAL TOURS
Reading Time 37 min
Views 10
Published Jul 29, 2026

Share

🤝

Need more help?

Our support team is available to assist you.

Contact Support