v1

latestOpenAPI 3.0.02026-07-24161215397.4 KB
Bookings

Retrieve all booking occurrences (expanded instances).

Returns a flat list of individual booking occurrences within a given time period. This includes both one-off bookings and all expanded instances from recurring series. Useful for calendars, availability checks, and reports. If no pagination is used, the maximum supported period is 1 year.

Required scopes: flex.space.bookings.read

get/api/v2/organizations/{orgSlug}/bookings/occurrences

Path parameters

orgSlugstring required

organization slug

Query parameters

_idstring
Example:603dfbc260f4054084125d30

Filter by booking id.

companystring
Example:603dfbc260f4054084125d30

Filter by company id.

memberstring
Example:603dfbc260f4054084125d33

Filter by member id.

locationstring
Example:location[$in]=603dfbc260f4054084125d31,603dfbc260f4054084125d32

Filter by location id. Supports both single location values (e.g., location=603dfbc260f4054084125d31) and array operations (e.g., location[$in]=603dfbc260f4054084125d31,603dfbc260f4054084125d32).

resourcestring

Filter by the resource id. Supports both single id values (e.g., resource=603dfbc260f4054084125d36) and array operations (e.g., resource[$in]=603dfbc260f4054084125d36,603dfbc260f4054084125d37). Note: Multiple values in simple string format (e.g., resource=603dfbc260f4054084125d36,603dfbc260f4054084125d37) are not allowed - use resource[$in] format instead.

isCancelledboolean

Filter occurrences by whether the underlying booking is canceled or not.

isTentativeboolean

Filter occurrences by the underlying booking's tentative (not confirmed) status. This matches the static tentative field set at booking creation time (e.g. via a booking policy that requires approval); it does not evaluate the dynamic per-occurrence tentative state that is computed at read time from the booking's accounted period.

seriesStartstring date-time required
Example:2025-10-01T00:00:00.000Z

Filter bookings based on the start date of the series or standalone booking. For recurring bookings, this refers to the start of the entire series (i.e., the first occurrence). For one-off bookings, it refers to the booking’s own start time. Date comparison filters ($gt, $gte, $lt, $lte) are accepted, but operators are ignored — only the date value is used.

seriesEndstring date-time required
Example:2025-12-01T00:00:00.000Z

Filter bookings based on the end date of the series or standalone booking. For recurring bookings, this refers to the end of the first occurrence (as returned by /bookings) or the end of each instance (in /bookings/occurrences). For one-off bookings, it refers to the booking’s own end time. Date comparison filters ($gt, $gte, $lt, $lte) are accepted, but operators are ignored — only the date value is used.

$selectstring
Example:recipient,sender

Select fields to return

$cursorNextstring
$cursorPrevstring
$limitnumber

Response

rangeStartnumber
rangeEndnumber
cursorNextstring
cursorPrevstring

Example response

{
  "results": [
    {
      "properties": {
        "customProperty1": "value1",
        "customProperty2": "value2"
      },
      "_id": "603dfbc260f4054084125d39",
      "timezone": "Europe/London",
      "start": "2024-10-31T13:00:00.000Z",
      "end": "2024-10-31T13:30:00.000Z",
      "recurrence": {
        "rrule": "FREQ=WEEKLY;BYDAY=MO,WE,FR;COUNT=10",
        "exdates": [
          "2024-10-31T13:00:00.000Z"
        ]
      },
      "seriesStart": "2024-10-31T13:00:00.000Z",
      "seriesEnd": "2024-10-31T13:30:00.000Z",
      "location": "603dfbc260f4054084125d39",
      "company": "603dfbc260f4054084125d39",
      "member": "603dfbc260f4054084125d39",
      "resource": "603dfbc260f4054084125d39",
      "fees": [
        {
          "date": "2017-10-31T00:00:00.000Z",
          "extraFees": [],
          "credits": [
            {
              "count": 2,
              "credit": "594932ea518f3f150d306c89"
            }
          ],
          "customPrice": 100
        }
      ],
      "reference": "81LCV6S",
      "title": "Meeting with John",
      "rate": "603dfbc260f4054084125d39",
      "description": "Meeting with John at the office.",
      "isTentative": true,
      "extras": [
        {
          "_id": "603dfbc260f4054084125d39",
          "count": 2
        }
      ],
      "visitors": [
        "603dfbc260f4054084125d36",
        "603dfbc260f4054084125d37"
      ],
      "members": [
        "603dfbc260f4054084125d36",
        "603dfbc260f4054084125d37"
      ],
      "serviceSlots": {
        "before": 10,
        "after": 10
      },
      "source": "admin",
      "createdAt": "2022-02-07T10:03:33.169Z",
      "createdBy": "5bbb155174321f100085eac1",
      "modifiedAt": "2022-02-08T10:03:33.169Z",
      "modifiedBy": "5bbb155174321f100085eac1",
      "booking": "603dfbc260f4054084125d39"
    }
  ]
}