> ## 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 (rental)

> Vorel's rental vertical pack, for residential rental brokerages handling renter inquiries, viewing bookings, and lease-application routing.

The rental pack tunes Vorel's voice + chat agent for residential rental brokerages. It seeds an agent persona, the slots the agent collects on every qualification, the catalog attributes for listings, the handoff triggers, and a few prompt-level overrides, all without code. It is the rental-focused sibling of the [real estate](/verticals/real-estate) pack: where that one handles buyers and renters together, this one is tuned end-to-end for leasing: cheques, move-in dates, pets, and visa status.

## Persona defaults

| Field                | Value                                                                                                                            |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Agent name (English) | **Rania**                                                                                                                        |
| Agent name (Arabic)  | **رانيا**                                                                                                                        |
| Business framing     | "residential rental brokerage" / "وساطة تأجير عقاري سكني"                                                                        |
| Target customer      | "renters and short-term tenants"                                                                                                 |
| Appointment noun     | "viewing" / "معاينة"                                                                                                             |
| Agent title          | "leasing consultant" / "مستشارة تأجير"                                                                                           |
| Tone                 | warm and efficient; rental-focused, quick on the practicals (budget, move-in date, pets) without rushing the renter; never pushy |

### Signature phrases

`happy to help you find a place` · `let me check what's available in that range` · `بكل سرور` · `خلّيني أتأكد من المتاح ضمن هذا النطاق`

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

`guaranteed` · `you'll never find a better deal` · `best price in the market` · `trust me` · `this won't last` · `act now or lose it` · `the landlord will accept anything` · `we can hold it for you (without an application or deposit)` · `مضمون` · `أحسن سعر بالسوق` · `ما رح تلاقي أحسن منه` · `احجز قبل ما يفوتك`

This forbidden list defends against high-pressure leasing tactics. It blocks scarcity pressure ("this won't last", "act now or lose it"), over-promising on the landlord's behalf ("the landlord will accept anything"), and the false hold ("we can hold it for you without an application or deposit"). Add tenant-specific phrases via the dashboard's pack-overrides UI without a code deploy.

## What the agent qualifies

The agent applies these qualification rules for this vertical:

> Capture rental\_duration first (annual / monthly / short-term, which drives entirely different listing pools and fee structures), then budget\_monthly with currency (UAE renters often quote per-cheque on annual leases, so clarify if "budget" means per month or per cheque), move\_in\_date (with flexibility window), preferred\_areas, property\_type, bedrooms, pets (landlord-gated), furnished\_preference, and household\_size. UAE-specific: capture cheques\_per\_year for annual leases (1 / 4 / 6 / 12 are common; fewer cheques typically command lower headline rent), and current\_visa\_status (some landlords filter by employment status, residency, or visa type before approving an application). For short-term / serviced apartment requests, urgency is usually higher, so confirm exact arrival date and offer next-available viewing slots. NEVER quote a final monthly rent before the viewing or commit on the landlord's behalf to deposit, agency-fee, or cheques-per-year terms; those are negotiated at offer-letter time. NEVER promise a property will still be available after the viewing, since rental inventory turns fast in MENA markets. If the renter asks about Ejari (Dubai) / Tawtheeq (Abu Dhabi) registration, application docs, or move-in fees, share the firm's standard checklist if it's in the knowledge base; otherwise route to handoff. Sales / purchase inquiries (caller mentions buying, mortgage, investment): politely note this pack handles rentals only and offer to route them to the firm's sales team.

## Lead attributes captured

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

| Slot                   | Type      | Notes                                                                                                   |
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------- |
| `rental_duration`      | string    | annual · monthly · short\_term · flexible (drives the listing pool + fees)                              |
| `budget_monthly`       | number    | Budget per month (or per cheque if annual)                                                              |
| `budget_currency`      | string    | Defaults to AED                                                                                         |
| `cheques_per_year`     | number    | Cheques per year for annual leases (UAE convention; 1 / 4 / 6 / 12 common)                              |
| `move_in_date`         | string    | Target move-in date (YYYY-MM-DD or relative window)                                                     |
| `preferred_areas`      | string\[] | Preferred areas / communities                                                                           |
| `property_type`        | string    | apartment · studio · villa · townhouse · shared\_room · serviced\_apartment                             |
| `bedrooms`             | number    | n/a                                                                                                     |
| `pets`                 | boolean   | Has pets (landlord-approval gate)                                                                       |
| `furnished_preference` | string    | furnished · semi\_furnished · unfurnished · either                                                      |
| `household_size`       | number    | Occupants                                                                                               |
| `current_visa_status`  | string    | uae\_resident · new\_arrival · freelance · investor · student · tourist (some landlords gate by status) |

