---
title: "List calendar events"
method: GET
path: "/shop/calendar-events-v2"
tags: ["CalendarEvents"]
---

# List calendar events

`GET /shop/calendar-events-v2`

This endpoint lists calendar events.

## Query parameters

- `date` string, date
- `events` string
- `include_customers` string, boolean
- `include_payments` string, boolean
- `include_session_bookings` string, boolean
- `view_type` 'area' | 'practitioner' | 'room'
- `zone_id` string
- `site_id` string

## Response `200`

Calendar events successfully retrieved.

- object
  - `data` CalendarEvent[], required
    - `id` string, required — The ID of the event
    - `areas` BookableAreaSummary[], required
      - `id` string, mongo-id, required — The ID of the bookable area.
      - `name` string, required — The name of the bookable area.
    - `blocked_time_details` CalendarBlockedTimeDetailsResource
      - `color` string, required — A hex code that the blocked time should be displayed as on the calendar.
      - `label` string, required — A label that summarises the blocked time.
      - `notes` string, required — Any notes that give more detail on the blocked time.
      - `type` string, required — The type code for the blocked time.
      - `created_at` string, date-time, required — The date and time the blocked time was created.
      - `created_by` UserSummary, required
        - `id` string, mongo-id, required — The ID of the user.
        - `avatar` Media
          - `id` string, uuid, required — Unique identifier of the uploaded media item, returned from `createMedia`. Pass this ID into any field that accepts a media reference (logos, hero images, product images, etc.).
          - `file_name` string, required — Original filename of the uploaded asset, preserved as provided at upload time. Used for display in the media library and as a hint when serving downloads.
          - `mime_type` string, required — The mime type of the media item.
          - `original_url` string, required — The url of the media resource.
          - `size` integer, required — The size of the media item in bytes.
          - `url` string, required — The url of the converted media resource.
        - `email` string, email, required
        - `first_name` string, required
        - `full_name` string, required
        - `last_name` string, required
    - `bookings` CalendarBookingSummaryResource[] — For area bookings, multiple bookings with the same start and end times will be collapsed into a single event, and this array will be included with a summary of the individual bookings making up the combined event.
      - `id` string, required — The ID of the booking
      - `booking_type` 'appointment' | 'area_booking' | 'session_booking', required — The type of the booking
      - `guests` GuestSummary[], required
        - `id` string, mongo-id, required — The ID of the guest.
        - `customer_id` string, mongo-id, nullable — The ID of the customer this guest relates to.
        - `name` string, required — The guest's full name.
        - `checked_in_at` string, date-time, nullable, required — The date and time the guest checked in.
      - `order` CalendarEventOrderSummary, required
        - `id` string, required — The ID of the order.
        - `customer` CustomerSummary — A summary of the `Customer` this order belongs to.
          - `id` string, uuid, required — The ID of the customer.
          - `email` string, nullable, required — The email address of the customer. The case of the email address is not preserved, so you'll always see this in lowercase.
          - `first_name` string, nullable, required — The first name of the customer.
          - `full_name` string, nullable, required — The customer's full name
          - `labels` Label[], required
            - `id` string, required
            - `color` string, nullable, required
            - `name` string, required
          - `last_name` string, nullable, required — The last name of the customer.
          - `phone` string, nullable, required — The customer's phone number in E.164 format, or `null` if not provided.
        - `email` string, required — The email address of the lead booker.
        - `external_visit_ref` string — An external visit reference for the order, if set.
        - `first_name` string, required — The first name of the lead booker.
        - `has_posting_room` boolean, required — Whether this order has an attached posting room.
        - `intake_form_required` boolean, required — Whether this order requires an intake form to be completed.
        - `intake_forms_completed` boolean, required — Whether the required intake form has been completed.
        - `is_locked` boolean, required — Whether this order is locked to the current resources (practitioner, room etc)
        - `labels` SchemasLabel[], required
          - `id` string, object-id, required — The ID of the label.
          - `color` string, required — The color of the label.
          - `name` string, required — The name of the label.
          - `order_id` string, object-id, required
        - `last_name` string, required — The last name of the lead booker.
        - `notes` OrderNote[], required — Whether this order has notes added to it.
          - `id` string, required
          - `content` string, required — The contents of the note.
          - `order_id` string — The order this note belongs too
          - `created_at` string, date-time — The date and time the note was created.
          - `created_by` object
            - `id` string, required — The ID of the user who added the note.
            - `name` string, required — The name of the user who added the note.
          - `created_by_id` string — The ID of the user who added the note.
        - `order_ref` string, required — The order reference.
        - `payment_totals` PaymentTotals
          - `chargeable` integer, required — The total of payments that are ready to be charged when required.
          - `missing` integer, required — The balance of payments still needing to be added to the order, equal to the total cost of the order minus any paid, pending and chargeable payments.
          - `paid` integer, required — The total of payments in a paid status.
          - `pending` integer, required — The total of payments that are still processing.
          - `provided` integer, required — The total of payments that have been added to the order, equal to the total of all paid, pending and chargeable payments.
          - `unpaid` integer, required — The balance of payments that still need to be paid, equal to the total cost of the order minus any paid payments.
        - `phone` string, required — The phone number of the lead booker.
        - `special_requests` string, nullable, required — Any special requests from the customer.
        - `stage` 'not_arrived' | 'arrived' | 'in_treatment' | 'checked_out', required — The current stage of the order.
        - `status` string, required — The status of the order.
      - `status` string, required — The status of the booking
    - `duration` integer, required — The duration of the event in minutes, excluding any end buffer.
    - `end_time` string, date-time, required — The end time of the event, including any end buffer.
    - `end_buffer` integer — The end buffer of the event.
    - `event_type` 'appointment' | 'area_booking' | 'session' | 'blocked_time', required — The type of the event
    - `guests` GuestSummary[]
      - `id` string, mongo-id, required — The ID of the guest.
      - `customer_id` string, mongo-id, nullable — The ID of the customer this guest relates to.
      - `name` string, required — The guest's full name.
      - `checked_in_at` string, date-time, nullable, required — The date and time the guest checked in.
    - `key` string, required — If a view type is specified, this value contains a unique key for the event and resource ID.
    - `locked` boolean, required — True if this event is locked to the current resources.
    - `num_overlaps` integer — If a view type is specified, this represents the number of other events with the same resource ID that overlap with the time of this event. This value may be used to determine the size of the event on the calendar.
    - `offering_id` string — The ID of the offering the event relates to.
    - `offering_name` string — The name of the offering the event relates to.
    - `order` CalendarEventOrderSummary
      - `id` string, required — The ID of the order.
      - `customer` CustomerSummary — A summary of the `Customer` this order belongs to.
        - `id` string, uuid, required — The ID of the customer.
        - `email` string, nullable, required — The email address of the customer. The case of the email address is not preserved, so you'll always see this in lowercase.
        - `first_name` string, nullable, required — The first name of the customer.
        - `full_name` string, nullable, required — The customer's full name
        - `labels` Label[], required
          - `id` string, required
          - `color` string, nullable, required
          - `name` string, required
        - `last_name` string, nullable, required — The last name of the customer.
        - `phone` string, nullable, required — The customer's phone number in E.164 format, or `null` if not provided.
      - `email` string, required — The email address of the lead booker.
      - `external_visit_ref` string — An external visit reference for the order, if set.
      - `first_name` string, required — The first name of the lead booker.
      - `has_posting_room` boolean, required — Whether this order has an attached posting room.
      - `intake_form_required` boolean, required — Whether this order requires an intake form to be completed.
      - `intake_forms_completed` boolean, required — Whether the required intake form has been completed.
      - `is_locked` boolean, required — Whether this order is locked to the current resources (practitioner, room etc)
      - `labels` SchemasLabel[], required
        - `id` string, object-id, required — The ID of the label.
        - `color` string, required — The color of the label.
        - `name` string, required — The name of the label.
        - `order_id` string, object-id, required
      - `last_name` string, required — The last name of the lead booker.
      - `notes` OrderNote[], required — Whether this order has notes added to it.
        - `id` string, required
        - `content` string, required — The contents of the note.
        - `order_id` string — The order this note belongs too
        - `created_at` string, date-time — The date and time the note was created.
        - `created_by` object
          - `id` string, required — The ID of the user who added the note.
          - `name` string, required — The name of the user who added the note.
        - `created_by_id` string — The ID of the user who added the note.
      - `order_ref` string, required — The order reference.
      - `payment_totals` PaymentTotals
        - `chargeable` integer, required — The total of payments that are ready to be charged when required.
        - `missing` integer, required — The balance of payments still needing to be added to the order, equal to the total cost of the order minus any paid, pending and chargeable payments.
        - `paid` integer, required — The total of payments in a paid status.
        - `pending` integer, required — The total of payments that are still processing.
        - `provided` integer, required — The total of payments that have been added to the order, equal to the total of all paid, pending and chargeable payments.
        - `unpaid` integer, required — The balance of payments that still need to be paid, equal to the total cost of the order minus any paid payments.
      - `phone` string, required — The phone number of the lead booker.
      - `special_requests` string, nullable, required — Any special requests from the customer.
      - `stage` 'not_arrived' | 'arrived' | 'in_treatment' | 'checked_out', required — The current stage of the order.
      - `status` string, required — The status of the order.
    - `overlap_order` integer — If a view type is specified, this represents the order of this event relative to other overlapping events. This value may be used to determine the position of the event on the calendar.
    - `practitioners` PractitionerSummary[], required
      - `id` string, object-id, required — The ID of the practitioner.
      - `name` string, required — The full name of the practitioner.
    - `product_code` string — The product code of the offering the event relates to.
    - `reserved_until` string, date-time — The end time of the reservation if this event is reserved.
    - `resource_id` string, nullable, required — If a view type is specified, this value contains the ID of the single resource for this event object.
    - `resource_type` string — If a view type is specified, this value contains the type of the single resource for this event object.
    - `rooms` RoomSummary[], required
      - `id` string, object-id, required — The ID of the room.
      - `capacity` integer, required
      - `name` string, required — The name of the room.
    - `session_details` CalendarSessionDetailsResource
      - `capacity` integer, required — The total capacity of the session.
      - `num_booked` integer, required — The number of guests booked on this session
      - `num_waitlisted` integer, required — The number of guests on the waitlist for this session
      - `waitlist_enabled` boolean, required — Whether the waitlist is enabled for this session.
    - `start_time` string, date-time, required — The start time of the event.
    - `status` string — The status of the event, if applicable.
    - `warnings` OrderItemWarning[], nullable — A list of warnings relating to this event, if applicable. Only present for appointment events.
      - `code` string, required — A machine-readable code identifying the type of warning.
      - `message` string, required — A human-readable message describing the warning.
  - `meta` object, required
    - `occupancy_per_hour` object[]
      - `guests` number, required
      - `time` string, required
    - `occupancy_per_day` number
    - `occupancy_for_view` number

## Other responses

- `401` — The user is unauthenticated

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
