> 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 ## Resource: Wix Bookings Collections ## Article: Wix Bookings Collections ## Article Link: https://dev.wix.com/docs/api-reference/business-solutions/cms/collection-management/wix-app-collections/wix-bookings-collections.md ## Article Content: # Wix Bookings Collections This article explains the fixed permissions and field structure for the following Wix Bookings collections: - [Schedule](#schedule) - [Services](#services) - [Staff](#staff) > **Note:** These collections are system collections, so you can't change their permissions in the CMS.
**Tip:** Before continuing, make sure you've read [Working with Wix App Collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code.md).
## Schedule This section explains the permissions and fields available in the Schedule collection. To use the Schedule collection in code, refer to it as `Bookings/Schedule`. ::::tabs :::REST_TAB ``` curl -X POST \ 'https://www.wixapis.com/wix-data/v2/items/query' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "dataCollectionId": "Bookings/Schedule", "query": {} }' ``` ::: :::SDK_TAB ```js import { items } from "@wix/data"; items.query("Bookings/Schedule") .find() .then((results) => { // handle the results }); ``` ::: :::: ### Permissions The Schedule collection has the following [permissions](https://support.wix.com/en/article/cms-collection-permissions-overview): - `read`: `ANYONE` - `create`: None - `update`: None - `remove`: None ### Fields This section describes each field in this collection and its properties. > **Note:** This app collection contains read-only fields that cannot be managed from the collection. You can update the fields from the relevant app in your site’s [dashboard](https://support.wix.com/en/article/accessing-your-sites-dashboard). Each field heading shows the field name followed by the field ID in parentheses, in the format "fieldName (`fieldId`)". > **Note:** You cannot create a dynamic page based on the Schedule collection. #### ID (`_id`) **Description:** Displays the service name from the Services collection. **Type:** Reference **Can connect to data:** Yes **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Service Schedule (`serviceSchedule`) **Description:** A JSON object that represents the schedule that has been defined for this service. **Type:** Reference **Can connect to data:** Yes **Sortable:** No **Filter Support:** No **Read-only:** Yes ```json { "mon": [ { "staffid": "7b14c662-ef34-439a-45a6-8g43b8e15ba7", "startTime": "10:00:00:000", "endTime": "11:30:00:000" } ... ], "tue": [], ... } ``` #### Service Duration in Minutes (`serviceDurationInMinutes`) **Description:** The duration of this service, in minutes. For example, if your class lasts an hour and a half, this field displays 90. **Type:** Number **Can connect to data:** Yes **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Repeats Every X Weeks (`repeatsEveryXWeeks`) **Description:** How often this service recurs. For example, if the sessions repeat every 2 weeks, this field displays 2. **Type:** Number **Can connect to data:** Yes **Sortable:** No **Filter Support:** No **Read-only:** Yes ## Services This section explains the permissions and fields available in the Services collection. To use the Services collection in code, refer to it as `Bookings/Services`. ::::tabs :::REST_TAB ``` curl -X POST \ 'https://www.wixapis.com/wix-data/v2/items/query' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "dataCollectionId": "Bookings/Services", "query": {} }' ``` ::: :::SDK_TAB ```js import { items } from "@wix/data"; items.query("Bookings/Services") .find() .then((results) => { // handle the results }); ``` ::: :::: ### Permissions The Services collection has the following [permissions](https://support.wix.com/en/article/cms-collection-permissions-overview): - `read`: `ANYONE` - `create`: None - `update`: None - `remove`: None ### Fields This section describes each field in this collection and its properties. > **Note:** This app collection contains read-only fields that cannot be managed from the collection. You can update the fields from the relevant app in your site’s [dashboard](https://support.wix.com/en/article/accessing-your-sites-dashboard). Each field heading shows the field name followed by the field ID in parentheses, in the format "fieldName (`fieldId`)".
**Deprecation Notice:** As of January 31, 2025, Wix Bookings [integrates with Wix Forms APIs](https://dev.wix.com/docs/api-reference/business-solutions/bookings/wix-forms-integration.md), which affects how you can manage booking form data. This integration means the `form` fields aren't populated for services created after the integration. Services created before the integration also lose this data when they're updated. To reliably manage booking form data, follow [these sample flows](https://dev.wix.com/docs/api-reference/business-solutions/bookings/wix-forms-integration.md#sample-flows).
#### ID (`_id`) **Description:** The service ID that was created by the server. This is a system field and is hidden by default. **Type:** Text **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Service Name (`serviceName`) **Description:** The name of the service. **Type:** Text **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Service Type (`serviceType`) **Description:** The type of service offered (Appointment, Class, Course). **Type:** Text **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Service Image (`imageURL`) **Description:** Displays the photo for this service as it appears in the Booking Manager. **Type:** Image **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Service Description (`description`) **Description:** The service description. **Type:** Text **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Service TagLine (`tagLine`) **Description:** The service tagline. **Type:** Text **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Slug (`slug`) **Description:** The service's slug, which is its URL-friendly name that is unique across the site. **Type:** Text **Can connect to data:** Yes **Can use in dynamic page URL:** Yes **Sortable:** Yes **Filter Support:** Yes **Read-only:** Yes #### Service Page URL (`servicePageURL`) **Description:** The link to the service's page on your site. **Type:** URL **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Booking Flow Entry URL (`bookingFlowEntryURL`) **Description:** The link to the service's calendar page for appointments & classes, or to the service's page for courses. **Type:** URL **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Price Summary (`priceSummary`) **Description:** The price summary, as follows: - For paid bookings, displays "Amount + Currency". - For free bookings, displays "Free" or any custom text specified. **Type:** Text **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Payment Type (`paymentType`) **Description:** The payment method defined for this service. **Type:** Text **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Part of Pricing Plan (`partOfPricingPlan`) **Description:** Indicates whether the service is associated with a pricing plan, such as a membership deal. **Type:** Boolean **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Price Amount (`priceAmount`) **Description:** The cost of a single session of this service. **Type:** Number **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Deposit Amount (`depositAmount`) **Description:** The deposit required to book this service, if any. **Type:** Number **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Currency (`currency`) **Description:** The currency for this service. **Type:** Text **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Max Session Capacity (`maxSessionCapacity`) **Description:** The maximum number of participants that can be booked for a single session of this service. For appointments, this value is always one. **Type:** Number **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Max Number of Participants Per Reservation (`maxNumberOfParticipantsPerReservation`) **Description:** The number of participants a single customer can sign up for one session of this service. For example, you can define that one customer can book up to 3 participants for a given session. For appointments, this value is always one. **Type:** Number **Can connect to data:** Yes **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No #### Form Fields (`form`) **Description:** List of additional values needed for booking a session of the service.
**Breaking change:** This field isn't populated for services created after the [Wix Forms integration](https://dev.wix.com/docs/api-reference/business-solutions/bookings/wix-forms-integration.md). Services created before the integration may still have this data, but it is lost when the service is updated. To reliably manage booking form data, follow [these sample flows](https://dev.wix.com/docs/api-reference/business-solutions/bookings/wix-forms-integration.md#sample-flows).
**Type:** Reference **Can connect to data:** No **Can use in dynamic page URL:** No **Sortable:** No **Filter Support:** No **Read-only:** Yes ```json { "fields": [ { "id": "20657271-c55f-43d6-adfd-39b7acc38e11", "type": "text", "label": "Name", "constraints": { "required": true } }, { "id": "87edd4e0-42b1-4802-8766-584f3eeb6436", "type": "email", "label": "Email", "constraints": { "required": true } }, { "id": "78bdd186-648e-420d-b8c7-59ebbadb6a4b", "type": "tel", "label": "Phone Number", "constraints": { "required": false } }, { "id": "2f37d76d-3462-466f-b1f2-e05ebf1889ad", "type": "text", "label": "Add Your Message", "constraints": { "required": false } }, { "id": "61997cef-9fa2-4f67-9773-67ade57f8754", "type": "text", "label": "Street", "constraints": { "required": true } }, { "id": "1a4d2b86-bb03-4f3a-ac18-3055e284066b", "type": "text", "label": "Apt. / Floor No.", "constraints": { "required": false } }, { "id": "cf34b269-ddd7-4290-aa2e-5b535f5e9fbe", "type": "text", "label": "City", "constraints": { "required": true } } ] } ``` ## Staff This section explains the permissions and fields available in the Staff collection. To use the Staff collection in code, refer to it as `Bookings/Staff`. ::::tabs :::REST_TAB ``` curl -X POST \ 'https://www.wixapis.com/wix-data/v2/items/query' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "dataCollectionId": "Bookings/Staff", "query": {} }' ``` ::: :::SDK_TAB ```js import { items } from "@wix/data"; items.query("Bookings/Staff") .find() .then((results) => { // handle the results }); ``` ::: :::: ### Permissions The Staff collection has the following [permissions](https://support.wix.com/en/article/cms-collection-permissions-overview): - `read`: `ANYONE` - `create`: None - `update`: None - `remove`: None ### Fields This section describes each field in this collection and its properties. > **Note:** This app collection contains read-only fields that cannot be managed from the collection. You can update the fields from the relevant app in your site’s [dashboard](https://support.wix.com/en/article/accessing-your-sites-dashboard). Each field heading shows the field name followed by the field ID in parentheses, in the format "fieldName (`fieldId`)". > **Note:** You cannot create a dynamic page based on the Staff collection. #### ID (`_id`) **Description:** Unique staff member ID. **Type:** Text **Can connect to data:** Yes **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Staff Name (`name`) **Description:** The staff member's name. **Type:** Text **Can connect to data:** Yes **Sortable:** No **Filter Support:** No **Read-only:** Yes #### Staff Image (`image`) **Description:** The staff member's image. **Type:** Image **Can connect to data:** Yes **Sortable:** No **Filter Support:** No **Read-only:** Yes