## Offering catalog attributes

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

| Attribute          | Type      | Examples                                                                                         |
| ------------------ | --------- | ------------------------------------------------------------------------------------------------ |
| `rental_period`    | string    | yearly · monthly · weekly · nightly                                                              |
| `property_type`    | string    | apartment · studio · villa · townhouse · shared\_room · serviced\_apartment                      |
| `bedrooms`         | number    | n/a                                                                                              |
| `bathrooms`        | number    | n/a                                                                                              |
| `size_sqft`        | number    | n/a                                                                                              |
| `area`             | string    | Area / district                                                                                  |
| `community`        | string    | Community / sub-district                                                                         |
| `furnished`        | string    | furnished · semi\_furnished · unfurnished                                                        |
| `pets_allowed`     | boolean   | Landlord allows pets (matched against the lead's `pets` slot)                                    |
| `min_lease_months` | number    | Minimum lease term in months                                                                     |
| `deposit_months`   | number    | Security deposit in months of rent                                                               |
| `agency_fee_pct`   | number    | Agency fee as a percent of annual rent                                                           |
| `amenities`        | string\[] | Free-form (e.g. pool, gym, parking, balcony, maid\_service, wifi\_included, utilities\_included) |

## Handoff triggers (defaults)

The pack ships with all triggers ON by default:

* **On complaint**: anything sounding like a service grievance routes to a human.
* **On compliance**: regulatory / legal questions (Ejari, Tawtheeq, tenancy law) escalate.
* **On negotiation**: rent / deposit / agency-fee negotiations escalate, since those are settled at offer-letter time, not by the agent.
* **On explicit request**: caller says "transfer me" / "let me speak to someone".
* **On stuck**: if the agent can't make progress in two turns, hand off rather than loop.

Unlike the buyer-and-renter [real estate](/verticals/real-estate) pack (where `on_stuck` is off), the rental pack turns every trigger on, reflecting the higher-pressure, faster-moving nature of leasing inquiries.

## Worth knowing

* **Cheques are first-class.** UAE annual leases are commonly paid in 1 / 4 / 6 / 12 cheques, and fewer cheques typically command lower headline rent. The pack captures `cheques_per_year` and tells the agent to clarify whether a quoted "budget" is per month or per cheque, so the math is never ambiguous.
* **Visa-status gating.** Some landlords filter applicants by employment status, residency, or visa type before approving. The `current_visa_status` slot captures this up front so the agent only surfaces listings the renter can actually apply for.
* **Pets are landlord-gated.** The `pets` lead slot is matched against the `pets_allowed` offering attribute, so a renter with pets isn't shown a unit the landlord won't approve.
* **A viewing does not hold a unit.** Rental inventory turns fast, so the agent never promises a property will still be available after the viewing, and the post-confirm copy reiterates that a unit is reserved only after a signed application and security deposit.
* **Rentals only.** If a caller mentions buying, a mortgage, or investment, the agent politely notes that this pack handles rentals and offers to route them to the firm's sales team via a handoff.
* **Post-confirmation copy.** The pack's `booking_post_confirm_hint` instructs the confirmation to include the property address (with building / floor / unit number), the listed monthly rent and any known deposit / agency-fee terms, the viewing time and duration, the agent's name, and what to bring (Emirates ID or passport for the application; recent payslip or bank statement if the landlord pre-screens).

## 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 (a short-term / serviced-apartment specialist focusing on arrival dates) 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

* [Real estate](/verticals/real-estate): the buyer-and-renter sale-side sibling pack
* [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) */}
