Skip to main content

Real Estate Module (Immobili)

The Immobili module is a full-featured real estate listing manager for agencies. It supports multi-language content, Strapi CMS synchronization, interactive maps, and an AI-powered user-property matching system.

note

This module requires the enable_dynamic_entities and enable_immobili feature flags. If you don't see the Immobili section, your administrator hasn't enabled these features.


Property List

Navigate to Immobili from the sidebar to see all listings.

List Columns

ColumnDescription
TitoloProperty title
Codice InternoAuto-generated reference code (monospace badge)
Ultima ModificaLast modified date and time
Stato ImmobileColored status badge (see below)
Stato PubblicazioneDraft or Published indicator
AzioniManage and Delete buttons

A total property count is displayed at the top.

Filtering & Sorting

  • Text search — Searches across title, code, date, and status
  • Status filter — Dropdown to filter by property status
  • Hide Completed — Toggle (on by default) that hides sold, rented, and withdrawn listings
  • Sortable columns — Sort preference is remembered across sessions

Creating a New Property

  1. Click the Nuovo Immobile button
  2. Fill in the creation dialog:
    • Titolo (required) — Property title
    • Tipo Annuncio — Sale (Vendita) or Rent (Affitto)
    • Prezzo — Asking price (optional)
    • Città — City with autocomplete map picker (optional)
  3. Confirm — A draft is created and you're taken to the detail editor

Deleting a Property

When deleting, you choose between two modes:

ModeEffect
Local onlyRemoves from the Flo database, keeps Strapi data
BothRemoves from both Flo and Strapi

Property Status System

Properties follow a lifecycle tracked by colored status badges:

StatusColorMeaning
AvailableGreenOpen for offers
NegotiatingOrangeIn active negotiation
ReservedBlueReserved by a buyer
Under OptionBlueOption agreement in place
CompromisedDarkPreliminary contract signed
Deed PendingDarkAwaiting final deed
SoldRedSale completed
RentedRedRental completed
WithdrawnGrayListing removed from market
warning

When a property reaches a definitive status (Sold, Rented, Withdrawn, Deed Pending, or Compromised), all fields are locked except the status field itself. This prevents accidental edits to completed listings.


Property Detail Editor

Click Manage on any listing to open the detail editor. The editor has three main sections accessible from the navigation tabs:

SectionIconPurpose
DetailsAdPublic-facing listing data
Area RiservataLockInternal/reserved data
MatchingPerson SearchUser preference matching

Editor Behaviors

  • Unsaved changes guard — A browser confirmation prevents accidental navigation away
  • Yellow change indicator — Modified fields show a yellow left border
  • Slug lock — The URL slug becomes read-only once the property is published
  • Multi-language — Non-Italian locales can only edit translatable text fields; numeric and boolean fields are locked with a padlock icon

Details Section

The details section uses an accordion layout (one panel open at a time).

Vetrina & Copertina (Storefront)

The main public listing information:

FieldDescription
SlugURL-friendly identifier (editable only in draft)
Codice InternoAuto-generated reference (read-only)
PrezzoAsking price
Tipo AnnuncioSale or Rent
Tipo ProprietàApartment, Villa, Studio, Land, Office, etc.
LocaliNumber of rooms
Superficie AbitazioneLiving area (m²)
Superficie CommercialeCommercial surface (m²)
BagniNumber of bathrooms
StatoProperty status (see status system above)
In EvidenzaMark as featured listing
EsclusivaExclusive listing flag (requires confirmation dialog)

Includes a city quick-pick with autocomplete for city, province, and ZIP code.

Storytelling

Rich text editor for the property description. An "AI coming soon" tag indicates upcoming AI-assisted content generation.

Unified gallery combining cover photo and public images:

  • Max 4 items — First image is the cover photo, items 2–4 are gallery photos
  • Upload options — Single or bulk upload (max 5 MB per file)
  • Supported formats — Images, video (MP4, WebM, MOV), GIFs
  • Each image can have a title and description (translatable per locale)
  • Gallery is available only after the first save

Superfici (Surfaces)

Surface detail cards for additional property areas, shown in a 2-column grid:

Surface TypeToggleFields
Giardino (Garden)HaGiardinoArea (m²), Commercial surface
Terrazzo (Terrace)HaTerrazzoArea, Floor, Commercial surface
Balcone (Balcony)HaBalconeArea, Floor, Commercial surface
GarageHaGarageArea, Floor, Commercial surface
Cantina (Cellar)HaCantinaArea, Floor, Commercial surface
Soffitta (Attic)HaSoffittaArea, Floor, Commercial surface

