Skip to main content

Property Catalog

The Property catalog provides a complete solution for real-estate listings: categories, verified addresses, property listings with type-specific details, and customer inquiries for lead tracking.

Key resources

ConceptTypeScriptPython
Categories, addresses, propertiesclient.propertyConfigclient.property_config
Customer inquiriesclient.propertyInquiriesclient.property_inquiry

Python access pattern

The Python examples on the following pages access the property resources from the client:

from wiil import WiilClient

client = WiilClient(api_key="your-api-key")
property_config = client.property_config
property_inquiry = client.property_inquiry

In TypeScript these are accessed directly as client.propertyConfig and client.propertyInquiries.

How it fits together

A category organizes properties; each property has a verifiable address and type-specific details (residential, commercial, or land). An inquiry captures customer interest against a property and links to a customer as the lead progresses.

Property catalog structureA category organizes properties. Each property has an address and type-specific details. An inquiry links a property to a customer. Property types are residential, commercial, or land.organizeslocated atCategoryby typePropertythe listingAddressverifiableInquiryinterest · viewingsCustomeroptional · linkedPROPERTY TYPEresidentialcommercialland
  • A category organizes listings by type (Luxury Homes, Commercial Offices).
  • An address is a standalone, verifiable location with optional coordinates.
  • A property is a listing with pricing, features, and type-specific details (residential, commercial, or land).
  • An inquiry tracks customer interest, viewings, and lead status, optionally linked to a customer.

How a lead works

An inquiry moves through a defined set of PropertyInquiryStatus values as the agent qualifies the lead, schedules viewings, and works toward conversion.

Property inquiry (lead) lifecycleA lead progresses through NEW, CONTACTED, VIEWING_SCHEDULED, VIEWING_COMPLETED, NEGOTIATING, and CONVERTED. CLOSED ends a lead without conversion. Inquiry types are general, viewing, offer, and information.LEAD LIFECYCLENEWCONTACTEDVIEWING_SCHEDULEDVIEWING_COMPLETEDNEGOTIATINGCONVERTEDCLOSEDa lead can close at anystage without convertingInquiry types: general · viewing · offer · information.

Why it matters

  • For listings — model a property once with verified addresses and type-specific details; the same data powers your web listings and grounds the AI agent that answers questions about each property.
  • For leads — every inquiry carries a clear status, so viewings, follow-ups, and negotiations never fall through the cracks.
  • For conversion — a defined lifecycle from NEW to CONVERTED (or CLOSED) gives a measurable pipeline across voice and chat channels.

SDK parity matrix

This shows which operations the SDK example guides demonstrate for each language. means the guide does not include an example for that language.

AreaOperationsTypeScriptPython
Categoriescreate, get, list, update, batch
Categoriesdelete
Addressescreate, update, verify, batch
Addressesget, list, delete
Propertiescreate, get, list, get by category, search, update, delete, batch
Propertiesget by address
Inquiriescreate, get by property, update, update status
Inquiriesget, get by customer, list, delete

Enums (schema reference)

EnumValues
PropertyTyperesidential, commercial, land
PropertySubTypehouse, apartment, condo, townhouse, villa, office, retail, warehouse, industrial, lot, farm, acreage
ListingTypesale, rent, both
ListingStatusDRAFT, ACTIVE, PENDING, SOLD, LEASED, OFF_MARKET, EXPIRED
RentalPerioddaily, weekly, monthly, yearly
PropertyConditionnew, excellent, good, fair, needs_work, fixer_upper
PropertyInquiryTypegeneral, viewing, offer, information
PropertyInquiryStatusNEW, CONTACTED, VIEWING_SCHEDULED, VIEWING_COMPLETED, NEGOTIATING, CONVERTED, CLOSED

Pages