Skip to content

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

HeaderValue
AuthorizationBearer {access_token}

Query parameters

ParameterTypeRequiredDescription
locationIdstring (UUID)YesID of the location
serviceIdstring (UUID)YesID of the service
userIdstring (UUID)NoID of a specific user (omit to search all users)
startDatestring (ISO 8601)NoStart date of the search (default: today)
limitintegerNoNumber of desired time slots (default: 5, max: 20)
maxDaysintegerNoMaximum search range in days (default: 31, max: 31)

Required scope: appointments

Note: The API searches the entire range from startDate to startDate + maxDays days and returns the earliest limit results, sorted by start time. If no userId is 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

FieldTypeDescription
data[].userobject | nullUser (see User Details)
data[].locationobjectLocation (see Location Details)
data[].serviceobjectService (see Service Details)
data[].startstring (ISO 8601)Start time of the slot
data[].endstring (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

StatusCodeDescription
400validation_errorRequired parameter missing or UUID is invalid
401invalid_clientInvalid or missing access token
403insufficient_scopeScope appointments not present
404not_foundUser, location, or service not found

Offisy GmbH