A session is one of the following:

  • "EVENT": Reserved period of time on any schedule. For example, an appointment, class, or course. Events are visible in the Dashboard on the Bookings app's Booking Calendar page.
  • "WORKING_HOURS" : Placeholder for available time on a resource’s schedule.

Sessions belong to a schedule. Schedules are owned by a resource or a service.


A session may be an individual session or a recurring session. An individual session has a discrete start and end date, while a recurring session defines a series of repeating sessions. A session is a recurring session if the recurrence property contains a recurrence rule. A session is an instance of a recurring session if the instanceOfRecurrence property contains a recurrence rule and the recurrence property is null. Changing a recurring session will update the future recurrence instances. If the start or end time has been changed on an instance, updates to start or end on the recurring session may not be updated on the instance. See updateSession() for details.

The recurrence is defined using a subset of recurrence rules (RRULEs).

The following RRULE parameters are supported:

KeywordDescriptionSupported values
FREQThe frequency at which the session is recurs. Required.WEEKLY
INTERVALHow often, in terms of FREQ, the session recurs. Default is 1. Optional.
UNTILThe UTC end date and time of the recurrence. Optional.
BYDAYDay of the week when the event should recur. Required.One of: MO, TU, WE, TH, FR, SA, SU

For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM: "FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z"


Sessions have tags that can be used to group sessions. The Wix Bookings app uses the following system tags:

  • "Blocked": Used to create a session that blocks the resource's availability, but is not related to a service. Use this tag to schedule non-working hours where the resource is not available.
  • "google": Used by the app for events created by Google applications. Google events are read-only.


A schedule is a collection of sessions and the information needed to calculate availability. A schedule is owned by either a service or a resource. The scheduleOwnerId property contains the ID of the owning resource or service.

To use the Sessions API, import sessions from the wix-bookings-backend module:

import { sessions } from "wix-bookings-backend";
javascript | Copy Code

Was this helpful?