Quote a reservation in the PMS

Reservations · POST /v1/reservations/quote

Quote a reservation in the PMS

POST/v1/reservations/quote

Note

Prices a stay and checks availability in the PMS that manages the listing, without booking. The same check a create makes when no totalPrice is sent. available: false is an answer, not an error — the PMS reasons are in restrictions. A listing not managed in a PMS is 422 pms_not_linked (price it with GET /v1/quotes); Mews, Cloudbeds and iGMS have no quote API (422 pms_write_unsupported); Hospitable needs a Direct plan. Guide: /docs/reservations/create#quote

Request

curl -X POST https://api.repull.dev/v1/reservations/quote \
  -H "Authorization: Bearer $REPULL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "listingId": 4118, "checkIn": "2026-10-01", "checkOut": "2026-10-05", "adults": 2, "children": 1 }'

Response

{
  "listingId": "4118",
  "provider": "hostaway",
  "checkIn": "2026-10-01",
  "checkOut": "2026-10-05",
  "available": true,
  "total": 880,
  "currency": "USD",
  "breakdown": { "accommodation": 720, "cleaningFee": 100, "taxes": 60 },
  "restrictions": []
}

Body Parameters

listingIdintegerRequired

The listing to quote.

checkIndateRequired

Arrival, YYYY-MM-DD.

checkOutdateRequired

Departure, YYYY-MM-DD. Must be after `checkIn`.

adultsinteger

Adults, 1 or more.

childreninteger

Children, 0 or more.

guestCountinteger

Total guests, when you do not split adults and children.

unitIdstring

Quote one unit (`GET /v1/listings/{id}` → `units[].id`).

AI