Available Slots
Returns available booking time slots for a user, location, and service.
Request
GET /api/oauth/v2/resource/booking/available-slots
Header
| Header | Value |
|---|---|
Authorization | Bearer {access_token} |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userId | string (UUID) | Yes | ID of the user |
locationId | string (UUID) | Yes | ID of the location |
serviceId | string (UUID) | Yes | ID of the service |
startDate | string (ISO 8601) | Yes | Start date of the search (e.g. 2026-04-01) |
endDate | string (ISO 8601) | No | End date of the search (default: startDate + 7 days) |
Required scope: appointments
Note: The API returns a maximum of 50 time slots, sorted chronologically.
Response
Success (200 OK)
json
{
"data": {
"user": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Dr.",
"firstName": "Maria",
"lastName": "Huber",
"abbreviation": "MH",
"sex": 1,
"email": "m.huber@praxis.at",
"color": "#3498db",
"isDoctor": true,
"sort": 1,
"isBookable": true,
"showBookingWeeks": 4,
"tenancies": []
},
"location": {
"id": "b2c3d4e5-f6a7-8901-bcde-f01234567890",
"name": "Ordination Wien",
"bookingName": "Wien Mitte",
"abbreviation": "W",
"color": "#2ecc71",
"street": "Musterstraße 1",
"zip": "1010",
"city": "Wien",
"country": "AT",
"email": "office@praxis.at",
"tel": "+43 1 234567",
"telCode": "+43",
"sort": 1,
"bookable": true,
"tenancies": []
},
"service": {
"id": "c3d4e5f6-a7b8-9012-cdef-012345678901",
"name": "Erstgespräch",
"description": "Erstberatung 60 Minuten",
"duration": 60,
"durationBefore": 0,
"durationAfter": 10,
"directBooking": true,
"isOnlineBookable": true,
"price": "120.00",
"color": "#e74c3c",
"sort": 1,
"tenancies": []
},
"slots": [
{
"start": "2026-04-02T09:00:00+02:00",
"end": "2026-04-02T10:00:00+02:00"
},
{
"start": "2026-04-02T10:30:00+02:00",
"end": "2026-04-02T11:30:00+02:00"
}
]
}
}Response fields
| Field | Type | Description |
|---|---|---|
data.user | object | User (see User Details) |
data.location | object | Location (see Location Details) |
data.service | object | Service (see Service Details) |
data.slots[].start | string (ISO 8601) | Start time of the slot |
data.slots[].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?userId=b2c3d4e5-f6a7-8901-bcde-f01234567890&locationId=b2c3d4e5-f6a7-8901-bcde-f01234567890&serviceId=b2c3d4e5-f6a7-8901-bcde-f01234567890&startDate=2026-04-15T10%3A00%3A00&endDate=2026-04-15T10%3A00%3A00" \
-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 |