Each type has a toggle checkbox — when disabled, the related fields are grayed out. Additional fields include Box Auto, Orientamento (orientation), and Vista (view).

Dettagli Terreno (Land Details)

Shown only for land/lot listings:

  • Tipo Terreno — Buildable, agricultural, vineyard, olive grove, forest
  • Superficie Terreno / Costruibile — Total and buildable area
  • Destinazione Urbanistica — Zoning: residential, commercial, industrial, etc.
  • Utilities — Driveway access, water and electricity connections

Caratteristiche (Features)

Technical characteristics in a grid layout:

  • Bedrooms, kitchen type, floor level, building floors
  • Year of construction (year picker)
  • Property condition (new, excellent, good, to renovate, under construction)
  • Furnishing level and brightness

Energia (Energy)

Energy efficiency data split into two sub-sections:

General energy:

  • Energy class (A4 to G, pending, or exempt)
  • IPE index (kWh/m²/year)
  • Heating and air conditioning type
  • Annual heating costs

Fotovoltaico (Solar):

  • Toggle to enable solar panel data
  • Power output (kW), installation year, system type
  • Energy storage capacity (kWh)
  • Annual production (kWh/year)
  • Tax incentive details (type, expiry date)

Disabling the solar toggle automatically clears all solar sub-fields.

Spese e Condizioni (Expenses)

  • Condominium fees (€/month)
  • Deposit amount
  • Rent amount and contract type (for rentals)
  • Availability date

Comfort e Dotazioni (Amenities)

Boolean checkboxes for: elevator, built-in wardrobe, fireplace, double exposure, fiber optic, jacuzzi, alarm system, armored door, electric gate, video intercom, window type, and TV system.


Area Riservata (Reserved Area)

Internal data visible only to agency staff. Marked with an indigo banner.

Descrizione Interna

Rich text editor for internal notes and comments about the property.

Posizione (Position)

Full address management with an interactive map picker:

  • Street address, city, ZIP, province fields
  • Click on the map to set GPS coordinates
  • Address geocoding support

Dati Catastali (Cadastral Data)

Official registry information: cadastral category, sheet, parcel, sub-unit, urban compliance, cadastral compliance, and certifications.

Planimetria (Floor Plans)

Private floor plan gallery:

  • Up to 10 floor plan images
  • Each with optional title and description
  • Upload/delete restricted to the Italian locale

Access-restricted photo gallery for internal use:

  • Unlimited images
  • Requires authentication to view
  • Titles and descriptions per image

Matching Section

The matching tab shows how well this property matches registered users' preferences. Scores are computed in real-time by the backend algorithm.

Stats Dashboard

Three clickable summary cards at the top:

CardCriteriaColor
Hot MatchesScore ≥ 70%Green
To ContactStatus = NewBlue
In NegotiationStatus = NegotiationPurple

Click a card to filter the match list. Click again to reset.

Match List

Each match shows:

  • User info — Avatar, name (links to user profile), and preference name
  • Score badge — Color-coded percentage:
    • Green (≥ 70%): strong match
    • Yellow (40–69%): partial match
    • Red (< 40%): weak match
  • Requirements summary — e.g., "Vendita / Appartamento · Milano · 50–120m²"
  • Matching points — Green tags for satisfied criteria
  • Missing points — Red tags for unsatisfied criteria

Match Status Workflow

Use the status dropdown on each match to track lead progress:

StatusDescription
NewNot yet contacted
ContactedInitial contact made
VisitProperty visit scheduled/completed
NegotiationIn active negotiation
DiscardedNo longer interested

A Show Archived toggle reveals discarded matches at the bottom of the list (dimmed).

How Matching Works

The algorithm scores users against seven criteria groups:

GroupWhat's Compared
BudgetPrice range, listing type (sale/rent), rent amount
Property TypeProperty type, contract type, condition
LocationCity, province, or ZIP code match
SizeSurface area, rooms, bedrooms, bathrooms, floor
Features17 boolean amenity flags (garden, elevator, etc.)
EnergyEnergy class (minimum threshold), heating, A/C
FinishesFurnishing, parking, orientation, view, brightness

Users assign a priority weight to each group:

PriorityEffect
IndifferentGroup excluded from scoring
Nice to Have1× weight
Important3× weight
MandatoryIf this group fails, the user is excluded entirely

The final score is a weighted average of all non-indifferent groups (0–100%).