> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # QuerySchedules # Package: calendar # Namespace: SchedulesService # Method link: https://dev.wix.com/docs/api-reference/business-management/calendar/schedules-v3/query-schedules.md ## Permission Scopes: Read Calendar: SCOPE.DC-CALENDAR.READ-PUBLIC Read Calendar - Including PI: SCOPE.DC-CALENDAR.READ-PI ## Introduction Retrieves a list of schedules, given the provided paging and filtering. By default only `ACTIVE` schedules are returned, unless you provide a different `status` filter. Currently, you can't sort the response. Query schedules runs with these defaults, which you can override: - `cursorPaging.limit` is `50` To learn how to query schedules, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md). --- ## REST API ### Schema ``` Method: querySchedules Description: Retrieves a list of schedules, given the provided paging and filtering. By default only `ACTIVE` schedules are returned, unless you provide a different `status` filter. Currently, you can't sort the response. Query schedules runs with these defaults, which you can override: - `cursorPaging.limit` is `50` To learn how to query schedules, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md). URL: https://www.wixapis.com/calendar/v3/schedules/query Method: POST Method parameters: param name: fields | type: array | description: Information about which fields containing personal data to return. Refer to the [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions.md) for more information. Supported values: + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope. + `OWN_PI_FIELDS`: Returns only fields containing your own personal data. Max: 1 field Default: No personal data is returned. - enum: - PI_FIELDS: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope. - OWN_PI_FIELDS: Returns only fields containing your own personal data. param name: query | type: CursorQuery | description: TODO Diverge - name: cursorPaging | type: CursorPaging | description: Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter`. - name: limit | type: integer | description: Number of schedules to return. Min: `1` Max: `100` Default: `50` - name: cursor | type: string | description: Pointer to the next or previous page in the list of results. You can get the relevant cursor token from the `pagingMetadata` object in the previous call's response. Not relevant for the first request. - name: filter | type: object | description: Filter object. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md) for more information. Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`. Return type: QuerySchedulesResponse - name: schedules | type: array | description: Retrieved schedules matching the provided query. - name: id | type: string | description: Schedule GUID. - name: externalId | type: string | description: External GUID. You can't update the external GUID. If the schedule belongs to a Bookings staff member, identical to the GUID of the [resource](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members-and-resources/resource-v2/resource-object.md). If the schedule belongs to a Bookings service, identical to the GUID of the [service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/service-object.md). - name: name | type: string | description: Schedule name. Min: 1 character Max: 200 characters - name: status | type: Status | description: Schedule status. Supported values: - `ACTIVE`: You can add events to the schedule or update its fields. - `CANCELLED`: You can't add events to the schedule or update its fields. Default: `ACTIVE` - enum: - UNKNOWN_STATUS: - ACTIVE: You can add events to the schedule or update its fields. - CANCELLED: You can't add events to the schedule or update its fields. - name: timeZone | type: string | description: Time zone the schedule is associated with in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database). For example, `America/New_York`. Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties.md). Min: 1 character Max: 150 characters - name: businessTimeZoneEnabled | type: boolean | description: Whether the schedule's `timeZone` is automatically synced from `timeZone` of the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties.md). Default: `true` - name: defaultTitle | type: string | description: Default `title` for [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object.md) that are added to the schedule. Min: 1 character Max: 200 characters - name: defaultLocation | type: Location | description: Default `location` for [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object.md) that are added to the schedule. - name: id | type: string | description: [Location](https://dev.wix.com/docs/rest/business-management/locations/location-object.md) GUID. Available only for `BUSINESS` locations. - name: type | type: Type | description: Location type. Supported values: + `BUSINESS`: The event is held at a business location. + `CUSTOMER`: The event is held at the customer's location, such as their home or office. + `CUSTOM`: The event is held at an address or venue not tied to the business or customer. - enum: - BUSINESS: The event is held at a business location. - CUSTOMER: The event is held at the customer's location, such as their home or office. - CUSTOM: The event is held at an address or venue not tied to the business or customer. - name: name | type: string | description: Location name. For `BUSINESS` locations, it's identical to the [location](https://dev.wix.com/docs/rest/business-management/locations/location-object.md) `name`. Min: 1 character Max: 150 characters - name: address | type: string | description: Location address. For `BUSINESS` locations, it's identical to the [location](https://dev.wix.com/docs/rest/business-management/locations/location-object.md)'s `formattedAddress`. - name: defaultCapacity | type: integer | description: Default `totalCapacity` for [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object.md) that are added to the schedule. Min: `0` - name: defaultConferencingDetails | type: ConferencingDetails | description: Default `conferencingDetails` for [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object.md) that are added to the schedule. Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions.md#retrieve-personal-information). - name: type | type: Type | description: Conference type. For example, `Zoom`. - enum: UNKNOWN_TYPE, ZOOM, CUSTOM - name: hostUrl | type: string | description: URL used by the host to start the conference. Min: 1 character Max: 2000 characters - name: guestUrl | type: string | description: URL used by a guest to join the conference. Min: 1 character Max: 2000 characters - name: password | type: string | description: Conference password. Min: 1 character Max: 100 characters - name: externalId | type: string | description: Conference GUID in an external system. Min: 1 character Max: 150 characters - name: appId | type: string | description: GUID of the app that's associated with the schedule. You can't update `appId`. If you want to create a schedule and ensure its associated events appear in the [Bookings calendar](https://support.wix.com/en/article/wix-bookings-about-the-wix-booking-calendar), you must provide the Wix Bookings app GUID `13d21c63-b5ec-5912-8397-c3a5ddb27a97`. For schedules from Wix apps, the following values apply: - Wix Bookings: `"13d21c63-b5ec-5912-8397-c3a5ddb27a97"` - Wix Services: `"cc552162-24a4-45e0-9695-230c4931ef40"` - Wix Meetings: `"6646a75c-2027-4f49-976c-58f3d713ed0f"` [Full list of apps created by Wix](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/platform/about-apps-created-by-wix.md). - name: permissions | type: array | description: List of permissions associated with the schedule. Refer to the [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions.md#roles) for more information. Max: 1 permission - name: identity | type: IdentificationData | description: [Wix user](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities.md#wix-users) granted the permission. - ONE-OF: - name: wixUserId | type: string | description: GUID of a Wix user. For example, the site owner or a [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site). - name: role | type: Role | description: Permission role. Supported values: + `WRITER`: Full read and write access. + `COMMENTER`: Full read access, write access limited to `event.notes`. - enum: - WRITER: Full read and write access. - COMMENTER: Full read access, write access limited to `event.notes`. - name: extendedFields | type: ExtendedFields | description: Extensions enabling applications or users to save custom data related to the schedule. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: revision | type: string | description: Revision number, which increments by 1 each time the schedule is updated. To prevent conflicting changes, the current revision must be passed when updating the schedule. Ignored when creating a schedule. - name: createdDate | type: string | description: Date the schedule was created in `YYYY-MM-DDThh:mm:ss.sssZ` format. - name: updatedDate | type: string | description: Date the schedule was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format. - name: pagingMetadata | type: CursorPagingMetadata | description: Paging metadata. - name: count | type: integer | description: Number of schedules returned in the current page of the response. - name: cursors | type: Cursors | description: Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). - name: next | type: string | description: Cursor pointing to next page in the list of results. - name: prev | type: string | description: Cursor pointing to previous page in the list of results. - name: hasNext | type: boolean | description: Indicates if there are more results after the current page. If `true`, another page of results can be retrieved. If `false`, this is the last page. ``` ### Examples ### Query Schedules With PI_FIELDS Queries schedules using the `PI_FIELDS` projection returning fields containing personal information. ```curl curl -X POST \ 'https://www.wixapis.com/calendar/v3/schedules/query' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "fields": [ "PI_FIELDS" ] }' ``` ### Query All Schedules ```curl curl -X POST \ 'https://www.wixapis.com/calendar/v3/schedules/query' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' ``` ### Query Schedules By External ID ```curl curl -X POST \ 'https://www.wixapis.com/calendar/v3/schedules/query' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "query": { "filter": { "externalId": "4187d1f3-38a2-4cfd-b8f1-6333cd012e33" } } }' ``` ### Query Active and Cancelled Schedules ```curl curl -X POST \ 'https://www.wixapis.com/calendar/v3/schedules/query' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "query": { "filter": { "status":{ "$in":[ "ACTIVE", "CANCELLED" ] } } } }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.calendar.SchedulesService.querySchedules(query, options) Description: Retrieves a list of schedules, given the provided paging and filtering. By default only `ACTIVE` schedules are returned, unless you provide a different `status` filter. Currently, you can't sort the response. Query schedules runs with these defaults, which you can override: - `cursorPaging.limit` is `50` To learn how to query schedules, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md). # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: query Method parameters: param name: options | type: QuerySchedulesOptions none - name: fields | type: array | description: Information about which fields containing personal data to return. Refer to the [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions.md) for more information. Supported values: + `PI_FIELDS`: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope. + `OWN_PI_FIELDS`: Returns only fields containing your own personal data. Max: 1 field Default: No personal data is returned. - enum: - PI_FIELDS: Returns all fields with personal data. Your app must have `Read Calendars - Including PI` or `Manage Calendars` permission scope. - OWN_PI_FIELDS: Returns only fields containing your own personal data. param name: query | type: ScheduleQuery | description: TODO Diverge | required: true - name: cursorPaging | type: CursorPaging | description: Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter`. - name: limit | type: integer | description: Number of schedules to return. Min: `1` Max: `100` Default: `50` - name: cursor | type: string | description: Pointer to the next or previous page in the list of results. You can get the relevant cursor token from the `pagingMetadata` object in the previous call's response. Not relevant for the first request. - name: filter | type: object | description: Filter object. See [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md) for more information. Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`. Return type: PROMISE - name: schedules | type: array | description: Retrieved schedules matching the provided query. - name: _id | type: string | description: Schedule GUID. - name: externalId | type: string | description: External GUID. You can't update the external GUID. If the schedule belongs to a Bookings staff member, identical to the GUID of the [resource](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members-and-resources/resource-v2/resource-object.md). If the schedule belongs to a Bookings service, identical to the GUID of the [service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/service-object.md). - name: name | type: string | description: Schedule name. Min: 1 character Max: 200 characters - name: status | type: Status | description: Schedule status. Supported values: - `ACTIVE`: You can add events to the schedule or update its fields. - `CANCELLED`: You can't add events to the schedule or update its fields. Default: `ACTIVE` - enum: - UNKNOWN_STATUS: - ACTIVE: You can add events to the schedule or update its fields. - CANCELLED: You can't add events to the schedule or update its fields. - name: timeZone | type: string | description: Time zone the schedule is associated with in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database). For example, `America/New_York`. Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties.md). Min: 1 character Max: 150 characters - name: businessTimeZoneEnabled | type: boolean | description: Whether the schedule's `timeZone` is automatically synced from `timeZone` of the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties.md). Default: `true` - name: defaultTitle | type: string | description: Default `title` for [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object.md) that are added to the schedule. Min: 1 character Max: 200 characters - name: defaultLocation | type: Location | description: Default `location` for [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object.md) that are added to the schedule. - name: _id | type: string | description: [Location](https://dev.wix.com/docs/rest/business-management/locations/location-object.md) GUID. Available only for `BUSINESS` locations. - name: type | type: Type | description: Location type. Supported values: + `BUSINESS`: The event is held at a business location. + `CUSTOMER`: The event is held at the customer's location, such as their home or office. + `CUSTOM`: The event is held at an address or venue not tied to the business or customer. - enum: - BUSINESS: The event is held at a business location. - CUSTOMER: The event is held at the customer's location, such as their home or office. - CUSTOM: The event is held at an address or venue not tied to the business or customer. - name: name | type: string | description: Location name. For `BUSINESS` locations, it's identical to the [location](https://dev.wix.com/docs/rest/business-management/locations/location-object.md) `name`. Min: 1 character Max: 150 characters - name: address | type: string | description: Location address. For `BUSINESS` locations, it's identical to the [location](https://dev.wix.com/docs/rest/business-management/locations/location-object.md)'s `formattedAddress`. - name: defaultCapacity | type: integer | description: Default `totalCapacity` for [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object.md) that are added to the schedule. Min: `0` - name: defaultConferencingDetails | type: ConferencingDetails | description: Default `conferencingDetails` for [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/event-object.md) that are added to the schedule. Returned only if explicitly requested. For more details, see the [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions.md#retrieve-personal-information). - name: type | type: Type | description: Conference type. For example, `Zoom`. - enum: UNKNOWN_TYPE, ZOOM, CUSTOM - name: hostUrl | type: string | description: URL used by the host to start the conference. Min: 1 character Max: 2000 characters - name: guestUrl | type: string | description: URL used by a guest to join the conference. Min: 1 character Max: 2000 characters - name: password | type: string | description: Conference password. Min: 1 character Max: 100 characters - name: externalId | type: string | description: Conference GUID in an external system. Min: 1 character Max: 150 characters - name: appId | type: string | description: GUID of the app that's associated with the schedule. You can't update `appId`. If you want to create a schedule and ensure its associated events appear in the [Bookings calendar](https://support.wix.com/en/article/wix-bookings-about-the-wix-booking-calendar), you must provide the Wix Bookings app GUID `13d21c63-b5ec-5912-8397-c3a5ddb27a97`. For schedules from Wix apps, the following values apply: - Wix Bookings: `"13d21c63-b5ec-5912-8397-c3a5ddb27a97"` - Wix Services: `"cc552162-24a4-45e0-9695-230c4931ef40"` - Wix Meetings: `"6646a75c-2027-4f49-976c-58f3d713ed0f"` [Full list of apps created by Wix](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/platform/about-apps-created-by-wix.md). - name: permissions | type: array | description: List of permissions associated with the schedule. Refer to the [permissions article](https://dev.wix.com/docs/rest/business-management/calendar/permissions.md#roles) for more information. Max: 1 permission - name: identity | type: IdentificationData | description: [Wix user](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities.md#wix-users) granted the permission. - ONE-OF: - name: wixUserId | type: string | description: GUID of a Wix user. For example, the site owner or a [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site). - name: role | type: Role | description: Permission role. Supported values: + `WRITER`: Full read and write access. + `COMMENTER`: Full read access, write access limited to `event.notes`. - enum: - WRITER: Full read and write access. - COMMENTER: Full read access, write access limited to `event.notes`. - name: extendedFields | type: ExtendedFields | description: Extensions enabling applications or users to save custom data related to the schedule. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: revision | type: string | description: Revision number, which increments by 1 each time the schedule is updated. To prevent conflicting changes, the current revision must be passed when updating the schedule. Ignored when creating a schedule. - name: _createdDate | type: Date | description: Date the schedule was created in `YYYY-MM-DDThh:mm:ss.sssZ` format. - name: _updatedDate | type: Date | description: Date the schedule was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format. - name: pagingMetadata | type: CursorPagingMetadata | description: Paging metadata. - name: count | type: integer | description: Number of schedules returned in the current page of the response. - name: cursors | type: Cursors | description: Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). - name: next | type: string | description: Cursor pointing to next page in the list of results. - name: prev | type: string | description: Cursor pointing to previous page in the list of results. - name: hasNext | type: boolean | description: Indicates if there are more results after the current page. If `true`, another page of results can be retrieved. If `false`, this is the last page. ``` ### Examples ### Query all schedules ```javascript import { schedules } from "@wix/calendar"; async function querySchedules() { const response = await schedules.querySchedules().find(); return response; } /* Promise resolves to: * { * items: [ * { * _id: "132db383-1378-4903-820b-4eebf4242de2", * name: "Hip Hop Groove", * status: "ACTIVE", * timeZone: "Europe/Dublin", * ... * }, * ... * ], * pagingMetadata: { count: 2, hasNext: false }, * ... * } */ ``` ### querySchedules (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { schedules } from '@wix/calendar'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { schedules }, // Include the auth strategy and host as relevant }); async function querySchedules(query,options) { const response = await myWixClient.schedules.querySchedules(query,options); }; ``` ---