Calendar & Scheduling

Calendar Notes

A CalendarNote is a free-form, date-scoped annotation that surfaces on the operator calendar for a site (e.g. public holidays, marketing events, known understaffed shifts). Notes do not affect availability or block bookings.

get/shop/calendar-notes

List calendar notes

listCalendarNotes

Returns a paginated list of CalendarNote objects for the given site. Notes can be filtered by an exact date or a date range to populate the calendar viewport.

Requires the RESERVATIONS_VIEW permission on the site.

Query parameters

  • site_idstringrequired

    Filter results by the site they belong to

  • datedate-timeoptional

    A date string to retrieve results for

  • dateFromdate-timeoptional

    A date string to retrieve results from

  • dateTodate-timeoptional

    A date string to retrieve results to

  • pageintegeroptional

    The page to retrieve results from

  • per_pageintegeroptional

    The number of results to return per page

Responses

  • 200

    A paginated list of CalendarNote objects for the site.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

post/shop/calendar-notes

Create a calendar note

createCalendarNote

Creates a new CalendarNote against a site for a given date. Requires the RESERVATIONS_MANAGE permission on the target site.

Request body

  • bodystringrequired

    The note text. Plain text only — line breaks are preserved but no markdown is rendered. There is no hard length limit, but keep it short so it reads well in the calendar.

  • datedaterequired

    The calendar date the note applies to, in YYYY-MM-DD format. The date is interpreted in the site's local timezone.

  • site_iduuidoptional

    ID of the site to attach the note to. The caller's API key must have access to the site and the RESERVATIONS_MANAGE permission on it. Defaults to the site from the request context when omitted.

Responses

  • 201

    A single CalendarNote.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 422

    The request didn't pass validation

get/shop/calendar-notes/{calendarNoteId}

Retrieve a calendar note

getCalendarNote

Returns a single CalendarNote by ID. Requires the RESERVATIONS_VIEW permission on the note's site.

Path parameters

  • calendarNoteIdobject-idrequired

    The unique identifier of the CalendarNote.

Responses

  • 200

    A single CalendarNote.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

put/shop/calendar-notes/{calendarNoteId}

Update a calendar note

updateCalendarNote

Partially updates a CalendarNote. Every field is optional; only fields you send are written. Requires the RESERVATIONS_MANAGE permission on the note's current site (and the target site too, if site_id is changed).

Path parameters

  • calendarNoteIdobject-idrequired

    The unique identifier of the CalendarNote.

Request body

  • bodystringoptional

    Replacement note text, shown to staff on the calendar view. Plain text only — HTML tags are stripped.

  • datedateoptional

    Move the note to a different calendar date, in YYYY-MM-DD format.

  • site_iduuidoptional

    Move the note to a different site. The caller's API key must have access to both the old and new site.

Responses

  • 200

    A single CalendarNote.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

delete/shop/calendar-notes/{calendarNoteId}

Delete a calendar note

deleteCalendarNote

Removes a CalendarNote. Requires the RESERVATIONS_MANAGE permission on the note's site.

Path parameters

  • calendarNoteIdobject-idrequired

    The unique identifier of the CalendarNote.

Responses

  • 204

    Calendar note deleted successfully.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found