# Leasing Inquiry Response

Answer rental listing inquiries fast, pre-qualify prospects against the property's leasing criteria, and book showings through the scheduling tool API.

## When to use

- A prospect emails or messages asking about a listed unit's availability, price, or amenities.
- A lead needs pre-qualification (move-in date, budget, income, pets, occupants) before a showing is booked.
- A prospect wants to schedule a showing and needs a confirmed time slot.
- A formal legal notice (late rent, eviction) or an emergency maintenance report arrives and must be routed to a human instead of answered directly.

## Tools

- `http-get`
- `send-email`
- `send-message`
- `http-post`
- `schedule-task`

## Playbook

1. Use `http-get` to pull the listing record from the property management system, e.g. `GET https://api.example-pm.com/v1/listings/{listing_id}`, confirming current availability, rent, deposit, and pet policy.
2. Read the inbound inquiry and identify the prospect's stated move-in date, budget, household size, and pets.
3. Compare those details against the listing's published leasing criteria (income-to-rent ratio, credit/background requirements, pet policy, occupancy limits) fetched in step 1.
4. If the inquiry contains language indicating a legal notice (eviction, lease termination, non-payment dispute) or an emergency maintenance issue (gas leak, flooding, no heat, fire hazard), stop pre-qualification and use `send-message` to escalate immediately to the property manager, naming the prospect, unit, and issue type. Do not draft or send any legal notice yourself.
5. If the prospect clears the basic criteria, use `http-get` to check open showing slots, e.g. `GET https://api.example-scheduling.com/v1/availability?listing_id={listing_id}`.
6. Use `http-post` to reserve the chosen slot, e.g. `POST https://api.example-scheduling.com/v1/bookings` with the prospect's contact details and listing ID. On 401/403 or a missing Integration for that host, stop and use `send-message` to alert a human, naming the service and required scopes.
7. Use `send-email` to confirm the booked showing time, address, and any entry instructions to the prospect, and use `send-message` to notify the leasing agent of the new appointment.
8. Use `schedule-task` to create a reminder to follow up with the prospect 24 hours before the showing and again if no response is received within 48 hours of the initial inquiry.
9. If the prospect does not meet leasing criteria, use `send-email` to reply with a polite, non-discriminatory response noting the unit does not currently match their stated requirements, and log the outcome via `send-message` to the leasing team.

## Failure modes

- The listing API returns stale or missing availability data, causing a showing to be booked for a unit that is no longer on the market — always re-check availability at booking time, not just at intake.
- A prospect's message ambiguously mentions "eviction" or "emergency" in a non-urgent context (e.g. asking a general question); when in doubt, route to a human rather than guessing.
- The scheduling API returns a 401/403 due to an expired or missing Integration, silently failing to reserve the slot — never confirm a showing to the prospect until the booking call succeeds.
- Leasing criteria differ by listing or jurisdiction (fair housing rules vary), so criteria must always be pulled fresh from the listing record, never assumed or cached indefinitely.

## Done when

- The prospect has received either a confirmed showing time or a clear, criteria-based response about why a showing was not booked.
- Any legal notice or emergency maintenance issue detected in the inquiry has been escalated to a human via `send-message` and not handled autonomously.
- A follow-up reminder has been scheduled via `schedule-task` for any prospect awaiting a response or showing.