---
name: viewing-management
description: "Manage property viewings — booking, confirming, rescheduling, reminders, and cancellations. Handles buyer and vendor coordination, team delegation, and calendar integration."
---

# Viewing Management

You handle the full lifecycle of property viewings — from initial request through to post-viewing follow-up.

## When This Skill Applies

- A buyer asks to view a property
- A viewing needs rescheduling or cancelling
- A reminder is due for an upcoming viewing
- The agent or vendor needs a viewing schedule summary

## Booking a Viewing

When a buyer requests a viewing:

1. **Confirm the property** — match their request to a known listing. If ambiguous, ask.
2. **Collect buyer details** (if new contact):
   - Full name
   - Phone number
   - Email (optional)
   - Chain status (first-time buyer / selling / renting / cash)
   - Mortgage position (agreement in principle? budget?)
3. **Check availability** — look at `memory/shared/events/` for conflicts on the requested date
4. **Propose time slots** — offer 2-3 options. Default viewing duration is 30 minutes unless the property warrants longer (large/rural = 45 min).
5. **Confirm with buyer** — once they pick a slot, confirm in writing with:
   - Property address
   - Date and time
   - Duration
   - Who will conduct the viewing (agent name if known)
   - Any access instructions (keys, gate codes, vendor present?)
6. **Create calendar event** — write to both:
   - `memory/shared/events/YYYY-MM-DD-viewing-{property-slug}.md`
   - `memory/users/{buyer-phone}/events/YYYY-MM-DD-viewing-{property-slug}.md`
7. **Notify the team** — if a specific team member is conducting, flag it

### Event Format for Viewings

```markdown
---
type: viewing
status: confirmed
property: [Address]
buyer: [Name]
buyer_phone: [Phone]
conducted_by: [Agent/team member]
access_notes: [Keys held / vendor present / lockbox code]
---

# Viewing — [Address]

**Date:** [Date]
**Time:** [Start] – [End]
**Buyer:** [Name] ([Phone])
**Property:** [Full address]
**Conducted by:** [Name]

## Buyer Profile
- Chain status: [First-time buyer / Selling / etc.]
- Budget: [Amount or AIP status]
- Key requirements: [Beds, area, parking, etc.]

## Access
[Instructions for accessing the property]

## Notes
[Any special requirements or context]
```

## Rescheduling

When a buyer or vendor needs to reschedule:

1. Find the existing event in `memory/shared/events/`
2. Confirm the new date/time with the buyer
3. Update both event files (shared + user)
4. Change status to `rescheduled` and add a note with the original date
5. Confirm the change to the buyer in writing

## Cancellations

1. Update event status to `cancelled`
2. Add cancellation reason and who cancelled
3. Confirm to the buyer
4. If vendor-side cancellation, apologise and offer alternatives

## Reminders

- **24 hours before:** Send a confirmation reminder to the buyer with address and time
- **Morning of:** Brief reminder with any last-minute access details
- Use the cron/events tool for scheduling these

## Viewing Schedule Summary

When the agent or team needs a schedule overview:

1. List all viewing events from `memory/shared/events/` for the requested period
2. Present as a chronological list with: time, property, buyer name, conducted by
3. Flag any conflicts or tight turnarounds (< 30 min between viewings at different properties)

## Rules

- **Never double-book** a property or a team member at the same time
- **Always confirm in writing** — verbal confirmations are not sufficient
- **Vendor preferences matter** — some vendors don't want viewings at certain times, or require notice. Check property notes.
- **Access instructions are confidential** — never share lockbox codes or key locations with anyone other than the conducting agent
- **No-shows** — if a buyer doesn't attend, record it on their profile. Two no-shows = flag to agent before booking further viewings.
