PropVista Documentation
Technical docs for agencies and developers
Install, configure, embed, and troubleshoot PropVista. This documentation matches the MVP philosophy: works everywhere, progressive enhancement, minimal surface, and optional REST/external calls.
Projects → Floors → Units → Explorer (optional) → Inquiry
Overview
PropVista is a WordPress plugin for showcasing new-build inventory as structured availability:
Projects → Floors → Units → Explorer (optional) → Inquiry
PropVista stores data inside WordPress (Custom Post Types + post meta). It provides:
- admin tooling for inventory entry
- server-rendered frontend templates (fallback mode)
- optional enhanced Explorer UI (React) when bundled assets are present
- an inquiry flow that emails leads to the site owner/admin
PropVista is not MLS/IDX and does not require a theme takeover.
Installation
Standard installation
- In WordPress Admin, go to Plugins → Add New → Upload Plugin.
- Upload the PropVista ZIP and activate it.
Recommended environment
PropVista aims to work on typical hosting, but for best reliability:
- Use a modern WordPress version and keep your theme updated.
- PHP 7.4+ recommended (depending on your release requirements).
- Enable pretty permalinks (Settings → Permalinks).
Data model (Projects / Floors / Units)
PropVista uses three Custom Post Types (CPTs):
- Projects (
propvista_project) - Floors (
propvista_floor) - Units (
propvista_unit)
Canonical relationships (source of truth)
Relationships are stored on the child objects:
- Floor → Project via post meta:
project_id(int) - Unit → Floor via post meta:
floor_id(int)
Project → Units is always derived by querying floors and then units. Do not treat any unit-to-project meta as canonical.
Admin setup (create inventory)
1) Create a Project
Go to PropVista → Projects → Add New.
Recommended fields:
- Project title
- Address (optional)
- Latitude / Longitude (recommended for maps)
- Featured image or project gallery (optional)
2) Create Floors linked to the Project
Go to PropVista → Floors → Add New.
Required:
- Select the related Project (saves
project_id) - Upload a floorplan image (recommended)
Optional:
- Hotspots (for floorplan overlays)
3) Create Units linked to a Floor
Go to PropVista → Units → Add New.
Required:
- Select the related Floor (saves
floor_id) - Status: available / reserved / sold
- Price
- Total area
Optional:
- Bedrooms / Bathrooms / Unit type
- Unit images/gallery
Shortcodes (embedding PropVista)
Main availability embed
Use this shortcode on an “Availability” page:
Common options:
initial_view="list|floorplan|map"show_filters="true|false"debug="true|false"
What it renders:
- A server-rendered fallback view (always available)
- A mount point for the enhanced Explorer UI (optional)
Map embed
Shows a map marker for the project using stored coordinates.
Simple listings embed
Useful for marketing pages (e.g., “Featured units”).
Progressive enhancement (fallback vs Explorer)
Fallback mode (always works)
PropVista renders a usable HTML inventory view server-side:
- floor selector (when available)
- unit list/grid
- unit links and inquiry access
This mode works even if:
- JavaScript fails
- the Explorer bundle is missing
- REST is disabled
- the site uses strict security plugins
Enhanced Explorer mode (optional)
If the Explorer bundle exists in the plugin build, PropVista loads it only where needed and upgrades the experience:
- floor tabs / fast filtering
- floorplan hotspots and map/list sync (depending on bundle)
- richer interactions (modals, etc.)
Important behavior: the fallback is hidden only after the Explorer successfully mounts.
Map and location features
Coordinates
For the map shortcode, provide:
- Latitude
- Longitude
If coordinates are missing, the map will show a friendly message and not break the page.
Floorplan images and hotspots
Floors can store a floorplan image and hotspots.
Hotspots are stored as normalized coordinates:
- X and Y in relative units (0..1 or percent)
This keeps them stable across responsive layouts.
Inquiry form
PropVista includes an inquiry flow to capture leads:
- Name
- Message
- Optional phone (if enabled/used)
On successful submit:
- buyer sees a confirmation message
- site admin receives an email via WordPress mail
Anti-spam
PropVista uses lightweight anti-spam measures (for example honeypot and rate limiting).
If your site uses a contact-form plugin you prefer, you can place your own contact block next to the availability embed.
External services & privacy
PropVista does not send your site’s inventory data to Solostudio servers and does not include tracking.
Some optional features may contact third-party services only if enabled:
- Map tiles: the visitor’s browser may request map tiles from a tile provider.
- Geocoding (optional): if enabled, an admin action can convert an address into coordinates using an external provider.
- Amenities (optional): if enabled, PropVista can fetch nearby points of interest via an external provider.
These options are designed to fail gracefully: if external requests are blocked, the rest of the page still works.
REST API (optional)
Default state
REST is disabled by default. When disabled:
- the enhanced Explorer UI may run in a fallback-compatible mode
- the server-rendered view still provides the full baseline browsing experience
When enabled
Typical read endpoints include:
- Project details
- Floors for a project
- Units (filtered by project/floor/status)
- Floorplan data (image + hotspots)
Write endpoints (creating inventory via REST) may be intentionally unavailable in the directory/MVP build.
Template overrides (advanced)
Agencies can override PropVista templates from their theme without editing the plugin.
Typical approach:
- Copy the relevant template file from the plugin into your theme under:
your-theme/propvista/ - Modify markup as needed.
- Update the plugin safely without losing overrides.
This is recommended when you want tighter integration with a custom design system or modified markup for specific builders.
Troubleshooting
The Explorer UI does not load
Most common causes:
- The build you installed does not include the Explorer bundle
- Assets are blocked/minified by a security plugin
- A JavaScript error prevents mounting
What to check:
- Confirm the page still shows the fallback view (expected and correct)
- Open browser console for errors
- Check that the page includes the Explorer asset files (network tab)
The map does not show
- Confirm the project has latitude/longitude
- Confirm the shortcode uses a valid
project_id - If using a strict CSP/security plugin, allow map tile requests or disable maps
Inquiries are not received
- Check if WordPress can send mail from your host
- Test
wp_mailusing a mail plugin (SMTP recommended for production) - Check spam folder
- If rate limiting is enabled, ensure you are not triggering it during testing
Developer notes (quick)
- Assets are enqueued only on pages where PropVista shortcodes are present.
- Fallback-first rendering ensures SEO-friendly and robust output.
- Canonical relationships: Floor → Project, Unit → Floor.
Support
For setup support or implementation help, contact Solostudio via the main PropVista page: