This article presents possible use cases and corresponding sample flows that you can support. This can be a helpful jumping-off point as you plan your implementation.
To enable staff members to manage their own working hour schedule in their dashboard, connect a staff member to a Wix user.
To connect a staff member to a Wix user:
email,
specify that email address.ASSOCIATED_IDENTITY_STATUS in the fields parameter.
Check the value of the associatedWixIdentity.connection.status field.To give a staff member custom working hours that differ from the business default schedule, assign a custom schedule and create recurring working hours events for each weekday. If the staff member already has custom working hours, cancel the existing ones before creating new ones.
To set a staff member's weekly working hours:
Call Get Staff Member, specifying RESOURCE_DETAILS in the fields parameter.
Save the staff member's id, resourceId, and resource.eventsSchedule.id.
Call Assign Working Hours Schedule to Staff Member.
Specify the staff member id and resource.eventsSchedule.id from the previous step as staffMemberId and scheduleId.
This one-time call detaches the staff member from the default business schedule and enables custom working hours.
Call Query Events to find any existing working hours.
Filter by externalScheduleId set to the staff member's resourceId, eventType set to WORKING_HOURS, and recurrenceType set to MASTER.
Use externalScheduleId rather than scheduleId to target this staff member's events.
Save the id of each returned event.
Call Cancel Event for each event id from the previous step to clear the existing working hours before setting new ones.
Call Create Event for each weekday to set the working hours.
For each event, set scheduleId to resource.eventsSchedule.id from step 1, type to WORKING_HOURS, recurrenceRule.frequency to WEEKLY, and recurrenceRule.days to a single weekday per event.
Set start.localDate to a date that falls on that weekday.
For example, to set Monday hours from 9 AM to 5 PM:
To block a staff member's availability for a specific date, such as a vacation day or personal time off, create an OPAQUE calendar event on their event schedule. Wix Bookings treats OPAQUE events on a staff member's event schedule as unavailable time, so no bookings can be made during that period. See how Wix Bookings uses the Calendar APIs for background.
To block a vacation day:
Call Get Staff Member, specifying RESOURCE_DETAILS in the fields parameter.
Save the event schedule ID from resource.eventsSchedule.id.
Call Create Event with transparency set to OPAQUE and start/end spanning the full day.
The idempotencyKey must be a valid UUID/GUID.
For example, to block April 15, 2026: