# Properties

Properties are the core of Rentalot. The more detail you add, the better your AI agent can answer prospect questions.

## Adding a Property

From the dashboard, go to **Properties** > **Add Property** and fill in:

### Required Fields

- **Address** — full street address
- **Rent** — monthly rent amount
- **Bedrooms / Bathrooms** — unit size
- **Availability** — when the unit is available

### Recommended Fields

These help your agent answer common prospect questions:

- **Description** — a paragraph describing the unit and its appeal
- **Amenities** — in-unit laundry, dishwasher, AC, balcony, etc.
- **Pet policy** — allowed breeds/sizes, pet deposit, monthly pet rent
- **Parking** — included, garage, street, additional cost
- **Lease terms** — minimum lease length, renewal options
- **Utilities included** — what's covered vs. tenant-paid
- **Move-in costs** — security deposit, first/last month, application fee

## Bulk Import

Import properties from a spreadsheet file instead of adding them one-by-one.

Go to **Properties** > **Import**, then drag and drop your file or click to browse.

### Supported Formats

| Format | Extensions |
|--------|-----------|
| CSV | `.csv` |
| TSV | `.tsv` |
| Excel | `.xlsx`, `.xls` |
| JSON | `.json` (array of objects) |

**Limits:** 500 rows max, 10 MB max file size.

### How It Works

1. **Upload** — drop your file; it's parsed instantly in the browser (nothing uploaded yet)
2. **Auto-detect** — if your file came from a known property management tool, Rentalot recognizes the format and pre-maps all columns automatically
3. **Map columns** — review the mapping. Adjust or skip columns as needed.
4. **Validate** — click Validate to check for errors. Fix or skip invalid rows.
5. **Import** — confirmed rows are created as properties.

### Auto-Detected Formats

Rentalot automatically recognizes exports from these tools:

| Tool | Detected By |
|------|-------------|
| **AppFolio** | Unit Directory report (merges split address columns) |
| **Buildium** | Unit list export (merges multi-line addresses) |
| **Zillow** | Property listing export |
| **Rent Manager** | Unit report |
| **Propertyware** | Property export (includes year built, pet policy, deposit) |

When a format is detected, you'll see a "Detected: AppFolio Unit Directory" (or similar) badge. All columns are pre-mapped — just review and import.

### Column Name Matching

For files that aren't from a recognized tool, Rentalot falls back to generic column name matching. It recognizes common variations:

| Property Field | Recognized Column Names |
|---------------|------------------------|
| Address | `address`, `street`, `street_address`, `location` |
| Monthly Rent | `rent`, `monthly_rent`, `price`, `rent_amount` |
| Bedrooms | `bedrooms`, `beds`, `br` |
| Bathrooms | `bathrooms`, `baths`, `ba` |
| Square Footage | `sqft`, `square_footage`, `sq_ft`, `area` |
| Pet Policy | `pets`, `pet_policy`, `pet_friendly` |
| Deposit | `deposit`, `security_deposit` |

Values are coerced automatically: `"$1,500"` → `1500`, `"3 BR"` → `3`, `"Yes"` → `allowed`, `"03/15/2026"` → `2026-03-15`.

### Tips

- Export from AppFolio, Buildium, or any property management tool as CSV.
- Include at least **Address**, **Rent**, **Bedrooms**, and **Bathrooms** — these are required.
- The more fields you include, the better your agent can answer prospect questions.

For step-by-step export instructions for each platform, see the [Property Import Guide](/docs/import-guide). For programmatic imports, see the [Properties API](/docs/api-reference/properties).

## Public Listing Inquiries

When a property is marked as public, prospects can submit inquiries directly from the listing page. Each inquiry creates a contact and conversation in your dashboard, and you'll receive an **email notification** with the prospect's name, message, and contact info so you can respond promptly.

## Bulk Operations

Toggle multi-select mode from the Properties page to select multiple properties at once. From there you can bulk delete with a single confirmation.

## Editing and Removing

Edit any property from the dashboard or its detail page (which also has a Delete button). Changes take effect immediately — your agent will use updated information for all future conversations.

Removing a property stops the agent from answering questions about it. Existing conversations referencing that property are preserved in your inbox.
