The Schedule Time Frames API allows you to keep track of when schedules start and end.
With the Schedule Time Frames API, you can:
For example, Wix Bookings uses the Schedule Time Frames API to determine when courses start and end.
For more in-depth scheduling management, see:
It’s important to note the following points before starting to code:
Information about the start and end dates of the first and last events that belong to a schedule and whether any events follow an unlimited repetition pattern.
ID of the schedule to which the time frame belongs.
Information about the presence of recurring events within the schedule.
Supported values:
NONE
: No events are scheduled within the schedule.FINITE
: All recurring events within the schedule have a defined end date, or there are no recurring events.INFINITE
: At least one recurring event within the schedule has no end date, meaning it follows an unlimited repetition pattern.Start date of the first event
within the schedule. Identical to event.start.localDate
. Available only if
status
is set to FINITE
or INFINITE
.
End date of the last event
belonging to the schedule. Identical to event.end.localDate
. Available only if
status
is set to FINITE
.
Start date of the first event
belonging to the schedule, adjusted to timeZone
of the
site properties
or the timeZone
specified in the request.
Identical to event.adjustedStart.localDate
.
End date of the last event
belonging to the schedule, adjusted to timeZone
of the
site properties
or the timeZone
specified in the request.
Identical to event.adjustedEnd.localDate
.
Revision number, which increments by 1 each time the schedule time frame is updated.
{
"id": "05279386-2859-49d6-9727-0096ad74e014",
"status": "FINITE",
"firstEventStartDate": {
"localDate": "2024-09-24T16:30:00",
"timeZone": "Europe/Dublin",
"utcDate": "2024-09-24T15:30:00Z"
},
"lastEventEndDate": {
"localDate": "2024-11-27T17:00:00",
"timeZone": "Europe/Dublin",
"utcDate": "2024-11-27T17:00:00Z"
},
"adjustedFirstEventStartDate": {
"localDate": "2024-09-24T16:30:00",
"timeZone": "Europe/Dublin"
},
"adjustedLastEventEndDate": {
"localDate": "2024-11-27T17:00:00",
"timeZone": "Europe/Dublin"
},
"revision": "15"
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Retrieves a schedule time frame by schedule ID.
Schedule ID for which to retrieve the schedule time frame.
Time zone for adjusting the times of the returned schedule time frame.
Default: timeZone
of the site properties
Retrieved schedule time frame.
curl -X GET \
'https://www.wixapis.com/calendar/v3/schedules/timeframe/05279386-2859-49d6-9727-0096ad74e014' \
-H 'Content-Type: application/json' \
-H 'Authorization: <AUTH>'
{
"scheduleTimeFrame": {
"id": "05279386-2859-49d6-9727-0096ad74e014",
"status": "FINITE",
"firstEventStartDate": {
"localDate": "2024-09-24T16:30:00",
"timeZone": "Europe/Dublin",
"utcDate": "2024-09-24T15:30:00Z"
},
"lastEventEndDate": {
"localDate": "2024-11-27T17:00:00",
"timeZone": "Europe/Dublin",
"utcDate": "2024-11-27T17:00:00Z"
},
"adjustedFirstEventStartDate": {
"localDate": "2024-09-24T16:30:00",
"timeZone": "Europe/Dublin"
},
"adjustedLastEventEndDate": {
"localDate": "2024-11-27T17:00:00",
"timeZone": "Europe/Dublin"
},
"revision": "15"
}
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Retrieves a list of schedule time frames by schedule IDs.
Sorted by schedule ID in ascending order.
IDs of the schedules for which to retrieve schedule time frames.
Min: 1 schedule ID Max: 100 schedule IDs
Time zone for adjusting the times of the returned schedule time frames.
Default: timeZone
of the site properties
Retrieved schedule time frames.
curl -X GET \
'https://www.wixapis.com/calendar/v3/schedules/timeframe?ids=bac52132-220a-4361-8bd4-2a884af45eb6&ids=ea54fba1-8bad-4d1a-992a-a0fc772c6b46' \
-H 'Content-Type: application/json' \
-H 'Authorization: <AUTH>'
{
"scheduleTimeFrames": [
{
"id": "bac52132-220a-4361-8bd4-2a884af45eb6",
"status": "INFINITE",
"firstEventStartDate": {
"localDate": "2024-10-07T17:00:00",
"timeZone": "Europe/Dublin",
"utcDate": "2024-10-07T16:00:00Z"
},
"adjustedFirstEventStartDate": {
"localDate": "2024-10-07T17:00:00",
"timeZone": "Europe/Dublin"
},
"revision": "4"
},
{
"id": "ea54fba1-8bad-4d1a-992a-a0fc772c6b46",
"status": "INFINITE",
"firstEventStartDate": {
"localDate": "2024-10-07T16:00:00",
"timeZone": "Europe/Dublin",
"utcDate": "2024-10-07T15:00:00Z"
},
"adjustedFirstEventStartDate": {
"localDate": "2024-10-07T16:00:00",
"timeZone": "Europe/Dublin"
},
"revision": "4"
}
]
}
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Triggered when a schedule's time frame is updated, indicating a new first or last event or a change in the recurrence period, such as an extension or reduction.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.calendar.v3.schedule_time_frame
.
Event name. Expected updated
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.calendar.v3.schedule_time_frame_updated",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"id": "11d69e2d-6eb2-4a47-9373-b61d0ab45ff1",
"entityFqdn": "wix.calendar.v3.schedule_time_frame",
"slug": "updated",
"entityId": "66dffe8b-9215-4439-9b5c-50d9fb03bffc",
"updatedEvent": {
"currentEntity": {
"id": "66dffe8b-9215-4439-9b5c-50d9fb03bffc",
"status": "INFINITE",
"firstEventStartDate": {
"localDate": "2024-09-30T10:00:00",
"timeZone": "America/Cayman",
"utcDate": "2024-09-30T15:00:00Z"
},
"revision": "2"
}
},
"eventTime": "2024-09-25T17:17:01.850049818Z",
"triggeredByAnonymizeRequest": false,
"entityEventSequence": "2"
}