Calendar & Scheduling

Calendar Events

A CalendarEvent represents an offering occurrence.

get/shop/calendar-events-v2

List calendar events

listCalendarEvents

This endpoint lists calendar events.

Query parameters

  • datedateoptional

    The date to fetch events for

  • eventsstringoptional

    A comma-separated list of event keys and event types to return. The format is {event_type}..{event_key}, for example: appointment..1234_5678,session..5678_9012

  • include_customersbooleanoptional

    Whether to include a CalendarEvents associated customers.

  • include_paymentsbooleanoptional

    Whether to include a CalendarEvents associated payments.

  • Whether to include a CalendarEvents associated bookings.

  • view_typestringoptional

    The view type (resource) to return events for. If specified, an event object will be returned for each resource of this type in the event.

    Possible values:areapractitionerroom
  • zone_idstringoptional

    The zone ID to filter events for.

  • site_idstringoptional

    Filter results by the site they belong to

Responses

  • 200

    Calendar events successfully retrieved.

  • 401

    The user is unauthenticated

get/shop/calendar-occupancy

Get calendar occupancy

getCalendarOccupancy

Returns occupancy metrics for the operator calendar on a given date. The response counts the guests covered by all confirmed/waitlisted offerings (appointments, area bookings, and sessions) that fall within the date — bucketed by hour, by selected view, and as a single daily total.

Occupancy is gated by the occupancy_overview feature flag. If the flag is off for the site, the underlying data resolves to null. Filter results by view_type (and optionally zone_id) to constrain the calculation to a single resource lane.

Query parameters

  • datedateoptional

    The date to fetch events for

  • eventsstringoptional

    A comma-separated list of event keys and event types to return. The format is {event_type}..{event_key}, for example: appointment..1234_5678,session..5678_9012

  • view_typestringoptional

    The view type (resource) to return events for. If specified, an event object will be returned for each resource of this type in the event.

    Possible values:areapractitionerroom
  • zone_idstringoptional

    The zone ID to filter events for.

  • site_idstringoptional

    Filter results by the site they belong to

Responses

  • 200

    Calendar occupancy successfully retrieved.

  • 400

    The request failed.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

get/shop/calendar-resources

List calendar resources for a date

listCalendarResources

Returns the resources displayed alongside the operator calendar for a given date — the lanes you book against. The response bundles:

  • The site's opening hours for the date, expressed as one or more open periods (a site can have split shifts).
  • All Zones configured at the site (used to filter the calendar by area of the venue).
  • Every BookableArea, Practitioner, and Room at the site, each enriched with the resource's scheduled availability for the requested date and (for practitioners) any custom availability overrides that apply.

Pass zone_id to restrict the resource lanes to a single zone; omitting it returns every resource at the site. The endpoint is typically called once per calendar render and refreshed when the operator changes date.

Query parameters

  • datedateoptional

    The date to fetch events for

  • zone_idstringoptional

    The zone ID to filter events for.

  • site_idstringoptional

    Filter results by the site they belong to

Responses

  • 200

    Calendar resources successfully retrieved.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 422

    The request didn't pass validation