Overview

Two models sit side by side and can be mixed per property.

Fixed appointments

You create an appointment and invite specific leads. For individual viewings (type: individual) and group viewings (type: group, with slots), this is the direct route. Once a group appointment is fully booked, further confirmations automatically land on the waitlist and move up as cancellations come in.

Availability windows

GET /availability returns bookable time slots derived from the responsible agent's working hours minus appointments already booked. Leads pick their own slot - saving the back-and-forth of scheduling by email.

Changes and cancellations

A PATCH on start automatically notifies every confirmed attendee. A DELETE cancels the appointment entirely, also with notification. Both trigger the appointment.confirmed and appointment.cancelled events respectively.

Overlapping appointments for the same property are rejected by the API with 409. If you deliberately want to run parallel viewings, create a group appointment with more slots instead.

Feedback

After the viewing, use POST /appointments/{id}/feedback to record interest and price assessment. This feedback is the most reliable basis for a conversation with the property owner about the asking price - far more informative than the number of clicks a listing received.