> 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: Supported Filters ## Article: Supported Filters ## Article Link: https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/supported-filters.md ## Article Content: # Service Variants and Options: Supported Filters and Sorting This article covers field support for filtering and sorting in *Query Service Options And Variants* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/query-service-options-and-variants.md) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/query-service-options-and-variants.md)). ## Filtering The following table shows field support for filters for the `serviceOptionsAndVariants` object: | Field | Supported Filters | Sortable | | ----- | ----------------- | -------- | | `id` | `$eq`, `$ne`, `$in` | Sortable | | `serviceId` | `$eq`, `$ne`, `$in` | Sortable | | `options.values` | `$exists` | | | `options.values.id` | `$hasSome`, `$hasAll` | | | `options.values.type` | `$hasSome`, `$hasAll` | | | `options.values.optionSpecificData.customData.name` | `$hasSome`, `$hasAll` | | | `variants.values` | `$exists` | | | `variants.values.choices.choice.custom.value` | `$hasSome`, `$hasAll` | | | `variants.values.price` | `$hasSome`, `$hasAll` | | | `variants.values.choices.optionId` | `$hasSome`, `$hasAll` | | ## Sorting *Query Service Options And Variants* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/query-service-options-and-variants.md) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/query-service-options-and-variants.md)) runs with this default: - Sorted by `id` in `ASC` order. - `cursorPaging.limit` set to `100`. Specify the `sort` object in the following format: ```json "sort" : [ { "fieldName":"sortField1", "order":"ASC" }, { "fieldName":"sortField2", "order":"ASC" }, ] ``` ## Paging By default `pagingMetadata.cursors` are returned, unless you specifically pass `query.paging`. The maximum for `cursorPaging.limit` is `100`. If you pass a cursor token that you've received in a previous query response, passing additional sort or filter information results in an invalid cursor error. This is because the received cursor token already holds all the needed information for sort and filter. Changing the sort and filter properties during the span of a cursor query isn't supported. You may provide a different limit though. ## See also + *API Query Language* ([SDK](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language.md) | [REST](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language.md)) + *Sorting and Paging* ([REST](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging.md))