@wix/himalaya-cli 0.1538.0 → 0.1540.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/builder.d.ts +5 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/state/src/index.d.ts +7 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/schema.d.ts +7 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/display.d.ts +4 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/state.mjs +23 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-events.mjs +1 -0
- package/dist/cli.mjs +2184 -1825
- package/dist/preview-assets.generated.bin +0 -0
- package/guides/component-reference.json +29 -42
- package/guides/component-reference.md +67 -14
- package/guides/dynamic-list.service.ts +7 -1
- package/guides/form-submit.service.ts +7 -1
- package/guides/himi-json-output.md +7 -0
- package/guides/index.json +2 -2
- package/guides/recipe-four-state.md +10 -1
- package/guides/recipe-search.md +9 -7
- package/guides/release-notes.md +17 -0
- package/guides/sdk-reference.json +966 -46
- package/guides/search-list.service.ts +7 -1
- package/guides/templates.md +19 -0
- package/package.json +2 -2
- package/stdlib/design-kits/dark-luxe.json +4 -0
- package/templates/beauty-salon/dev/index.ts +5021 -4164
- package/templates/beauty-salon/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/beauty-salon/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/beauty-salon/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/beauty-salon/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/beauty-salon/tier5-src/_shared/store-order-presentation.ts +56 -0
- package/templates/beauty-salon/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/beauty-salon/tier5-src/himi-branded-lite-category/index.ts +196 -0
- package/templates/beauty-salon/tier5-src/himi-branded-lite-order/index.ts +29 -6
- package/templates/beauty-salon/tier5-src/himi-branded-lite-orders/index.ts +58 -5
- package/templates/beauty-salon/tier5-src/wix-spaces-collections/index.ts +37 -88
- package/templates/beauty-salon-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/beauty-salon-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/beauty-salon-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/branded-lite/dev/index.ts +4933 -4079
- package/templates/branded-lite/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/branded-lite/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/branded-lite/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/branded-lite/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/branded-lite/tier5-src/_shared/store-order-presentation.ts +56 -0
- package/templates/branded-lite/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/branded-lite/tier5-src/himi-branded-lite-category/index.ts +196 -0
- package/templates/branded-lite/tier5-src/himi-branded-lite-order/index.ts +29 -6
- package/templates/branded-lite/tier5-src/himi-branded-lite-orders/index.ts +58 -5
- package/templates/branded-lite/tier5-src/wix-spaces-collections/index.ts +37 -88
- package/templates/branded-lite/tokens.json +1 -1
- package/templates/brandy/tokens.json +1 -1
- package/templates/community-club/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/community-club/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/community-club/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/community-club/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/community-club/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/community-club-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/community-club-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/community-club-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/events-meetups/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/events-meetups/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/events-meetups/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/events-meetups/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/events-meetups/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/events-meetups-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/events-meetups-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/events-meetups-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/gym-fitness/dev/index.ts +5018 -4161
- package/templates/gym-fitness/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/gym-fitness/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/gym-fitness/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/gym-fitness/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/gym-fitness/tier5-src/_shared/store-order-presentation.ts +56 -0
- package/templates/gym-fitness/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/gym-fitness/tier5-src/himi-branded-lite-category/index.ts +196 -0
- package/templates/gym-fitness/tier5-src/himi-branded-lite-order/index.ts +29 -6
- package/templates/gym-fitness/tier5-src/himi-branded-lite-orders/index.ts +58 -5
- package/templates/gym-fitness/tier5-src/wix-spaces-collections/index.ts +37 -88
- package/templates/gym-fitness-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/gym-fitness-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/gym-fitness-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/nonprofit-cause/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/nonprofit-cause/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/nonprofit-cause/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/nonprofit-cause/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/nonprofit-cause/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/nonprofit-cause-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/nonprofit-cause-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/nonprofit-cause-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/owner-lite/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/owner-lite/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/owner-lite/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/podcast-creator/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/podcast-creator/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/podcast-creator/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/podcast-creator/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/podcast-creator/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/podcast-creator/tokens.json +4 -4
- package/templates/podcast-creator-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/podcast-creator-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/podcast-creator-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/podcast-creator-owner/tokens.json +4 -4
- package/templates/portfolio-creative/dev/index.ts +5017 -4157
- package/templates/portfolio-creative/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/portfolio-creative/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/portfolio-creative/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/portfolio-creative/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/portfolio-creative/tier5-src/_shared/store-order-presentation.ts +56 -0
- package/templates/portfolio-creative/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/portfolio-creative/tier5-src/himi-branded-lite-category/index.ts +196 -0
- package/templates/portfolio-creative/tier5-src/himi-branded-lite-order/index.ts +29 -6
- package/templates/portfolio-creative/tier5-src/himi-branded-lite-orders/index.ts +58 -5
- package/templates/portfolio-creative/tier5-src/wix-spaces-collections/index.ts +37 -88
- package/templates/portfolio-creative-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/portfolio-creative-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/portfolio-creative-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/restaurant/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/restaurant/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/restaurant/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/restaurant/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/restaurant/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/restaurant/tokens.json +4 -4
- package/templates/restaurant-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/restaurant-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/restaurant-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/retail-store/dev/index.ts +5159 -4302
- package/templates/retail-store/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/retail-store/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/retail-store/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/retail-store/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/retail-store/tier5-src/_shared/store-order-presentation.ts +56 -0
- package/templates/retail-store/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/retail-store/tier5-src/himi-branded-lite-category/index.ts +196 -0
- package/templates/retail-store/tier5-src/himi-branded-lite-order/index.ts +29 -6
- package/templates/retail-store/tier5-src/himi-branded-lite-orders/index.ts +58 -5
- package/templates/retail-store/tier5-src/wix-spaces-collections/index.ts +37 -88
- package/templates/retail-store-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/retail-store-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/retail-store-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/yoga-studio/dev/index.ts +0 -3
- package/templates/yoga-studio/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/yoga-studio/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/yoga-studio/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/yoga-studio/tier5-src/_shared/himi-store-categories.ts +18 -12
- package/templates/yoga-studio/tier5-src/_shared/wix-service-price.ts +4 -2
- package/templates/yoga-studio-owner/tier5-src/_shared/collection-contract.ts +9 -3
- package/templates/yoga-studio-owner/tier5-src/_shared/collection-service.ts +6 -3
- package/templates/yoga-studio-owner/tier5-src/_shared/engine-intl.ts +5 -2
- package/templates/beauty-salon/tier5-src/wix-spaces-collection-detail/index.ts +0 -170
- package/templates/branded-lite/tier5-src/wix-spaces-collection-detail/index.ts +0 -170
- package/templates/gym-fitness/tier5-src/wix-spaces-collection-detail/index.ts +0 -170
- package/templates/portfolio-creative/tier5-src/wix-spaces-collection-detail/index.ts +0 -170
- package/templates/retail-store/tier5-src/wix-spaces-collection-detail/index.ts +0 -170
|
@@ -123,6 +123,24 @@
|
|
|
123
123
|
"kind": "reexport",
|
|
124
124
|
"jsdoc": "",
|
|
125
125
|
"decl": "export {\n validate,\n isValid as isValidValue,\n validators,\n validateAll,\n type ValidationFailure,\n type ValidationFailureRule,\n} from \"@himalaya/core/validation\";"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "LoadErrorKind",
|
|
129
|
+
"kind": "type",
|
|
130
|
+
"jsdoc": "",
|
|
131
|
+
"decl": "export type LoadErrorKind = \"offline\" | \"server\" | \"permission\" | \"signIn\" | \"membership\";"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "classifyLoadError",
|
|
135
|
+
"kind": "function",
|
|
136
|
+
"jsdoc": "/**\n * Classify a failed load. `authState` is what the app knows about the session: a 401 or\n * 403 means \"sign in\" or \"no permission\" depending on it. Anything unrecognised is\n * `\"server\"` — a bug or a malformed row is not the user's connection.\n */",
|
|
137
|
+
"decl": "export function classifyLoadError(\n e: unknown,\n authState: \"signedIn\" | \"signedOut\" | \"unknown\" = \"unknown\",\n): LoadErrorKind;"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "'./connectivity.js'",
|
|
141
|
+
"kind": "reexport",
|
|
142
|
+
"jsdoc": "",
|
|
143
|
+
"decl": "export { connectivity, requireConnectivity } from './connectivity.js';"
|
|
126
144
|
}
|
|
127
145
|
]
|
|
128
146
|
},
|
|
@@ -1131,7 +1149,7 @@
|
|
|
1131
1149
|
"name": "TopBarConfig",
|
|
1132
1150
|
"kind": "interface",
|
|
1133
1151
|
"jsdoc": "/** The shell-owned top bar. The shell paints\n * `ScreenDescriptor.title` and computes the leading slot (back XOR menu) from\n * nav depth; this adds the trailing action cluster + leading/style overrides.\n * Lives on `ScreenDescriptor.topBar` (authoritative) and\n * `NavigationConfig.topBarDefault` (app-level fallback, fully replaced). */",
|
|
1134
|
-
"decl": "export interface TopBarConfig {\n /** Trailing (right-edge) actions, authored order = leading→trailing. */\n actions?: TopBarAction[];\n /** Leading override: \"\" | \"auto\" (shell-computed) | \"back\" | \"menu\" | \"none\". */\n leading?: string;\n /** Content-under-bar: \"\" | \"opaque\" (default) | \"transparent\" | \"immersive\". */\n style?: string;\n /** Toolbar items (drawn after the legacy `actions`). */\n items?: ToolbarItem[];\n /** \"\" / \"automatic\" (default) | \"large\" | \"inline\". */\n titleDisplay?: string;\n /** The literal subtitle (the fallback for `subtitlePath`). */\n subtitle?: string;\n /** \"\" / \"visible\" (default) | \"hidden\". */\n visibility?: string;\n /** Bar fill token. iOS 26 keeps the system glass (amendment R12). */\n background?: TokenRef;\n /** \"Native top-bar search\" — the screen's search, drawn by whoever draws its bar natively (an embed's host\n * today: iOS `himalayaEmbedSearch`, Android `ProvideHimalayaEmbedSearch`). Read per screen only. */\n searchable?: SearchableConfig;\n /** amendment — the screen's logo; overrides `NavigationConfig.topBarLogo`. */\n logo?: TopBarLogo;\n /** amendment — the title as a menu. */\n titleMenu?: TopBarTitleMenu;\n /** amendment — live subtitle (`$service:`); `subtitle` is the fallback. */\n subtitlePath?: string;\n /** amendment — \"\" / \"pinned\" (default) | \"hide_on_scroll\". */\n scrollBehavior?: string;\n /** amendment — truthy ⇒ leaving the presentation asks to discard. Unset/unresolved ⇒ false. */\n dirtyPath?: string;\n}"
|
|
1152
|
+
"decl": "export interface TopBarConfig {\n /** Trailing (right-edge) actions, authored order = leading→trailing. */\n actions?: TopBarAction[];\n /** Leading override: \"\" | \"auto\" (shell-computed) | \"back\" | \"menu\" | \"none\". */\n leading?: string;\n /** Content-under-bar: \"\" | \"opaque\" (default) | \"transparent\" | \"immersive\". */\n style?: string;\n /** Toolbar items (drawn after the legacy `actions`). */\n items?: ToolbarItem[];\n /** \"\" / \"automatic\" (default) | \"large\" | \"inline\". */\n titleDisplay?: string;\n /** The literal subtitle (the fallback for `subtitlePath`). */\n subtitle?: string;\n /** \"\" / \"visible\" (default) | \"hidden\". */\n visibility?: string;\n /** Bar fill token. iOS 26 keeps the system glass (amendment R12). */\n background?: TokenRef;\n /** \"Native top-bar search\" — the screen's search, drawn by whoever draws its bar natively (an embed's host\n * today: iOS `himalayaEmbedSearch`, Android `ProvideHimalayaEmbedSearch`). Read per screen only. */\n searchable?: SearchableConfig;\n /** amendment — the screen's logo; overrides `NavigationConfig.topBarLogo`. */\n logo?: TopBarLogo;\n /** amendment — the title as a menu. */\n titleMenu?: TopBarTitleMenu;\n /** amendment — live subtitle (`$service:`); `subtitle` is the fallback. */\n subtitlePath?: string;\n /** amendment — \"\" / \"pinned\" (default) | \"hide_on_scroll\". */\n scrollBehavior?: string;\n /** amendment — truthy ⇒ leaving the presentation asks to discard. Unset/unresolved ⇒ false. */\n dirtyPath?: string;\n /** amendment — live `visibility` (`$service:`). Resolves to \"visible\" | \"hidden\";\n * anything else, or unresolved, falls back to `visibility`. Not a truthy boolean. */\n visibilityPath?: string;\n}"
|
|
1135
1153
|
},
|
|
1136
1154
|
{
|
|
1137
1155
|
"name": "SplashConfig",
|
|
@@ -1197,7 +1215,7 @@
|
|
|
1197
1215
|
"name": "ToolbarItem",
|
|
1198
1216
|
"kind": "interface",
|
|
1199
1217
|
"jsdoc": "/** One top-bar item. Test id `toolbar.<id>`\n * (`toolbar-<id>` on web and React Native). Every tap carries an existing `Action`\n *. Bindings are `$service:` sentinels resolved by the screen host. */",
|
|
1200
|
-
"decl": "export interface ToolbarItem {\n id: string;\n /** \"leading\" | \"trailing\" (default) | \"principal\" | \"bottom\" | \"keyboard\" | \"overflow\". */\n placement?: string;\n /** Text button when there is no icon; the accessible name always. */\n label?: string;\n icon?: IconRef;\n onTap?: Action;\n /** \"\" | \"cancel\" | \"confirm\" | \"destructive\". */\n role?: string;\n disabled?: boolean;\n /** OR'd with `disabled`. For Save, bind \"nothing to save\" (e.g. `cannotSave`), never the dirty flag. */\n disabledPath?: string;\n /** Non-empty ⇒ the item opens a menu. */\n menu?: MenuItem[];\n /** \"principal\" only: a custom title view. */\n content?: Component;\n /** Truthy ⇒ a progress indicator replaces the item. Unset/unresolved ⇒ false. */\n loadingPath?: string;\n /** Set ⇒ the item draws an avatar; `label` stays the accessible name (\"Profile\" by default). */\n avatar?: ToolbarAvatar;\n /** Live label; `label` is the fallback. */\n labelPath?: string;\n}"
|
|
1218
|
+
"decl": "export interface ToolbarItem {\n id: string;\n /** \"leading\" | \"trailing\" (default) | \"principal\" | \"bottom\" | \"keyboard\" | \"overflow\". */\n placement?: string;\n /** Text button when there is no icon; the accessible name always. */\n label?: string;\n icon?: IconRef;\n onTap?: Action;\n /** \"\" | \"cancel\" | \"confirm\" | \"destructive\". */\n role?: string;\n disabled?: boolean;\n /** OR'd with `disabled`. For Save, bind \"nothing to save\" (e.g. `cannotSave`), never the dirty flag. */\n disabledPath?: string;\n /** Non-empty ⇒ the item opens a menu. */\n menu?: MenuItem[];\n /** \"principal\" only: a custom title view. */\n content?: Component;\n /** Truthy ⇒ a progress indicator replaces the item. Unset/unresolved ⇒ false. */\n loadingPath?: string;\n /** Set ⇒ the item draws an avatar; `label` stays the accessible name (\"Profile\" by default). */\n avatar?: ToolbarAvatar;\n /** Live label; `label` is the fallback. */\n labelPath?: string;\n /** Long press (touch), secondary click (pointer) or the \"More options\" accessibility action.\n * Never also fires `onTap`; ignored while disabled or loading, in More Actions, and with a `menu`. */\n onLongPress?: Action;\n}"
|
|
1201
1219
|
},
|
|
1202
1220
|
{
|
|
1203
1221
|
"name": "ToolbarAvatar",
|
|
@@ -1987,7 +2005,7 @@
|
|
|
1987
2005
|
"name": "IAP_CATALOG_KINDS",
|
|
1988
2006
|
"kind": "const",
|
|
1989
2007
|
"jsdoc": "/** The Wix entity types `himi store iap` writes into its Wix→Apple mapping, so a mapping\n * backend can serve that export without translating kinds. */",
|
|
1990
|
-
"decl": "export const IAP_CATALOG_KINDS = [\"onlineProgram\", \"storesProduct\", \"pricingPlan\"] as const;"
|
|
2008
|
+
"decl": "export const IAP_CATALOG_KINDS = [\"onlineProgram\", \"storesProduct\", \"pricingPlan\", \"bookingsService\", \"eventsTicket\"] as const;"
|
|
1991
2009
|
},
|
|
1992
2010
|
{
|
|
1993
2011
|
"name": "IapCatalogKind",
|
|
@@ -2119,7 +2137,19 @@
|
|
|
2119
2137
|
"name": "AppleSaleRule",
|
|
2120
2138
|
"kind": "interface",
|
|
2121
2139
|
"jsdoc": "/** How the App Store sells one vertical's Wix item: the purchases catalog's `appProductId` for it, and\n * the only product type the purchase flow sells it as. */",
|
|
2122
|
-
"decl": "export interface AppleSaleRule {\n appProductId(entityId: string): string;\n productType: \"NON_CONSUMABLE\";\n}"
|
|
2140
|
+
"decl": "export interface AppleSaleRule {\n appProductId(entityId: string): string;\n productType: \"NON_CONSUMABLE\" | \"CONSUMABLE\";\n}"
|
|
2141
|
+
},
|
|
2142
|
+
{
|
|
2143
|
+
"name": "BOOKINGS_APPLE_SALES_ENABLED",
|
|
2144
|
+
"kind": "const",
|
|
2145
|
+
"jsdoc": "",
|
|
2146
|
+
"decl": "export const BOOKINGS_APPLE_SALES_ENABLED = false;"
|
|
2147
|
+
},
|
|
2148
|
+
{
|
|
2149
|
+
"name": "EVENTS_APPLE_SALES_ENABLED",
|
|
2150
|
+
"kind": "const",
|
|
2151
|
+
"jsdoc": "",
|
|
2152
|
+
"decl": "export const EVENTS_APPLE_SALES_ENABLED = false;"
|
|
2123
2153
|
},
|
|
2124
2154
|
{
|
|
2125
2155
|
"name": "STORES_ITEM_PAYMENT_ENABLED",
|
|
@@ -2145,11 +2175,17 @@
|
|
|
2145
2175
|
"jsdoc": "/** One-time unlimited plans sell through the App Store. Proven live in Sandbox on 2026-10-19: a member's\n * online plan order is charged with one cashier item whose id is the plan id, so StartPayment maps it to the\n * plan's Apple product, and the order reads ACTIVE and PAID. Recurring and time-limited plans stay outside\n * this rule; their Billing lifecycle is unfinished. */",
|
|
2146
2176
|
"decl": "export const PRICING_PLAN_APPLE_SALES_ENABLED = true;"
|
|
2147
2177
|
},
|
|
2178
|
+
{
|
|
2179
|
+
"name": "AppleSaleOptions",
|
|
2180
|
+
"kind": "interface",
|
|
2181
|
+
"jsdoc": "/**\n * The one definition `himi store iap connect` writes mappings by and the mapping source reads them by,\n * keyed by catalog kind. wix-iap StartPayment maps the cashier order's single item id, and Online\n * Programs builds that order with the program id as the item id; programs are one-time unlocks.\n * Wix Stores and one-time unlimited Pricing Plans join only with their independent switches.\n */",
|
|
2182
|
+
"decl": "export interface AppleSaleOptions {\n storesAppleSalesEnabled?: boolean;\n storesItemPaymentEnabled?: boolean;\n pricingPlanAppleSalesEnabled?: boolean;\n bookingsAppleSalesEnabled?: boolean;\n eventsAppleSalesEnabled?: boolean;\n}"
|
|
2183
|
+
},
|
|
2148
2184
|
{
|
|
2149
2185
|
"name": "appleSaleRules",
|
|
2150
2186
|
"kind": "function",
|
|
2151
|
-
"jsdoc": "
|
|
2152
|
-
"decl": "export function appleSaleRules(options:
|
|
2187
|
+
"jsdoc": "/** Resolves runtime sale eligibility independently from the catalog's provisioning support. */",
|
|
2188
|
+
"decl": "export function appleSaleRules(options: AppleSaleOptions = {}): Readonly<Record<string, AppleSaleRule>>;"
|
|
2153
2189
|
},
|
|
2154
2190
|
{
|
|
2155
2191
|
"name": "APPLE_SALE_RULES",
|
|
@@ -2157,6 +2193,12 @@
|
|
|
2157
2193
|
"jsdoc": "",
|
|
2158
2194
|
"decl": "export const APPLE_SALE_RULES = appleSaleRules();"
|
|
2159
2195
|
},
|
|
2196
|
+
{
|
|
2197
|
+
"name": "APPLE_PROVISIONING_RULES",
|
|
2198
|
+
"kind": "const",
|
|
2199
|
+
"jsdoc": "/** Catalog setup may precede activation; purchases still require the independent sales switches. */",
|
|
2200
|
+
"decl": "export const APPLE_PROVISIONING_RULES: Readonly<Record<string, AppleSaleRule>> = {\n ...APPLE_SALE_RULES, bookingsService: ATTENDANCE_SALE_RULE, eventsTicket: ATTENDANCE_SALE_RULE,\n};"
|
|
2201
|
+
},
|
|
2160
2202
|
{
|
|
2161
2203
|
"name": "HostCallExpectation",
|
|
2162
2204
|
"kind": "interface",
|
|
@@ -2197,7 +2239,7 @@
|
|
|
2197
2239
|
"name": "StartPaymentErrorCode",
|
|
2198
2240
|
"kind": "type",
|
|
2199
2241
|
"jsdoc": "",
|
|
2200
|
-
"decl": "export type StartPaymentErrorCode = \"NOT_PENDING\" | \"WRONG_PAYMENT_METHOD\" | \"NOT_ORDER_BUYER\" | \"UNSUPPORTED_ORDER\"\n | \"PRODUCT_NOT_AVAILABLE\" | \"ALREADY_OWNED\";"
|
|
2242
|
+
"decl": "export type StartPaymentErrorCode = \"NOT_PENDING\" | \"WRONG_PAYMENT_METHOD\" | \"NOT_ORDER_BUYER\" | \"UNSUPPORTED_ORDER\"\n | \"PRODUCT_NOT_AVAILABLE\" | \"ALREADY_OWNED\" | \"APP_NOT_CONFIGURED\" | \"SUBSCRIPTION_NOT_IN_APP\" | \"ALREADY_SUBSCRIBED\";"
|
|
2201
2243
|
},
|
|
2202
2244
|
{
|
|
2203
2245
|
"name": "StartItemPaymentErrorCode",
|
|
@@ -2328,6 +2370,54 @@
|
|
|
2328
2370
|
"jsdoc": "/** Whether the host fences protected calls to the captured member (`identityBound`). Web does not. */",
|
|
2329
2371
|
"decl": "export function readIdentityBound(): boolean;"
|
|
2330
2372
|
},
|
|
2373
|
+
{
|
|
2374
|
+
"name": "AppleAttendanceRoute",
|
|
2375
|
+
"kind": "type",
|
|
2376
|
+
"jsdoc": "",
|
|
2377
|
+
"decl": "export type AppleAttendanceRoute = \"appleIap\" | \"wixPayments\" | \"decide\";"
|
|
2378
|
+
},
|
|
2379
|
+
{
|
|
2380
|
+
"name": "BookingAttendance",
|
|
2381
|
+
"kind": "interface",
|
|
2382
|
+
"jsdoc": "",
|
|
2383
|
+
"decl": "export interface BookingAttendance extends AttendancePrice {\n kind: \"bookingsService\";\n type?: string;\n capacity?: number;\n maxParticipantsPerBooking?: number;\n conferencing?: boolean;\n locations?: readonly string[];\n onlineBooking?: boolean;\n onlinePayment?: boolean;\n deposit?: boolean;\n}"
|
|
2384
|
+
},
|
|
2385
|
+
{
|
|
2386
|
+
"name": "TicketAttendance",
|
|
2387
|
+
"kind": "interface",
|
|
2388
|
+
"jsdoc": "",
|
|
2389
|
+
"decl": "export interface TicketAttendance extends AttendancePrice {\n kind: \"eventsTicket\";\n location?: string;\n registration?: string;\n eventStatus?: string;\n saleStatus?: string;\n}"
|
|
2390
|
+
},
|
|
2391
|
+
{
|
|
2392
|
+
"name": "classifyForApple",
|
|
2393
|
+
"kind": "function",
|
|
2394
|
+
"jsdoc": "/** Delivery metadata decides the route; online booking and online payment alone never do. */",
|
|
2395
|
+
"decl": "export function classifyForApple(item: BookingAttendance | TicketAttendance, currency: string): AppleAttendanceRoute;"
|
|
2396
|
+
},
|
|
2397
|
+
{
|
|
2398
|
+
"name": "attendanceCheckoutRoute",
|
|
2399
|
+
"kind": "function",
|
|
2400
|
+
"jsdoc": "/** Applies platform support and activation switches without sending uncertain iOS offers to web checkout. */",
|
|
2401
|
+
"decl": "export function attendanceCheckoutRoute(item: BookingAttendance | TicketAttendance, currency: string, platform: string): \"regular\" | \"appleIap\" | \"blocked\";"
|
|
2402
|
+
},
|
|
2403
|
+
{
|
|
2404
|
+
"name": "bookingAttendanceOf",
|
|
2405
|
+
"kind": "function",
|
|
2406
|
+
"jsdoc": "/** Preserves missing Wix service fields as unknown so absent metadata cannot authorize a payment route. */",
|
|
2407
|
+
"decl": "export function bookingAttendanceOf(raw: unknown): BookingAttendance;"
|
|
2408
|
+
},
|
|
2409
|
+
{
|
|
2410
|
+
"name": "ticketAttendanceOf",
|
|
2411
|
+
"kind": "function",
|
|
2412
|
+
"jsdoc": "/** Combines event delivery and ticket-definition pricing metadata for conservative route classification. */",
|
|
2413
|
+
"decl": "export function ticketAttendanceOf(event: unknown, definition: unknown): TicketAttendance;"
|
|
2414
|
+
},
|
|
2415
|
+
{
|
|
2416
|
+
"name": "availableTicketAttendanceOf",
|
|
2417
|
+
"kind": "function",
|
|
2418
|
+
"jsdoc": "/** Reads the buyer-visible checkout projection; hidden/off-sale inclusions and unknown pricing stay unresolved. */",
|
|
2419
|
+
"decl": "export function availableTicketAttendanceOf(event: unknown, ticket: unknown): TicketAttendance;"
|
|
2420
|
+
},
|
|
2331
2421
|
{
|
|
2332
2422
|
"name": "ProductType",
|
|
2333
2423
|
"kind": "type",
|
|
@@ -2445,7 +2535,7 @@
|
|
|
2445
2535
|
{
|
|
2446
2536
|
"name": "purchaseForVerification",
|
|
2447
2537
|
"kind": "function",
|
|
2448
|
-
"jsdoc": "/** Apple non-consumables
|
|
2538
|
+
"jsdoc": "/** Apple consumables and non-consumables. The token comes from authenticated backend context.\n * Leaves the transaction unfinished. Never falls back to legacy purchase on old binaries. */",
|
|
2449
2539
|
"decl": "export async function purchaseForVerification(input: { productId: string; appAccountToken: string }): Promise<VerificationPurchaseResult>;"
|
|
2450
2540
|
},
|
|
2451
2541
|
{
|
|
@@ -2507,7 +2597,7 @@
|
|
|
2507
2597
|
"name": "\"./iap-verticals/index.js\"",
|
|
2508
2598
|
"kind": "reexport",
|
|
2509
2599
|
"jsdoc": "",
|
|
2510
|
-
"decl": "export { onlineProgramOrders, pricingPlanOrders, storesProductOrders, classifyCart } from \"./iap-verticals/index.js\";"
|
|
2600
|
+
"decl": "export { onlineProgramOrders, pricingPlanOrders, storesProductOrders, bookingOrders, eventTicketOrders, classifyCart } from \"./iap-verticals/index.js\";"
|
|
2511
2601
|
},
|
|
2512
2602
|
{
|
|
2513
2603
|
"name": "\"./order-refs.js\"",
|
|
@@ -2603,7 +2693,7 @@
|
|
|
2603
2693
|
"name": "IapOrderItem",
|
|
2604
2694
|
"kind": "interface",
|
|
2605
2695
|
"jsdoc": "/** One item a screen sells. `reference` is the same catalog reference its price came from. */",
|
|
2606
|
-
"decl": "export interface IapOrderItem {\n reference: CatalogReference;\n /** eCom catalog reference, required for a Wix Stores item. */\n catalogReference?: { appId: string; catalogItemId: string; options?: Record<string, unknown> };\n /** Only 1 is supported. */\n quantity?: number;\n}"
|
|
2696
|
+
"decl": "export interface IapOrderItem {\n reference: CatalogReference;\n /** One intentional purchase; reuse on retries, replace only for an explicit new purchase. */\n attemptId?: string;\n /** Ephemeral selection and form answers; never written to order references or screen state. */\n attendance?: {\n amount: string;\n currency: string;\n booking?: { slot: Record<string, unknown>; contactDetails: Record<string, unknown>; formInfo?: Record<string, unknown> };\n ticket?: { eventId: string; buyer: Record<string, unknown>; guests?: Record<string, unknown>[]; buyerSubmission?: Record<string, unknown>; guestSubmissions?: Record<string, unknown>[] };\n };\n /** eCom catalog reference, required for a Wix Stores item. */\n catalogReference?: { appId: string; catalogItemId: string; options?: Record<string, unknown> };\n /** Only 1 is supported. */\n quantity?: number;\n}"
|
|
2607
2697
|
},
|
|
2608
2698
|
{
|
|
2609
2699
|
"name": "VerticalRef",
|
|
@@ -2621,7 +2711,7 @@
|
|
|
2621
2711
|
"name": "OrderAttempt",
|
|
2622
2712
|
"kind": "type",
|
|
2623
2713
|
"jsdoc": "/** `open`: a pending order the cashier can charge. `granted`: the vertical already gives the\n * member access, so nothing is sold. */",
|
|
2624
|
-
"decl": "export type OrderAttempt
|
|
2714
|
+
"decl": "export type OrderAttempt = (\n /** `placed`: the order was created by this call, so it cannot have a charge yet. Only an adapter\n * that never returns an existing order may say so; an order it reuses must be listed first. */\n | { status: \"open\"; cashierOrderId: string; verticalRef: VerticalRef; placed?: boolean }\n | { status: \"granted\" }\n | { status: \"refused\"; reason: OrderFailureCode }\n | { status: \"unavailable\" }\n | { status: \"sessionChanged\" }) & { noOrderCreated?: true };"
|
|
2625
2715
|
},
|
|
2626
2716
|
{
|
|
2627
2717
|
"name": "AccessRead",
|
|
@@ -2633,7 +2723,7 @@
|
|
|
2633
2723
|
"name": "IapOrderAdapter",
|
|
2634
2724
|
"kind": "interface",
|
|
2635
2725
|
"jsdoc": "/** The only per-vertical code. Every call goes through the session-bound bridge it is given. */",
|
|
2636
|
-
"decl": "export interface IapOrderAdapter {\n /** The catalog kind it sells (`onlineProgram`, `pricingPlan`, `storesProduct`, or a custom one). */\n readonly kind: string;\n /** Structural check before any call: one item, quantity 1, a supported shape. */\n eligibility(item: IapOrderItem): IapEligibility;\n /** Opens, or reuses the vertical's own open, order for the signed-in member. */\n openOrder(item: IapOrderItem, bridge: SessionBoundBridge): Promise<OrderAttempt>;\n /** Re-reads an order opened earlier; `open` only while it can still be paid. */\n reopenOrder(order: { cashierOrderId: string; verticalRef: VerticalRef }, bridge: SessionBoundBridge): Promise<OrderAttempt>;\n /** The vertical's authoritative answer for the order's item and the signed-in member. */\n readAccess(verticalRef: VerticalRef, bridge: SessionBoundBridge): Promise<AccessRead>;\n /** The member's access to an item before any order exists (bought through Wix, say). Read-only:\n * never opens or prepares an order. An adapter without it shows Get access until a sale says otherwise. */\n currentAccess?(item: IapOrderItem, bridge: SessionBoundBridge): Promise<AccessRead>;\n /** When the platform enables StartItemPayment, an eligible item whose order wix-iap places itself\n * instead of `openOrder`. Null for an item outside that shape, which keeps `openOrder`. */\n itemPayment?(
|
|
2726
|
+
"decl": "export interface IapOrderAdapter {\n /** The catalog kind it sells (`onlineProgram`, `pricingPlan`, `storesProduct`, or a custom one). */\n readonly kind: string;\n readonly repeatable?: boolean;\n /** Structural check before any call: one item, quantity 1, a supported shape. */\n eligibility(item: IapOrderItem): IapEligibility;\n /** Opens, or reuses the vertical's own open, order for the signed-in member. */\n /** Repeatable adapters call beforeCreate immediately before their first inventory write,\n * after read-only checks, and abort without writing if it returns false. */\n openOrder(item: IapOrderItem, bridge: SessionBoundBridge, beforeCreate?: () => boolean): Promise<OrderAttempt>;\n /** Re-reads an order opened earlier; `open` only while it can still be paid. */\n reopenOrder(order: { cashierOrderId: string; verticalRef: VerticalRef }, bridge: SessionBoundBridge): Promise<OrderAttempt>;\n /** The vertical's authoritative answer for the order's item and the signed-in member. */\n readAccess(verticalRef: VerticalRef, bridge: SessionBoundBridge): Promise<AccessRead>;\n /** The member's access to an item before any order exists (bought through Wix, say). Read-only:\n * never opens or prepares an order. An adapter without it shows Get access until a sale says otherwise. */\n currentAccess?(item: IapOrderItem, bridge: SessionBoundBridge): Promise<AccessRead>;\n /** When the platform enables StartItemPayment, an eligible item whose order wix-iap places itself\n * instead of `openOrder`. Null for an item outside that shape, which keeps `openOrder`. */\n itemPayment?(i\n/* … */"
|
|
2637
2727
|
},
|
|
2638
2728
|
{
|
|
2639
2729
|
"name": "OrderPartitionKey",
|
|
@@ -2645,7 +2735,7 @@
|
|
|
2645
2735
|
"name": "OrderRefStage",
|
|
2646
2736
|
"kind": "type",
|
|
2647
2737
|
"jsdoc": "/** `startingItem`: a StartItemPayment was or is about to be sent and its answer is not stored, so\n * the service may have placed an order this device knows nothing of; nothing else is sold for the\n * item until it expires. `held`: Apple charged, and CompletePayment refused the proof without\n * recording it, so the transaction stays unfinished and is retried. `needsSupport`: recorded and\n * refused for good. */",
|
|
2648
|
-
"decl": "export type OrderRefStage = \"startingItem\" | \"ordered\" | \"charged\" | \"started\" | \"submitted\" | \"held\" | \"needsSupport\";"
|
|
2738
|
+
"decl": "export type OrderRefStage = \"startingItem\" | \"openingOrder\" | \"ordered\" | \"charged\" | \"started\" | \"submitted\" | \"fulfilled\" | \"held\" | \"needsSupport\";"
|
|
2649
2739
|
},
|
|
2650
2740
|
{
|
|
2651
2741
|
"name": "OrderRef",
|
|
@@ -2747,7 +2837,7 @@
|
|
|
2747
2837
|
"name": "IapPurchaseCopy",
|
|
2748
2838
|
"kind": "interface",
|
|
2749
2839
|
"jsdoc": "/** Labels from the screen's copy pack; the shared layer only chooses between them. */",
|
|
2750
|
-
"decl": "export interface IapPurchaseCopy {\n buy: string;\n processing: string;\n awaitingApproval: string;\n unavailable: string;\n signInRequired: string;\n retry: string;\n priceChanged: string;\n support: string;\n}"
|
|
2840
|
+
"decl": "export interface IapPurchaseCopy {\n buy: string;\n buyAnother?: string;\n processing: string;\n awaitingApproval: string;\n unavailable: string;\n signInRequired: string;\n retry: string;\n priceChanged: string;\n support: string;\n}"
|
|
2751
2841
|
},
|
|
2752
2842
|
{
|
|
2753
2843
|
"name": "IapPurchaseFields",
|
|
@@ -2834,7 +2924,7 @@
|
|
|
2834
2924
|
"name": "StartOptions",
|
|
2835
2925
|
"kind": "interface",
|
|
2836
2926
|
"jsdoc": "",
|
|
2837
|
-
"decl": "export interface StartOptions {\n /** Groups related activities (e.g. \"order\", \"timer\", \"ride\"). Maps to the iOS\n * ActivityKit attributes type / the Android notification channel + tag. */\n activityType: string;\n /** The widget-safe SDUI tree rendered on the lock screen + Dynamic Island /\n * Live Update notification. */\n content: LiveActivityComponent;\n /** Optional one-line title (Android Live Update headline / accessibility). */\n title?: string;\n /** Mark the activity stale after this many ms (iOS staleDate). 0 ⇒ no hint. */\n staleAfterMs?: number;\n /** Optional per-Dynamic-Island-slot subtrees; omitted slots fall back to title/glyph. */\n regions?: LiveActivityRegions;\n /** Exact record route in the host app. Older binaries may open the app root. */\n deepLink?: string;\n /** Request an ActivityKit push token; the host must register it with its authenticated runtime. */\n pushUpdates?: boolean;\n /**\n * #2050 — the record this activity tracks. Present ⇒ the runtime records a scoped\n * mapping and the host registers an authenticated subscription, so the serve plane\n * can push ordered background frames. Absent ⇒ foreground-only, unchanged.\n *\n * On iOS pair it with `pushUpdates: true`: without the ActivityKit push token there\n * is nothing for the host to register, so the mapping would be recorded and never\n * addressed.\n */\n session?: LiveSessionRef;\n /** Android promotion is opt-in for a user-followed, bounded, time-sensitive\n * activity. The system may still keep it as an ordinary notification. */\n promoted?: boolean;\n
|
|
2927
|
+
"decl": "export interface StartOptions {\n /** Groups related activities (e.g. \"order\", \"timer\", \"ride\"). Maps to the iOS\n * ActivityKit attributes type / the Android notification channel + tag. */\n activityType: string;\n /** The widget-safe SDUI tree rendered on the lock screen + Dynamic Island /\n * Live Update notification. */\n content: LiveActivityComponent;\n /** Optional one-line title (Android Live Update headline / accessibility). */\n title?: string;\n /** Mark the activity stale after this many ms (iOS staleDate). 0 ⇒ no hint. */\n staleAfterMs?: number;\n /** Optional per-Dynamic-Island-slot subtrees; omitted slots fall back to title/glyph. */\n regions?: LiveActivityRegions;\n /** Exact record route in the host app. Older binaries may open the app root. */\n deepLink?: string;\n /** Request an ActivityKit push token; the host must register it with its authenticated runtime. */\n pushUpdates?: boolean;\n /**\n * #2050 — the record this activity tracks. Present ⇒ the runtime records a scoped\n * mapping and the host registers an authenticated subscription, so the serve plane\n * can push ordered background frames. Absent ⇒ foreground-only, unchanged.\n *\n * On iOS pair it with `pushUpdates: true`: without the ActivityKit push token there\n * is nothing for the host to register, so the mapping would be recorded and never\n * addressed.\n */\n session?: LiveSessionRef;\n /** Android promotion is opt-in for a user-followed, bounded, time-sensitive\n * activity. The system may still keep it as an ordinary notification. */\n promoted?: boolean;\n /** In an app\n/* … */"
|
|
2838
2928
|
},
|
|
2839
2929
|
{
|
|
2840
2930
|
"name": "UpdateOptions",
|
|
@@ -8911,17 +9001,35 @@
|
|
|
8911
9001
|
"jsdoc": "",
|
|
8912
9002
|
"decl": "export interface WixBookingsQuery {\n paging?: WixBookingsPaging;\n filter?: Record<string, unknown>;\n sort?: WixBookingsSort[];\n}"
|
|
8913
9003
|
},
|
|
9004
|
+
{
|
|
9005
|
+
"name": "WixBookedSlotResource",
|
|
9006
|
+
"kind": "interface",
|
|
9007
|
+
"jsdoc": "",
|
|
9008
|
+
"decl": "export interface WixBookedSlotResource {\n id?: string;\n name?: string;\n}"
|
|
9009
|
+
},
|
|
9010
|
+
{
|
|
9011
|
+
"name": "WixBookedLocation",
|
|
9012
|
+
"kind": "interface",
|
|
9013
|
+
"jsdoc": "",
|
|
9014
|
+
"decl": "export interface WixBookedLocation {\n id?: string;\n name?: string;\n formattedAddress?: string;\n locationType?: string;\n}"
|
|
9015
|
+
},
|
|
8914
9016
|
{
|
|
8915
9017
|
"name": "WixBookingSlot",
|
|
8916
9018
|
"kind": "interface",
|
|
8917
9019
|
"jsdoc": "",
|
|
8918
|
-
"decl": "export interface WixBookingSlot {\n serviceId?: string;\n startDate?: string;\n endDate?: string;\n timezone?: string;\n}"
|
|
9020
|
+
"decl": "export interface WixBookingSlot {\n serviceId?: string;\n startDate?: string;\n endDate?: string;\n timezone?: string;\n sessionId?: string;\n scheduleId?: string;\n resource?: WixBookedSlotResource;\n location?: WixBookedLocation;\n}"
|
|
9021
|
+
},
|
|
9022
|
+
{
|
|
9023
|
+
"name": "WixBookedSchedule",
|
|
9024
|
+
"kind": "interface",
|
|
9025
|
+
"jsdoc": "",
|
|
9026
|
+
"decl": "export interface WixBookedSchedule {\n scheduleId?: string;\n serviceId?: string;\n location?: WixBookedLocation;\n timezone?: string;\n firstSessionStart?: string;\n lastSessionEnd?: string;\n}"
|
|
8919
9027
|
},
|
|
8920
9028
|
{
|
|
8921
9029
|
"name": "WixBookedEntity",
|
|
8922
9030
|
"kind": "interface",
|
|
8923
9031
|
"jsdoc": "",
|
|
8924
|
-
"decl": "export interface WixBookedEntity {\n title?: string;\n slot?: WixBookingSlot;\n}"
|
|
9032
|
+
"decl": "export interface WixBookedEntity {\n title?: string;\n slot?: WixBookingSlot;\n schedule?: WixBookedSchedule;\n}"
|
|
8925
9033
|
},
|
|
8926
9034
|
{
|
|
8927
9035
|
"name": "WixBookingContactDetails",
|
|
@@ -8933,7 +9041,7 @@
|
|
|
8933
9041
|
"name": "WixBooking",
|
|
8934
9042
|
"kind": "interface",
|
|
8935
9043
|
"jsdoc": "",
|
|
8936
|
-
"decl": "export interface WixBooking {\n id: string;\n bookedEntity?: WixBookedEntity;\n contactDetails?: WixBookingContactDetails;\n status?: string;\n paymentStatus?: string;\n startDate?: string;\n endDate?: string;\n totalParticipants?: number;\n createdDate?: string;\n}"
|
|
9044
|
+
"decl": "export interface WixBooking {\n id: string;\n bookedEntity?: WixBookedEntity;\n contactDetails?: WixBookingContactDetails;\n status?: string;\n paymentStatus?: string;\n startDate?: string;\n endDate?: string;\n totalParticipants?: number;\n createdDate?: string;\n revision?: string;\n}"
|
|
8937
9045
|
},
|
|
8938
9046
|
{
|
|
8939
9047
|
"name": "WixBookingsPagingMetadata",
|
|
@@ -8963,7 +9071,25 @@
|
|
|
8963
9071
|
"name": "WixServiceFixedPayment",
|
|
8964
9072
|
"kind": "interface",
|
|
8965
9073
|
"jsdoc": "",
|
|
8966
|
-
"decl": "export interface WixServiceFixedPayment {\n price?: WixServiceMoney;\n}"
|
|
9074
|
+
"decl": "export interface WixServiceFixedPayment {\n price?: WixServiceMoney;\n deposit?: WixServiceMoney;\n fullUpfrontPaymentAllowed?: boolean;\n}"
|
|
9075
|
+
},
|
|
9076
|
+
{
|
|
9077
|
+
"name": "WixServiceVariedPayment",
|
|
9078
|
+
"kind": "interface",
|
|
9079
|
+
"jsdoc": "",
|
|
9080
|
+
"decl": "export interface WixServiceVariedPayment {\n defaultPrice?: WixServiceMoney;\n deposit?: WixServiceMoney;\n minPrice?: WixServiceMoney;\n maxPrice?: WixServiceMoney;\n}"
|
|
9081
|
+
},
|
|
9082
|
+
{
|
|
9083
|
+
"name": "WixServiceCustomPayment",
|
|
9084
|
+
"kind": "interface",
|
|
9085
|
+
"jsdoc": "",
|
|
9086
|
+
"decl": "export interface WixServiceCustomPayment {\n description?: string;\n}"
|
|
9087
|
+
},
|
|
9088
|
+
{
|
|
9089
|
+
"name": "WixServicePaymentOptions",
|
|
9090
|
+
"kind": "interface",
|
|
9091
|
+
"jsdoc": "",
|
|
9092
|
+
"decl": "export interface WixServicePaymentOptions {\n online?: boolean;\n inPerson?: boolean;\n deposit?: boolean;\n pricingPlan?: boolean;\n}"
|
|
8967
9093
|
},
|
|
8968
9094
|
{
|
|
8969
9095
|
"name": "WixServiceRateLabel",
|
|
@@ -8975,25 +9101,199 @@
|
|
|
8975
9101
|
"name": "WixServicePayment",
|
|
8976
9102
|
"kind": "interface",
|
|
8977
9103
|
"jsdoc": "",
|
|
8978
|
-
"decl": "export interface WixServicePayment {\n fixed?: WixServiceFixedPayment;\n rateLabel?: WixServiceRateLabel;\n price?: number;\n currency?: string;\n}"
|
|
9104
|
+
"decl": "export interface WixServicePayment {\n rateType?: string;\n fixed?: WixServiceFixedPayment;\n varied?: WixServiceVariedPayment;\n custom?: WixServiceCustomPayment;\n options?: WixServicePaymentOptions;\n rateLabel?: WixServiceRateLabel;\n price?: number;\n currency?: string;\n}"
|
|
9105
|
+
},
|
|
9106
|
+
{
|
|
9107
|
+
"name": "WixServiceDuration",
|
|
9108
|
+
"kind": "interface",
|
|
9109
|
+
"jsdoc": "",
|
|
9110
|
+
"decl": "export interface WixServiceDuration {\n minutes?: number;\n}"
|
|
9111
|
+
},
|
|
9112
|
+
{
|
|
9113
|
+
"name": "WixServiceHourlyConfig",
|
|
9114
|
+
"kind": "interface",
|
|
9115
|
+
"jsdoc": "",
|
|
9116
|
+
"decl": "export interface WixServiceHourlyConfig {\n minDurationInMinutes?: number;\n maxDurationInMinutes?: number;\n}"
|
|
9117
|
+
},
|
|
9118
|
+
{
|
|
9119
|
+
"name": "WixServiceDailyConfig",
|
|
9120
|
+
"kind": "interface",
|
|
9121
|
+
"jsdoc": "",
|
|
9122
|
+
"decl": "export interface WixServiceDailyConfig {\n minDurationInDays?: number;\n maxDurationInDays?: number;\n}"
|
|
9123
|
+
},
|
|
9124
|
+
{
|
|
9125
|
+
"name": "WixServiceDurationRange",
|
|
9126
|
+
"kind": "interface",
|
|
9127
|
+
"jsdoc": "",
|
|
9128
|
+
"decl": "export interface WixServiceDurationRange {\n hourOptions?: WixServiceHourlyConfig;\n dayOptions?: WixServiceDailyConfig;\n unitType?: string;\n}"
|
|
8979
9129
|
},
|
|
8980
9130
|
{
|
|
8981
9131
|
"name": "WixServiceAvailabilityConstraints",
|
|
8982
9132
|
"kind": "interface",
|
|
8983
9133
|
"jsdoc": "",
|
|
8984
|
-
"decl": "export interface WixServiceAvailabilityConstraints {\n sessionDurations?: number[];\n}"
|
|
9134
|
+
"decl": "export interface WixServiceAvailabilityConstraints {\n durations?: WixServiceDuration[];\n sessionDurations?: number[];\n durationRange?: WixServiceDurationRange;\n}"
|
|
8985
9135
|
},
|
|
8986
9136
|
{
|
|
8987
9137
|
"name": "WixServiceSchedule",
|
|
8988
9138
|
"kind": "interface",
|
|
8989
9139
|
"jsdoc": "",
|
|
8990
|
-
"decl": "export interface WixServiceSchedule {\n availabilityConstraints?: WixServiceAvailabilityConstraints;\n}"
|
|
9140
|
+
"decl": "export interface WixServiceSchedule {\n id?: string;\n firstSessionStart?: string;\n lastSessionEnd?: string;\n availabilityConstraints?: WixServiceAvailabilityConstraints;\n}"
|
|
9141
|
+
},
|
|
9142
|
+
{
|
|
9143
|
+
"name": "WixServiceImage",
|
|
9144
|
+
"kind": "interface",
|
|
9145
|
+
"jsdoc": "",
|
|
9146
|
+
"decl": "export interface WixServiceImage {\n id?: string;\n url?: string;\n height?: number;\n width?: number;\n altText?: string;\n}"
|
|
9147
|
+
},
|
|
9148
|
+
{
|
|
9149
|
+
"name": "WixServiceMediaItem",
|
|
9150
|
+
"kind": "interface",
|
|
9151
|
+
"jsdoc": "",
|
|
9152
|
+
"decl": "export interface WixServiceMediaItem {\n image?: WixServiceImage;\n}"
|
|
9153
|
+
},
|
|
9154
|
+
{
|
|
9155
|
+
"name": "WixServiceMedia",
|
|
9156
|
+
"kind": "interface",
|
|
9157
|
+
"jsdoc": "",
|
|
9158
|
+
"decl": "export interface WixServiceMedia {\n items?: WixServiceMediaItem[];\n mainMedia?: WixServiceMediaItem;\n coverMedia?: WixServiceMediaItem;\n}"
|
|
9159
|
+
},
|
|
9160
|
+
{
|
|
9161
|
+
"name": "WixServiceStreetAddress",
|
|
9162
|
+
"kind": "interface",
|
|
9163
|
+
"jsdoc": "",
|
|
9164
|
+
"decl": "export interface WixServiceStreetAddress {\n number?: string;\n name?: string;\n apt?: string;\n}"
|
|
9165
|
+
},
|
|
9166
|
+
{
|
|
9167
|
+
"name": "WixServiceAddress",
|
|
9168
|
+
"kind": "interface",
|
|
9169
|
+
"jsdoc": "",
|
|
9170
|
+
"decl": "export interface WixServiceAddress {\n streetAddress?: WixServiceStreetAddress;\n addressLine?: string;\n country?: string;\n subdivision?: string;\n city?: string;\n postalCode?: string;\n formattedAddress?: string;\n}"
|
|
9171
|
+
},
|
|
9172
|
+
{
|
|
9173
|
+
"name": "WixServiceBusinessLocation",
|
|
9174
|
+
"kind": "interface",
|
|
9175
|
+
"jsdoc": "",
|
|
9176
|
+
"decl": "export interface WixServiceBusinessLocation {\n id?: string;\n name?: string;\n default?: boolean;\n address?: WixServiceAddress;\n}"
|
|
9177
|
+
},
|
|
9178
|
+
{
|
|
9179
|
+
"name": "WixServiceCustomLocation",
|
|
9180
|
+
"kind": "interface",
|
|
9181
|
+
"jsdoc": "",
|
|
9182
|
+
"decl": "export interface WixServiceCustomLocation {\n id?: string;\n address?: WixServiceAddress;\n}"
|
|
9183
|
+
},
|
|
9184
|
+
{
|
|
9185
|
+
"name": "WixServiceLocation",
|
|
9186
|
+
"kind": "interface",
|
|
9187
|
+
"jsdoc": "",
|
|
9188
|
+
"decl": "export interface WixServiceLocation {\n id?: string;\n type?: string;\n business?: WixServiceBusinessLocation;\n custom?: WixServiceCustomLocation;\n calculatedAddress?: WixServiceAddress;\n}"
|
|
9189
|
+
},
|
|
9190
|
+
{
|
|
9191
|
+
"name": "WixServiceOnlineBooking",
|
|
9192
|
+
"kind": "interface",
|
|
9193
|
+
"jsdoc": "",
|
|
9194
|
+
"decl": "export interface WixServiceOnlineBooking {\n enabled?: boolean;\n requireManualApproval?: boolean;\n allowMultipleRequests?: boolean;\n}"
|
|
9195
|
+
},
|
|
9196
|
+
{
|
|
9197
|
+
"name": "WixServiceConferencing",
|
|
9198
|
+
"kind": "interface",
|
|
9199
|
+
"jsdoc": "",
|
|
9200
|
+
"decl": "export interface WixServiceConferencing {\n enabled?: boolean;\n}"
|
|
9201
|
+
},
|
|
9202
|
+
{
|
|
9203
|
+
"name": "WixServicePolicyDescription",
|
|
9204
|
+
"kind": "interface",
|
|
9205
|
+
"jsdoc": "",
|
|
9206
|
+
"decl": "export interface WixServicePolicyDescription {\n enabled?: boolean;\n description?: string;\n}"
|
|
9207
|
+
},
|
|
9208
|
+
{
|
|
9209
|
+
"name": "WixServiceLimitEarlyBookingPolicy",
|
|
9210
|
+
"kind": "interface",
|
|
9211
|
+
"jsdoc": "",
|
|
9212
|
+
"decl": "export interface WixServiceLimitEarlyBookingPolicy {\n enabled?: boolean;\n earliestBookingInMinutes?: number;\n}"
|
|
9213
|
+
},
|
|
9214
|
+
{
|
|
9215
|
+
"name": "WixServiceLimitLateBookingPolicy",
|
|
9216
|
+
"kind": "interface",
|
|
9217
|
+
"jsdoc": "",
|
|
9218
|
+
"decl": "export interface WixServiceLimitLateBookingPolicy {\n enabled?: boolean;\n latestBookingInMinutes?: number;\n}"
|
|
9219
|
+
},
|
|
9220
|
+
{
|
|
9221
|
+
"name": "WixServiceBookAfterStartPolicy",
|
|
9222
|
+
"kind": "interface",
|
|
9223
|
+
"jsdoc": "",
|
|
9224
|
+
"decl": "export interface WixServiceBookAfterStartPolicy {\n enabled?: boolean;\n}"
|
|
9225
|
+
},
|
|
9226
|
+
{
|
|
9227
|
+
"name": "WixServiceCancellationPolicy",
|
|
9228
|
+
"kind": "interface",
|
|
9229
|
+
"jsdoc": "",
|
|
9230
|
+
"decl": "export interface WixServiceCancellationPolicy {\n enabled?: boolean;\n limitLatestCancellation?: boolean;\n latestCancellationInMinutes?: number;\n}"
|
|
9231
|
+
},
|
|
9232
|
+
{
|
|
9233
|
+
"name": "WixServiceReschedulePolicy",
|
|
9234
|
+
"kind": "interface",
|
|
9235
|
+
"jsdoc": "",
|
|
9236
|
+
"decl": "export interface WixServiceReschedulePolicy {\n enabled?: boolean;\n limitLatestReschedule?: boolean;\n latestRescheduleInMinutes?: number;\n}"
|
|
9237
|
+
},
|
|
9238
|
+
{
|
|
9239
|
+
"name": "WixServiceWaitlistPolicy",
|
|
9240
|
+
"kind": "interface",
|
|
9241
|
+
"jsdoc": "",
|
|
9242
|
+
"decl": "export interface WixServiceWaitlistPolicy {\n enabled?: boolean;\n capacity?: number;\n reservationTimeInMinutes?: number;\n}"
|
|
9243
|
+
},
|
|
9244
|
+
{
|
|
9245
|
+
"name": "WixServiceParticipantsPolicy",
|
|
9246
|
+
"kind": "interface",
|
|
9247
|
+
"jsdoc": "",
|
|
9248
|
+
"decl": "export interface WixServiceParticipantsPolicy {\n maxParticipantsPerBooking?: number;\n}"
|
|
9249
|
+
},
|
|
9250
|
+
{
|
|
9251
|
+
"name": "WixServiceCancellationWindow",
|
|
9252
|
+
"kind": "interface",
|
|
9253
|
+
"jsdoc": "",
|
|
9254
|
+
"decl": "export interface WixServiceCancellationWindow {\n amount?: WixServiceMoney;\n percentage?: string;\n startInMinutes?: number;\n}"
|
|
9255
|
+
},
|
|
9256
|
+
{
|
|
9257
|
+
"name": "WixServiceCancellationFeePolicy",
|
|
9258
|
+
"kind": "interface",
|
|
9259
|
+
"jsdoc": "",
|
|
9260
|
+
"decl": "export interface WixServiceCancellationFeePolicy {\n enabled?: boolean;\n cancellationWindows?: WixServiceCancellationWindow[];\n}"
|
|
9261
|
+
},
|
|
9262
|
+
{
|
|
9263
|
+
"name": "WixServiceBookingPolicy",
|
|
9264
|
+
"kind": "interface",
|
|
9265
|
+
"jsdoc": "",
|
|
9266
|
+
"decl": "export interface WixServiceBookingPolicy {\n id?: string;\n name?: string;\n customPolicyDescription?: WixServicePolicyDescription;\n limitEarlyBookingPolicy?: WixServiceLimitEarlyBookingPolicy;\n limitLateBookingPolicy?: WixServiceLimitLateBookingPolicy;\n bookAfterStartPolicy?: WixServiceBookAfterStartPolicy;\n cancellationPolicy?: WixServiceCancellationPolicy;\n reschedulePolicy?: WixServiceReschedulePolicy;\n waitlistPolicy?: WixServiceWaitlistPolicy;\n participantsPolicy?: WixServiceParticipantsPolicy;\n cancellationFeePolicy?: WixServiceCancellationFeePolicy;\n}"
|
|
9267
|
+
},
|
|
9268
|
+
{
|
|
9269
|
+
"name": "WixServiceStaffMember",
|
|
9270
|
+
"kind": "interface",
|
|
9271
|
+
"jsdoc": "",
|
|
9272
|
+
"decl": "export interface WixServiceStaffMember {\n staffMemberId?: string;\n name?: string;\n mainMedia?: WixServiceMediaItem;\n}"
|
|
9273
|
+
},
|
|
9274
|
+
{
|
|
9275
|
+
"name": "WixServiceStaffMemberDetails",
|
|
9276
|
+
"kind": "interface",
|
|
9277
|
+
"jsdoc": "",
|
|
9278
|
+
"decl": "export interface WixServiceStaffMemberDetails {\n staffMembers?: WixServiceStaffMember[];\n}"
|
|
9279
|
+
},
|
|
9280
|
+
{
|
|
9281
|
+
"name": "WixServicePageUrl",
|
|
9282
|
+
"kind": "interface",
|
|
9283
|
+
"jsdoc": "",
|
|
9284
|
+
"decl": "export interface WixServicePageUrl {\n relativePath?: string;\n url?: string;\n}"
|
|
9285
|
+
},
|
|
9286
|
+
{
|
|
9287
|
+
"name": "WixServiceUrls",
|
|
9288
|
+
"kind": "interface",
|
|
9289
|
+
"jsdoc": "",
|
|
9290
|
+
"decl": "export interface WixServiceUrls {\n servicePage?: WixServicePageUrl;\n bookingPage?: WixServicePageUrl;\n}"
|
|
8991
9291
|
},
|
|
8992
9292
|
{
|
|
8993
9293
|
"name": "WixService",
|
|
8994
9294
|
"kind": "interface",
|
|
8995
9295
|
"jsdoc": "",
|
|
8996
|
-
"decl": "export interface WixService {\n id: string;\n name?: string;\n description?: string;\n duration?: number;\n payment?: WixServicePayment;\n schedule?: WixServiceSchedule;\n price?: number;\n category?: string;\n}"
|
|
9296
|
+
"decl": "export interface WixService {\n id: string;\n name?: string;\n description?: string;\n type?: string;\n tagLine?: string;\n defaultCapacity?: number;\n media?: WixServiceMedia;\n duration?: number;\n payment?: WixServicePayment;\n onlineBooking?: WixServiceOnlineBooking;\n conferencing?: WixServiceConferencing;\n locations?: WixServiceLocation[];\n bookingPolicy?: WixServiceBookingPolicy;\n schedule?: WixServiceSchedule;\n staffMemberDetails?: WixServiceStaffMemberDetails;\n urls?: WixServiceUrls;\n price?: number;\n category?: string;\n}"
|
|
8997
9297
|
},
|
|
8998
9298
|
{
|
|
8999
9299
|
"name": "WixServicesSearchPaging",
|
|
@@ -9025,6 +9325,12 @@
|
|
|
9025
9325
|
"jsdoc": "",
|
|
9026
9326
|
"decl": "export interface WixGetServiceResponse {\n service: WixService;\n}"
|
|
9027
9327
|
},
|
|
9328
|
+
{
|
|
9329
|
+
"name": "WixGetServiceOptions",
|
|
9330
|
+
"kind": "interface",
|
|
9331
|
+
"jsdoc": "",
|
|
9332
|
+
"decl": "export interface WixGetServiceOptions {\n conditionalFields?: string[];\n}"
|
|
9333
|
+
},
|
|
9028
9334
|
{
|
|
9029
9335
|
"name": "WixServiceWrite",
|
|
9030
9336
|
"kind": "interface",
|
|
@@ -9163,13 +9469,13 @@
|
|
|
9163
9469
|
"name": "WixServicePayment",
|
|
9164
9470
|
"kind": "interface",
|
|
9165
9471
|
"jsdoc": "",
|
|
9166
|
-
"decl": "export interface WixServicePayment {\n fixed?: { price?: WixServiceMoney };\n rateLabel?: { amount?: string; currency?: string };\n /** @deprecated Legacy flat payment shape. */\n price?: number;\n /** @deprecated Legacy flat payment shape. */\n currency?: string;\n}"
|
|
9472
|
+
"decl": "export interface WixServicePayment {\n /** \"FIXED\" | \"CUSTOM\" | \"VARIED\" | \"NO_FEE\". */\n rateType?: string;\n fixed?: { price?: WixServiceMoney; deposit?: WixServiceMoney; fullUpfrontPaymentAllowed?: boolean };\n varied?: { defaultPrice?: WixServiceMoney; deposit?: WixServiceMoney; minPrice?: WixServiceMoney; maxPrice?: WixServiceMoney };\n custom?: { description?: string };\n /** How the customer may pay. A service offers at least one of these. */\n options?: { online?: boolean; inPerson?: boolean; deposit?: boolean; pricingPlan?: boolean };\n rateLabel?: { amount?: string; currency?: string };\n /** @deprecated Legacy flat payment shape. */\n price?: number;\n /** @deprecated Legacy flat payment shape. */\n currency?: string;\n}"
|
|
9167
9473
|
},
|
|
9168
9474
|
{
|
|
9169
9475
|
"name": "WixService",
|
|
9170
9476
|
"kind": "interface",
|
|
9171
9477
|
"jsdoc": "",
|
|
9172
|
-
"decl": "export interface WixService {\n id: string;\n /** Optimistic-concurrency token — required by every v2 write (updateService reads it if omitted). */\n revision?: string;\n name?: string;\n description?: string;\n /** Session length in minutes. */\n duration?: number;\n /** Raw Bookings v2 response shape. */\n payment?: WixServicePayment;\n schedule?: { availabilityConstraints?: { sessionDurations?: number[]
|
|
9478
|
+
"decl": "export interface WixService {\n id: string;\n /** Optimistic-concurrency token — required by every v2 write (updateService reads it if omitted). */\n revision?: string;\n name?: string;\n description?: string;\n /** \"APPOINTMENT\" | \"CLASS\" | \"COURSE\". */\n type?: string;\n tagLine?: string;\n defaultCapacity?: number;\n media?: WixServiceMedia;\n /** Session length in minutes. */\n duration?: number;\n /** Raw Bookings v2 response shape. */\n payment?: WixServicePayment;\n onlineBooking?: { enabled?: boolean; requireManualApproval?: boolean; allowMultipleRequests?: boolean };\n conferencing?: { enabled?: boolean };\n locations?: WixServiceLocation[];\n bookingPolicy?: WixServiceBookingPolicy;\n schedule?: {\n id?: string;\n firstSessionStart?: string;\n lastSessionEnd?: string;\n availabilityConstraints?: { durations?: Array<{ minutes?: number }>; sessionDurations?: number[]; durationRange?: WixServiceDurationRange };\n };\n /** Returned only when the request asks for `STAFF_MEMBER_DETAILS` (see `getService`). */\n staffMemberDetails?: WixServiceStaffMemberDetails;\n urls?: WixServiceUrls;\n /** @deprecated Compatibility projection populated by `decodeService`. */\n price?: number;\n /** @deprecated Legacy v1 compatibility field. */\n category?: string;\n}"
|
|
9173
9479
|
},
|
|
9174
9480
|
{
|
|
9175
9481
|
"name": "decodeService",
|
|
@@ -9239,6 +9545,26 @@
|
|
|
9239
9545
|
"decl": "export async function queryServices(req: WixQueryServicesRequest = {} as WixQueryServicesRequest): Promise<WixQueryServicesResponse>;",
|
|
9240
9546
|
"http": "POST /bookings/v2/services/query"
|
|
9241
9547
|
},
|
|
9548
|
+
{
|
|
9549
|
+
"name": "WixServiceCategory",
|
|
9550
|
+
"kind": "interface",
|
|
9551
|
+
"jsdoc": "/** One service category, as the categories query returns it. `sortOrder` is the business's\n * own order; the response is already in it. */",
|
|
9552
|
+
"decl": "export interface WixServiceCategory {\n id?: string;\n name?: string;\n sortOrder?: number;\n}"
|
|
9553
|
+
},
|
|
9554
|
+
{
|
|
9555
|
+
"name": "WixQueryServiceCategoriesResponse",
|
|
9556
|
+
"kind": "interface",
|
|
9557
|
+
"jsdoc": "",
|
|
9558
|
+
"decl": "export interface WixQueryServiceCategoriesResponse {\n categories: WixServiceCategory[];\n}"
|
|
9559
|
+
},
|
|
9560
|
+
{
|
|
9561
|
+
"name": "queryServiceCategories",
|
|
9562
|
+
"kind": "function",
|
|
9563
|
+
"jsdoc": "/** List the site's service categories — POST /bookings/v2/services/categories/query with an\n * empty body. Returns only the categories that have services, in the business's own order\n * (the order of the site's Book Online page). Verified live 2026-11-01 with an anonymous\n * visitor token: 200.\n * @scope visitor — an anonymous visitor session is enough. */",
|
|
9564
|
+
"decl": "export async function queryServiceCategories(): Promise<WixQueryServiceCategoriesResponse>;",
|
|
9565
|
+
"http": "POST /bookings/v2/services/categories/query",
|
|
9566
|
+
"scope": "visitor"
|
|
9567
|
+
},
|
|
9242
9568
|
{
|
|
9243
9569
|
"name": "WixGetServiceResponse",
|
|
9244
9570
|
"kind": "interface",
|
|
@@ -9248,9 +9574,8 @@
|
|
|
9248
9574
|
{
|
|
9249
9575
|
"name": "getService",
|
|
9250
9576
|
"kind": "function",
|
|
9251
|
-
"jsdoc": "/** Fetch a single service by id — GET /bookings/v2/services/{id}. Visitor-readable\n * (public GA route, not the owner `_api/` gateway). The detail/edit-prefill source. */",
|
|
9252
|
-
"decl": "export async function getService(serviceId: string): Promise<WixGetServiceResponse>;"
|
|
9253
|
-
"http": "GET /bookings/v2/services/{…}"
|
|
9577
|
+
"jsdoc": "/** Fetch a single service by id — GET /bookings/v2/services/{id}. Visitor-readable\n * (public GA route, not the owner `_api/` gateway). The detail/edit-prefill source.\n * `options.conditionalFields` asks for fields Wix returns only on request\n * (\"STAFF_MEMBER_DETAILS\", \"DISCOUNT_INFO_DETAILS\"), each sent as a repeated\n * `conditionalFields` query parameter. Without `options` the request is the one this\n * function always sent. */",
|
|
9578
|
+
"decl": "export async function getService(serviceId: string, options?: WixGetServiceOptions): Promise<WixGetServiceResponse>;"
|
|
9254
9579
|
},
|
|
9255
9580
|
{
|
|
9256
9581
|
"name": "WixServiceWrite",
|
|
@@ -9366,6 +9691,54 @@
|
|
|
9366
9691
|
"decl": "export function cancelBookingAsMember(bookingId: string, revision: string, notify = true): Promise<WixUpdateBookingResponse>;",
|
|
9367
9692
|
"http": "POST /bookings/v2/bookings/{…}/cancel"
|
|
9368
9693
|
},
|
|
9694
|
+
{
|
|
9695
|
+
"name": "WixWaitlistContact",
|
|
9696
|
+
"kind": "interface",
|
|
9697
|
+
"jsdoc": "",
|
|
9698
|
+
"decl": "export interface WixWaitlistContact {\n email: string;\n firstName?: string;\n lastName?: string;\n}"
|
|
9699
|
+
},
|
|
9700
|
+
{
|
|
9701
|
+
"name": "WixWaitlistRegistration",
|
|
9702
|
+
"kind": "interface",
|
|
9703
|
+
"jsdoc": "",
|
|
9704
|
+
"decl": "export interface WixWaitlistRegistration {\n id?: string;\n bookingId?: string;\n waitingResource?: string;\n status?: string;\n availableActions?: { leave?: boolean; enroll?: boolean };\n}"
|
|
9705
|
+
},
|
|
9706
|
+
{
|
|
9707
|
+
"name": "WixWaitlistEntry",
|
|
9708
|
+
"kind": "interface",
|
|
9709
|
+
"jsdoc": "",
|
|
9710
|
+
"decl": "export interface WixWaitlistEntry {\n /** The waitlisted session id. */\n waitingResource?: string;\n registrations?: WixWaitlistRegistration[];\n}"
|
|
9711
|
+
},
|
|
9712
|
+
{
|
|
9713
|
+
"name": "WixRegisterToWaitlistResponse",
|
|
9714
|
+
"kind": "interface",
|
|
9715
|
+
"jsdoc": "",
|
|
9716
|
+
"decl": "export interface WixRegisterToWaitlistResponse {\n registrationId?: string;\n booking?: { id?: string; status?: string };\n}"
|
|
9717
|
+
},
|
|
9718
|
+
{
|
|
9719
|
+
"name": "registerToWaitlist",
|
|
9720
|
+
"kind": "function",
|
|
9721
|
+
"jsdoc": "/** Register the signed-in member to a full session's waitlist —\n * POST /bookings/v1/waitlist/register. `sessionId` is the availability slot's\n * `sessionId`. Wix answers with an error when the session has no waitlist or it is\n * full, so offer this only while the entry reports `waitingList.openSpots > 0`.\n * @scope member — requires a signed-in site member; `contact.email` is theirs. Only name and\n * email are sent, so a booking form with other required fields can refuse it. */",
|
|
9722
|
+
"decl": "export function registerToWaitlist(sessionId: string, contact: WixWaitlistContact): Promise<WixRegisterToWaitlistResponse>;",
|
|
9723
|
+
"http": "POST /bookings/v1/waitlist/register",
|
|
9724
|
+
"scope": "member"
|
|
9725
|
+
},
|
|
9726
|
+
{
|
|
9727
|
+
"name": "listWaitlists",
|
|
9728
|
+
"kind": "function",
|
|
9729
|
+
"jsdoc": "/** The waitlists of the given sessions — GET /bookings/v1/waitlist/list (public data).\n * Each registration carries its `bookingId`, which is how a member's own place is found.\n * @scope visitor — an anonymous visitor session is enough. */",
|
|
9730
|
+
"decl": "export function listWaitlists(sessionIds: string[]): Promise<{ list?: WixWaitlistEntry[] }>;",
|
|
9731
|
+
"http": "GET /bookings/v1/waitlist/list",
|
|
9732
|
+
"scope": "visitor"
|
|
9733
|
+
},
|
|
9734
|
+
{
|
|
9735
|
+
"name": "leaveWaitlist",
|
|
9736
|
+
"kind": "function",
|
|
9737
|
+
"jsdoc": "/** Leave a waitlist — POST /bookings/v1/waitlist/leave. Wix also cancels the pending\n * booking the registration created, and offers the place to the next registrant.\n * @scope member — requires the signed-in member who registered; `registrationId` comes from\n * `listWaitlists`. */",
|
|
9738
|
+
"decl": "export function leaveWaitlist(registrationId: string, sessionId: string): Promise<{ registrationId?: string; waitingResource?: string }>;",
|
|
9739
|
+
"http": "POST /bookings/v1/waitlist/leave",
|
|
9740
|
+
"scope": "member"
|
|
9741
|
+
},
|
|
9369
9742
|
{
|
|
9370
9743
|
"name": "isBookingPolicyViolation",
|
|
9371
9744
|
"kind": "function",
|
|
@@ -9394,8 +9767,8 @@
|
|
|
9394
9767
|
{
|
|
9395
9768
|
"name": "WixAvailabilityEntry",
|
|
9396
9769
|
"kind": "interface",
|
|
9397
|
-
"jsdoc": "",
|
|
9398
|
-
"decl": "export interface WixAvailabilityEntry {
|
|
9770
|
+
"jsdoc": "/** Raw v1 availability fields, including capacity for a class or course session. */",
|
|
9771
|
+
"decl": "export interface WixAvailabilityEntry {\n slot?: WixBookingSlotFull;\n bookable?: boolean;\n totalSpots?: number;\n openSpots?: number;\n waitingList?: { totalSpots?: number; openSpots?: number };\n}"
|
|
9399
9772
|
},
|
|
9400
9773
|
{
|
|
9401
9774
|
"name": "WixQueryAvailabilityResponse",
|
|
@@ -9460,6 +9833,14 @@
|
|
|
9460
9833
|
"decl": "export function bookSlot(\n slot: WixBookingSlotFull,\n firstName: string,\n lastName: string,\n email: string,\n options?: WixBookSlotOptions,\n): Promise<WixCreateBookingResponse>;",
|
|
9461
9834
|
"http": "POST /bookings/v2/bookings"
|
|
9462
9835
|
},
|
|
9836
|
+
{
|
|
9837
|
+
"name": "bookSchedule",
|
|
9838
|
+
"kind": "function",
|
|
9839
|
+
"jsdoc": "/** Book a course as a whole — POST /bookings/v2/bookings with `bookedEntity.schedule.scheduleId`.\n * A course is a schedule, not one of its dated slots, so the customer joins every session.\n * `scheduleId` is the course service's `schedule.id`; `email` is required (the call throws\n * before any request without it). The booking comes back CREATED, which is NOT proof of a\n * reserved place: on a live free test course every session's open count was unchanged after\n * it. Pay for it through a Wix eCommerce checkout exactly as `bookSlot`'s paid chain does, and\n * reuse that same booking if the checkout fails rather than booking again. Check capacity\n * across every upcoming session first; a refusal comes back as an HTTP error.\n * @scope visitor — a Wix Headless anonymous visitor session returned CREATED (verified live\n * 2026-10-29); the Branded Lite time screen calls it for a signed-in member. */",
|
|
9840
|
+
"decl": "export function bookSchedule(\n scheduleId: string,\n firstName: string,\n lastName: string,\n email: string,\n options?: WixBookSlotOptions,\n): Promise<WixCreateBookingResponse>;",
|
|
9841
|
+
"http": "POST /bookings/v2/bookings",
|
|
9842
|
+
"scope": "visitor"
|
|
9843
|
+
},
|
|
9463
9844
|
{
|
|
9464
9845
|
"name": "WixBookingAdditionalField",
|
|
9465
9846
|
"kind": "interface",
|
|
@@ -13304,23 +13685,47 @@
|
|
|
13304
13685
|
"jsdoc": "/** One sort key — `{ fieldName: \"postedDate\", order: \"DESC\" }`. Keys apply in array order. */",
|
|
13305
13686
|
"decl": "export interface WixDataSort {\n fieldName: string;\n order?: \"ASC\" | \"DESC\";\n}"
|
|
13306
13687
|
},
|
|
13688
|
+
{
|
|
13689
|
+
"name": "WixDataCursorPaging",
|
|
13690
|
+
"kind": "interface",
|
|
13691
|
+
"jsdoc": "/** Cursor paging: pass `cursor` from the previous page's `pagingMetadata.cursors.next`. */",
|
|
13692
|
+
"decl": "export interface WixDataCursorPaging {\n limit?: number;\n cursor?: string;\n}"
|
|
13693
|
+
},
|
|
13694
|
+
{
|
|
13695
|
+
"name": "WixIncludeReference",
|
|
13696
|
+
"kind": "interface",
|
|
13697
|
+
"jsdoc": "/** Inline the items a reference or multi-reference field points at. */",
|
|
13698
|
+
"decl": "export interface WixIncludeReference {\n field: string;\n /** Per-item cap on inlined references. Wix defaults to 50 and allows up to 1000. */\n limit?: number;\n}"
|
|
13699
|
+
},
|
|
13700
|
+
{
|
|
13701
|
+
"name": "WixQueryOptions",
|
|
13702
|
+
"kind": "interface",
|
|
13703
|
+
"jsdoc": "/** The rarely-needed read parameters of `queryDataItems`. Every field is omitted from the wire\n * body unless set, so a caller that passes none sends the exact body it always sent. */",
|
|
13704
|
+
"decl": "export interface WixQueryOptions {\n /** Read from the primary database instance instead of the nearest mirror. Slower, but a read\n * right after your own write sees it — the default is eventually consistent. */\n consistentRead?: boolean;\n /** Page by cursor instead of `offset`. Mutually exclusive with `offset`. */\n cursorPaging?: WixDataCursorPaging;\n /** Return only these fields (`_id` always comes back). */\n fields?: string[];\n includeReferences?: WixIncludeReference[];\n /** IETF BCP 47 tag; needs Wix Multilingual enabled for the collection. */\n language?: string;\n /** Also read pending drafts (collections with the draft-items plugin). */\n includeDraftItems?: boolean;\n}"
|
|
13705
|
+
},
|
|
13307
13706
|
{
|
|
13308
13707
|
"name": "WixQueryDataItemsRequest",
|
|
13309
13708
|
"kind": "interface",
|
|
13310
13709
|
"jsdoc": "",
|
|
13311
|
-
"decl": "export interface WixQueryDataItemsRequest {\n dataCollectionId: string;\n query?: {\n filter?: Record<string, unknown>;\n paging?: WixDataPaging;\n sort?: WixDataSort[];\n };\n /** When true, `pagingMetadata.total` is filled (offset paging only). Default omitted. */\n returnTotalCount?: boolean;\n}"
|
|
13710
|
+
"decl": "export interface WixQueryDataItemsRequest {\n dataCollectionId: string;\n query?: {\n filter?: Record<string, unknown>;\n paging?: WixDataPaging;\n cursorPaging?: WixDataCursorPaging;\n sort?: WixDataSort[];\n fields?: string[];\n };\n /** When true, `pagingMetadata.total` is filled (offset paging only). Default omitted. */\n returnTotalCount?: boolean;\n consistentRead?: boolean;\n includeReferences?: WixIncludeReference[];\n language?: string;\n publishPluginOptions?: { includeDraftItems: boolean };\n}"
|
|
13312
13711
|
},
|
|
13313
13712
|
{
|
|
13314
13713
|
"name": "WixQueryDataItemsResponse",
|
|
13315
13714
|
"kind": "interface",
|
|
13316
13715
|
"jsdoc": "",
|
|
13317
|
-
"decl": "export interface WixQueryDataItemsResponse {\n dataItems?: WixDataItem[];\n items?: WixDataItem[];\n pagingMetadata?: {\n count?: number;\n offset?: number;\n total?: number;\n totalCount?: number;\n tooManyToCount?: boolean;\n };\n}"
|
|
13716
|
+
"decl": "export interface WixQueryDataItemsResponse {\n dataItems?: WixDataItem[];\n items?: WixDataItem[];\n pagingMetadata?: {\n count?: number;\n offset?: number;\n total?: number;\n totalCount?: number;\n tooManyToCount?: boolean;\n /** Present under cursor paging. `next` is absent on the last page. */\n cursors?: { next?: string; prev?: string };\n };\n}"
|
|
13318
13717
|
},
|
|
13319
13718
|
{
|
|
13320
13719
|
"name": "WixInsertDataItemRequest",
|
|
13321
13720
|
"kind": "interface",
|
|
13322
13721
|
"jsdoc": "",
|
|
13323
|
-
"decl": "export interface WixInsertDataItemRequest {\n dataCollectionId: string;\n dataItem: { data: Record<string, unknown> };\n}"
|
|
13722
|
+
"decl": "export interface WixInsertDataItemRequest {\n dataCollectionId: string;\n dataItem: { id?: string; data: Record<string, unknown> };\n}"
|
|
13723
|
+
},
|
|
13724
|
+
{
|
|
13725
|
+
"name": "WixInsertDataItemOptions",
|
|
13726
|
+
"kind": "interface",
|
|
13727
|
+
"jsdoc": "/** Optional `insertDataItem` parameters. */",
|
|
13728
|
+
"decl": "export interface WixInsertDataItemOptions {\n /** A client-chosen item id (max 128 chars). Wix keeps it verbatim and answers a second insert\n * of the same id with 409 `WDE0074` rather than a duplicate — which is what makes a retry\n * after a lost response safe, and what the offline outbox relies on. */\n id?: string;\n}"
|
|
13324
13729
|
},
|
|
13325
13730
|
{
|
|
13326
13731
|
"name": "WixUpdateDataItemRequest",
|
|
@@ -13331,8 +13736,8 @@
|
|
|
13331
13736
|
{
|
|
13332
13737
|
"name": "queryDataItems",
|
|
13333
13738
|
"kind": "function",
|
|
13334
|
-
"jsdoc": "/** Query items in a collection — POST /wix-data/v2/items/query.\n *\n * `filter` is the Wix Data v2 filter object, which the type cannot express (it is\n * `Record<string, unknown>` by construction). A field name maps to a value for\n * equality, or to an operator object:\n *\n * ```ts\n * await queryDataItems(\"Listings\", 20, { city: \"Tel Aviv\" });\n * await queryDataItems(\"Listings\", 20, { price: { $lte: 2_500_000 } });\n * await queryDataItems(\"Listings\", 20, { _id: { $in: [a, b] } });\n * ```\n *\n * `offset` pages: ask for `limit` rows starting at `offset`. Pair it with\n * `returnTotalCount: true`, which fills `pagingMetadata.total` so a caller knows\n * when to stop — it is omitted by default because counting is extra work, and it\n * reports total for OFFSET paging only, which is the mode this function uses.\n *\n * ```ts\n * const first = await queryDataItems(\"Listings\", 50, undefined, true);\n * const total = first.pagingMetadata?.total ?? 0;\n * const rest = await queryDataItems(\"Listings\", 50, undefined, false, 50);\n * ```\n *\n * `sort` orders server-side, so \"newest first\" is one call instead of fetching every row\n * and sorting on the client (which also breaks once the collection outgrows `limit`):\n *\n * ```ts\n * await queryDataItems(\"Jobs\", 1, undefined, false, 0, [{ fieldName: \"postedDate\", order: \"DESC\" }]);\n * ```\n *\n * To read ONE row, use `getDataItem` rather than a page plus a client-side\n * `.find()` — that pattern breaks silently once the collection outgrows `limit
|
|
13335
|
-
"decl": "export function queryDataItems(\n dataCollectionId: string,\n limit = 50,\n filter?: Record<string, unknown>,\n returnTotalCount = false,\n offset = 0,\n sort?: WixDataSort[],\n): Promise<WixQueryDataItemsResponse>;",
|
|
13739
|
+
"jsdoc": "/** Query items in a collection — POST /wix-data/v2/items/query.\n *\n * `filter` is the Wix Data v2 filter object, which the type cannot express (it is\n * `Record<string, unknown>` by construction). A field name maps to a value for\n * equality, or to an operator object:\n *\n * ```ts\n * await queryDataItems(\"Listings\", 20, { city: \"Tel Aviv\" });\n * await queryDataItems(\"Listings\", 20, { price: { $lte: 2_500_000 } });\n * await queryDataItems(\"Listings\", 20, { _id: { $in: [a, b] } });\n * ```\n *\n * `offset` pages: ask for `limit` rows starting at `offset`. Pair it with\n * `returnTotalCount: true`, which fills `pagingMetadata.total` so a caller knows\n * when to stop — it is omitted by default because counting is extra work, and it\n * reports total for OFFSET paging only, which is the mode this function uses.\n *\n * ```ts\n * const first = await queryDataItems(\"Listings\", 50, undefined, true);\n * const total = first.pagingMetadata?.total ?? 0;\n * const rest = await queryDataItems(\"Listings\", 50, undefined, false, 50);\n * ```\n *\n * `sort` orders server-side, so \"newest first\" is one call instead of fetching every row\n * and sorting on the client (which also breaks once the collection outgrows `limit`):\n *\n * ```ts\n * await queryDataItems(\"Jobs\", 1, undefined, false, 0, [{ fieldName: \"postedDate\", order: \"DESC\" }]);\n * ```\n *\n * To read ONE row, use `getDataItem` rather than a page plus a client-side\n * `.find()` — that pattern breaks silently once the collection outgrows `limit`.\n *\n * The seventh argument carries the rarer read options. `consistentRead` is the one that\n * matters after your own write — the default read may come from a mirror that has not caught\n * up yet, so \"insert, then query\" can miss the row you just wrote:\n *\n * ```ts\n * await insertDataItem(\"Messages\", { text });\n * await queryDataItems(\"Messages\", 50, undefined, false, 0, undefined, { consistentRead: true });\n * ```\n *\n * `cursorPaging` pages by an opaque cursor instead of `offset` (up to 1000 per page, and it\n * stays correct while rows are inserted between pages). Define `filter`, `sort` and\n * `returnTotalCount` on the first request: the cursor carries them, and Wix refuses a follow-up\n * that sends them again (`400 WDE0080`, checked against a live site), so this drops them\n * whenever a cursor is passed and the same arguments can be reused for every page. `fields` projects, and\n * `includeReferences` inlines referenced items (a multi-reference field is absent from a\n * result unless it is named here).\n *\n * ```ts\n * let cursor: string | undefined;\n * do {\n * const page = await queryDataItems(\"Posts\", 50, { status: \"live\" }, false, 0, undefined, { cursorPaging: { cursor } });\n * render(page.dataItems);\n * cursor = page.pagingMetadata?.cursors?.next; // absent on the last page: stop there\n * } while (cursor);\n * ``` */",
|
|
13740
|
+
"decl": "export function queryDataItems(\n dataCollectionId: string,\n limit = 50,\n filter?: Record<string, unknown>,\n returnTotalCount = false,\n offset = 0,\n sort?: WixDataSort[],\n options?: WixQueryOptions,\n): Promise<WixQueryDataItemsResponse>;",
|
|
13336
13741
|
"http": "POST /wix-data/v2/items/query"
|
|
13337
13742
|
},
|
|
13338
13743
|
{
|
|
@@ -13345,8 +13750,8 @@
|
|
|
13345
13750
|
{
|
|
13346
13751
|
"name": "insertDataItem",
|
|
13347
13752
|
"kind": "function",
|
|
13348
|
-
"jsdoc": "/** Insert an item — POST /wix-data/v2/items. */",
|
|
13349
|
-
"decl": "export function insertDataItem(\n dataCollectionId: string,\n data: Record<string, unknown>,\n): Promise<{ dataItem?: WixDataItem }>;",
|
|
13753
|
+
"jsdoc": "/** Insert an item — POST /wix-data/v2/items.\n *\n * Insert is create-only: a second insert of an existing id fails with 409 `WDE0074` instead of\n * overwriting. Pass `{ id }` to choose the id yourself — mint it once before the first attempt\n * and a retry after a lost response cannot create a duplicate (the 409 means \"already there\").\n * Wix reads the id from the item envelope and refuses `data._id` on its own (`400 WDE0080`), so an\n * `_id` given only inside `data` is moved onto the envelope for you. To insert-or-replace by id,\n * use `saveDataItem`. */",
|
|
13754
|
+
"decl": "export function insertDataItem(\n dataCollectionId: string,\n data: Record<string, unknown>,\n options?: WixInsertDataItemOptions,\n): Promise<{ dataItem?: WixDataItem }>;",
|
|
13350
13755
|
"http": "POST /wix-data/v2/items"
|
|
13351
13756
|
},
|
|
13352
13757
|
{
|
|
@@ -13364,7 +13769,297 @@
|
|
|
13364
13769
|
"http": "DELETE /wix-data/v2/items/{…}?{…}"
|
|
13365
13770
|
},
|
|
13366
13771
|
{
|
|
13367
|
-
"name": "
|
|
13772
|
+
"name": "WixFieldModification",
|
|
13773
|
+
"kind": "type",
|
|
13774
|
+
"jsdoc": "/** One edit inside a patch. Build them with `setField`, `removeField`, `incrementField`,\n * `appendToArray` and `removeFromArray` rather than by hand. */",
|
|
13775
|
+
"decl": "export type WixFieldModification =\n | { fieldPath: string; action: \"SET_FIELD\"; setFieldOptions: { value: unknown } }\n | { fieldPath: string; action: \"REMOVE_FIELD\" }\n | { fieldPath: string; action: \"INCREMENT_FIELD\"; incrementFieldOptions: { value: number } }\n | { fieldPath: string; action: \"APPEND_TO_ARRAY\"; appendToArrayOptions: { value: unknown } }\n | { fieldPath: string; action: \"REMOVE_FROM_ARRAY\"; removeFromArrayOptions: { value: unknown } };"
|
|
13776
|
+
},
|
|
13777
|
+
{
|
|
13778
|
+
"name": "setField",
|
|
13779
|
+
"kind": "function",
|
|
13780
|
+
"jsdoc": "/** Set one field to `value`, leaving every other field alone. `fieldPath` may be dotted\n * (`\"address.city\"`). For a MULTI_REFERENCE field `value` is an array of item ids and the\n * call REPLACES the whole link set. */",
|
|
13781
|
+
"decl": "export function setField(fieldPath: string, value: unknown): WixFieldModification;"
|
|
13782
|
+
},
|
|
13783
|
+
{
|
|
13784
|
+
"name": "removeField",
|
|
13785
|
+
"kind": "function",
|
|
13786
|
+
"jsdoc": "/** Clear one field. */",
|
|
13787
|
+
"decl": "export function removeField(fieldPath: string): WixFieldModification;"
|
|
13788
|
+
},
|
|
13789
|
+
{
|
|
13790
|
+
"name": "incrementField",
|
|
13791
|
+
"kind": "function",
|
|
13792
|
+
"jsdoc": "/** Add `by` to a numeric field atomically on the server (negative to subtract). Two devices that\n * each increment a counter both land; a read-then-`updateDataItem` would lose one. */",
|
|
13793
|
+
"decl": "export function incrementField(fieldPath: string, by = 1): WixFieldModification;"
|
|
13794
|
+
},
|
|
13795
|
+
{
|
|
13796
|
+
"name": "appendToArray",
|
|
13797
|
+
"kind": "function",
|
|
13798
|
+
"jsdoc": "/** Append `value` to an array field. Not for MULTI_REFERENCE fields — Wix fails that per item\n * with `WDE0303`; use `insertDataItemReferences` or `setField` with an array of ids. */",
|
|
13799
|
+
"decl": "export function appendToArray(fieldPath: string, value: unknown): WixFieldModification;"
|
|
13800
|
+
},
|
|
13801
|
+
{
|
|
13802
|
+
"name": "removeFromArray",
|
|
13803
|
+
"kind": "function",
|
|
13804
|
+
"jsdoc": "/** Remove the first occurrence of `value` from an array field. */",
|
|
13805
|
+
"decl": "export function removeFromArray(fieldPath: string, value: unknown): WixFieldModification;"
|
|
13806
|
+
},
|
|
13807
|
+
{
|
|
13808
|
+
"name": "patchDataItem",
|
|
13809
|
+
"kind": "function",
|
|
13810
|
+
"jsdoc": "/** Change only the named fields of one item — PATCH /wix-data/v2/items/{id}.\n *\n * Prefer this to `updateDataItem` for any partial change. `updateDataItem` REPLACES the whole\n * item, so sending two fields deletes every other field — including the one you look the row up\n * by. A patch touches only what you name, can increment a number atomically, and takes 1 to 100\n * modifications.\n *\n * ```ts\n * await patchDataItem(\"Posts\", id, [setField(\"title\", \"New\"), incrementField(\"views\")]);\n * ```\n *\n * Works on collections created in the CMS or through the API; Wix does not support it on Wix\n * app collections (Stores products and the like). Needs write permission on the collection\n * for the calling identity.\n *\n * @scope visitor — enough when the collection's update role is ANYONE; a stricter role answers `403 WDE0027` (checked against a live site).\n */",
|
|
13811
|
+
"decl": "export function patchDataItem(\n dataCollectionId: string,\n dataItemId: string,\n fieldModifications: WixFieldModification[],\n): Promise<{ dataItem?: WixDataItem }>;",
|
|
13812
|
+
"http": "PATCH /wix-data/v2/items/{…}",
|
|
13813
|
+
"scope": "visitor"
|
|
13814
|
+
},
|
|
13815
|
+
{
|
|
13816
|
+
"name": "WixSaveDataItemOptions",
|
|
13817
|
+
"kind": "interface",
|
|
13818
|
+
"jsdoc": "/** Optional `saveDataItem` parameters. */",
|
|
13819
|
+
"decl": "export interface WixSaveDataItemOptions {\n /** The item's id (max 128 chars). If an item with this id exists it is replaced, otherwise it is\n * created with exactly this id. Omit it to let Wix generate one. */\n id?: string;\n}"
|
|
13820
|
+
},
|
|
13821
|
+
{
|
|
13822
|
+
"name": "saveDataItem",
|
|
13823
|
+
"kind": "function",
|
|
13824
|
+
"jsdoc": "/** Insert the item, or replace it if the id already exists — POST /wix-data/v2/items/save.\n *\n * With an explicit `{ id }` this is the idempotent write: saving the same id twice leaves one row\n * holding the second write, so it is safe to retry and it is one of the two item writes the\n * offline write queue may hold (last write wins — there is no revision check). On an existing id\n * it REPLACES the whole item like `updateDataItem` — use `patchDataItem` to change only some fields.\n *\n * Without an id Wix generates one and the call is an insert, so a retry after a lost response adds\n * a second row: mint the id once and pass it if you may retry. An `_id` given only inside `data` is\n * moved onto the envelope. `action` in the result says which happened (`INSERT` or `UPDATE`).\n *\n * @scope visitor — enough when the collection's insert and update roles are ANYONE; a stricter role answers `403 WDE0027` (checked against a live site).\n */",
|
|
13825
|
+
"decl": "export function saveDataItem(\n dataCollectionId: string,\n data: Record<string, unknown>,\n options?: WixSaveDataItemOptions,\n): Promise<{ action?: string; dataItem?: WixDataItem }>;",
|
|
13826
|
+
"http": "POST /wix-data/v2/items/save",
|
|
13827
|
+
"scope": "visitor"
|
|
13828
|
+
},
|
|
13829
|
+
{
|
|
13830
|
+
"name": "WixReadOptions",
|
|
13831
|
+
"kind": "interface",
|
|
13832
|
+
"jsdoc": "/** Optional read parameters shared by the count, aggregate and reference reads. */",
|
|
13833
|
+
"decl": "export interface WixReadOptions {\n /** Read from the primary instance; see `WixQueryOptions.consistentRead`. */\n consistentRead?: boolean;\n language?: string;\n includeDraftItems?: boolean;\n}"
|
|
13834
|
+
},
|
|
13835
|
+
{
|
|
13836
|
+
"name": "countDataItems",
|
|
13837
|
+
"kind": "function",
|
|
13838
|
+
"jsdoc": "/** How many items match — POST /wix-data/v2/items/count.\n *\n * One read, and cheaper than `queryDataItems(..., returnTotalCount)` when you do not need the\n * rows. `filter` is the same Wix filter object `queryDataItems` takes. Returns `{ totalCount }`.\n *\n * @scope visitor — enough when the collection's read role is ANYONE; a stricter role answers `403 WDE0027` (checked against a live site).\n */",
|
|
13839
|
+
"decl": "export function countDataItems(\n dataCollectionId: string,\n filter?: Record<string, unknown>,\n options?: WixReadOptions,\n): Promise<{ totalCount?: number }>;",
|
|
13840
|
+
"http": "POST /wix-data/v2/items/count",
|
|
13841
|
+
"scope": "visitor"
|
|
13842
|
+
},
|
|
13843
|
+
{
|
|
13844
|
+
"name": "WixBulkItemError",
|
|
13845
|
+
"kind": "interface",
|
|
13846
|
+
"jsdoc": "",
|
|
13847
|
+
"decl": "export interface WixBulkItemError {\n code?: string;\n description?: string;\n data?: Record<string, unknown>;\n}"
|
|
13848
|
+
},
|
|
13849
|
+
{
|
|
13850
|
+
"name": "WixBulkItemMetadata",
|
|
13851
|
+
"kind": "interface",
|
|
13852
|
+
"jsdoc": "",
|
|
13853
|
+
"decl": "export interface WixBulkItemMetadata {\n id?: string;\n /** Index of this item in the array you sent — how a result is matched back to its input. */\n originalIndex?: number;\n success?: boolean;\n error?: WixBulkItemError;\n}"
|
|
13854
|
+
},
|
|
13855
|
+
{
|
|
13856
|
+
"name": "WixBulkDataItemResult",
|
|
13857
|
+
"kind": "interface",
|
|
13858
|
+
"jsdoc": "",
|
|
13859
|
+
"decl": "export interface WixBulkDataItemResult {\n action?: string;\n itemMetadata?: WixBulkItemMetadata;\n /** Present only when the request set `returnEntity: true`. */\n dataItem?: WixDataItem;\n}"
|
|
13860
|
+
},
|
|
13861
|
+
{
|
|
13862
|
+
"name": "WixBulkActionMetadata",
|
|
13863
|
+
"kind": "interface",
|
|
13864
|
+
"jsdoc": "",
|
|
13865
|
+
"decl": "export interface WixBulkActionMetadata {\n totalSuccesses?: number;\n totalFailures?: number;\n}"
|
|
13866
|
+
},
|
|
13867
|
+
{
|
|
13868
|
+
"name": "WixBulkDataItemsResponse",
|
|
13869
|
+
"kind": "interface",
|
|
13870
|
+
"jsdoc": "",
|
|
13871
|
+
"decl": "export interface WixBulkDataItemsResponse {\n results?: WixBulkDataItemResult[];\n bulkActionMetadata?: WixBulkActionMetadata;\n}"
|
|
13872
|
+
},
|
|
13873
|
+
{
|
|
13874
|
+
"name": "WixBulkWriteOptions",
|
|
13875
|
+
"kind": "interface",
|
|
13876
|
+
"jsdoc": "",
|
|
13877
|
+
"decl": "export interface WixBulkWriteOptions {\n /** Return each written item in `results[].dataItem`. Off by default to keep the response small. */\n returnEntity?: boolean;\n}"
|
|
13878
|
+
},
|
|
13879
|
+
{
|
|
13880
|
+
"name": "WixBulkConditionalWriteOptions",
|
|
13881
|
+
"kind": "interface",
|
|
13882
|
+
"jsdoc": "",
|
|
13883
|
+
"decl": "export interface WixBulkConditionalWriteOptions extends WixBulkWriteOptions {\n /** Apply the write only to items that also match this filter (an optimistic-concurrency guard). */\n condition?: { filter: Record<string, unknown> };\n}"
|
|
13884
|
+
},
|
|
13885
|
+
{
|
|
13886
|
+
"name": "bulkFailures",
|
|
13887
|
+
"kind": "function",
|
|
13888
|
+
"jsdoc": "/** The items of a bulk response that failed — an empty array means every item was written.\n * An item counts as failed when its result says `success: false`, or carries a non-null `error`\n * without `success: true`, so a response that leaves `success` off a failed item is still caught.\n * Wix sends `originalIndex` on every result, `0` included (checked against a live site).\n *\n * ```ts\n * const res = await bulkInsertDataItems(\"Menu\", rows);\n * for (const f of bulkFailures(res)) console.warn(rows[f.itemMetadata!.originalIndex!], f.itemMetadata!.error);\n * ``` */",
|
|
13889
|
+
"decl": "export function bulkFailures<T extends { itemMetadata?: WixBulkItemMetadata; referenceMetadata?: WixBulkItemMetadata }>(\n res: { results?: T[] } | undefined,\n): T[];"
|
|
13890
|
+
},
|
|
13891
|
+
{
|
|
13892
|
+
"name": "bulkInsertDataItems",
|
|
13893
|
+
"kind": "function",
|
|
13894
|
+
"jsdoc": "/** Insert up to 1000 items in one call — POST /wix-data/v2/bulk/items/insert.\n *\n * Create-only: an item whose `id` already exists is rejected (Wix reports it per item, not as a\n * failed call). CHECK THE RESULT — the HTTP status is 200 even when items failed; use `bulkFailures(res)` or\n * `res.bulkActionMetadata.totalFailures`. A retry of the whole call after a lost response re-sends\n * rows that landed, so give rows an `id` (it goes beside `data`, not inside it) if a duplicate\n * would matter. Multi-reference values in `data` are silently dropped by Wix; write those with\n * `insertDataItemReferences`. The payload is capped at about 4 MB.\n *\n * @scope visitor — enough when the collection's insert role is ANYONE; a stricter role fails every item with `WDE0027` inside a 200 (checked against a live site).\n */",
|
|
13895
|
+
"decl": "export function bulkInsertDataItems(\n dataCollectionId: string,\n dataItems: { id?: string; data: Record<string, unknown> }[],\n options?: WixBulkWriteOptions,\n): Promise<WixBulkDataItemsResponse>;",
|
|
13896
|
+
"http": "POST /wix-data/v2/bulk/items/insert",
|
|
13897
|
+
"scope": "visitor"
|
|
13898
|
+
},
|
|
13899
|
+
{
|
|
13900
|
+
"name": "bulkSaveDataItems",
|
|
13901
|
+
"kind": "function",
|
|
13902
|
+
"jsdoc": "/** Insert-or-replace up to 1000 items in one call — POST /wix-data/v2/bulk/items/save.\n *\n * The idempotent bulk write for items that carry an `id`: rerunning the same call converges on the\n * same rows, so it is the right one for imports and syncs. An item without an id is inserted again\n * on every run. Each item with an existing `id` is REPLACED whole. As with\n * every bulk call the HTTP status is 200 whatever happened — read `bulkFailures(res)`.\n *\n * @scope visitor — enough when the collection's insert and update roles are ANYONE; a stricter role fails the items with `WDE0027` inside a 200.\n */",
|
|
13903
|
+
"decl": "export function bulkSaveDataItems(\n dataCollectionId: string,\n dataItems: { id?: string; data: Record<string, unknown> }[],\n options?: WixBulkWriteOptions,\n): Promise<WixBulkDataItemsResponse>;",
|
|
13904
|
+
"http": "POST /wix-data/v2/bulk/items/save",
|
|
13905
|
+
"scope": "visitor"
|
|
13906
|
+
},
|
|
13907
|
+
{
|
|
13908
|
+
"name": "bulkUpdateDataItems",
|
|
13909
|
+
"kind": "function",
|
|
13910
|
+
"jsdoc": "/** Replace up to 1000 existing items — POST /wix-data/v2/bulk/items/update.\n *\n * Every item needs its `id` on the envelope. `data._id` may stay when it equals that id (so an item\n * read back from a query can be sent as is) but must not differ — Wix answers a mismatch with\n * `400 WDE0080` (both checked against a live site). An id that does not exist fails that item. Like\n * `updateDataItem` this REPLACES each item whole, so fields you leave out are deleted — prefer\n * `bulkPatchDataItems` for partial changes. The status is 200 whatever happened; read\n * `bulkFailures(res)`.\n *\n * @scope visitor — enough when the collection's update role is ANYONE; a stricter role fails every item with `WDE0027` inside a 200 (checked against a live site).\n */",
|
|
13911
|
+
"decl": "export function bulkUpdateDataItems(\n dataCollectionId: string,\n dataItems: { id: string; data: Record<string, unknown> }[],\n options?: WixBulkConditionalWriteOptions,\n): Promise<WixBulkDataItemsResponse>;",
|
|
13912
|
+
"http": "POST /wix-data/v2/bulk/items/update",
|
|
13913
|
+
"scope": "visitor"
|
|
13914
|
+
},
|
|
13915
|
+
{
|
|
13916
|
+
"name": "bulkPatchDataItems",
|
|
13917
|
+
"kind": "function",
|
|
13918
|
+
"jsdoc": "/** Patch up to 100 items in one call — POST /wix-data/v2/bulk/items/patch.\n *\n * Each patch names an item and 1 to 100 modifications (`setField`, `incrementField`, …); fields\n * not named are untouched, and increments are atomic. The body key is `patches`, not `dataItems`\n * — sending the latter fails with `WDE0080`. Not for Wix app collections. The status is 200\n * whatever happened; read `bulkFailures(res)`.\n *\n * @scope visitor — enough when the collection's update role is ANYONE; a stricter role fails every item with `WDE0027` inside a 200 (checked against a live site).\n */",
|
|
13919
|
+
"decl": "export function bulkPatchDataItems(\n dataCollectionId: string,\n patches: { dataItemId: string; fieldModifications: WixFieldModification[] }[],\n options?: WixBulkConditionalWriteOptions,\n): Promise<WixBulkDataItemsResponse>;",
|
|
13920
|
+
"http": "POST /wix-data/v2/bulk/items/patch",
|
|
13921
|
+
"scope": "visitor"
|
|
13922
|
+
},
|
|
13923
|
+
{
|
|
13924
|
+
"name": "bulkRemoveDataItems",
|
|
13925
|
+
"kind": "function",
|
|
13926
|
+
"jsdoc": "/** Remove up to 1000 items by id in one call — POST /wix-data/v2/bulk/items/remove.\n *\n * Irreversible, and it clears references to the removed items. Results are per item, and the\n * status is 200 even when some items fail (an id that does not exist is `WDE0073` per item);\n * read `bulkFailures(res)`. A remove the caller may not make at all is a 403 instead.\n *\n * @scope visitor — enough when the collection's remove role is ANYONE; a stricter role answers `403 WDE0027` for the whole request (checked against a live site).\n */",
|
|
13927
|
+
"decl": "export function bulkRemoveDataItems(\n dataCollectionId: string,\n dataItemIds: string[],\n options?: { condition?: { filter: Record<string, unknown> } },\n): Promise<WixBulkDataItemsResponse>;",
|
|
13928
|
+
"http": "POST /wix-data/v2/bulk/items/remove",
|
|
13929
|
+
"scope": "visitor"
|
|
13930
|
+
},
|
|
13931
|
+
{
|
|
13932
|
+
"name": "WixPagingMetadata",
|
|
13933
|
+
"kind": "interface",
|
|
13934
|
+
"jsdoc": "/** Paging block of the reads below, as Wix returns it. */",
|
|
13935
|
+
"decl": "export interface WixPagingMetadata {\n count?: number;\n offset?: number;\n /** Filled for offset paging when `returnTotalCount` was set and the server could count. */\n total?: number;\n tooManyToCount?: boolean;\n cursors?: { next?: string; prev?: string };\n hasNext?: boolean;\n}"
|
|
13936
|
+
},
|
|
13937
|
+
{
|
|
13938
|
+
"name": "WixPipelineStage",
|
|
13939
|
+
"kind": "type",
|
|
13940
|
+
"jsdoc": "/** One aggregation stage: an object with exactly one key — `group`, `filter`, `sort`, `projection`,\n * `unwindArray`, `objectToArray`, `skip` or `limit`. Wix's pipeline reference documents each. */",
|
|
13941
|
+
"decl": "export type WixPipelineStage = Record<string, unknown>;"
|
|
13942
|
+
},
|
|
13943
|
+
{
|
|
13944
|
+
"name": "WixAggregationPipeline",
|
|
13945
|
+
"kind": "interface",
|
|
13946
|
+
"jsdoc": "",
|
|
13947
|
+
"decl": "export interface WixAggregationPipeline {\n /** Up to 100 stages, run in order, each on the previous stage's output. */\n stages: WixPipelineStage[];\n /** Page the pipeline's results. Offset and cursor paging are mutually exclusive. */\n paging?: WixDataPaging;\n cursorPaging?: WixDataCursorPaging;\n}"
|
|
13948
|
+
},
|
|
13949
|
+
{
|
|
13950
|
+
"name": "WixAggregateOptions",
|
|
13951
|
+
"kind": "interface",
|
|
13952
|
+
"jsdoc": "",
|
|
13953
|
+
"decl": "export interface WixAggregateOptions extends WixReadOptions {\n returnTotalCount?: boolean;\n}"
|
|
13954
|
+
},
|
|
13955
|
+
{
|
|
13956
|
+
"name": "aggregateDataItemsPipeline",
|
|
13957
|
+
"kind": "function",
|
|
13958
|
+
"jsdoc": "/** Run an aggregation pipeline — POST /wix-data/v2/items/aggregate-pipeline.\n *\n * Counts, sums, averages and group-bys computed by Wix instead of by downloading every row and\n * folding it on the device — one read, however large the collection.\n *\n * ```ts\n * const { results } = await aggregateDataItemsPipeline(\"Products\", {\n * stages: [{ group: {\n * groupIds: [{ key: \"category\", expression: { fieldPath: \"category\" } }],\n * accumulators: [{ resultFieldName: \"count\", sum: { expression: { numeric: 1 } } }],\n * } }],\n * });\n * ```\n *\n * Each result is a group: its group keys sit under `_id`, accumulators under their\n * `resultFieldName`. Not supported on Wix app collections. Up to 10000 results per response.\n *\n * A follow-up page (`pipeline.cursorPaging.cursor` set) sends only the cursor: it already carries\n * the stages, and Wix refuses stages or `returnTotalCount` beside it (`400 WDE0080`, checked\n * against a live site). So pass the same pipeline for every page, with the next cursor.\n *\n * @scope visitor — enough when the collection's read role is ANYONE; a stricter role answers `403 WDE0027` (checked against a live site).\n */",
|
|
13959
|
+
"decl": "export function aggregateDataItemsPipeline(\n dataCollectionId: string,\n // The second form is a follow-up page on its own: the cursor already carries the stages.\n pipeline: WixAggregationPipeline | { cursorPaging: WixDataCursorPaging & { cursor: string }; stages?: undefined; paging?: undefined },\n options?: WixAggregateOptions,\n): Promise<{ results?: Record<string, unknown>[]; pagingMetadata?: WixPagingMetadata }>;",
|
|
13960
|
+
"http": "POST /wix-data/v2/items/aggregate-pipeline",
|
|
13961
|
+
"scope": "visitor"
|
|
13962
|
+
},
|
|
13963
|
+
{
|
|
13964
|
+
"name": "WixDistinctOptions",
|
|
13965
|
+
"kind": "interface",
|
|
13966
|
+
"jsdoc": "",
|
|
13967
|
+
"decl": "export interface WixDistinctOptions extends WixReadOptions {\n filter?: Record<string, unknown>;\n order?: \"ASC\" | \"DESC\";\n paging?: WixDataPaging;\n cursorPaging?: WixDataCursorPaging;\n returnTotalCount?: boolean;\n}"
|
|
13968
|
+
},
|
|
13969
|
+
{
|
|
13970
|
+
"name": "queryDistinctValues",
|
|
13971
|
+
"kind": "function",
|
|
13972
|
+
"jsdoc": "/** The unique values of one field, across the items matching `filter` — POST\n * /wix-data/v2/items/query-distinct-values.\n *\n * What a filter chip or a category picker needs: the list of cities in use, without fetching every\n * row to build it. Returns `{ distinctValues, pagingMetadata }`. Wix's reference types each entry\n * as a value union (string, number, boolean, list, struct or null); inspect one live response\n * before depending on the exact serialisation of non-string fields.\n *\n * @scope visitor — enough when the collection's read role is ANYONE; a stricter role answers `403 WDE0027` (checked against a live site).\n */",
|
|
13973
|
+
"decl": "export function queryDistinctValues(\n dataCollectionId: string,\n fieldName: string,\n options?: WixDistinctOptions,\n): Promise<{ distinctValues?: unknown[]; pagingMetadata?: WixPagingMetadata }>;",
|
|
13974
|
+
"http": "POST /wix-data/v2/items/query-distinct-values",
|
|
13975
|
+
"scope": "visitor"
|
|
13976
|
+
},
|
|
13977
|
+
{
|
|
13978
|
+
"name": "WixSearchOptions",
|
|
13979
|
+
"kind": "interface",
|
|
13980
|
+
"jsdoc": "",
|
|
13981
|
+
"decl": "export interface WixSearchOptions {\n /** `OR` (default): any term matches. `AND`: every term must. */\n mode?: \"OR\" | \"AND\";\n /** Tolerate typos and partial matches. */\n fuzzy?: boolean;\n filter?: Record<string, unknown>;\n sort?: WixDataSort[];\n /** Fields to return (`_id` always comes back). */\n fields?: string[];\n /** Offset paging only: Wix answers cursor paging on search with `400 WDE0080` (\"Cursor paging is\n * not supported for search\"), checked against a live site. */\n paging?: WixDataPaging;\n includeReferences?: WixIncludeReference[];\n includeDraftItems?: boolean;\n}"
|
|
13982
|
+
},
|
|
13983
|
+
{
|
|
13984
|
+
"name": "searchDataItems",
|
|
13985
|
+
"kind": "function",
|
|
13986
|
+
"jsdoc": "/** Full-text search a collection — POST /wix-data/v2/items/search.\n *\n * `expression` is up to 100 characters; terms are split on whitespace and combined by `mode`.\n * Only collections created in the CMS or through the Data Collections API can be searched — not\n * Wix app collections, external collections or Blocks. Filtering is limited to fields defined in\n * the collection's structure, each field type accepts only some operators, and search results are\n * ALWAYS eventually consistent (there is no `consistentRead`), so a row written a moment ago may\n * not be found yet. Returns the same shape as `queryDataItems`.\n *\n * @scope visitor — enough when the collection's read role is ANYONE; a stricter role answers `403 WDE0027` (checked against a live site).\n */",
|
|
13987
|
+
"decl": "export function searchDataItems(\n dataCollectionId: string,\n expression: string,\n options?: WixSearchOptions,\n): Promise<WixQueryDataItemsResponse>;",
|
|
13988
|
+
"http": "POST /wix-data/v2/items/search",
|
|
13989
|
+
"scope": "visitor"
|
|
13990
|
+
},
|
|
13991
|
+
{
|
|
13992
|
+
"name": "WixDataItemReference",
|
|
13993
|
+
"kind": "interface",
|
|
13994
|
+
"jsdoc": "",
|
|
13995
|
+
"decl": "export interface WixDataItemReference {\n referringItemId: string;\n referringItemFieldName: string;\n referencedItemId: string;\n}"
|
|
13996
|
+
},
|
|
13997
|
+
{
|
|
13998
|
+
"name": "WixBulkReferenceResult",
|
|
13999
|
+
"kind": "interface",
|
|
14000
|
+
"jsdoc": "",
|
|
14001
|
+
"decl": "export interface WixBulkReferenceResult {\n action?: string;\n referenceMetadata?: WixBulkItemMetadata;\n dataItemReference?: WixDataItemReference;\n}"
|
|
14002
|
+
},
|
|
14003
|
+
{
|
|
14004
|
+
"name": "WixBulkReferencesResponse",
|
|
14005
|
+
"kind": "interface",
|
|
14006
|
+
"jsdoc": "",
|
|
14007
|
+
"decl": "export interface WixBulkReferencesResponse {\n results?: WixBulkReferenceResult[];\n bulkActionMetadata?: WixBulkActionMetadata;\n}"
|
|
14008
|
+
},
|
|
14009
|
+
{
|
|
14010
|
+
"name": "WixReferencedResult",
|
|
14011
|
+
"kind": "interface",
|
|
14012
|
+
"jsdoc": "/** What `queryReferencedDataItems` returns for one link: the item, or why it could not be read. */",
|
|
14013
|
+
"decl": "export interface WixReferencedResult {\n referringItemId?: string;\n dataItem?: WixDataItem;\n /** The link points at an id that is missing, still a draft, or not readable by this identity\n * (`unauthorized: true`). */\n unresolvedReference?: { referencedItemId?: string; unauthorized?: boolean };\n}"
|
|
14014
|
+
},
|
|
14015
|
+
{
|
|
14016
|
+
"name": "WixQueryReferencedOptions",
|
|
14017
|
+
"kind": "interface",
|
|
14018
|
+
"jsdoc": "",
|
|
14019
|
+
"decl": "export interface WixQueryReferencedOptions extends WixReadOptions {\n order?: \"ASC\" | \"DESC\";\n paging?: WixDataPaging;\n cursorPaging?: WixDataCursorPaging;\n fields?: string[];\n returnTotalCount?: boolean;\n}"
|
|
14020
|
+
},
|
|
14021
|
+
{
|
|
14022
|
+
"name": "queryReferencedDataItems",
|
|
14023
|
+
"kind": "function",
|
|
14024
|
+
"jsdoc": "/** Read the items one item links to, page by page — POST /wix-data/v2/items/query-referenced.\n *\n * Use this when a multi-reference field can hold more items than `includeReferences` should\n * inline (that caps at 1000 per item, 50 by default). Results come in the order the links were\n * made (`order: \"DESC\"` for newest first). A link that cannot be resolved comes back as\n * `unresolvedReference` instead of being dropped.\n *\n * @scope visitor — enough when the collection's read role is ANYONE; a stricter role answers `403 WDE0027` (checked against a live site).\n */",
|
|
14025
|
+
"decl": "export function queryReferencedDataItems(\n dataCollectionId: string,\n referringItemId: string,\n referringItemFieldName: string,\n options?: WixQueryReferencedOptions,\n): Promise<{ results?: WixReferencedResult[]; pagingMetadata?: WixPagingMetadata }>;",
|
|
14026
|
+
"http": "POST /wix-data/v2/items/query-referenced",
|
|
14027
|
+
"scope": "visitor"
|
|
14028
|
+
},
|
|
14029
|
+
{
|
|
14030
|
+
"name": "isReferencedDataItem",
|
|
14031
|
+
"kind": "function",
|
|
14032
|
+
"jsdoc": "/** Does `referringItemId`'s field link to `referencedItemId`? — POST /wix-data/v2/items/is-referenced.\n * Returns `{ isReferenced }`.\n *\n * @scope visitor — enough when the collection's read role is ANYONE; a stricter role answers `403 WDE0027` (checked against a live site).\n */",
|
|
14033
|
+
"decl": "export function isReferencedDataItem(\n dataCollectionId: string,\n referringItemId: string,\n referringItemFieldName: string,\n referencedItemId: string,\n options?: { consistentRead?: boolean },\n): Promise<{ isReferenced?: boolean }>;",
|
|
14034
|
+
"http": "POST /wix-data/v2/items/is-referenced",
|
|
14035
|
+
"scope": "visitor"
|
|
14036
|
+
},
|
|
14037
|
+
{
|
|
14038
|
+
"name": "insertDataItemReferences",
|
|
14039
|
+
"kind": "function",
|
|
14040
|
+
"jsdoc": "/** Add links to a reference or multi-reference field, keeping the links already there — POST\n * /wix-data/v2/bulk/items/insert-references. Up to 1000 per call.\n *\n * The safe way to write a multi-reference field: Wix silently drops multi-reference values written\n * through insert, save, update or any bulk item write, and answers 200. After writing, read the item\n * back with `queryDataItems(..., { includeReferences })` to confirm. This call's own status is 200\n * whatever happened; read `bulkFailures(res)`.\n *\n * @scope visitor — enough when the referring collection's update role is ANYONE; a stricter role is refused with `WDE0027` (checked against a live site).\n */",
|
|
14041
|
+
"decl": "export function insertDataItemReferences(\n dataCollectionId: string,\n references: WixDataItemReference[],\n options?: WixBulkWriteOptions,\n): Promise<WixBulkReferencesResponse>;",
|
|
14042
|
+
"http": "POST /wix-data/v2/bulk/items/insert-references",
|
|
14043
|
+
"scope": "visitor"
|
|
14044
|
+
},
|
|
14045
|
+
{
|
|
14046
|
+
"name": "removeDataItemReferences",
|
|
14047
|
+
"kind": "function",
|
|
14048
|
+
"jsdoc": "/** Remove specific links without touching the others — POST /wix-data/v2/bulk/items/remove-references.\n * Up to 1000 per call; the status is 200 whatever happened, so read `bulkFailures(res)`.\n *\n * @scope visitor — enough when the referring collection's update role is ANYONE; a stricter role is refused with `WDE0027` (checked against a live site).\n */",
|
|
14049
|
+
"decl": "export function removeDataItemReferences(\n dataCollectionId: string,\n references: WixDataItemReference[],\n): Promise<WixBulkReferencesResponse>;",
|
|
14050
|
+
"http": "POST /wix-data/v2/bulk/items/remove-references",
|
|
14051
|
+
"scope": "visitor"
|
|
14052
|
+
},
|
|
14053
|
+
{
|
|
14054
|
+
"name": "replaceDataItemReferences",
|
|
14055
|
+
"kind": "function",
|
|
14056
|
+
"jsdoc": "/** Make a field's links exactly `newReferencedItemIds`, dropping any others — POST\n * /wix-data/v2/items/replace-references. An empty array removes every link. Up to 1000 ids.\n * Returns the resulting `{ dataItemReferences }`.\n *\n * @scope visitor — enough when the referring collection's update role is ANYONE; a stricter role is refused with `WDE0027` (checked against a live site).\n */",
|
|
14057
|
+
"decl": "export function replaceDataItemReferences(\n dataCollectionId: string,\n referringItemId: string,\n referringItemFieldName: string,\n newReferencedItemIds: string[],\n): Promise<{ dataItemReferences?: WixDataItemReference[] }>;",
|
|
14058
|
+
"http": "POST /wix-data/v2/items/replace-references",
|
|
14059
|
+
"scope": "visitor"
|
|
14060
|
+
},
|
|
14061
|
+
{
|
|
14062
|
+
"name": "(reexport)",
|
|
13368
14063
|
"kind": "reexport",
|
|
13369
14064
|
"jsdoc": "",
|
|
13370
14065
|
"decl": "export { wixCall };"
|
|
@@ -15097,9 +15792,9 @@
|
|
|
15097
15792
|
{
|
|
15098
15793
|
"name": "updateDataCollection",
|
|
15099
15794
|
"kind": "function",
|
|
15100
|
-
"jsdoc": "/**\n * Replace a data collection's schema. Wix uses optimistic concurrency: pass the\n * `revision` read from getDataCollection, or the call is rejected as stale.\n */",
|
|
15795
|
+
"jsdoc": "/**\n * Replace a data collection's schema. Wix uses optimistic concurrency: pass the\n * `revision` read from getDataCollection, or the call is rejected as stale.\n *\n * The id travels in the body — `PUT /data/v2/collections` with `{ collection }`, as Wix\n * documents it; the path form `PUT /data/v2/collections/{id}` is not a route. Needs an owner\n * identity, and the call replaces the schema, so send every field you want to keep.\n */",
|
|
15101
15796
|
"decl": "export function updateDataCollection(\n collection: WixDataCollection,\n): Promise<WixUpdateDataCollectionResponse>;",
|
|
15102
|
-
"http": "PUT /data/v2/collections
|
|
15797
|
+
"http": "PUT /data/v2/collections"
|
|
15103
15798
|
}
|
|
15104
15799
|
]
|
|
15105
15800
|
},
|
|
@@ -15841,6 +16536,30 @@
|
|
|
15841
16536
|
"decl": "export async function getCurrentCart(): Promise<WixCartDetail>;",
|
|
15842
16537
|
"http": "GET /ecom/v1/carts/current"
|
|
15843
16538
|
},
|
|
16539
|
+
{
|
|
16540
|
+
"name": "addCouponToCurrentCart",
|
|
16541
|
+
"kind": "function",
|
|
16542
|
+
"jsdoc": "/** Add a coupon to the visitor/member's current cart — POST\n * /ecom/v2/carts/current/add-coupon. Wix validates it against the current cart.\n * @scope visitor — uses the active shopper's cart; Wix rejects an invalid coupon. */",
|
|
16543
|
+
"decl": "export function addCouponToCurrentCart(code: string): Promise<{ cart?: WixCartDetail }>;",
|
|
16544
|
+
"http": "POST /ecom/v2/carts/current/add-coupon",
|
|
16545
|
+
"scope": "visitor"
|
|
16546
|
+
},
|
|
16547
|
+
{
|
|
16548
|
+
"name": "removeCouponFromCurrentCart",
|
|
16549
|
+
"kind": "function",
|
|
16550
|
+
"jsdoc": "/** Remove a coupon from the current cart — POST /ecom/v2/carts/current/remove-coupon.\n * @scope visitor — uses the active shopper's cart; a missing coupon ID is rejected. */",
|
|
16551
|
+
"decl": "export function removeCouponFromCurrentCart(couponId: string): Promise<{ cart?: WixCartDetail }>;",
|
|
16552
|
+
"http": "POST /ecom/v2/carts/current/remove-coupon",
|
|
16553
|
+
"scope": "visitor"
|
|
16554
|
+
},
|
|
16555
|
+
{
|
|
16556
|
+
"name": "calculateCurrentCart",
|
|
16557
|
+
"kind": "function",
|
|
16558
|
+
"jsdoc": "/** Recalculate the current cart after a coupon change.\n * @scope visitor — uses the active shopper's cart and returns its updated totals. */",
|
|
16559
|
+
"decl": "export function calculateCurrentCart(): Promise<{ cart?: WixCartDetail }>;",
|
|
16560
|
+
"http": "POST /ecom/v2/carts/current/calculate",
|
|
16561
|
+
"scope": "visitor"
|
|
16562
|
+
},
|
|
15844
16563
|
{
|
|
15845
16564
|
"name": "WixRemoveLineItemsResponse",
|
|
15846
16565
|
"kind": "interface",
|
|
@@ -16141,6 +16860,127 @@
|
|
|
16141
16860
|
"kind": "function",
|
|
16142
16861
|
"jsdoc": "/** Make a saved payment method the member's primary one. The service declares this\n * as a GET (`@wix/auto_sdk_payments_saved-payment-methods` `markSavedPaymentMethodPrimary`). */",
|
|
16143
16862
|
"decl": "export function markSavedPaymentMethodPrimary(savedPaymentMethodId: string): Promise<Record<string, never>>;"
|
|
16863
|
+
},
|
|
16864
|
+
{
|
|
16865
|
+
"name": "WixCartV2Money",
|
|
16866
|
+
"kind": "interface",
|
|
16867
|
+
"jsdoc": "/** A Cart V2 money value — a decimal string, never a formatted one. */",
|
|
16868
|
+
"decl": "export interface WixCartV2Money {\n amount?: string;\n convertedAmount?: string;\n}"
|
|
16869
|
+
},
|
|
16870
|
+
{
|
|
16871
|
+
"name": "WixCartV2Address",
|
|
16872
|
+
"kind": "interface",
|
|
16873
|
+
"jsdoc": "/** The address shape Cart V2 takes and returns. `subdivision` is ISO 3166-2 (`US-CA`). */",
|
|
16874
|
+
"decl": "export interface WixCartV2Address {\n country?: string;\n subdivision?: string;\n city?: string;\n postalCode?: string;\n addressLine?: string;\n addressLine2?: string;\n formattedAddress?: string;\n}"
|
|
16875
|
+
},
|
|
16876
|
+
{
|
|
16877
|
+
"name": "WixCartV2LineItem",
|
|
16878
|
+
"kind": "interface",
|
|
16879
|
+
"jsdoc": "/** One Cart V2 line. The catalog reference is under `source` (not top-level, as in V1),\n * the image under `attributes`, and the name under `name` (not `productName`). */",
|
|
16880
|
+
"decl": "export interface WixCartV2LineItem {\n id?: string;\n name?: { original?: string; translated?: string };\n quantityInfo?: { requestedQuantity?: number; confirmedQuantity?: number; availableQuantity?: number };\n pricing?: { unitPrice?: WixCartV2Money; totalPrice?: WixCartV2Money };\n source?: { catalogReference?: WixCatalogReference; rootCatalogItemId?: string };\n attributes?: { image?: { url?: string } };\n /** `IN_STOCK` | `PARTIALLY_IN_STOCK` | `OUT_OF_STOCK` | `REMOVED_FROM_CATALOG`. */\n status?: string;\n}"
|
|
16881
|
+
},
|
|
16882
|
+
{
|
|
16883
|
+
"name": "WixCartV2DeliveryMethod",
|
|
16884
|
+
"kind": "interface",
|
|
16885
|
+
"jsdoc": "",
|
|
16886
|
+
"decl": "export interface WixCartV2DeliveryMethod {\n /** `PICKUP|ASAP`, `DELIVERY|ASAP`, or `<TYPE>|<startEpochMs>|<endEpochMs>` for Restaurants. */\n code?: string;\n appId?: string;\n title?: { original?: string; translated?: string };\n pickup?: boolean;\n}"
|
|
16887
|
+
},
|
|
16888
|
+
{
|
|
16889
|
+
"name": "WixCartV2",
|
|
16890
|
+
"kind": "interface",
|
|
16891
|
+
"jsdoc": "",
|
|
16892
|
+
"decl": "export interface WixCartV2 {\n id?: string;\n revision?: string;\n lineItems?: WixCartV2LineItem[];\n subtotal?: WixCartV2Money;\n deliveryInfo?: { address?: WixCartV2Address; method?: WixCartV2DeliveryMethod };\n businessInfo?: { currencyCode?: string; languageCode?: string };\n customerInfo?: { currencyCode?: string };\n orderPlaced?: boolean;\n}"
|
|
16893
|
+
},
|
|
16894
|
+
{
|
|
16895
|
+
"name": "WixCartV2Violation",
|
|
16896
|
+
"kind": "interface",
|
|
16897
|
+
"jsdoc": "",
|
|
16898
|
+
"decl": "export interface WixCartV2Violation {\n /** `ERROR` | `WARNING`. */\n severity?: string;\n scope?: string;\n code?: string;\n description?: string;\n}"
|
|
16899
|
+
},
|
|
16900
|
+
{
|
|
16901
|
+
"name": "WixCartV2Summary",
|
|
16902
|
+
"kind": "interface",
|
|
16903
|
+
"jsdoc": "",
|
|
16904
|
+
"decl": "export interface WixCartV2Summary {\n priceSummary?: {\n subtotal?: WixCartV2Money;\n discount?: WixCartV2Money;\n delivery?: WixCartV2Money;\n additionalFees?: WixCartV2Money;\n tax?: WixCartV2Money;\n total?: WixCartV2Money;\n };\n violations?: WixCartV2Violation[];\n}"
|
|
16905
|
+
},
|
|
16906
|
+
{
|
|
16907
|
+
"name": "WixCartV2Response",
|
|
16908
|
+
"kind": "interface",
|
|
16909
|
+
"jsdoc": "",
|
|
16910
|
+
"decl": "export interface WixCartV2Response { cart?: WixCartV2 }"
|
|
16911
|
+
},
|
|
16912
|
+
{
|
|
16913
|
+
"name": "WixEstimateCartV2Response",
|
|
16914
|
+
"kind": "interface",
|
|
16915
|
+
"jsdoc": "",
|
|
16916
|
+
"decl": "export interface WixEstimateCartV2Response { cart?: WixCartV2; summary?: WixCartV2Summary }"
|
|
16917
|
+
},
|
|
16918
|
+
{
|
|
16919
|
+
"name": "WixCatalogItemInput",
|
|
16920
|
+
"kind": "interface",
|
|
16921
|
+
"jsdoc": "/** One catalog item to add: what it is (`catalogReference`) and how many. */",
|
|
16922
|
+
"decl": "export interface WixCatalogItemInput {\n catalogReference: WixCatalogReference;\n quantity: number;\n}"
|
|
16923
|
+
},
|
|
16924
|
+
{
|
|
16925
|
+
"name": "WixCartV2QuantityUpdate",
|
|
16926
|
+
"kind": "interface",
|
|
16927
|
+
"jsdoc": "/** A quantity change for one existing line. */",
|
|
16928
|
+
"decl": "export interface WixCartV2QuantityUpdate {\n lineItemId: string;\n quantity: number;\n}"
|
|
16929
|
+
},
|
|
16930
|
+
{
|
|
16931
|
+
"name": "ecomApplicationErrorCode",
|
|
16932
|
+
"kind": "function",
|
|
16933
|
+
"jsdoc": "/** The Wix application error code a rejection carries (`DELIVERY_METHOD_NOT_FOUND`, …), or \"\".\n * Read the same way as the empty-cart check: structurally, from the native `[CODE]` prefix,\n * or from a cut web-bridge body in its canonical shape — never from prose. */",
|
|
16934
|
+
"decl": "export function ecomApplicationErrorCode(error: unknown): string;"
|
|
16935
|
+
},
|
|
16936
|
+
{
|
|
16937
|
+
"name": "getCurrentCartV2",
|
|
16938
|
+
"kind": "function",
|
|
16939
|
+
"jsdoc": "/** Read the current cart — GET /ecom/v2/carts/current. No cart yet is a successful read of an\n * empty one: Wix answers 200 `{}` (or 404 `CURRENT_CART_NOT_FOUND`), resolved as `{ lineItems: [] }`.\n * @scope visitor — the cart belongs to the session (visitor or member) that calls it. */",
|
|
16940
|
+
"decl": "export async function getCurrentCartV2(): Promise<WixCartV2>;",
|
|
16941
|
+
"scope": "visitor"
|
|
16942
|
+
},
|
|
16943
|
+
{
|
|
16944
|
+
"name": "addLineItemsToCurrentCartV2",
|
|
16945
|
+
"kind": "function",
|
|
16946
|
+
"jsdoc": "/** Add catalog items to the current cart, creating it when there is none — POST\n * /ecom/v2/carts/current/add-line-items `{ catalogItems }`. Adding an item already in the cart\n * raises that line's quantity. Wix can drop an item it refuses and still answer 200, so read\n * the returned cart for the line (and its `status`) rather than trusting the status code.\n * @scope visitor — the cart belongs to the session (visitor or member) that calls it. */",
|
|
16947
|
+
"decl": "export function addLineItemsToCurrentCartV2(catalogItems: WixCatalogItemInput[]): Promise<WixCartV2Response>;",
|
|
16948
|
+
"scope": "visitor"
|
|
16949
|
+
},
|
|
16950
|
+
{
|
|
16951
|
+
"name": "updateLineItemsInCurrentCartV2",
|
|
16952
|
+
"kind": "function",
|
|
16953
|
+
"jsdoc": "/** Set line quantities — POST /ecom/v2/carts/current/update-line-items\n * `{ lineItems: [{ lineItemId, quantity: { newQuantity } }] }`.\n * @scope visitor — the cart belongs to the session (visitor or member) that calls it. */",
|
|
16954
|
+
"decl": "export function updateLineItemsInCurrentCartV2(updates: WixCartV2QuantityUpdate[]): Promise<WixCartV2Response>;",
|
|
16955
|
+
"scope": "visitor"
|
|
16956
|
+
},
|
|
16957
|
+
{
|
|
16958
|
+
"name": "removeLineItemsFromCurrentCartV2",
|
|
16959
|
+
"kind": "function",
|
|
16960
|
+
"jsdoc": "/** Remove lines — POST /ecom/v2/carts/current/remove-line-items `{ lineItemIds }`.\n * @scope visitor — the cart belongs to the session (visitor or member) that calls it. */",
|
|
16961
|
+
"decl": "export function removeLineItemsFromCurrentCartV2(lineItemIds: string[]): Promise<WixCartV2Response>;",
|
|
16962
|
+
"scope": "visitor"
|
|
16963
|
+
},
|
|
16964
|
+
{
|
|
16965
|
+
"name": "updateCurrentCartV2DeliveryAddress",
|
|
16966
|
+
"kind": "function",
|
|
16967
|
+
"jsdoc": "/** Set the cart's delivery address — PATCH /ecom/v2/carts/current\n * `{ cart: { deliveryInfo: { address } } }`. Restaurants needs one even for pickup (the\n * restaurant's country is enough there); without it setting a method answers 428\n * `DELIVERY_METHOD_MISSING_ADDRESS`.\n * @scope visitor — the cart belongs to the session (visitor or member) that calls it. */",
|
|
16968
|
+
"decl": "export function updateCurrentCartV2DeliveryAddress(address: WixCartV2Address): Promise<WixCartV2Response>;",
|
|
16969
|
+
"scope": "visitor"
|
|
16970
|
+
},
|
|
16971
|
+
{
|
|
16972
|
+
"name": "setDeliveryMethodForCurrentCartV2",
|
|
16973
|
+
"kind": "function",
|
|
16974
|
+
"jsdoc": "/** Choose how the cart is fulfilled — POST /ecom/v2/carts/current/set-delivery-method\n * `{ deliveryMethod: { code } }`. 400 `DELIVERY_METHOD_NOT_FOUND` means no method of that code\n * serves the cart's address (for Restaurants delivery: the address is outside every area).\n * @scope visitor — the cart belongs to the session (visitor or member) that calls it. */",
|
|
16975
|
+
"decl": "export function setDeliveryMethodForCurrentCartV2(code: string, appId?: string): Promise<WixCartV2Response>;",
|
|
16976
|
+
"scope": "visitor"
|
|
16977
|
+
},
|
|
16978
|
+
{
|
|
16979
|
+
"name": "estimateCurrentCartV2",
|
|
16980
|
+
"kind": "function",
|
|
16981
|
+
"jsdoc": "/** Totals and blocking violations for the current cart — POST /ecom/v2/carts/current/estimate,\n * always with `calculateDelivery` and `calculateTax` (a plain estimate reports a valid method as\n * no longer available). No cart yet → `{ cart: { lineItems: [] } }`, not a throw.\n * @scope visitor — the cart belongs to the session (visitor or member) that calls it. */",
|
|
16982
|
+
"decl": "export async function estimateCurrentCartV2(): Promise<WixEstimateCartV2Response>;",
|
|
16983
|
+
"scope": "visitor"
|
|
16144
16984
|
}
|
|
16145
16985
|
]
|
|
16146
16986
|
},
|
|
@@ -17545,8 +18385,8 @@
|
|
|
17545
18385
|
{
|
|
17546
18386
|
"name": "WixEventFieldset",
|
|
17547
18387
|
"kind": "type",
|
|
17548
|
-
"jsdoc": "/** Events v3 response fieldsets (`RequestedFields`). A bare read returns the base fieldset;\n * each value adds fields: `DETAILS` → `shortDescription`, `mainImage`, `calendarUrls`;\n * `TEXTS` → the Ricos `description`; `REGISTRATION` → `registration`; `URLS` → `eventPageUrl
|
|
17549
|
-
"decl": "export type WixEventFieldset = \"DETAILS\" | \"TEXTS\" | \"REGISTRATION\" | \"URLS\";"
|
|
18388
|
+
"jsdoc": "/** Events v3 response fieldsets (`RequestedFields`). A bare read returns the base fieldset;\n * each value adds fields: `DETAILS` → `shortDescription`, `mainImage`, `calendarUrls`;\n * `TEXTS` → the Ricos `description`; `REGISTRATION` → `registration`; `URLS` → `eventPageUrl`;\n * `FORM` → `form`, the published registration controls and inputs. */",
|
|
18389
|
+
"decl": "export type WixEventFieldset = \"DETAILS\" | \"TEXTS\" | \"REGISTRATION\" | \"URLS\" | \"FORM\";"
|
|
17550
18390
|
},
|
|
17551
18391
|
{
|
|
17552
18392
|
"name": "WixEventRichContent",
|
|
@@ -17653,7 +18493,7 @@
|
|
|
17653
18493
|
"name": "WixAvailableTicket",
|
|
17654
18494
|
"kind": "interface",
|
|
17655
18495
|
"jsdoc": "",
|
|
17656
|
-
"decl": "export interface WixAvailableTicket {\n id?: string;\n name?: string;\n description?: string;\n price?: WixTicketPrice;\n free?: boolean;\n limitPerCheckout?: number;\n orderIndex?: number;\n saleStatus?: string;\n}"
|
|
18496
|
+
"decl": "export interface WixAvailableTicket {\n id?: string;\n eventId?: string;\n name?: string;\n description?: string;\n price?: WixTicketPrice;\n free?: boolean;\n limitPerCheckout?: number;\n orderIndex?: number;\n saleStatus?: string;\n state?: string[];\n pricing?: { pricingType?: string; fixedPrice?: WixTicketPrice };\n dashboard?: { hidden?: boolean };\n}"
|
|
17657
18497
|
},
|
|
17658
18498
|
{
|
|
17659
18499
|
"name": "WixQueryAvailableTicketsResponse",
|
|
@@ -17661,6 +18501,14 @@
|
|
|
17661
18501
|
"jsdoc": "",
|
|
17662
18502
|
"decl": "export interface WixQueryAvailableTicketsResponse {\n definitions?: WixAvailableTicket[];\n}"
|
|
17663
18503
|
},
|
|
18504
|
+
{
|
|
18505
|
+
"name": "getTicketDefinition",
|
|
18506
|
+
"kind": "function",
|
|
18507
|
+
"jsdoc": "/** Read management pricing/visibility for a required ticket-definition ID; absence is not a free offer.\n * Authorization errors propagate and must block checkout.\n * @scope owner — Wix documents app/user identity with Manage Ticket Definitions permission.\n * Member checkout uses queryAvailableTickets; LiftGear member reads returned 403 here.\n * @see https://dev.wix.com/docs/api-reference/business-solutions/events/event-management/ticket-definitions-v3/get-ticket-definition\n */",
|
|
18508
|
+
"decl": "export function getTicketDefinition(id: string): Promise<{ ticketDefinition?: { id?: string; eventId?: string; hidden?: boolean; saleStatus?: string; pricingMethod?: { pricingType?: string; fixedPrice?: { value?: string; currency?: string } } } }>;",
|
|
18509
|
+
"http": "GET /events/v3/ticket-definitions/{…}",
|
|
18510
|
+
"scope": "owner"
|
|
18511
|
+
},
|
|
17664
18512
|
{
|
|
17665
18513
|
"name": "WixTicketQuantity",
|
|
17666
18514
|
"kind": "interface",
|
|
@@ -23842,6 +24690,72 @@
|
|
|
23842
24690
|
"jsdoc": "/** POST /restaurants/menus/v1/sections/query — menu sections (perm\n * RESTAURANTS.SECTION_READ; visitor-readable on sites with the Menus app). */",
|
|
23843
24691
|
"decl": "export function querySections(\n req: WixSectionQueryRequest = {} as WixSectionQueryRequest,\n): Promise<WixQuerySectionsResponse>;",
|
|
23844
24692
|
"http": "POST /restaurants/menus/v1/sections/query"
|
|
24693
|
+
},
|
|
24694
|
+
{
|
|
24695
|
+
"name": "WixRestaurantsAddress",
|
|
24696
|
+
"kind": "interface",
|
|
24697
|
+
"jsdoc": "/** An address as the Restaurants services return it. `subdivision` is ISO 3166-2 (`US-CA`). */",
|
|
24698
|
+
"decl": "export interface WixRestaurantsAddress {\n country?: string;\n subdivision?: string;\n city?: string;\n postalCode?: string;\n addressLine?: string;\n formattedAddress?: string;\n}"
|
|
24699
|
+
},
|
|
24700
|
+
{
|
|
24701
|
+
"name": "WixOperation",
|
|
24702
|
+
"kind": "interface",
|
|
24703
|
+
"jsdoc": "/** A Restaurants ordering operation (a \"ordering page\": hours, fulfillment methods, status). */",
|
|
24704
|
+
"decl": "export interface WixOperation {\n id: string;\n name?: string;\n /** The site's default operation. */\n default?: boolean;\n /** `ENABLED` takes orders; `DISABLED` and `PAUSED_UNTIL` (see `pausedUntilOptions.time`) do not. */\n onlineOrderingStatus?: string;\n pausedUntilOptions?: { time?: string };\n /** `PICKUP` | `DELIVERY`. */\n defaultFulfillmentType?: string;\n /** The fulfillment methods this operation offers — filter `listFulfillmentMethods` by these. */\n fulfillmentIds?: string[];\n businessLocationId?: string;\n}"
|
|
24705
|
+
},
|
|
24706
|
+
{
|
|
24707
|
+
"name": "WixListOperationsResponse",
|
|
24708
|
+
"kind": "interface",
|
|
24709
|
+
"jsdoc": "",
|
|
24710
|
+
"decl": "export interface WixListOperationsResponse {\n operations: WixOperation[];\n}"
|
|
24711
|
+
},
|
|
24712
|
+
{
|
|
24713
|
+
"name": "listOperations",
|
|
24714
|
+
"kind": "function",
|
|
24715
|
+
"jsdoc": "/** GET /restaurants-operations/v1/operations — every ordering operation on the site.\n * @scope visitor — an anonymous visitor session is enough. */",
|
|
24716
|
+
"decl": "export function listOperations(): Promise<WixListOperationsResponse>;",
|
|
24717
|
+
"http": "GET /restaurants-operations/v1/operations",
|
|
24718
|
+
"scope": "visitor"
|
|
24719
|
+
},
|
|
24720
|
+
{
|
|
24721
|
+
"name": "WixFulfillmentMethod",
|
|
24722
|
+
"kind": "interface",
|
|
24723
|
+
"jsdoc": "/** A pickup or delivery method. `fee` and `minOrderPrice` are decimal strings; a missing\n * `fee` is 0. Only `enabled` methods may be offered. */",
|
|
24724
|
+
"decl": "export interface WixFulfillmentMethod {\n id: string;\n name?: string;\n /** `PICKUP` | `DELIVERY`. */\n type?: string;\n enabled?: boolean;\n fee?: string;\n minOrderPrice?: string;\n pickupOptions?: { address?: WixRestaurantsAddress; instructions?: string };\n deliveryOptions?: { deliveryTimeInMinutes?: number; freeDeliveryThreshold?: string };\n businessLocationId?: string;\n}"
|
|
24725
|
+
},
|
|
24726
|
+
{
|
|
24727
|
+
"name": "WixListFulfillmentMethodsResponse",
|
|
24728
|
+
"kind": "interface",
|
|
24729
|
+
"jsdoc": "",
|
|
24730
|
+
"decl": "export interface WixListFulfillmentMethodsResponse {\n fulfillmentMethods: WixFulfillmentMethod[];\n pagingMetadata?: { count?: number; hasNext?: boolean; cursors?: { next?: string } };\n}"
|
|
24731
|
+
},
|
|
24732
|
+
{
|
|
24733
|
+
"name": "listFulfillmentMethods",
|
|
24734
|
+
"kind": "function",
|
|
24735
|
+
"jsdoc": "/** GET /fulfillment-methods/v1/fulfillment-methods — every pickup/delivery method on the site.\n * There is no operation filter: keep the ids in the operation's `fulfillmentIds`.\n * @scope visitor — an anonymous visitor session is enough. */",
|
|
24736
|
+
"decl": "export function listFulfillmentMethods(\n opts: { limit?: number; cursor?: string } = {},\n): Promise<WixListFulfillmentMethodsResponse>;",
|
|
24737
|
+
"http": "GET /fulfillment-methods/v1/fulfillment-methods${query.length ?",
|
|
24738
|
+
"scope": "visitor"
|
|
24739
|
+
},
|
|
24740
|
+
{
|
|
24741
|
+
"name": "WixFulfillmentTimeSlot",
|
|
24742
|
+
"kind": "interface",
|
|
24743
|
+
"jsdoc": "/** The earliest orderable slot for one fulfillment type. An `ASAP` slot is ordered with the\n * code `<TYPE>|ASAP`; a `PREORDER` slot with `<TYPE>|<startEpochMs>|<endEpochMs>`. */",
|
|
24744
|
+
"decl": "export interface WixFulfillmentTimeSlot {\n /** Wix spells this field with one \"l\": `PICKUP` | `DELIVERY`. */\n fulfilmentType?: string;\n timeSlot?: { startTime?: string; endTime?: string; orderSchedulingType?: string };\n fulfillmentInfo?: Array<{ fee?: string; minOrderPrice?: string; maxTime?: number }>;\n}"
|
|
24745
|
+
},
|
|
24746
|
+
{
|
|
24747
|
+
"name": "WixFirstAvailableTimeSlotsResponse",
|
|
24748
|
+
"kind": "interface",
|
|
24749
|
+
"jsdoc": "",
|
|
24750
|
+
"decl": "export interface WixFirstAvailableTimeSlotsResponse {\n timeslotsPerFulfillmentType: WixFulfillmentTimeSlot[];\n}"
|
|
24751
|
+
},
|
|
24752
|
+
{
|
|
24753
|
+
"name": "getFirstAvailableTimeSlotPerFulfillmentType",
|
|
24754
|
+
"kind": "function",
|
|
24755
|
+
"jsdoc": "/** GET /restaurants-operations/v1/operations/{operationId}/first-available-time-slot-per-fulfillment-type\n * — the earliest orderable slot per type. Only orderable slots come back, so a type that is\n * missing cannot be ordered now. Delivery is judged against `deliveryAddress` when given.\n * @scope visitor — an anonymous visitor session is enough. */",
|
|
24756
|
+
"decl": "export function getFirstAvailableTimeSlotPerFulfillmentType(\n operationId: string,\n deliveryAddress?: WixRestaurantsAddress,\n): Promise<WixFirstAvailableTimeSlotsResponse>;",
|
|
24757
|
+
"http": "GET /restaurants-operations/v1/operations/{…}/first-available-time-slot-per-fulfillment-type${query.length ?",
|
|
24758
|
+
"scope": "visitor"
|
|
23845
24759
|
}
|
|
23846
24760
|
]
|
|
23847
24761
|
},
|
|
@@ -24700,7 +25614,7 @@
|
|
|
24700
25614
|
"name": "StoreProduct",
|
|
24701
25615
|
"kind": "interface",
|
|
24702
25616
|
"jsdoc": "",
|
|
24703
|
-
"decl": "export interface StoreProduct {\n id?: string;\n productType?: string;\n name?: string;\n slug?: string;\n description?: string;\n plainDescription?: string;\n /** Both gallery layouts: V1 `mainMedia`/`items`, V3 `main`/`itemsInfo.items`. */\n media?: {\n mainMedia?: WixMediaSlot;\n main?: WixMediaSlot;\n items?: WixMediaSlot[];\n itemsInfo?: { items?: WixMediaSlot[] };\n };\n price?: { formatted?: { price?: string }; price?: number; currency?: string };\n priceData?: { formatted?: { price?: string }; price?: number; currency?: string };\n currency?: string;\n actualPriceRange?: {\n minValue?: { amount?: string; formattedAmount?: string; currency?: string };\n maxValue?: { amount?: string; formattedAmount?: string; currency?: string };\n };\n /** Option groups, both spellings: V1 `productOptions`, V3 `options`. Declared\n * because the wire carries them on BOTH catalogs and this type denying them is\n * what let every template product screen drop the colour/size picker. Shapes\n * differ per catalog, so read them with `productOptions()` from ./options. */\n productOptions?: unknown[];\n options?: unknown[];\n /** V3 purchasable variants. The cart addresses a V3 option choice by `variantId`,\n * which `cartOptionsPayload()
|
|
25617
|
+
"decl": "export interface StoreProduct {\n id?: string;\n productType?: string;\n inventory?: { availabilityStatus?: string; preorderStatus?: string };\n name?: string;\n slug?: string;\n description?: string;\n plainDescription?: string;\n /** Both gallery layouts: V1 `mainMedia`/`items`, V3 `main`/`itemsInfo.items`. */\n media?: {\n mainMedia?: WixMediaSlot;\n main?: WixMediaSlot;\n items?: WixMediaSlot[];\n itemsInfo?: { items?: WixMediaSlot[] };\n };\n price?: { formatted?: { price?: string }; price?: number; currency?: string };\n priceData?: { formatted?: { price?: string }; price?: number; currency?: string };\n currency?: string;\n actualPriceRange?: {\n minValue?: { amount?: string; formattedAmount?: string; currency?: string };\n maxValue?: { amount?: string; formattedAmount?: string; currency?: string };\n };\n /** Catalog V3 original price, when the actual price is discounted. */\n compareAtPriceRange?: {\n minValue?: { amount?: string; formattedAmount?: string; currency?: string };\n maxValue?: { amount?: string; formattedAmount?: string; currency?: string };\n };\n /** Option groups, both spellings: V1 `productOptions`, V3 `options`. Declared\n * because the wire carries them on BOTH catalogs and this type denying them is\n * what let every template product screen drop the colour/size picker. Shapes\n * differ per catalog, so read them with `productOptions()` from ./options. */\n productOptions?: unknown[];\n options?: unknown[];\n /** V3 purchasable variants. The cart addresses a V3 option choice by `variantId`,\n * which `cartOptionsPayload()`\n/* … */"
|
|
24704
25618
|
},
|
|
24705
25619
|
{
|
|
24706
25620
|
"name": "StoreProductsResponse",
|
|
@@ -24739,6 +25653,12 @@
|
|
|
24739
25653
|
"jsdoc": "/**\n * EVERY image on the product, sized, in wire order — the gallery a detail screen\n * pages through, not just the one tile `productImage` returns.\n *\n * It reads both catalog layouts (V1 `media.items`, V3 `media.itemsInfo.items`) and\n * falls back to the primary image when the product carries no gallery, so a caller\n * always gets a non-empty list for a product that has any image at all. Empty slots\n * and duplicates are dropped.\n *\n * Exported because the gallery union was being re-derived by hand in ~10 template\n * workers, each free to miss a layout — which is exactly how a V3 store silently\n * lost its thumbnails. Defaults to the LIST budget like `productImage`; pass\n * `WIX_DETAIL_IMAGE` for a full-bleed pager, or `null` for the stored originals.\n */",
|
|
24740
25654
|
"decl": "export function productGallery(p: StoreProduct, size: WixImageSize | null = WIX_LIST_IMAGE): string[];"
|
|
24741
25655
|
},
|
|
25656
|
+
{
|
|
25657
|
+
"name": "normalizeFormattedPrice",
|
|
25658
|
+
"kind": "function",
|
|
25659
|
+
"jsdoc": "/** Formats Wix-provided price text consistently for display. A recognized symbol after an\n * English-style number moves before the amount; locale-specific decimal and grouping formats\n * remain unchanged. */",
|
|
25660
|
+
"decl": "export function normalizeFormattedPrice(formatted: string): string;"
|
|
25661
|
+
},
|
|
24742
25662
|
{
|
|
24743
25663
|
"name": "plainText",
|
|
24744
25664
|
"kind": "function",
|
|
@@ -24864,7 +25784,7 @@
|
|
|
24864
25784
|
"name": "WixCollectionsMetadata",
|
|
24865
25785
|
"kind": "interface",
|
|
24866
25786
|
"jsdoc": "",
|
|
24867
|
-
"decl": "export interface WixCollectionsMetadata {\n items?: number;\n offset?: number;\n}"
|
|
25787
|
+
"decl": "export interface WixCollectionsMetadata {\n items?: number;\n count?: number;\n offset?: number;\n total?: number;\n}"
|
|
24868
25788
|
},
|
|
24869
25789
|
{
|
|
24870
25790
|
"name": "WixQueryCollectionsRequest",
|
|
@@ -24983,7 +25903,7 @@
|
|
|
24983
25903
|
"name": "queryStoreCategories",
|
|
24984
25904
|
"kind": "function",
|
|
24985
25905
|
"jsdoc": "/** V3 visitor read: list store categories (the V3 replacement for `queryCollections`).\n * POST /categories/v1/categories/query — `treeReference.appNamespace` is REQUIRED. */",
|
|
24986
|
-
"decl": "export function queryStoreCategories(limit = 50): Promise<StoreCategoriesResponse>;",
|
|
25906
|
+
"decl": "export function queryStoreCategories(limit = 50, cursor?: string): Promise<StoreCategoriesResponse>;",
|
|
24987
25907
|
"http": "POST /categories/v1/categories/query"
|
|
24988
25908
|
},
|
|
24989
25909
|
{
|