Skip to main content

Settings & Operations

Reservation settings are the per-location switchboard for how booking behaves: which modes are turned on, how long a table is held, when guests check in and out, and what a rental requires before it leaves the door. Maintenance blocks are the operational counterpart — they take a single physical unit out of availability for a window of time (HVAC repair, deep clean, damage) without changing any catalog definition or existing reservation.

Reservation settings and maintenance operationsPer-location reservation settings hold table, room, and rental rule sets plus support flags. A maintenance block takes one resource instance offline for a date window without changing the catalog or reservations.ReservationSettingsper location · support flagsTable rulesduration · turnoverslot interval · advance daysmax party sizeRoom rulescheck-in / check-outmin / max nightsadvance daysRental rulesduration tierswaiver · ID verificationdefault deposit %OPERATIONSMaintenanceBlockstart → end windowblocksResourceInstanceone physical unitunit unavailable for the window —catalog & reservations untouched

Why it matters

  • Enable modes per location — a marina runs rentals, a hotel runs rooms, a restaurant runs tables. Support flags turn each mode on or off where it applies.
  • Drive availability math — table slot interval, default duration, and turnover feed the slot engine; room check-in/out and stay limits normalize nightly availability; rental tiers define the canonical duration options.
  • Model downtime honestly — a maintenance block is the right tool for "this unit is out," instead of faking a reservation that pollutes reports and guest history.
SDK coverage

Reservation settings expose full CRUD through the TypeScript SDK (below). Maintenance blocks are defined as platform schema (no dedicated SDK example in the current guides). The Python reservations SDK does not include settings examples.

ReservationSettings

A single record per location holds optional table, room, and rental rule sets, plus the support flags that switch each mode on.

FieldTypeRequiredDescription
idstringYesUnique identifier
locationIdstring | nullNoBusiness location scope
tableobject | nullNoTable booking rules (see below)
roomobject | nullNoLodging booking rules (see below)
rentalobject | nullNoRental booking rules (see below)
supportTableReservationsbooleanYesWhether table reservations are supported (default: false)
supportRoomReservationsbooleanYesWhether room reservations are supported (default: false)
supportRentalReservationsbooleanYesWhether rental reservations are supported (default: false)

Manage settings

const settings = await client.reservationSettings.create({
locationId: 'loc_123',
supportTableReservations: true,
supportRoomReservations: true,
supportRentalReservations: false,
table: {
defaultDurationMinutes: 90,
turnoverMinutes: 15,
slotIntervalMinutes: 30,
advanceBookingDays: 30,
maxPartySize: 12,
},
room: {
checkInTime: '15:00',
checkOutTime: '11:00',
minStayNights: 1,
advanceBookingDays: 90,
},
});

const s = await client.reservationSettings.get(settings.id);
const locationSettings = await client.reservationSettings.getByLocation('loc_123');
const allSettings = await client.reservationSettings.list();

const updated = await client.reservationSettings.update({
id: settings.id,
table: {
advanceBookingDays: 60,
maxPartySize: 20,
},
});

await client.reservationSettings.delete(settings.id);

Table settings

Controls slot duration, turnover, booking window, and party-size limits for table reservations.

FieldTypeDefaultDescription
settingTypeenumcapacitycapacity or resource_specific
defaultDurationMinutesinteger90Default table hold duration
turnoverMinutesinteger15Reset time between parties
slotIntervalMinutesinteger15Availability slot interval
maxPartySizeinteger | nullOptional maximum party size
advanceBookingDaysinteger30Future booking horizon

Room settings

Controls lodging check-in/check-out times and stay limits.

FieldTypeDefaultDescription
checkInTimestring15:00Local check-in time (HH:mm)
checkOutTimestring11:00Local check-out time (HH:mm)
minStayNightsinteger1Minimum nights per reservation
maxStayNightsinteger | nullOptional maximum nights
advanceBookingDaysinteger90Future booking horizon

Rental settings

Controls rental tiers, waiver requirements, ID verification, and default deposit percent.

FieldTypeDefaultDescription
tiersRentalTierDefinition[][]Canonical duration options (see below)
requireWaiverbooleanfalseRequire a signed waiver
requireIdVerificationbooleanfalseRequire ID verification
defaultDepositPercentnumber | nullDefault deposit percentage (0–100)

RentalTierDefinition

A rental tier is a named, fixed duration option that rental resources price against.

FieldTypeRequiredDescription
idstringYesTier identifier (referenced by a rental's applicableTierIds)
namestringYesDisplay name (e.g. "Half Day")
durationMinutesintegerYesTier duration in minutes
sortOrderintegerNoDisplay order (default: 0)
{
"tiers": [
{ "id": "tier_2hr", "name": "2 Hours", "durationMinutes": 120, "sortOrder": 1 },
{ "id": "tier_half_day", "name": "Half Day", "durationMinutes": 240, "sortOrder": 2 }
],
"requireWaiver": true,
"requireIdVerification": true,
"defaultDepositPercent": 25
}

MaintenanceBlock

Takes a single physical resource instance offline for a date window — maintenance, cleaning, repair, or any operational downtime — without altering the catalog or existing reservations. While a block is active, the instance is unavailable for new assignments (mirroring the maintenance instance status).

FieldTypeRequiredDescription
idstringYesUnique identifier
resourceInstanceIdstringYesPhysical instance being blocked
startDatenumberYesBlock start (Unix epoch seconds)
endDatenumberYesBlock end (Unix epoch seconds)
reasonstring | nullNoReason for the downtime
locationIdstring | nullNoBusiness location scope
{
"id": "maint_room_204",
"locationId": "loc_hotel",
"resourceInstanceId": "room_204",
"startDate": 1705330800,
"endDate": 1705417200,
"reason": "HVAC repair"
}
tip

endDate must be greater than or equal to startDate. Prefer maintenance blocks over synthetic reservations so downtime never shows up as customer activity.

Query options

ResourceFiltersSort fields
ReservationSettingslocationId
MaintenanceBlocklocationId, resourceInstanceId, dateRange (start, end)startDate, endDate, createdAt (asc / desc)

Both are paginated with page and pageSize.

Operational guidance

  • Use the support flags to enable or disable reservation modes by location.
  • Use table settings to drive slot interval, default duration, and turnover calculations.
  • Use room settings to normalize check-in/check-out timestamps from local dates.
  • Use rental tiers as the canonical duration options for rental resources.
  • Use maintenance blocks for downtime instead of creating synthetic reservations.