> 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 # Method name: queryServiceOptionsAndVariants() # Method package: wixBookingsV2 # Method menu location: wixBookingsV2 --> serviceOptionsAndVariants --> queryServiceOptionsAndVariants # Method Link: https://dev.wix.com/docs/velo/apis/wix-bookings-v2/service-options-and-variants/query-service-options-and-variants.md # Method Description: Retrieves a list of `serviceOptionsAndVariants`, given the provided paging, filtering, and sorting. queryServiceOptionsAndVariants() runs with these defaults, which you can override: - `id` is sorted in `ASC` order - `cursorPaging.limit` is `100` For a detailed list of supported filtering operations see [supported filters](https://dev.wix.com/docs/velo/apis/wix-bookings-v2/service-options-and-variants/introduction.md). |PROPERTY |SUPPORTED FILTERS & SORTING |:---:|:---:| |`_id`|[`eq()`](/service-options-and-variants/service-options-and-variants-list-query-builder/eq),[`in()`](/service-options-and-variants/service-options-and-variants-list-query-builder/in),[`ne()`](/service-options-and-variants/service-options-and-variants-list-query-builder/ne),[`ascending()`](/service-options-and-variants/service-options-and-variants-list-query-builder/ascending),[`descending()`](/service-options-and-variants/service-options-and-variants-list-query-builder/descending)| |`serviceId`|[`eq()`](/service-options-and-variants/service-options-and-variants-list-query-builder/eq),[`in()`](/service-options-and-variants/service-options-and-variants-list-query-builder/in),[`ne()`](/service-options-and-variants/service-options-and-variants-list-query-builder/ne),[`ascending()`](/service-options-and-variants/service-options-and-variants-list-query-builder/ascending),[`descending()`](/service-options-and-variants/service-options-and-variants-list-query-builder/descending)| |`options.values`|[`exists()`](/service-options-and-variants/service-options-and-variants-list-query-builder/exists)| |`options.values.id`|[`hasSome()`](/service-options-and-variants/service-options-and-variants-list-query-builder/has-some)| |`options.values.type`|[`hasSome()`](/service-options-and-variants/service-options-and-variants-list-query-builder/has-some)| |`variants.values`|[`exists()`](/service-options-and-variants/service-options-and-variants-list-query-builder/exists)| |`variants.values.choices.custom`|[`hasSome()`](/service-options-and-variants/service-options-and-variants-list-query-builder/has-some)| |`variants.values.choices.optionId`|[`hasSome()`](/service-options-and-variants/service-options-and-variants-list-query-builder/has-some)| |`variants.values.price.value`|[`hasSome()`](/service-options-and-variants/service-options-and-variants-list-query-builder/has-some)| |`variants.values.price.currency`|[`hasSome()`](/service-options-and-variants/service-options-and-variants-list-query-builder/has-some)| # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## queryServiceOptionsAndVariants example ```javascript import { serviceOptionsAndVariants } from 'wix-bookings.v2'; async function queryServiceOptionsAndVariants() { const { items } = serviceOptionsAndVariants.queryServiceOptionsAndVariants().find(); } ``` ## queryServiceOptionsAndVariants example for exporting from backend code ```javascript import { serviceOptionsAndVariants } from 'wix-bookings.v2'; import { webMethod, Permissions } from 'wix-web-module'; export const queryServiceOptionsAndVariants = webMethod( Permissions.Anyone, async (query) => { try { const result = await serviceOptionsAndVariants.queryServiceOptionsAndVariants(query); return result; } catch (error) { console.error(error); // Handle the error } } ); ``` ---