Next Available Slots
Returns the next available booking time slots for a location and service. Searches the configured time range and returns the earliest results sorted by start time.
Request
GET /api/oauth/v2/resource/booking/available-slots/next
Header
| Header | Value |
|---|---|
Authorization | Bearer {access_token} |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
locationId | string (UUID) | Yes | ID of the location |
serviceId | string (UUID) | Yes | ID of the service |
userId | string (UUID) | No | ID of a specific user (omit to search all users) |
startDate | string (ISO 8601) | No | Start date of the search (default: today) |
limit | integer | No | Number of desired time slots (default: 5, max: 20) |
maxDays | integer | No | Maximum search range in days (default: 31, max: 31) |
Required scope: appointments
Note: The API searches the entire range from
startDatetostartDate+maxDaysdays and returns the earliestlimitresults, sorted by start time. If nouserIdis provided, all available users for the location-service combination are searched.
Response
Success (200 OK)
json
{
"data": [
{
"user": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"firstName": "Maria",
"lastName": "Huber",
"...": "..."
},
"location": {
"id": "b2c3d4e5-f6a7-8901-bcde-f01234567890",
"name": "Ordination Wien",
"...": "..."
},
"service": {
"id": "c3d4e5f6-a7b8-9012-cdef-012345678901",
"name": "Erstgespräch",
"...": "..."
},
"start": "2026-04-02T09:00:00+02:00",
"end": "2026-04-02T10:00:00+02:00"
},
{
"user": {
"id": "d4e5f6a7-b8c9-0123-def0-123456789abc",
"firstName": "Thomas",
"lastName": "Berger",
"...": "..."
},
"location": {
"id": "b2c3d4e5-f6a7-8901-bcde-f01234567890",
"name": "Ordination Wien",
"...": "..."
},
"service": {
"id": "c3d4e5f6-a7b8-9012-cdef-012345678901",
"name": "Erstgespräch",
"...": "..."
},
"start": "2026-04-02T10:30:00+02:00",
"end": "2026-04-02T11:30:00+02:00"
}
]
}Response fields
| Field | Type | Description |
|---|---|---|
data[].user | object | null | User (see User Details) |
data[].location | object | Location (see Location Details) |
data[].service | object | Service (see Service Details) |
data[].start | string (ISO 8601) | Start time of the slot |
data[].end | string (ISO 8601) | End time of the slot |
Note: Times are given in the company's local timezone with UTC offset.
Beispiele
bash
curl -X GET "https://my.offisy.at/api/oauth/v2/resource/booking/available-slots/next?locationId=b2c3d4e5-f6a7-8901-bcde-f01234567890&serviceId=b2c3d4e5-f6a7-8901-bcde-f01234567890&userId=b2c3d4e5-f6a7-8901-bcde-f01234567890&startDate=2026-04-15T10%3A00%3A00&limit=50&maxDays=14" \
-H "Authorization: Bearer {access_token}"Parameter
Zuerst Token anfordern
Possible errors
| Status | Code | Description |
|---|---|---|
| 400 | validation_error | Required parameter missing or UUID is invalid |
| 401 | invalid_client | Invalid or missing access token |
| 403 | insufficient_scope | Scope appointments not present |
| 404 | not_found | User, location, or service not found |