Skip to content
Developers
esc
  • Type an endpoint, an object or a word from a guide.

Object

Reservation

A booking with its guest, the property’s identity, the money as agreed at booking time and the current agreement if there is one.

Fields

FieldTypeDescription
id stringOpaque.
status ReservationStatus
propertyId string
property PropertyIdentity | null
guest Guest
onContract Party
staying Party
startDate date YYYY-MM-DD
endDate dateExclusive. YYYY-MM-DD
nights integerThe booking’s end minus its start.
adults integer | null
children integer | null
infants integer | null
pets boolean
petDetails string | nullWhat the pet is, as the team wrote it. Null without a pet.
pricing objectSnapshotted when the booking was made. A later rate change on the listing never rewrites an agreed booking.
currency "EUR"
rateBasis enumWhat rentCents is per: the property's basis when the booking was made, unless the booking was set to the other. "monthly""nightly"
rentCents integer | nullRent as agreed, per rateBasis: a month or a night. Integer euro-cents.
utilitiesCents integer | nullMonthly utilities as agreed. Integer euro-cents.
furnitureCents integer | nullMonthly furniture fee as agreed. Integer euro-cents.
monthlyCents integer | nullRent + utilities + furniture, for a monthly booking. Null for a nightly one. Integer euro-cents.
depositCents integer | nullSecurity deposit as agreed. Integer euro-cents.
minStayMonths integer | nullWhat the agreement states as the minimum term.
requiresContract booleanWhether this booking needs a signed agreement before it counts as confirmed. Worked out on each request, so a change to what decides it does not move updatedAt.
agreement Agreement | null
dashboardUrl urlOpens the same record in the dashboard, for an alert email or a back-office link.
optionAt timestamp | nullWhen the status was entered. Never cleared. ISO 8601
reservedAt timestamp | nullWhen the status was entered. Never cleared. ISO 8601
confirmedAt timestamp | nullWhen the status was entered. Never cleared. ISO 8601
cancelledAt timestamp | nullWhen the status was entered. Never cleared. ISO 8601
createdAt timestamp ISO 8601
updatedAt timestampThe incremental-sync key: see updatedSince on the list. ISO 8601

Used by

Example

{
  "id": "7c02…",
  "status": "reserved",
  "propertyId": "0d6e1c2a-…",
  "property": {
    "id": "0d6e1c2a-…",
    "nickname": "JOR-1A",
    "slug": "jordaan-canal-loft",
    "address": {
      "street": "Prinsengracht 123",
      "postalCode": "1015 DX",
      "city": "Amsterdam",
      "country": "NL"
    },
    "ownerName": "A. de Vries",
    "timezone": "Europe/Amsterdam"
  },
  "guest": {
    "id": "e31f…",
    "firstName": "Sofia",
    "lastName": "Rossi",
    "name": "Sofia Rossi",
    "email": "sofia@example.com",
    "phone": "+39 333 000 0000",
    "company": null
  },
  "onContract": {
    "name": "Sofia Rossi",
    "email": "sofia@example.com",
    "phone": "+39 333 000 0000",
    "company": null
  },
  "staying": {
    "name": "Sofia Rossi",
    "email": "sofia@example.com",
    "phone": "+39 333 000 0000",
    "company": null
  },
  "startDate": "2026-10-01",
  "endDate": "2027-04-01",
  "nights": 182,
  "adults": 2,
  "children": 0,
  "infants": 0,
  "pets": false,
  "petDetails": null,
  "pricing": {
    "currency": "EUR",
    "rateBasis": "monthly",
    "rentCents": 240000,
    "utilitiesCents": 15000,
    "furnitureCents": 25000,
    "monthlyCents": 280000,
    "depositCents": 240000,
    "minStayMonths": 6
  },
  "requiresContract": true,
  "agreement": null,
  "dashboardUrl": "https://go.quarters.live/acme/reservations?reservation=7c02…",
  "optionAt": "2026-09-01T14:20:05.000Z",
  "reservedAt": "2026-09-08T09:58:40.000Z",
  "confirmedAt": null,
  "cancelledAt": null,
  "createdAt": "2026-09-01T14:20:05.000Z",
  "updatedAt": "2026-09-08T09:58:40.000Z"
}