Create, modify and delete bookable schedules and sessions.
Read schedule and session data using the .
Session: An occupied period of time on a schedule (e.g., if a “Vinyasa Yoga” service is offered every Monday betwen 6-7pm, the class on Monday June 7, 2020 from 6-7pm is one session on a schedule with a recurring session every Monday).
Slot: An available period of time in a schedule that can be booked by a customer. While this includes existing sessions that are available for booking, it can also represent a period of time that can be booked based on the availability of a resource (e.g., a barber with appointments of 30 minutes each that are open for booking every weekday between 8:00 - 17:00). These slots are calculated by the constraints of the schedule - they are not occupied sessions until they are booked.
Schedule: A collection of sessions related to a specific entity (session, resource, etc.), with relevant metadata. The schedule entity represents all available information about when its owner can be booked for a service (both occupied and available).
The owner of the schedule can be a resource (e.g., a staff member or room) or a collection of sessions (e.g., a course with multiple sessions) - or you can create your own schedule owner ID for any entity of your choosing.
Every schedule can be tagged for easy reference and filtering. The Wix Bookings UI uses the following tags:
- INDIVIDUAL - for appointments (slots)
- GROUP - for classes (sessions)
- COURSE - for courses (schedules)
When creating schedules via API, adding the relevant tag is recommended so that Wix Bookings will display the related service correctly in the UI.
Call . Parameters to include:
- scheduleOwnerId (writable)
- intervals.interval.daysOfWeek = FRI
- intervals.interval.hourOfDay = 10 (for AM. 22 for PM)
- intervals.interval.minuteOfHour = 0
- intervals.start = 2020-05-15T21:00:00Z
- title = e.g., Reminder
Set up a Fitness Instructor's Work Schedule, Including Group Classes and Availability for 1-on-1 Appointments
The fitness instructor will exist as a resource in the system, with their own personal schedule. They will also be linked to both the group class's schedule, and the schedule detailing their availaibility for 1-on-1 appointments.
Parameters to include:
a. tags = StaffMember
b. schedules.schedule.intervals.interval.intervalType = AVAILABILITY
c. schedule.intervals.interval.daysOfWeek = MON
d. schedule.intervals.interval.hourOfDay = 9
e. schedule.intervals.interval.minuteOfHour = 0
f. schedule.intervals.interval.duration = 570
to add the instructor to the system and create their personal schedule.
- Collect the returned resource ID and schedule ID. Note: the resource's schedule owner ID will equal the resource ID)
Parameters to include:
a. scheduleOwnerId = service ID
b. schedule.intervals.affectedSchedules.scheduleId = instructor's schedule ID
c. schedule.intervals.affectedSchedules.transparency = BUSY
d. schedule.intervals.interval.daysOfWeek = MON
e. schedule.intervals.interval.hourOfDay = 17
f. schedule.intervals.interval.minuteOfHour = 30
g. schedule.intervals.interval.duration= 60
to set up the instructor's group class (on Mondays from 5:30-6:30pm).
- Collect the returned schedule ID.
a. scheduleOwnerId (service ID - e.g., "1-on-1 training")
b. schedule.availability.linkedSchedules.transparency = BUSY
c. schedule.availability.linkedSchedules.scheduleId = (instructor's schedule ID)
d. schedule.availability.start = e.g.,2020-05-15T21:00:00Z
e. schedule.availability.constraints.slotDuration = 60
again to set the logic for the instructor's availability for 1-on-1 appointments of 60 minutes. Parameters to include: