Skip to content

Enquiries

An enquiry is a request that has not become a booking yet: a guest asked through the agency’s website (form or concierge chat) or through a lead portal, the office claimed it, perhaps set a price, and either converts, rejects or lets it expire. This endpoint lets a CRM or a reporting tool follow that funnel.

The enquirer’s contact details are personal data and appear only when the key also holds read:guests — the same line the booking endpoints draw. Creating enquiries through the API is not offered: they come from the public website form, which carries the guest’s consent.

Scope read:requests.

Query parameterRequiredMeaning
statusnoOne status or a comma-separated list: new, in_progress, converted, rejected, expired
from / tonoStay overlap filter, like bookings
unitnoUnit slug
page / pageSizeno1-based page, 1–200 rows (default 100); newest first
{
"requests": [
{
"id": "0192b…",
"unitSlug": "marina-loft-2br",
"unitName": "Marina Loft · 2BR",
"source": "website",
"status": "in_progress",
"arrival": "2026-10-03",
"departure": "2026-10-10",
"nights": 7,
"adults": 2,
"children": 1,
"extraBed": true,
"pets": null,
"systemTotal": 391650,
"agreedTotal": 375000,
"priceSource": "negotiated",
"expiresAt": "2026-09-08T12:00:00.000Z",
"holdBookingId": "0192c…",
"bookingId": null,
"guestId": "0191b…",
"createdAt": "2026-09-01T14:22:10.000Z",
"updatedAt": "2026-09-02T09:05:41.000Z",
"contact": {
"firstName": "Nadia", "lastName": "Rahman",
"email": "nadia@example.com", "phone": "+971 50 123 4567",
"message": "Is a late check-in possible?"
}
}
],
"page": 1, "pageSize": 100, "totalItems": 17, "pageCount": 1
}
FieldNotes
sourcewebsite, direct, partner, airbnb, booking_com — same vocabulary as bookings
systemTotalThe engine’s price when the enquiry arrived — never changes afterwards
agreedTotalThe price currently on the table; equals systemTotal until the office sets a condition
priceSourceengine, negotiated or manual
holdBookingIdA draft booking blocking the nights while the price is worked out; null when nothing is reserved
bookingIdSet once the enquiry was converted — read it with GET /bookings/:id
contactOnly with the read:guests scope

Scope read:requests. One enquiry, same fields. 404 NOT_FOUND for an unknown id or another agency’s enquiry.