Skip to main content
POST
/
v3
/
appointment-definitions
/
{appointmentDefinition}
/
available-slots-range
Browse Available Appointment Slots over a Date Range
curl --request POST \
  --url https://api.{tenant}.getomneo.com/api/v3/appointment-definitions/{appointmentDefinition}/available-slots-range \
  --header 'Content-Type: application/json' \
  --data '
{
  "location_id": 123,
  "start_date": "2023-12-25",
  "end_date": "2023-12-25",
  "staff_id": "<string>"
}
'
{
  "data": [
    "<string>"
  ],
  "meta": {
    "appointment_definition_id": 123,
    "location_id": 123,
    "timezone": "<string>",
    "start_date": "<string>",
    "end_date": "<string>",
    "requires_staff": true,
    "customer_must_select_staff": true,
    "assigned_staff_required": true,
    "staff": {
      "id": "<string>",
      "first_name": "<string>",
      "last_name": "<string>",
      "email": "<string>"
    },
    "slot_interval_minutes": 123,
    "duration_minutes": 123,
    "buffer_before_minutes": 123,
    "buffer_after_minutes": 123,
    "min_lead_minutes": 123,
    "max_advance_days": 123,
    "max_concurrent_bookings": 123,
    "total": 123
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.omneo.io/llms.txt

Use this file to discover all available pages before exploring further.

Path Parameters

appointmentDefinition
integer
required

The appointment definition ID

Body

application/json

Request payload for the range slots endpoint. Date window is capped at 31 days so a single call can't sweep an unbounded slot space.

Reuses the same staff/location validation rules as the single-day endpoint (ListAppointmentAvailableSlots) so the range version inherits the same "is this combination actually bookable?" guarantees.

location_id
integer
required
start_date
string<date>
required
end_date
string<date>
required
staff_id
string | null
sort
enum<string>
Available options:
asc,
desc

Response

AppointmentAvailableSlotsRangeResource

data
string[]
required
meta
object
required