• VillaSlotDocumentation
  • Introduction
  • Getting Started
  • API
    • Discovery
      • GETGet my context
    • Villas
      • GETList villas
      • POSTCreate a villa
      • GETGet a villa
      • PATCHRename a villa
      • POSTArchive a villa
      • POSTUpload a villa photo
      • GETGet opening hours
      • PUTReplace opening hours
      • GETGet the rate grid
      • PUTReplace the rate grid
      • GETGet availability
    • Bookings
      • GETList bookings over a period
      • POSTCreate a booking
      • GETGet a booking
      • POSTConfirm a booking
      • POSTComplete a booking
      • POSTCancel a booking
      • POSTReschedule a booking
    • Customers
      • GETList customers
      • POSTCreate a customer
      • POSTImport a batch of customers
      • GETGet a customer
      • PATCHUpdate a customer
    • Booking settings
      • GETGet booking settings
      • PATCHUpdate booking settings
  1. Documentation
  2. API
  3. Bookings
Buydocschangelogsdemocommunity

Bookings

PreviousGet availabilityNextList bookings over a period

A booking is a slot on a villa for a customer. It carries two independent statuses: a business one (HOLD, CONFIRMED, COMPLETED, CANCELLED, EXPIRED) and a financial one (UNPAID, PARTIALLY_PAID, PAID, REFUNDED). A confirmed booking that is still unpaid is a normal case, never an anomaly — do not collapse the two into one indicator.

priceAmount, currency and bufferMinutes are copied onto the booking when it is created. Changing a rate grid or a setting afterwards never rewrites the past.

Every write here goes through the same service the app uses. Availability, buffer, opening hours, pricing and plan limits are enforced once, in one place — the API cannot bypass them.