Availability Properties
This table defines the structure of the Availability entity returned by the API.
🔹 Core Properties
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique identifier (UUID) |
name | string | No | Display name |
weeklySchedule | object | No | Map of day index 0..6 → array of {startTime,endTime} |
overrides | object | No | Map of date string (YYYY-MM-DD) → array of intervals |
unavailableDates | array | No | Array of {startAt, endAt} ISO date-times |
active | boolean | Yes | Whether the availability is active |
calendar | object | No | Linked Calendar object (when included) |
calendarId | string (UUID) | Yes | Calendar ID this availability belongs to |
services | array | No | Linked services (when included) |
timezone | string | No | Derived from linked calendar |
createdAt | string (ISO) | No | Creation datetime |
updatedAt | string (ISO) | No | Last update datetime |
Notes:
calendarandservicesare exposed when included; otherwise usecalendarIdandserviceIdsin operations.timezoneis derived from the linked calendar (Availability.timezonegetter).
🧩 Example
{
"id": "1610c525-f19a-40d0-8cd1-03daba3d2d98",
"name": "Main Office Hours",
"weeklySchedule": {
"1": [{ "startTime": "09:00", "endTime": "17:00" }],
"2": [{ "startTime": "09:00", "endTime": "17:00" }]
},
"overrides": {
"2025-12-25": [{ "startTime": "10:00", "endTime": "15:00" }]
},
"unavailableDates": [
{ "startAt": "2025-12-31T00:00:00Z", "endAt": "2025-12-31T23:59:59Z" }
],
"active": true,
"calendarId": "550e8400-e29b-41d4-a716-446655440000",
"timezone": "America/New_York",
"createdAt": "2025-05-22T10:30:00Z",
"updatedAt": "2025-05-22T10:30:00Z"
}