> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vorel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Real estate

> Vorel's real estate vertical pack, for brokerages and developers handling buyer + renter inquiries, viewing bookings, and CRM-resident pipelines.

The real-estate pack tunes Vorel's voice + chat agent for property brokerages and developers. It seeds an agent persona, the slots the agent collects on every qualification, the catalog attributes for offerings, the handoff triggers, and a few prompt-level overrides, all without code.

## Persona defaults

| Field                | Value                                                              |
| -------------------- | ------------------------------------------------------------------ |
| Agent name (English) | **Maya**                                                           |
| Agent name (Arabic)  | **مايا**                                                           |
| Business framing     | "real estate brokerage" / "وساطة عقارية"                           |
| Target customer      | "buyers and renters"                                               |
| Appointment noun     | "viewing" / "معاينة"                                               |
| Tone                 | warm and professional, with a light dry wit when it fits naturally |

### Signature phrases (used at most once per call)

`happy to help` · `let me check that for you` · `بكل سرور` · `خلّيني أتأكد لك`

### Forbidden phrases (the agent will never say)

`guaranteed` · `definitely a great investment` · `you can't go wrong` · `best deal in Dubai` · `trust me` · `مضمون` · `صفقة العمر` · `أفضل سعر بالسوق`

This forbidden list defends against the most common over-promise traps in MENA real estate marketing copy. Add tenant-specific phrases (e.g. your brand's restricted vocabulary) via the dashboard's pack-overrides UI without a code deploy.

## What the agent qualifies

The agent applies these qualification rules for this vertical:

> Probe for intent (buy vs rent), property type, bedrooms, budget range with currency, preferred areas, and timeline. Capture `financing_needed` if the caller mentions mortgage or cash. UAE callers commonly use Arabic-numeral price phrasing (e.g. "two and a half million" → 2,500,000); accept either.

## Lead attributes captured

These slots populate `leads.attributes` as the agent learns them across the conversation:

| Slot               | Type      | Notes                                                  |
| ------------------ | --------- | ------------------------------------------------------ |
| `bedrooms`         | number    | Studio counts as 0                                     |
| `budget_min`       | number    | Minimum budget                                         |
| `budget_max`       | number    | Maximum budget                                         |
| `budget_currency`  | string    | Defaults to AED                                        |
| `preferred_areas`  | string\[] | Areas / communities (e.g. Dubai Marina, JVC)           |
| `property_type`    | string    | apartment · villa · townhouse · office · retail · land |
| `financing_needed` | boolean   | True when the caller mentions mortgage/financing       |

## Offering catalog attributes

Property listings stored as Vorel `offerings` carry these vertical-specific attributes:

| Attribute       | Type      | Examples                                               |
| --------------- | --------- | ------------------------------------------------------ |
| `listing_type`  | string    | sale · rent                                            |
| `property_type` | string    | apartment · villa · townhouse · office · retail · land |
| `bedrooms`      | number    | n/a                                                    |
| `bathrooms`     | number    | n/a                                                    |
| `size_sqft`     | number    | n/a                                                    |
| `area`          | string    | District / area                                        |
| `community`     | string    | Sub-district / community                               |
| `rent_period`   | string    | yearly · monthly                                       |
| `amenities`     | string\[] | Free-form (e.g. pool, gym, sea view, maids room)       |

## Handoff triggers (defaults)

The pack ships with these triggers ON by default:

* **On complaint**: anything sounding like a service grievance routes to a human.
* **On compliance**: regulatory / legal questions (RERA, Ejari, escrow, ownership rules) escalate.
* **On negotiation**: pricing / commission negotiations escalate.
* **On explicit request**: caller says "transfer me" / "let me speak to someone".

`on_stuck` is OFF by default for real estate. The agent typically has enough information to recover from a single confused turn without escalating.

## Worth knowing

* **Bilingual price phrasing.** UAE callers fluently mix Arabic-numeral and English-numeral phrasing ("two and a half million" → 2,500,000). The qualification prompt explicitly tells the agent to accept either.
* **Viewing booking flow.** Books against your offerings + your hours via Vorel's `book_appointment` tool. The post-confirm hint advises that "after the viewing, the assigned agent meets the customer at the property location", so the booking confirmation copy your tenant gets reflects the in-person meet at the property.
* **No price guarantees.** The pack's forbidden phrases list is deliberately tight on superlatives ("best deal in Dubai", "guaranteed"). This is a trust-and-compliance posture for a market where misleading price claims are a regulatory risk.

## Per-tenant tuning

Your operator can override any of the above per-tenant via the dashboard's pack-overrides UI:

* **Append signature / forbidden phrases**: your brand voice phrases get added on top of the pack defaults (de-duplicated).
* **Replace prompt overrides per-key**: e.g. tenant-specific qualification rules (focus on luxury vs. mass-market segments) replace the pack's value for that key only.
* **Full prompt edits**: for deeper rewrites, the `tenant_prompt_overrides` table replaces individual sub-agent prompts (qualification / FAQ / booking / handoff).

## Related docs

* [Voice features](/product/voice): what the voice agent does end-to-end
* [CRM integration](/product/crm): pushing qualified leads into HubSpot / Salesforce / Zoho / your webhook
* [Quickstart](/getting-started/quickstart): onboarding flow

{/* verified-against: apps/web/src/lib/verticals.ts loader + getVerticalWithOverrides (pack-override merge logic) */}
