@wix/auto_sdk_ecom_cart 1.0.118 → 1.0.119
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/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.js.map +1 -1
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.mjs.map +1 -1
- package/build/internal/cjs/index.js.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +6 -0
- package/build/internal/cjs/index.typings.js.map +1 -1
- package/build/internal/es/index.mjs.map +1 -1
- package/build/internal/es/index.typings.d.mts +6 -0
- package/build/internal/es/index.typings.mjs.map +1 -1
- package/package.json +2 -2
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts","../../src/ecom-v1-cart-cart.public.ts","../../src/ecom-v1-cart-cart.universal.ts","../../src/ecom-v1-cart-cart.http.ts","../../src/ecom-v1-cart-cart.context.ts"],"sourcesContent":["export * from './src/ecom-v1-cart-cart.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTPageURLV2ToSDKPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n AddToCartApplicationErrors,\n AddToCartOptions,\n AddToCartResponse,\n Cart,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartUpdatedEnvelope,\n CreateCartApplicationErrors,\n CreateCartOptions,\n CreateCheckoutApplicationErrors,\n CreateCheckoutOptions,\n CreateCheckoutResponse,\n EstimateTotalsOptions,\n EstimateTotalsResponse,\n GetCartByCheckoutIdResponse,\n LineItemQuantityUpdate,\n RemoveBusinessLocationResponse,\n RemoveCouponResponse,\n RemoveLineItemsResponse,\n UpdateCartApplicationErrors,\n UpdateCartOptions,\n UpdateLineItemsQuantityResponse,\n addToCart as universalAddToCart,\n createCart as universalCreateCart,\n createCheckout as universalCreateCheckout,\n deleteCart as universalDeleteCart,\n estimateTotals as universalEstimateTotals,\n getCart as universalGetCart,\n getCartByCheckoutId as universalGetCartByCheckoutId,\n removeBusinessLocation as universalRemoveBusinessLocation,\n removeCoupon as universalRemoveCoupon,\n removeLineItems as universalRemoveLineItems,\n updateCart as universalUpdateCart,\n updateLineItemsQuantity as universalUpdateLineItemsQuantity,\n} from './ecom-v1-cart-cart.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/ecom' };\n\nexport function createCart(httpClient: HttpClient): CreateCartSignature {\n return (\n options?: NonNullablePaths<\n CreateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n ) =>\n universalCreateCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCartSignature {\n /**\n * Creates a cart.\n *\n * > **Notes:**\n * > + When adding catalog line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + This method requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n * @param - Cart creation options.\n * @returns Cart.\n */\n (\n options?: NonNullablePaths<\n CreateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n ): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n > & {\n __applicationErrorsType?: CreateCartApplicationErrors;\n }\n >;\n}\n\nexport function updateCart(httpClient: HttpClient): UpdateCartSignature {\n return (\n _id: string,\n options?: NonNullablePaths<\n UpdateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.productName`\n | `lineItems.${number}.catalogReference`,\n 8\n >\n ) =>\n universalUpdateCart(\n _id,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateCartSignature {\n /**\n * Updates a cart's properties.\n *\n * > **Notes:**\n * > + When updating line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - Available options to use when updating a cart.\n * @param - ID of the cart to be updated.\n * @returns Updated Cart.\n */\n (\n _id: string,\n options?: NonNullablePaths<\n UpdateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.productName`\n | `lineItems.${number}.catalogReference`,\n 8\n >\n ): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n > & {\n __applicationErrorsType?: UpdateCartApplicationErrors;\n }\n >;\n}\n\nexport function getCart(httpClient: HttpClient): GetCartSignature {\n return (_id: string) =>\n universalGetCart(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCartSignature {\n /**\n * Retrieves a cart.\n * @param - Cart ID.\n * @returns Retrieved cart.\n */\n (_id: string): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n >\n >;\n}\n\n/** @internal */\nexport function getCartByCheckoutId(\n httpClient: HttpClient\n): GetCartByCheckoutIdSignature {\n return (_id: string) =>\n universalGetCartByCheckoutId(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCartByCheckoutIdSignature {\n /**\n * Retrieves the cart associated with a specified checkout.\n * @param - Checkout ID.\n */\n (_id: string): Promise<\n NonNullablePaths<\n GetCartByCheckoutIdResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport function addToCart(httpClient: HttpClient): AddToCartSignature {\n return (\n _id: string,\n options?: NonNullablePaths<\n AddToCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n ) =>\n universalAddToCart(\n _id,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddToCartSignature {\n /**\n * Adds [catalog](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration) line items to a cart.\n *\n * >**Notes:**\n * > + When adding catalog line items to a cart, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - Cart ID.\n * @param - Items to be added to cart.\n */\n (\n _id: string,\n options?: NonNullablePaths<\n AddToCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n ): Promise<\n NonNullablePaths<\n AddToCartResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n > & {\n __applicationErrorsType?: AddToCartApplicationErrors;\n }\n >;\n}\n\nexport function removeLineItems(\n httpClient: HttpClient\n): RemoveLineItemsSignature {\n return (_id: string, lineItemIds: string[]) =>\n universalRemoveLineItems(\n _id,\n lineItemIds,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveLineItemsSignature {\n /**\n * Removes line items from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - IDs of the line items to remove from the cart.\n * @param - ID of the cart to remove line items from.\n */\n (_id: string, lineItemIds: string[]): Promise<\n NonNullablePaths<\n RemoveLineItemsResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport function createCheckout(\n httpClient: HttpClient\n): CreateCheckoutSignature {\n return (_id: string, options?: CreateCheckoutOptions) =>\n universalCreateCheckout(\n _id,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCheckoutSignature {\n /**\n * Creates a checkout from a cart.\n *\n * If a checkout for the specified cart already exists, that checkout is\n * updated with any new information from the cart.\n *\n * > **Note:** `channelType` is a required field.\n * @param - Cart ID.\n * @param - Checkout creation options.\n */\n (_id: string, options?: CreateCheckoutOptions): Promise<\n NonNullablePaths<CreateCheckoutResponse, `checkoutId`, 2> & {\n __applicationErrorsType?: CreateCheckoutApplicationErrors;\n }\n >;\n}\n\nexport function removeCoupon(httpClient: HttpClient): RemoveCouponSignature {\n return (_id: string) =>\n universalRemoveCoupon(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveCouponSignature {\n /**\n * Removes the coupon from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - Cart ID.\n */\n (_id: string): Promise<\n NonNullablePaths<\n RemoveCouponResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport function updateLineItemsQuantity(\n httpClient: HttpClient\n): UpdateLineItemsQuantitySignature {\n return (_id: string, lineItems: LineItemQuantityUpdate[]) =>\n universalUpdateLineItemsQuantity(\n _id,\n lineItems,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateLineItemsQuantitySignature {\n /**\n * Updates the quantity of 1 or more line items in a cart.\n *\n * This method is only for updating the quantity of line items.\n * To entirely remove a line item from the cart, use Remove Line Items.\n * To add a new line item to the cart, use Add To Cart.\n *\n * This method checks the amount of stock remaining for this line item.\n * If the specified quantity is greater than the remaining stock,\n * then the quantity returned in the response is the total amount of remaining stock.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - Cart ID.\n * @param - Line item IDs and their new quantity.\n */\n (_id: string, lineItems: LineItemQuantityUpdate[]): Promise<\n NonNullablePaths<\n UpdateLineItemsQuantityResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport function estimateTotals(\n httpClient: HttpClient\n): EstimateTotalsSignature {\n return (_id: string, options?: EstimateTotalsOptions) =>\n universalEstimateTotals(\n _id,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface EstimateTotalsSignature {\n /**\n * Estimates the subtotal and total for current site visitor’s cart.\n *\n * Totals include tax and are based on the selected carrier service, shipping address, and billing information.\n *\n * > **Note:** Not passing any optional parameters will only estimate the cart items price totals.\n * @param - Cart ID.\n * @param - Total estimation options.\n */\n (_id: string, options?: EstimateTotalsOptions): Promise<\n NonNullablePaths<\n EstimateTotalsResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`\n | `calculatedLineItems`\n | `calculatedLineItems.${number}.lineItemId`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.amount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.convertedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedConvertedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.taxDetails.taxRate`\n | `calculatedLineItems.${number}.paymentOption`\n | `calculatedLineItems.${number}.taxableAddress.addressType`\n | `priceSummary.subtotal.amount`\n | `priceSummary.subtotal.convertedAmount`\n | `priceSummary.subtotal.formattedAmount`\n | `priceSummary.subtotal.formattedConvertedAmount`\n | `giftCard._id`\n | `giftCard.obfuscatedCode`\n | `giftCard.amount.amount`\n | `giftCard.amount.convertedAmount`\n | `giftCard.amount.formattedAmount`\n | `giftCard.amount.formattedConvertedAmount`\n | `giftCard.appId`\n | `taxSummary.taxableAmount.amount`\n | `taxSummary.taxableAmount.convertedAmount`\n | `taxSummary.taxableAmount.formattedAmount`\n | `taxSummary.taxableAmount.formattedConvertedAmount`\n | `taxSummary.calculationDetails.manualRateReason`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.fallbackReason`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.code`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.description`\n | `taxSummary.calculationDetails.rateType`\n | `shippingInfo.region._id`\n | `shippingInfo.region.name`\n | `shippingInfo.selectedCarrierServiceOption.code`\n | `shippingInfo.selectedCarrierServiceOption.title`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.number`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.name`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.businessLocation`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.pickupMethod`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.amount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.convertedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedConvertedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxRate`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.name`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.rate`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown.${number}.jurisdictionType`\n | `shippingInfo.selectedCarrierServiceOption.requestedShippingOption`\n | `shippingInfo.selectedCarrierServiceOption.otherCharges`\n | `shippingInfo.selectedCarrierServiceOption.otherCharges.${number}.type`\n | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations`\n | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations.${number}.deliveryCarrier.code`\n | `shippingInfo.carrierServiceOptions`\n | `shippingInfo.carrierServiceOptions.${number}.carrierId`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `appliedDiscounts.${number}.coupon.amount.amount`\n | `appliedDiscounts.${number}.coupon.amount.convertedAmount`\n | `appliedDiscounts.${number}.coupon.amount.formattedAmount`\n | `appliedDiscounts.${number}.coupon.amount.formattedConvertedAmount`\n | `appliedDiscounts.${number}.coupon.name`\n | `appliedDiscounts.${number}.discountRule._id`\n | `appliedDiscounts.${number}.discountRule.name.original`\n | `appliedDiscounts.${number}.discountType`\n | `calculationErrors.generalShippingCalculationError.applicationError.code`\n | `calculationErrors.generalShippingCalculationError.applicationError.description`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `calculationErrors.carrierErrors.errors`\n | `calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `calculationErrors.orderValidationErrors`\n | `weightUnit`\n | `currency`\n | `payNow.subtotal.amount`\n | `payNow.subtotal.convertedAmount`\n | `payNow.subtotal.formattedAmount`\n | `payNow.subtotal.formattedConvertedAmount`\n | `payLater.subtotal.amount`\n | `payLater.subtotal.convertedAmount`\n | `payLater.subtotal.formattedAmount`\n | `payLater.subtotal.formattedConvertedAmount`\n | `membershipOptions.eligibleMemberships`\n | `membershipOptions.eligibleMemberships.${number}._id`\n | `membershipOptions.eligibleMemberships.${number}.appId`\n | `membershipOptions.eligibleMemberships.${number}.name.original`\n | `membershipOptions.eligibleMemberships.${number}.credits.total`\n | `membershipOptions.eligibleMemberships.${number}.credits.remaining`\n | `membershipOptions.invalidMemberships`\n | `membershipOptions.invalidMemberships.${number}.reason`\n | `membershipOptions.selectedMemberships`\n | `membershipOptions.selectedMemberships.${number}._id`\n | `membershipOptions.selectedMemberships.${number}.appId`\n | `additionalFees`\n | `additionalFees.${number}.name`\n | `additionalFees.${number}.price.amount`\n | `additionalFees.${number}.price.convertedAmount`\n | `additionalFees.${number}.price.formattedAmount`\n | `additionalFees.${number}.price.formattedConvertedAmount`\n | `additionalFees.${number}.taxDetails.taxRate`\n | `additionalFees.${number}.source`\n | `violations`\n | `violations.${number}.severity`\n | `violations.${number}.target.other.name`\n | `violations.${number}.target.lineItem.name`,\n 8\n >\n >;\n}\n\nexport function deleteCart(httpClient: HttpClient): DeleteCartSignature {\n return (_id: string) =>\n universalDeleteCart(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteCartSignature {\n /**\n * Deletes a cart.\n * @param - ID of the cart to delete.\n */\n (_id: string): Promise<void>;\n}\n\nexport function removeBusinessLocation(\n httpClient: HttpClient\n): RemoveBusinessLocationSignature {\n return (_id: string) =>\n universalRemoveBusinessLocation(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveBusinessLocationSignature {\n /**\n * Removes the location associated with a cart.\n * @param - Cart ID.\n */\n (_id: string): Promise<\n NonNullablePaths<\n RemoveBusinessLocationResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport const onCartDeleted = EventDefinition(\n 'wix.ecom.v1.cart_deleted',\n true,\n (event: CartDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'undefined.createdDate' },\n { path: 'undefined.updatedDate' },\n {\n path: 'undefined.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'undefined.lineItems.serviceProperties.scheduledDate' },\n { path: 'undefined.lineItems.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'undefined.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'undefined.lineItems.image' },\n { path: 'undefined.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'undefined.lineItems.physicalProperties.weight' },\n {\n path: 'undefined.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'undefined.contactInfo.address' }],\n },\n ])\n )\n)<CartDeletedEnvelope>();\nexport const onCartUpdated = EventDefinition(\n 'wix.ecom.v1.cart_updated',\n true,\n (event: CartUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'entity.lineItems.serviceProperties.scheduledDate' },\n { path: 'entity.lineItems.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n {\n path: 'modifiedFields.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'modifiedFields.lineItems.serviceProperties.scheduledDate',\n },\n { path: 'modifiedFields.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'entity.lineItems.url' },\n { path: 'modifiedFields.lineItems.url' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.image' },\n { path: 'entity.lineItems.catalogOverrideFields.image' },\n { path: 'modifiedFields.lineItems.image' },\n { path: 'modifiedFields.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'entity.lineItems.physicalProperties.weight' },\n {\n path: 'entity.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'modifiedFields.lineItems.physicalProperties.weight' },\n {\n path: 'modifiedFields.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'entity.contactInfo.address' },\n { path: 'modifiedFields.contactInfo.address' },\n ],\n },\n ])\n )\n)<CartUpdatedEnvelope>();\nexport const onCartCreated = EventDefinition(\n 'wix.ecom.v1.cart_created',\n true,\n (event: CartCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'entity.lineItems.serviceProperties.scheduledDate' },\n { path: 'entity.lineItems.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'entity.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.image' },\n { path: 'entity.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'entity.lineItems.physicalProperties.weight' },\n {\n path: 'entity.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'entity.contactInfo.address' }],\n },\n ])\n )\n)<CartCreatedEnvelope>();\n\nexport {\n ActionEvent,\n AddToCartOptions,\n AddToCartRequest,\n AddToCartResponse,\n AddToCurrentCartAndEstimateTotalsRequest,\n AddToCurrentCartRequest,\n AdditionalFee,\n AdditionalFeeSource,\n Address,\n AddressLocation,\n AddressWithContact,\n AggregatedTaxBreakdown,\n ApplicableLineItems,\n ApplicationError,\n AppliedDiscount,\n AppliedDiscountDiscountSourceOneOf,\n AppliedDiscountDiscountType,\n AutoTaxFallbackCalculationDetails,\n BalanceType,\n BaseEventMetadata,\n BuyerInfo,\n BuyerInfoIdOneOf,\n CalculatedItemModifier,\n CalculatedLineItem,\n CalculationErrors,\n CalculationErrorsShippingCalculationErrorOneOf,\n Carrier,\n CarrierError,\n CarrierErrors,\n CarrierServiceOption,\n Cart,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartDiscount,\n CartDiscountDiscountSourceOneOf,\n CartUpdatedEnvelope,\n CatalogOverrideFields,\n CatalogReference,\n ChannelType,\n ChargeType,\n Color,\n Coupon,\n CreateCartOptions,\n CreateCartRequest,\n CreateCartResponse,\n CreateCheckoutFromCurrentCartRequest,\n CreateCheckoutOptions,\n CreateCheckoutRequest,\n CreateCheckoutResponse,\n CustomLineItem,\n DeleteCartRequest,\n DeleteCartResponse,\n DeleteCurrentCartRequest,\n DeliveryAllocation,\n DeliveryLogistics,\n DeliveryTimeSlot,\n Description,\n DescriptionLine,\n DescriptionLineDescriptionLineValueOneOf,\n DescriptionLineName,\n DescriptionLineType,\n DescriptionLineValueOneOf,\n Details,\n DetailsKindOneOf,\n DiscountRule,\n DiscountRuleName,\n DiscountType,\n DomainEvent,\n DomainEventBodyOneOf,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EstimateCurrentCartTotalsRequest,\n EstimateTotalsOptions,\n EstimateTotalsRequest,\n EstimateTotalsResponse,\n EventMetadata,\n ExtendedFields,\n FallbackReason,\n FieldViolation,\n FileType,\n FocalPoint,\n FreeTrialPeriod,\n FullAddressContactDetails,\n GetCartByCheckoutIdRequest,\n GetCartByCheckoutIdResponse,\n GetCartRequest,\n GetCartResponse,\n GetCurrentCartRequest,\n GetCurrentCartResponse,\n GiftCard,\n Group,\n HostSelectedMembership,\n IdentificationData,\n IdentificationDataIdOneOf,\n InvalidMembership,\n ItemAvailabilityInfo,\n ItemAvailabilityStatus,\n ItemCombination,\n ItemCombinationLineItem,\n ItemModifier,\n ItemTaxFullDetails,\n ItemType,\n ItemTypeItemTypeDataOneOf,\n ItemTypePreset,\n JurisdictionType,\n LineItem,\n LineItemDiscount,\n LineItemPricesData,\n LineItemQuantityUpdate,\n ManualCalculationReason,\n Membership,\n MembershipName,\n MembershipOptions,\n MembershipPaymentCredits,\n MerchantDiscount,\n MerchantDiscountInput,\n MessageEnvelope,\n ModifierGroup,\n MultiCurrencyPrice,\n NameInLineItem,\n NameInOther,\n Other,\n OtherCharge,\n PaymentOption,\n PaymentOptionType,\n PhysicalProperties,\n PickupDetails,\n PickupMethod,\n PlainTextValue,\n PlatformFee,\n PlatformFeeChargeType,\n Policy,\n PriceDescription,\n PriceSummary,\n ProductName,\n RateType,\n Region,\n RemoveBusinessLocationRequest,\n RemoveBusinessLocationResponse,\n RemoveCouponFromCurrentCartRequest,\n RemoveCouponRequest,\n RemoveCouponResponse,\n RemoveLineItemsFromCurrentCartRequest,\n RemoveLineItemsRequest,\n RemoveLineItemsResponse,\n RestoreInfo,\n RuleType,\n Scope,\n SecuredMedia,\n SelectedCarrierServiceOption,\n SelectedCarrierServiceOptionOtherCharge,\n SelectedCarrierServiceOptionPrices,\n SelectedMembership,\n SelectedMemberships,\n SelectedShippingOption,\n ServiceProperties,\n Severity,\n ShippingInformation,\n ShippingOption,\n ShippingPrice,\n ShippingRegion,\n StreetAddress,\n SubscriptionFrequency,\n SubscriptionOptionInfo,\n SubscriptionSettings,\n SuggestedFix,\n SystemError,\n Target,\n TargetLineItem,\n TargetTargetTypeOneOf,\n TaxBreakdown,\n TaxCalculationDetails,\n TaxCalculationDetailsCalculationDetailsOneOf,\n TaxRateBreakdown,\n TaxSummary,\n TaxableAddress,\n TaxableAddressTaxableAddressDataOneOf,\n TaxableAddressType,\n Title,\n TranslatableString,\n UpdateCartOptions,\n UpdateCartRequest,\n UpdateCartResponse,\n UpdateCurrentCartLineItemQuantityRequest,\n UpdateLineItemsQuantityRequest,\n UpdateLineItemsQuantityResponse,\n V1Coupon,\n V1DiscountRule,\n V1DiscountRuleName,\n V1ItemModifier,\n V1MerchantDiscount,\n V1ModifierGroup,\n ValidationError,\n VatId,\n VatType,\n Violation,\n WebhookIdentityType,\n WeightUnit,\n} from './ecom-v1-cart-cart.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixEcomV1Cart from './ecom-v1-cart-cart.http.js';\nimport { transformSDKAddressToRESTAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformSDKPageURLV2ToRESTPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformRESTPageURLV2ToSDKPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nexport interface Cart {\n /**\n * Cart ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Line items.\n * @minSize 1\n * @maxSize 300\n * @readonly\n */\n lineItems?: LineItem[];\n /**\n * [Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.\n * @maxLength 1000\n */\n buyerNote?: string | null;\n /** Buyer information. */\n buyerInfo?: BuyerInfo;\n /**\n * The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.\n * @format CURRENCY\n * @readonly\n */\n currency?: string;\n /**\n * The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n *\n * This reflects the customer’s preferred display currency and may differ from the site’s default currency.\n * When no specific currency is selected by the customer, this matches the `currency` property.\n * @readonly\n * @format CURRENCY\n */\n conversionCurrency?: string;\n /**\n * Language for communication with the buyer. Defaults to the site language.\n *\n * For a site that supports multiple languages, this is the language the buyer selected.\n * @readonly\n */\n buyerLanguage?: string | null;\n /**\n * Site language in which original values are displayed.\n * @readonly\n */\n siteLanguage?: string | null;\n /**\n * Whether tax is included in line item prices.\n * @readonly\n */\n taxIncludedInPrices?: boolean | null;\n /**\n * Weight measurement unit - defaults to site's weight unit.\n * @readonly\n */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * ID of the checkout that originated from this cart.\n * @readonly\n * @format GUID\n */\n checkoutId?: string | null;\n /**\n * Cart discounts.\n * @readonly\n */\n appliedDiscounts?: CartDiscount[];\n /**\n * Date and time the cart was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the cart was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Contact info. */\n contactInfo?: AddressWithContact;\n /**\n * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n *\n * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\n * to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\n * standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n * @maxLength 1000\n */\n overrideCheckoutUrl?: string | null;\n /**\n * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n * @format GUID\n * @readonly\n */\n purchaseFlowId?: string | null;\n /** Selected shipping option. */\n selectedShippingOption?: SelectedShippingOption;\n /** Fields extended by data extensions */\n extendedFields?: ExtendedFields;\n /**\n * The business location ID associated with the cart.\n *\n * To learn more, see the Locations API.\n * @format GUID\n */\n businessLocationId?: string | null;\n /**\n * The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n *\n * This is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\n * If the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\n * @readonly\n * @format CURRENCY\n */\n paymentCurrency?: string;\n /**\n * Revision number, which increments by 1 each time the Cart is updated.\n * @readonly\n */\n revision?: string | null;\n}\n\nexport interface LineItem {\n /**\n * Line item ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Item quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /** Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n catalogReference?: CatalogReference;\n /**\n * Item name.\n * + Stores - `product.name`\n * + Bookings - `service.info.name`\n * + Events - `ticket.name`\n * @readonly\n */\n productName?: ProductName;\n /**\n * URL to the item's page on the site.\n * @readonly\n */\n url?: string;\n /**\n * Item price **after** catalog-defined discount and line item discounts.\n * @readonly\n */\n price?: MultiCurrencyPrice;\n /**\n * Item price **before** catalog-defined discount. Defaults to `price` when not provided.\n * @readonly\n */\n fullPrice?: MultiCurrencyPrice;\n /**\n * Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.\n * @readonly\n */\n priceBeforeDiscounts?: MultiCurrencyPrice;\n /**\n * Total price **after** catalog-defined discount and line item discounts.\n * @readonly\n */\n lineItemPrice?: MultiCurrencyPrice;\n /**\n * Line item description lines. Used for displaying the cart, checkout and order.\n * @readonly\n */\n descriptionLines?: DescriptionLine[];\n /**\n * Line item image details.\n * @readonly\n */\n image?: string;\n /**\n * Item availability details.\n * @readonly\n */\n availability?: ItemAvailabilityInfo;\n /**\n * Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.\n * @readonly\n */\n physicalProperties?: PhysicalProperties;\n /**\n * Item type. Either a preset type or custom.\n * @readonly\n */\n itemType?: ItemType;\n /**\n * Subscription option information.\n * @readonly\n */\n subscriptionOptionInfo?: SubscriptionOptionInfo;\n /**\n * Type of selected payment option for current item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n * @readonly\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /**\n * Service properties. When relevant, this contains information such as date and number of participants.\n * @readonly\n */\n serviceProperties?: ServiceProperties;\n /**\n * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n * + in most cases, this field is the same as `catalogReference.catalogItemId`.\n * + Used in membership validation.\n * @minLength 1\n * @maxLength 36\n * @readonly\n */\n rootCatalogItemId?: string | null;\n /**\n * Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".\n * @readonly\n */\n priceDescription?: PriceDescription;\n /**\n * Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.\n * @readonly\n */\n depositAmount?: MultiCurrencyPrice;\n /** Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`. */\n selectedMembership?: SelectedMembership;\n /**\n * Delivery profile ID.\n * @format GUID\n * @readonly\n */\n deliveryProfileId?: string | null;\n /**\n * Tax group ID for this line item.\n * @format GUID\n * @readonly\n */\n taxGroupId?: string | null;\n /**\n * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n * @readonly\n */\n customLineItem?: boolean;\n /**\n * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n * @minLength 1\n * @maxLength 2500\n * @readonly\n */\n consentRequiredPaymentPolicy?: string | null;\n /**\n * Whether the price is not yet defined, and will be updated after the order is created.\n * @readonly\n */\n priceUndetermined?: boolean;\n /**\n * Whether the line item quantity is fixed and cannot be changed.\n * @readonly\n */\n fixedQuantity?: boolean;\n /**\n * Overriding values for catalog item properties.\n *\n * To override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n */\n catalogOverrideFields?: CatalogOverrideFields;\n /**\n * Whether to save the payment method on the order.\n *\n * Default: `false`\n * @readonly\n */\n savePaymentMethod?: boolean;\n /** Address to use for tax calculation purposes. */\n taxableAddress?: TaxableAddress;\n /**\n * Custom extended fields for the line item object.\n *\n * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Policies to be displayed to the customer on the checkout page.\n * @readonly\n * @maxSize 5\n */\n policies?: Policy[];\n /**\n * ID of the app managing the inventory.\n * @internal\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Whether the item can only be purchased by site members.\n *\n * Default: `false`\n * @readonly\n */\n membersOnly?: boolean;\n /**\n * Modifier groups that were added to the item.\n * @readonly\n * @maxSize 25\n */\n modifierGroups?: ModifierGroup[];\n /**\n * Total price of all item modifiers. Included in the item price.\n * @readonly\n */\n modifiersTotalPrice?: MultiCurrencyPrice;\n}\n\n/** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\nexport interface CatalogReference {\n /**\n * ID of the item within the catalog it belongs to.\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string;\n /**\n * ID of the app providing the catalog.\n *\n * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n *\n * For items from Wix catalogs, the following values always apply:\n * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n * @minLength 1\n */\n appId?: string;\n /**\n * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n *\n * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n */\n options?: Record<string, any> | null;\n}\n\nexport interface ProductName {\n /**\n * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n *\n * Min: 1 character.\n * Max: 200 characters.\n * @minLength 1\n * @maxLength 200\n */\n original?: string;\n /**\n * Item name translated into the buyer's language.\n *\n * Min: 1 character.\n * Max: 400 characters.\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 400\n */\n translated?: string | null;\n}\n\nexport interface MultiCurrencyPrice {\n /**\n * Amount.\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n amount?: string;\n /**\n * Converted amount.\n * @readonly\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n convertedAmount?: string;\n /**\n * Amount formatted with currency symbol.\n * @readonly\n */\n formattedAmount?: string;\n /**\n * Converted amount formatted with currency symbol.\n * @readonly\n */\n formattedConvertedAmount?: string;\n}\n\nexport interface DescriptionLine\n extends DescriptionLineValueOneOf,\n DescriptionLineDescriptionLineValueOneOf {\n /** Description line plain text value. */\n plainText?: PlainTextValue;\n /** Description line color value. */\n colorInfo?: Color;\n /** Description line name. */\n name?: DescriptionLineName;\n /**\n * Whether the description line originates from a modifier.\n * @internal\n * @deprecated Whether the description line originates from a modifier.\n * @replacedBy none\n * @targetRemovalDate 2025-12-31\n */\n modifierDescriptionLine?: boolean;\n}\n\n/** @oneof */\nexport interface DescriptionLineValueOneOf {\n /** Description line plain text value. */\n plainText?: PlainTextValue;\n /** Description line color value. */\n colorInfo?: Color;\n}\n\n/** @oneof */\nexport interface DescriptionLineDescriptionLineValueOneOf {}\n\nexport interface DescriptionLineName {\n /**\n * Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 100\n */\n original?: string;\n /**\n * Description line name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 200\n */\n translated?: string | null;\n}\n\nexport interface PlainTextValue {\n /**\n * Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 600\n */\n original?: string;\n /**\n * Description line plain text value translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 600\n */\n translated?: string | null;\n}\n\nexport interface Color {\n /**\n * Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 500\n */\n original?: string;\n /**\n * Description line color name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 500\n */\n translated?: string | null;\n /** HEX or RGB color code for display. */\n code?: string | null;\n}\n\nexport enum DescriptionLineType {\n /** Unrecognized type. */\n UNRECOGNISED = 'UNRECOGNISED',\n /** Plain text type. */\n PLAIN_TEXT = 'PLAIN_TEXT',\n /** Color type. */\n COLOR = 'COLOR',\n}\n\n/** @enumType */\nexport type DescriptionLineTypeWithLiterals =\n | DescriptionLineType\n | 'UNRECOGNISED'\n | 'PLAIN_TEXT'\n | 'COLOR';\n\nexport interface FocalPoint {\n /** X-coordinate of the focal point. */\n x?: number;\n /** Y-coordinate of the focal point. */\n y?: number;\n /** crop by height */\n height?: number | null;\n /** crop by width */\n width?: number | null;\n}\n\nexport interface ItemAvailabilityInfo {\n /** Item availability status. */\n status?: ItemAvailabilityStatusWithLiterals;\n /** Quantity available. */\n quantityAvailable?: number | null;\n}\n\nexport enum ItemAvailabilityStatus {\n AVAILABLE = 'AVAILABLE',\n /** Item does not exist. */\n NOT_FOUND = 'NOT_FOUND',\n /** Item is not in stock. */\n NOT_AVAILABLE = 'NOT_AVAILABLE',\n /** Available quantity is less than requested. */\n PARTIALLY_AVAILABLE = 'PARTIALLY_AVAILABLE',\n}\n\n/** @enumType */\nexport type ItemAvailabilityStatusWithLiterals =\n | ItemAvailabilityStatus\n | 'AVAILABLE'\n | 'NOT_FOUND'\n | 'NOT_AVAILABLE'\n | 'PARTIALLY_AVAILABLE';\n\nexport interface PhysicalProperties {\n /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n weight?: number | null;\n /**\n * Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).\n * @maxLength 40\n */\n sku?: string | null;\n /** Whether this line item is shippable. */\n shippable?: boolean;\n}\n\nexport interface Scope {\n /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n namespace?: string;\n /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n group?: Group;\n}\n\nexport interface Group {\n /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n name?: string;\n /** Item ID (when the coupon scope is limited to just one item). */\n entityId?: string | null;\n}\n\nexport interface ItemType extends ItemTypeItemTypeDataOneOf {\n /** Preset item type. */\n preset?: ItemTypePresetWithLiterals;\n /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n custom?: string;\n}\n\n/** @oneof */\nexport interface ItemTypeItemTypeDataOneOf {\n /** Preset item type. */\n preset?: ItemTypePresetWithLiterals;\n /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n custom?: string;\n}\n\nexport enum ItemTypePreset {\n UNRECOGNISED = 'UNRECOGNISED',\n PHYSICAL = 'PHYSICAL',\n DIGITAL = 'DIGITAL',\n GIFT_CARD = 'GIFT_CARD',\n SERVICE = 'SERVICE',\n}\n\n/** @enumType */\nexport type ItemTypePresetWithLiterals =\n | ItemTypePreset\n | 'UNRECOGNISED'\n | 'PHYSICAL'\n | 'DIGITAL'\n | 'GIFT_CARD'\n | 'SERVICE';\n\nexport interface SubscriptionOptionInfo {\n /** Subscription option settings. */\n subscriptionSettings?: SubscriptionSettings;\n /** Subscription option title. */\n title?: Title;\n /** Subscription option description. */\n description?: Description;\n}\n\nexport interface SubscriptionSettings {\n /** Frequency of recurring payment. */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Interval of recurring payment.\n *\n * Default: `1`.\n * If SubscriptionFrequency is Day the minimum interval is 7\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /** Whether subscription is renewed automatically at the end of each period. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.\n * @min 1\n */\n billingCycles?: number | null;\n /** Whether to allow the customer to cancel the subscription.. */\n enableCustomerCancellation?: boolean;\n /**\n * Period until first cycle starts. If applied payNow will be 0\n * If None => no free trial\n */\n freeTrialPeriod?: FreeTrialPeriod;\n /**\n * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n * @internal\n */\n startDate?: Date | null;\n}\n\n/** Frequency unit of recurring payment */\nexport enum SubscriptionFrequency {\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\nexport interface FreeTrialPeriod {\n /** Frequency of period. Values: DAY, WEEK, MONTH, YEAR */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * interval of period\n * @min 1\n * @max 999\n */\n interval?: number;\n}\n\nexport interface Title {\n /**\n * Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 150\n */\n original?: string;\n /**\n * Subscription option name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 150\n */\n translated?: string | null;\n}\n\nexport interface Description {\n /**\n * Subscription option description.\n * @maxLength 500\n */\n original?: string;\n /**\n * Translated subscription option description.\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface SecuredMedia {\n /**\n * Media ID in Wix Media Manager.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * Original filename.\n * @minLength 1\n * @maxLength 1000\n */\n fileName?: string;\n /** File type. */\n fileType?: FileTypeWithLiterals;\n}\n\nexport enum FileType {\n UNSPECIFIED = 'UNSPECIFIED',\n SECURE_PICTURE = 'SECURE_PICTURE',\n SECURE_VIDEO = 'SECURE_VIDEO',\n SECURE_DOCUMENT = 'SECURE_DOCUMENT',\n SECURE_MUSIC = 'SECURE_MUSIC',\n SECURE_ARCHIVE = 'SECURE_ARCHIVE',\n}\n\n/** @enumType */\nexport type FileTypeWithLiterals =\n | FileType\n | 'UNSPECIFIED'\n | 'SECURE_PICTURE'\n | 'SECURE_VIDEO'\n | 'SECURE_DOCUMENT'\n | 'SECURE_MUSIC'\n | 'SECURE_ARCHIVE';\n\n/** Type of selected payment option for catalog item */\nexport enum PaymentOptionType {\n /** The entire payment for this item happens as part of the checkout. */\n FULL_PAYMENT_ONLINE = 'FULL_PAYMENT_ONLINE',\n /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n FULL_PAYMENT_OFFLINE = 'FULL_PAYMENT_OFFLINE',\n /** Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online. */\n MEMBERSHIP = 'MEMBERSHIP',\n /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n DEPOSIT_ONLINE = 'DEPOSIT_ONLINE',\n /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n MEMBERSHIP_OFFLINE = 'MEMBERSHIP_OFFLINE',\n /**\n * Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.\n * @documentationMaturity preview\n */\n MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER = 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n}\n\n/** @enumType */\nexport type PaymentOptionTypeWithLiterals =\n | PaymentOptionType\n | 'FULL_PAYMENT_ONLINE'\n | 'FULL_PAYMENT_OFFLINE'\n | 'MEMBERSHIP'\n | 'DEPOSIT_ONLINE'\n | 'MEMBERSHIP_OFFLINE'\n | 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER';\n\nexport interface ServiceProperties {\n /**\n * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * For example, the start time of a class.\n */\n scheduledDate?: Date | null;\n /**\n * The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.\n * @min 1\n * @max 10000\n */\n numberOfParticipants?: number | null;\n /**\n * Date and time the service is to be ended, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * For example, the date and time a class will end.\n * @internal\n */\n endDate?: Date | null;\n}\n\nexport interface PriceDescription {\n /**\n * __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 100\n */\n original?: string;\n /**\n * Price description translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 100\n */\n translated?: string | null;\n}\n\n/** Selected Membership */\nexport interface SelectedMembership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * ID of the app providing this payment option.\n * @format GUID\n */\n appId?: string;\n}\n\nexport interface CatalogOverrideFields {\n /** Item name. */\n productName?: ProductName;\n /**\n * Item price **after** discounts.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n price?: string | null;\n /**\n * Item price **before** discounts.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n fullPrice?: string | null;\n /**\n * Item description lines. Used when displaying the line item to customers.\n * @maxSize 20\n */\n descriptionLines?: DescriptionLine[];\n /** Physical properties of the item. */\n physicalProperties?: PhysicalProperties;\n /** Item image. */\n image?: string;\n /** Payment method selected for the item. */\n paymentOption?: PaymentOption;\n /**\n * Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.\n * @format DECIMAL_VALUE\n * @decimalValue options { gt:0, lte:999999999, maxScale:3 }\n */\n depositAmount?: string | null;\n /**\n * Whether to save the payment method on the order.\n *\n * Default: `false`\n */\n savePaymentMethod?: boolean | null;\n}\n\nexport interface PaymentOption {\n /**\n * Type of selected payment option for current item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n value?: PaymentOptionTypeWithLiterals;\n}\n\nexport interface TaxableAddress extends TaxableAddressTaxableAddressDataOneOf {\n /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n addressType?: TaxableAddressTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface TaxableAddressTaxableAddressDataOneOf {\n /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n addressType?: TaxableAddressTypeWithLiterals;\n}\n\nexport enum TaxableAddressType {\n UNKNOWN_TAXABLE_ADDRESS = 'UNKNOWN_TAXABLE_ADDRESS',\n BUSINESS = 'BUSINESS',\n BILLING = 'BILLING',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type TaxableAddressTypeWithLiterals =\n | TaxableAddressType\n | 'UNKNOWN_TAXABLE_ADDRESS'\n | 'BUSINESS'\n | 'BILLING'\n | 'SHIPPING';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface Policy {\n /**\n * Policy title - should be translated\n * @minLength 1\n * @maxLength 29\n */\n title?: string | null;\n /**\n * Policy content - should be translated\n * @minLength 1\n * @maxLength 3000\n */\n content?: string;\n}\n\nexport interface ModifierGroup {\n /**\n * Modifier group ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /** Modifier group name. */\n name?: TranslatableString;\n /**\n * List of modifiers in this group.\n * @minSize 1\n * @maxSize 25\n */\n modifiers?: ItemModifier[];\n}\n\nexport interface TranslatableString {\n /**\n * __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n *\n * Min: 1 character.\n * Max: 200 characters.\n * @minLength 1\n * @maxLength 200\n */\n original?: string;\n /**\n * String translated into the buyer's language.\n *\n * Min: 1 character.\n * Max: 400 characters.\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 400\n */\n translated?: string | null;\n}\n\nexport interface ItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /**\n * The quantity of this modifier.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n /** Primary display label for the modifier. */\n label?: TranslatableString;\n /** Additional details. */\n details?: TranslatableString;\n /** The price of the modifier. */\n price?: MultiCurrencyPrice;\n}\n\nexport interface PlatformFee {\n /** __Required.__ Platform fee name. */\n name?: TranslatableString;\n /** Platform fee charge type. */\n chargeType?: PlatformFeeChargeTypeWithLiterals;\n /**\n * Percentage rate charged as platform fee.\n *\n * The fee rate expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, lte:1, maxScale:4 }\n */\n percentageRate?: string;\n}\n\nexport enum PlatformFeeChargeType {\n UNKNOWN_CHARGE_TYPE = 'UNKNOWN_CHARGE_TYPE',\n /** The platform fee is passed on to the customer. */\n PASS_ON = 'PASS_ON',\n /** The platform fee is absorbed by the merchant. */\n ABSORBED = 'ABSORBED',\n}\n\n/** @enumType */\nexport type PlatformFeeChargeTypeWithLiterals =\n | PlatformFeeChargeType\n | 'UNKNOWN_CHARGE_TYPE'\n | 'PASS_ON'\n | 'ABSORBED';\n\n/** Buyer Info */\nexport interface BuyerInfo extends BuyerInfoIdOneOf {\n /**\n * Visitor ID. If the buyer is **not** a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Member ID. If the buyer is a site member.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * User ID. If the buyer, or cart owner, is a Wix user.\n * @format GUID\n * @readonly\n */\n userId?: string;\n /**\n * Contact ID. For more information, see the Contacts API.\n * @format GUID\n */\n contactId?: string | null;\n /**\n * Buyer email address.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/** @oneof */\nexport interface BuyerInfoIdOneOf {\n /**\n * Visitor ID. If the buyer is **not** a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Member ID. If the buyer is a site member.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * User ID. If the buyer, or cart owner, is a Wix user.\n * @format GUID\n * @readonly\n */\n userId?: string;\n}\n\nexport enum WeightUnit {\n /** Weight unit can't be classified due to an error. */\n UNSPECIFIED_WEIGHT_UNIT = 'UNSPECIFIED_WEIGHT_UNIT',\n /** Kilograms. */\n KG = 'KG',\n /** Pounds. */\n LB = 'LB',\n}\n\n/** @enumType */\nexport type WeightUnitWithLiterals =\n | WeightUnit\n | 'UNSPECIFIED_WEIGHT_UNIT'\n | 'KG'\n | 'LB';\n\nexport interface CartDiscount extends CartDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: Coupon;\n /** Merchant discount. */\n merchantDiscount?: MerchantDiscount;\n /**\n * Discount rule\n * @internal\n */\n discountRule?: DiscountRule;\n /**\n * Discount type.\n * @internal\n */\n discountType?: DiscountTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface CartDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: Coupon;\n /** Merchant discount. */\n merchantDiscount?: MerchantDiscount;\n /**\n * Discount rule\n * @internal\n */\n discountRule?: DiscountRule;\n}\n\nexport interface Coupon {\n /** Coupon ID. */\n _id?: string;\n /** Coupon code. */\n code?: string;\n /**\n * Coupon value.\n * @internal\n */\n amount?: MultiCurrencyPrice;\n}\n\nexport interface MerchantDiscount {\n /** Discount value. */\n amount?: MultiCurrencyPrice;\n}\n\nexport interface DiscountRule {\n /**\n * Discount rule ID\n * @format GUID\n */\n _id?: string;\n /** Discount rule name */\n name?: DiscountRuleName;\n /** Discount value. */\n amount?: MultiCurrencyPrice;\n}\n\nexport interface DiscountRuleName {\n /**\n * Original discount rule name (in site's default language).\n * @minLength 1\n * @maxLength 256\n */\n original?: string;\n /**\n * Translated discount rule name according to buyer language. Defaults to `original` when not provided.\n * @minLength 1\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport enum DiscountType {\n /** \"GLOBAL\" - discount applies to entire order. */\n GLOBAL = 'GLOBAL',\n /** \"SPECIFIC-ITEMS\" - discount applies to specific items. */\n SPECIFIC_ITEMS = 'SPECIFIC_ITEMS',\n /** \"SHIPPING\" - discount applies to shipping. For example, free shipping. */\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n | DiscountType\n | 'GLOBAL'\n | 'SPECIFIC_ITEMS'\n | 'SHIPPING';\n\n/** Billing Info and shipping details */\nexport interface AddressWithContact {\n /** Address. */\n address?: Address;\n /** Contact details. */\n contactDetails?: FullAddressContactDetails;\n}\n\n/** Physical address */\nexport interface Address {\n /**\n * Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.\n * @format COUNTRY\n */\n country?: string | null;\n /**\n * Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.\n * @maxLength 50\n */\n subdivision?: string | null;\n /**\n * City name.\n * @maxLength 50\n */\n city?: string | null;\n /**\n * Postal or zip code.\n * @maxLength 50\n */\n postalCode?: string | null;\n /** Street address. */\n streetAddress?: StreetAddress;\n /**\n * Main address line (usually street name and number).\n * @maxLength 150\n */\n addressLine1?: string | null;\n /**\n * Free text providing more detailed address info. Usually contains apt, suite, floor.\n * @maxLength 100\n */\n addressLine2?: string | null;\n /** Geocode object containing latitude and longitude coordinates. */\n location?: AddressLocation;\n /**\n * Country's full name.\n * @readonly\n */\n countryFullname?: string | null;\n /**\n * Subdivision full-name.\n * @readonly\n */\n subdivisionFullname?: string | null;\n}\n\nexport interface StreetAddress {\n /** Street number. */\n number?: string;\n /** Street name. */\n name?: string;\n}\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\n/** Full contact details for an address */\nexport interface FullAddressContactDetails {\n /**\n * First name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Company name.\n * @maxLength 1000\n */\n company?: string | null;\n /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n vatId?: VatId;\n}\n\nexport interface VatId {\n /** Customer's tax ID. */\n _id?: string;\n /**\n * Tax type.\n *\n * Supported values:\n * + `CPF`: for individual tax payers\n * + `CNPJ`: for corporations\n */\n type?: VatTypeWithLiterals;\n}\n\n/** tax info types */\nexport enum VatType {\n UNSPECIFIED = 'UNSPECIFIED',\n /** CPF - for individual tax payers. */\n CPF = 'CPF',\n /** CNPJ - for corporations */\n CNPJ = 'CNPJ',\n}\n\n/** @enumType */\nexport type VatTypeWithLiterals = VatType | 'UNSPECIFIED' | 'CPF' | 'CNPJ';\n\nexport interface SelectedShippingOption {\n /**\n * Carrier ID.\n * @format GUID\n */\n carrierId?: string | null;\n /**\n * Selected shipping option code. For example, \"usps_std_overnight\".\n * @minLength 1\n * @maxLength 100\n */\n code?: string;\n}\n\nexport interface GetCurrentCartRequest {}\n\nexport interface GetCurrentCartResponse {\n /** Current session's active cart. */\n cart?: Cart;\n}\n\nexport interface UpdateCartRequest {\n /** Cart info. */\n cartInfo?: Cart;\n /** Coupon code. For more information, see the Coupons API. */\n couponCode?: string | null;\n /**\n * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @maxSize 100\n * @deprecated Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @targetRemovalDate 2025-09-01\n */\n merchantDiscounts?: MerchantDiscountInput[];\n /**\n * Catalog line items.\n * @maxSize 300\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 300\n */\n customLineItems?: CustomLineItem[];\n}\n\nexport interface MerchantDiscountInput {\n /**\n * Discount amount.\n * @decimalValue options { gte:0 }\n */\n amount?: string;\n /**\n * IDs of line items the discount applies to.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport interface CustomLineItem {\n /**\n * Custom line item quantity.\n *\n * Min: `1`\n * Max: `100000`\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Custom line item price.\n *\n * Must be a number or a decimal without symbols.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n price?: string;\n /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n priceDescription?: PriceDescription;\n /**\n * Custom line item description lines. Used for display purposes for the cart, checkout and order.\n * @maxSize 10\n */\n descriptionLines?: DescriptionLine[];\n /**\n * Custom line item media.\n * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) - `\"wix:image://v1/3c76e2_c53...4ea4~mv2.jpg#originWidth=1000&originHeight=1000\"`.\n */\n media?: string;\n /**\n * Deprecated. Custom line item ID.\n *\n * To maintain a unique value for a custom line item across multiple carts and orders, pass `catalogReference` instead.\n * Learn more about [custom items with catalog reference](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/catalogs/catalog-and-custom-items#custom-item-with-catalog-reference).\n * @format GUID\n * @readonly\n * @deprecated Deprecated. Custom line item ID.\n *\n * To maintain a unique value for a custom line item across multiple carts and orders, pass `catalogReference` instead.\n * Learn more about [custom items with catalog reference](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/catalogs/catalog-and-custom-items#custom-item-with-catalog-reference).\n * @targetRemovalDate 2026-05-01\n */\n _id?: string | null;\n /**\n * Tax group ID for this custom line item.\n * @format GUID\n */\n taxGroupId?: string | null;\n /** Name of the item or product. */\n productName?: ProductName;\n /** URL to the item's page on the site. When not provided, the link back from the cart page to the relevant product page will not work. */\n url?: string;\n /** Item type. Either a preset type or custom. */\n itemType?: ItemType;\n /**\n * Item price **before** catalog-defined discount. Defaults to `price` when not provided.\n * @format DECIMAL_VALUE\n */\n fullPrice?: string | null;\n /**\n * Item quantity available for purchase. Only return this if inventory is managed.\n * Not returning this field means that the buyer can \"infinitely\" tick up the number of items in the cart.\n * @max 100000\n */\n quantityAvailable?: number | null;\n /** Physical properties of the item. */\n physicalProperties?: PhysicalProperties;\n /**\n * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n *\n * + `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\n * + `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n * + `DEPOSIT_ONLINE` - Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /**\n * Service properties. When relevant, this contains information such as date and number of participants.\n * Used, among other things, when checking for valid memberships.\n */\n serviceProperties?: ServiceProperties;\n /**\n * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n *\n * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n * + In most cases, this field is the same as `catalogReference.catalogItemId`.\n * + Used in membership validation.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n /**\n * Partial payment for the given item to be paid upfront during the checkout.\n *\n * Eligible for catalog items with type `DEPOSIT_ONLINE`.\n * When omitted, the item's price will not be split and is expected to be paid in a single installment.\n * @format DECIMAL_VALUE\n */\n depositAmount?: string | null;\n /**\n * Delivery profile ID.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n catalogReference?: CatalogReference;\n /**\n * Whether the price is not yet defined, and will be updated after the order is created.\n *\n * Default: `false`\n */\n priceUndetermined?: boolean;\n /**\n * Whether the line item quantity is fixed and cannot be changed.\n *\n * Default: `false`\n */\n fixedQuantity?: boolean;\n /**\n * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n * @minLength 1\n * @maxLength 1000\n * @readonly\n */\n consentRequiredPaymentPolicy?: string | null;\n /**\n * Whether to save the payment method on the order.\n *\n * Default: `false`\n * @readonly\n */\n savePaymentMethod?: boolean;\n /**\n * Policies to be displayed to the customer on the checkout page.\n * @maxSize 5\n */\n policies?: Policy[];\n /**\n * ID of the app managing the inventory.\n * @internal\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Whether the item can only be purchased by site members.\n *\n * Default: `false`\n */\n membersOnly?: boolean;\n /** Address to use for tax calculation purposes. */\n taxableAddress?: TaxableAddress;\n /**\n * Modifier groups that were added to the item.\n * @maxSize 25\n */\n modifierGroups?: V1ModifierGroup[];\n}\n\nexport interface V1ModifierGroup {\n /**\n * Modifier group ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /** Modifier group name. */\n name?: TranslatableString;\n /**\n * List of modifiers in this group.\n * @minSize 1\n * @maxSize 25\n */\n modifiers?: V1ItemModifier[];\n}\n\nexport interface V1ItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /**\n * The quantity of this modifier.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n /** Primary display label for the modifier. */\n label?: TranslatableString;\n /** Additional details. */\n details?: TranslatableString;\n /**\n * The price of the modifier.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n */\n price?: string | null;\n}\n\nexport interface UpdateCartResponse {\n /** Updated Cart. */\n cart?: Cart;\n}\n\nexport interface AddToCurrentCartRequest {\n /**\n * Catalog line items.\n * @maxSize 100\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 100\n */\n customLineItems?: CustomLineItem[];\n /**\n * Business location ID.\n * To update a cart's business location ID, use the UpdateCart method.\n * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\nexport interface AddToCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface AddToCurrentCartAndEstimateTotalsRequest {\n /**\n * Catalog line items.\n * @maxSize 100\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 100\n */\n customLineItems?: CustomLineItem[];\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /** The selected membership payment options and which line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n /**\n * Whether to calculate tax in the calculation request.\n *\n * Default: `true`\n */\n calculateTax?: boolean | null;\n /**\n * Whether to calculate shipping in the calculation request.\n *\n * Default: `true`\n */\n calculateShipping?: boolean | null;\n /**\n * Whether to calculate additional fees in the calculation request.\n *\n * Default: `true`\n */\n calculateAdditionalFees?: boolean | null;\n}\n\nexport interface SelectedMemberships {\n /**\n * Selected memberships.\n * @maxSize 300\n */\n memberships?: HostSelectedMembership[];\n}\n\nexport interface HostSelectedMembership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * ID of the app providing this payment option.\n * @format GUID\n */\n appId?: string;\n /**\n * IDs of the line items this membership applies to.\n * @minSize 1\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n}\n\nexport interface EstimateTotalsResponse {\n /** Cart. */\n cart?: Cart;\n /** Calculated line items. */\n calculatedLineItems?: CalculatedLineItem[];\n /** Price summary. */\n priceSummary?: PriceSummary;\n /** Applied gift card. */\n giftCard?: GiftCard;\n /** Tax summary. */\n taxSummary?: TaxSummary;\n /** Shipping information. */\n shippingInfo?: ShippingInformation;\n /** Applied discounts. */\n appliedDiscounts?: AppliedDiscount[];\n /** Calculation errors. */\n calculationErrors?: CalculationErrors;\n /** Weight measurement unit. Defaults to site's weight unit. */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * Currency used for pricing in this store.\n * @format CURRENCY\n */\n currency?: string;\n /**\n * Minimal amount to pay in order to place the order.\n * @readonly\n */\n payNow?: PriceSummary;\n /**\n * Remaining amount for the order to be fully paid.\n * @readonly\n */\n payLater?: PriceSummary;\n /** Information about valid and invalid memberships, and which ones are selected for usage. */\n membershipOptions?: MembershipOptions;\n /**\n * Additional fees.\n * @maxSize 100\n */\n additionalFees?: AdditionalFee[];\n /**\n * List of validation violations raised by the [Validations service plugin](https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/validations-integration-service-plugin/introduction).\n * @readonly\n */\n violations?: Violation[];\n /**\n * Payment for subscriptions after free trial period.\n * @internal\n * @readonly\n */\n payAfterFreeTrial?: PriceSummary;\n}\n\nexport interface CalculatedLineItem {\n /** Line item ID. */\n lineItemId?: string;\n /** Price breakdown for this line item. */\n pricesBreakdown?: LineItemPricesData;\n /**\n * Type of selected payment option for current item. Supported values:\n * + `\"FULL_PAYMENT_ONLINE\"` - The entire payment for this item will happen as part of the checkout\n * + `\"FULL_PAYMENT_OFFLINE\"` - The entire payment for this item will happen after the checkout\n * + `\"MEMBERSHIP\"` - This item cannot be paid via monetary payment options, only via non monetary option such membership. When this option is used, price must be set to 0\n * + `\"DEPOSIT_ONLINE\"` - Partial payment of the given item will happen as part of the checkout. Amount to be paid is defined by deposit_amount field.\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /** tax calculation address. */\n taxableAddress?: TaxableAddress;\n /**\n * Calculated modifiers.\n * @internal\n * @maxSize 625\n */\n modifiers?: CalculatedItemModifier[];\n}\n\nexport interface LineItemPricesData {\n /** Total price after discounts, tax, and modifiers. */\n totalPriceAfterTax?: MultiCurrencyPrice;\n /** Total price after discounts and modifiers, and before tax. */\n totalPriceBeforeTax?: MultiCurrencyPrice;\n /** Tax details. */\n taxDetails?: ItemTaxFullDetails;\n /** Total discount applied for the line item. */\n totalDiscount?: MultiCurrencyPrice;\n /** Catalog price after catalog-defined discount, automatic discounts, and modifiers. */\n price?: MultiCurrencyPrice;\n /**\n * Item price before automatic discounts, coupons, and global discounts; after catalog-defined discounts and modifiers.\n * Defaults to `price` when not provided.\n */\n priceBeforeDiscounts?: MultiCurrencyPrice;\n /** Total line item price after catalog-defined discounts, automatic discounts, and modifiers. */\n lineItemPrice?: MultiCurrencyPrice;\n /**\n * Item price before all discounts and modifiers.\n * Defaults to `price` when not provided.\n */\n fullPrice?: MultiCurrencyPrice;\n /**\n * Total price of all item modifiers.\n * @internal\n */\n modifiers?: MultiCurrencyPrice;\n /**\n * Item price before tax, automatic discounts, coupons, and global discounts; after catalog-defined discounts and modifiers.\n * @internal\n */\n priceBeforeDiscountsAndTax?: MultiCurrencyPrice;\n /**\n * Partial payment to be paid upfront during the checkout.\n * Applies to catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.\n */\n depositAmount?: MultiCurrencyPrice;\n}\n\nexport interface ItemTaxFullDetails {\n /** Amount for which tax is calculated. */\n taxableAmount?: MultiCurrencyPrice;\n /**\n * Tax rate %, as a decimal point between 0 and 1.\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n */\n taxRate?: string;\n /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n totalTax?: MultiCurrencyPrice;\n /**\n * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.\n * @readonly\n * @deprecated\n */\n rateBreakdown?: TaxRateBreakdown[];\n /**\n * The amount of this line item that was exempt.\n * @internal\n */\n exemptAmount?: MultiCurrencyPrice;\n /**\n * tax information for a line item.\n * @maxSize 1000\n * @readonly\n */\n taxBreakdown?: TaxBreakdown[];\n}\n\nexport interface TaxRateBreakdown {\n /**\n * Name of tax against which the calculation was performed.\n * @maxLength 100\n */\n name?: string;\n /**\n * Rate at which this tax detail was calculated.\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n */\n rate?: string;\n /** Amount of tax for this tax detail. */\n tax?: MultiCurrencyPrice;\n /**\n * The amount of this line item that was exempt from this authority.\n * @internal\n */\n exemptAmount?: MultiCurrencyPrice;\n}\n\n/**\n * TaxBreakdown represents tax information for a line item.\n * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n */\nexport interface TaxBreakdown {\n /**\n * The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\".\n * @maxLength 200\n */\n jurisdiction?: string | null;\n /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n nonTaxableAmount?: MultiCurrencyPrice;\n /**\n * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value)\n * @decimalValue options { gte:0, maxScale:6 }\n */\n rate?: string | null;\n /** The amount of tax estimated for this line item. (Decimal value) */\n taxAmount?: MultiCurrencyPrice;\n /** The taxable amount of this line item. */\n taxableAmount?: MultiCurrencyPrice;\n /**\n * The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.\n * @maxLength 200\n */\n taxType?: string | null;\n /**\n * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n * @maxLength 200\n */\n taxName?: string | null;\n /** The type of the jurisdiction in which this tax detail applies. */\n jurisdictionType?: JurisdictionTypeWithLiterals;\n /**\n * The amount of this line item that was exempt from this authority.\n * @internal\n */\n exemptAmount?: MultiCurrencyPrice;\n}\n\n/** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\nexport enum JurisdictionType {\n UNDEFINED = 'UNDEFINED',\n COUNTRY = 'COUNTRY',\n STATE = 'STATE',\n COUNTY = 'COUNTY',\n CITY = 'CITY',\n SPECIAL = 'SPECIAL',\n}\n\n/** @enumType */\nexport type JurisdictionTypeWithLiterals =\n | JurisdictionType\n | 'UNDEFINED'\n | 'COUNTRY'\n | 'STATE'\n | 'COUNTY'\n | 'CITY'\n | 'SPECIAL';\n\nexport interface CalculatedItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /**\n * ID of the group this modifier belongs to.\n * @minLength 1\n * @maxLength 36\n */\n groupId?: string;\n /**\n * Modifier price.\n * @readonly\n */\n price?: MultiCurrencyPrice;\n}\n\nexport interface PriceSummary {\n /** Subtotal of all line items, before discounts and before tax. */\n subtotal?: MultiCurrencyPrice;\n /** Total shipping price, before discounts and before tax. */\n shipping?: MultiCurrencyPrice;\n /** Total tax. */\n tax?: MultiCurrencyPrice;\n /** Total calculated discount value. */\n discount?: MultiCurrencyPrice;\n /** Total price after discounts, gift cards, and tax. */\n total?: MultiCurrencyPrice;\n /** Total additional fees price before tax. */\n additionalFees?: MultiCurrencyPrice;\n}\n\nexport interface GiftCard {\n /**\n * Gift Card ID.\n * @deprecated\n */\n _id?: string;\n /** Gift card obfuscated code. */\n obfuscatedCode?: string;\n /** Actual amount to be redeemed from the gift card. */\n amount?: MultiCurrencyPrice;\n /**\n * App ID of the gift card provider.\n * @format GUID\n */\n appId?: string;\n /**\n * External ID in the gift card provider's system.\n * Used for integration and tracking across different platforms.\n * @minLength 1\n * @maxLength 50\n */\n externalId?: string | null;\n /** Requested amount to redeem from the gift card. */\n requestedAmount?: MultiCurrencyPrice;\n}\n\nexport interface TaxSummary {\n /**\n * Amount for which tax is calculated, added from line items.\n * @readonly\n */\n taxableAmount?: MultiCurrencyPrice;\n /**\n * Calculated tax, added from line items.\n * @readonly\n */\n totalTax?: MultiCurrencyPrice;\n /**\n * Tax calculator that was active when the order was created.\n * @deprecated\n */\n calculationDetails?: TaxCalculationDetails;\n /**\n * The amount of this estimate that was exempt (for all line items).\n * @internal\n * @readonly\n */\n totalExempt?: MultiCurrencyPrice;\n /**\n * Default name of the tax that was calculated.\n * @internal\n * @maxLength 200\n */\n taxName?: string | null;\n}\n\nexport interface TaxCalculationDetails\n extends TaxCalculationDetailsCalculationDetailsOneOf {\n /** Reason the manual calculation was used. */\n manualRateReason?: ManualCalculationReasonWithLiterals;\n /** Details of the fallback rate calculation. */\n autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;\n /** Rate calculation type. */\n rateType?: RateTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface TaxCalculationDetailsCalculationDetailsOneOf {\n /** Reason the manual calculation was used. */\n manualRateReason?: ManualCalculationReasonWithLiterals;\n /** Details of the fallback rate calculation. */\n autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;\n}\n\nexport enum RateType {\n /** no tax being collected for this request due to location of purchase */\n NO_TAX_COLLECTED = 'NO_TAX_COLLECTED',\n /** manual rate used for calculation */\n MANUAL_RATE = 'MANUAL_RATE',\n /** autotax rate used for calculation */\n AUTO_RATE = 'AUTO_RATE',\n /** fallback rate used for calculation */\n FALLBACK_RATE = 'FALLBACK_RATE',\n}\n\n/** @enumType */\nexport type RateTypeWithLiterals =\n | RateType\n | 'NO_TAX_COLLECTED'\n | 'MANUAL_RATE'\n | 'AUTO_RATE'\n | 'FALLBACK_RATE';\n\nexport enum ManualCalculationReason {\n /** user set calculator in Business Manager to be Manual */\n GLOBAL_SETTING_TO_MANUAL = 'GLOBAL_SETTING_TO_MANUAL',\n /** specific region is on manual even though Global setting is Auto-tax */\n REGION_SETTING_TO_MANUAL = 'REGION_SETTING_TO_MANUAL',\n}\n\n/** @enumType */\nexport type ManualCalculationReasonWithLiterals =\n | ManualCalculationReason\n | 'GLOBAL_SETTING_TO_MANUAL'\n | 'REGION_SETTING_TO_MANUAL';\n\nexport interface AutoTaxFallbackCalculationDetails {\n /** reason for fallback */\n fallbackReason?: FallbackReasonWithLiterals;\n /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */\n error?: ApplicationError;\n}\n\nexport enum FallbackReason {\n /** auto-tax failed to be calculated */\n AUTO_TAX_FAILED = 'AUTO_TAX_FAILED',\n /** auto-tax was temporarily deactivated on a system-level */\n AUTO_TAX_DEACTIVATED = 'AUTO_TAX_DEACTIVATED',\n}\n\n/** @enumType */\nexport type FallbackReasonWithLiterals =\n | FallbackReason\n | 'AUTO_TAX_FAILED'\n | 'AUTO_TAX_DEACTIVATED';\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\n/**\n * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n */\nexport interface AggregatedTaxBreakdown {\n /**\n * The name of the tax against which this tax amount was calculated.\n * @maxLength 200\n */\n taxName?: string;\n /**\n * The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws.\n * @maxLength 200\n */\n taxType?: string;\n /**\n * The name of the jurisdiction in which this tax detail applies.\n * @maxLength 200\n */\n jurisdiction?: string;\n /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n jurisdictionTypeEnum?: JurisdictionTypeWithLiterals;\n /**\n * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value)\n * @decimalValue options { gte:0, maxScale:6 }\n */\n rate?: string;\n /** The sum of all the tax from line items that calculated by the tax identifiers. */\n aggregatedTaxAmount?: MultiCurrencyPrice;\n /** The sum of all the taxable amount from line items for tax identifiers. */\n aggregatedTaxableAmount?: MultiCurrencyPrice;\n /**\n * The aggregated exempt amount from all line items for tax identifiers.\n * @internal\n */\n aggregatedExemptAmount?: MultiCurrencyPrice;\n}\n\nexport interface ShippingInformation {\n /** Shipping region. */\n region?: ShippingRegion;\n /** Selected shipping option. */\n selectedCarrierServiceOption?: SelectedCarrierServiceOption;\n /** All shipping options. */\n carrierServiceOptions?: CarrierServiceOption[];\n}\n\nexport interface ShippingRegion {\n /**\n * Shipping region ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Shipping region name.\n * @maxLength 100\n */\n name?: string;\n}\n\nexport interface SelectedCarrierServiceOption {\n /**\n * Unique identifier of selected option. For example, \"usps_std_overnight\".\n * @maxLength 100\n */\n code?: string;\n /**\n * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n * For example, \"Standard\" or \"First-Class Package International\".\n * @maxLength 250\n * @readonly\n */\n title?: string;\n /**\n * Delivery logistics.\n * @readonly\n */\n logistics?: DeliveryLogistics;\n /**\n * Shipping costs.\n * @readonly\n */\n cost?: SelectedCarrierServiceOptionPrices;\n /**\n * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)\n * @readonly\n */\n requestedShippingOption?: boolean;\n /**\n * Other charges\n * @deprecated Other charges\n * @replacedBy additional_fees\n * @targetRemovalDate 2025-10-01\n */\n otherCharges?: SelectedCarrierServiceOptionOtherCharge[];\n /**\n * This carrier's unique ID\n * @format GUID\n */\n carrierId?: string | null;\n /**\n * Delivery solution allocations to different delivery carriers and delivery regions\n * @maxSize 300\n */\n deliveryAllocations?: DeliveryAllocation[];\n /** If the delivery solution is a partial and doesn't apply to all items. */\n partial?: boolean | null;\n}\n\nexport interface DeliveryLogistics {\n /**\n * Expected delivery time, in free text. For example, \"3-5 business days\".\n * @maxLength 500\n */\n deliveryTime?: string | null;\n /**\n * Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don't park in disabled parking spot\".\n * @maxLength 1000\n */\n instructions?: string | null;\n /** Pickup details. */\n pickupDetails?: PickupDetails;\n}\n\nexport interface PickupDetails {\n /** Pickup address. */\n address?: Address;\n /**\n * Whether the pickup address is that of a business - this may effect tax calculation.\n * @deprecated\n */\n businessLocation?: boolean;\n /** Pickup method */\n pickupMethod?: PickupMethodWithLiterals;\n}\n\nexport enum PickupMethod {\n UNKNOWN_METHOD = 'UNKNOWN_METHOD',\n STORE_PICKUP = 'STORE_PICKUP',\n PICKUP_POINT = 'PICKUP_POINT',\n}\n\n/** @enumType */\nexport type PickupMethodWithLiterals =\n | PickupMethod\n | 'UNKNOWN_METHOD'\n | 'STORE_PICKUP'\n | 'PICKUP_POINT';\n\nexport interface DeliveryTimeSlot {\n /** starting time of the delivery time slot */\n from?: Date | null;\n /** ending time of the delivery time slot */\n to?: Date | null;\n}\n\nexport interface SelectedCarrierServiceOptionPrices {\n /** Total shipping price, after discount and after tax. */\n totalPriceAfterTax?: MultiCurrencyPrice;\n /** Total price of shipping after discounts (when relevant), and before tax. */\n totalPriceBeforeTax?: MultiCurrencyPrice;\n /** Tax details. */\n taxDetails?: ItemTaxFullDetails;\n /** Shipping discount before tax. */\n totalDiscount?: MultiCurrencyPrice;\n /** Shipping price before discount and before tax. */\n price?: MultiCurrencyPrice;\n}\n\nexport interface SelectedCarrierServiceOptionOtherCharge {\n /** Type of additional cost. */\n type?: ChargeTypeWithLiterals;\n /**\n * Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'.\n * @maxLength 200\n */\n details?: string | null;\n /** Price of added charge. */\n cost?: SelectedCarrierServiceOptionPrices;\n}\n\nexport enum ChargeType {\n HANDLING_FEE = 'HANDLING_FEE',\n INSURANCE = 'INSURANCE',\n}\n\n/** @enumType */\nexport type ChargeTypeWithLiterals = ChargeType | 'HANDLING_FEE' | 'INSURANCE';\n\nexport interface DeliveryAllocation {\n /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n deliveryCarrier?: Carrier;\n /** The delivery region that are relevant for this delivery solution. */\n deliveryRegion?: Region;\n /** Populated if the delivery solution is a partially supplied by this carrier. */\n applicableLineItems?: ApplicableLineItems;\n}\n\nexport interface Carrier {\n /**\n * The carrier app id\n * @format GUID\n */\n appId?: string | null;\n /**\n * Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`.\n * @maxLength 250\n */\n code?: string;\n}\n\nexport interface Region {\n /**\n * The delivery region id.\n * @format GUID\n */\n _id?: string | null;\n /**\n * The delivery region name.\n * @maxLength 100\n */\n name?: string | null;\n}\n\nexport interface ApplicableLineItems {\n /**\n * Line items that the delivery solution is for.\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n}\n\nexport interface CarrierServiceOption {\n /**\n * Carrier ID.\n * @format GUID\n */\n carrierId?: string;\n /** Shipping options offered by this carrier for this request. */\n shippingOptions?: ShippingOption[];\n}\n\nexport interface ShippingOption {\n /**\n * Unique code of provided shipping option like \"usps_std_overnight\".\n * For legacy calculators this would be the UUID of the option.\n * @maxLength 100\n */\n code?: string;\n /**\n * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n * For example, \"Standard\" or \"First-Class Package International\".\n * @maxLength 250\n */\n title?: string;\n /** Delivery logistics. */\n logistics?: DeliveryLogistics;\n /** Sipping price information. */\n cost?: ShippingPrice;\n /**\n * Delivery solution allocations to different delivery carriers and delivery regions\n * @maxSize 300\n */\n deliveryAllocations?: DeliveryAllocation[];\n /** If the delivery solution is a partial and doesn't apply to all items. */\n partial?: boolean | null;\n}\n\nexport interface ShippingPrice {\n /** Shipping price. */\n price?: MultiCurrencyPrice;\n /** Other costs such as insurance, handling & packaging for fragile items, etc. */\n otherCharges?: OtherCharge[];\n}\n\nexport interface OtherCharge {\n /** Type of additional cost. */\n type?: ChargeTypeWithLiterals;\n /** Price of added cost. */\n price?: MultiCurrencyPrice;\n /**\n * Description of the additional charge. For example, `\"Handling fee of $5 applied for gift wrapping\"`.\n * @maxLength 250\n */\n details?: string | null;\n}\n\nexport interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: V1Coupon;\n /** Merchant discount. */\n merchantDiscount?: V1MerchantDiscount;\n /** Discount rule */\n discountRule?: V1DiscountRule;\n /** Discount type. */\n discountType?: AppliedDiscountDiscountTypeWithLiterals;\n /**\n * IDs of line items the discount applies to.\n * @format GUID\n * @deprecated IDs of line items the discount applies to.\n * @replacedBy line_items_discounts\n * @targetRemovalDate 2025-12-31\n */\n lineItemIds?: string[];\n /**\n * Number of subscription cycle this discount applies to\n * default None - all billing cycle\n * @internal\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /**\n * A list of item combinations for this applied discount.\n * Each entry represents a unique combination of line items that triggered\n * or received this discount, along with how many times that combination was applied together.\n * Relevant ONLY for BXGY and Quantity-based promotions.\n * In BXGY the combination will contain the \"X\" items with discount amount of 0.\n * @internal\n * @maxSize 1000\n */\n itemCombinations?: ItemCombination[];\n}\n\n/** @oneof */\nexport interface AppliedDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: V1Coupon;\n /** Merchant discount. */\n merchantDiscount?: V1MerchantDiscount;\n /** Discount rule */\n discountRule?: V1DiscountRule;\n}\n\nexport enum AppliedDiscountDiscountType {\n GLOBAL = 'GLOBAL',\n SPECIFIC_ITEMS = 'SPECIFIC_ITEMS',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type AppliedDiscountDiscountTypeWithLiterals =\n | AppliedDiscountDiscountType\n | 'GLOBAL'\n | 'SPECIFIC_ITEMS'\n | 'SHIPPING';\n\n/** Coupon */\nexport interface V1Coupon {\n /** Coupon ID. */\n _id?: string;\n /** Coupon code. */\n code?: string;\n /** Coupon value. */\n amount?: MultiCurrencyPrice;\n /** Coupon name. */\n name?: string;\n}\n\nexport interface V1MerchantDiscount {\n /** Discount value. */\n amount?: MultiCurrencyPrice;\n /**\n * Discount Percentage. Will be calculated from items price before other discounts.\n * @min 1\n * @max 100\n */\n percentage?: number | null;\n}\n\nexport interface V1DiscountRule {\n /**\n * Discount rule ID\n * @format GUID\n */\n _id?: string;\n /** Discount rule name */\n name?: V1DiscountRuleName;\n /** Discount value. */\n amount?: MultiCurrencyPrice;\n}\n\nexport interface V1DiscountRuleName {\n /**\n * Original discount rule name (in site's default language).\n * @minLength 1\n * @maxLength 256\n */\n original?: string;\n /**\n * Translated discount rule name according to buyer language. Defaults to `original` when not provided.\n * @minLength 1\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface LineItemDiscount {\n /**\n * ID of line item the discount applies to.\n * @format GUID\n */\n _id?: string;\n /** Discount value. */\n totalDiscountAmount?: MultiCurrencyPrice;\n}\n\nexport interface ItemCombination {\n /**\n * The number of times this exact combination of items (with the specified quantities) was applied together in the order.\n * @min 1\n * @max 100000\n */\n count?: number;\n /**\n * Line items that participated together in this combination.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: ItemCombinationLineItem[];\n}\n\nexport interface ItemCombinationLineItem {\n /**\n * The unique ID of the line item to which this discount applies.\n * @format GUID\n */\n lineItemId?: string;\n /** Total discount amount for all units (quantity) of this line item in this combination. */\n discountAmount?: MultiCurrencyPrice;\n /**\n * Number of units from this line item that participated in a single combination.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n}\n\nexport interface CalculationErrors\n extends CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Carrier errors. */\n carrierErrors?: CarrierErrors;\n /** Tax calculation error. */\n taxCalculationError?: Details;\n /** Coupon calculation error. */\n couponCalculationError?: Details;\n /** Gift card calculation error. */\n giftCardCalculationError?: Details;\n /** Order validation errors. */\n orderValidationErrors?: ApplicationError[];\n /**\n * Membership payment methods calculation errors\n * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid\n */\n membershipError?: Details;\n /** Discount Rule calculation error. */\n discountsCalculationError?: Details;\n}\n\n/** @oneof */\nexport interface CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Carrier errors. */\n carrierErrors?: CarrierErrors;\n}\n\nexport interface Details extends DetailsKindOneOf {\n applicationError?: ApplicationError;\n validationError?: ValidationError;\n systemError?: SystemError;\n /**\n * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n * @deprecated\n */\n tracing?: Record<string, string>;\n}\n\n/** @oneof */\nexport interface DetailsKindOneOf {\n applicationError?: ApplicationError;\n validationError?: ValidationError;\n systemError?: SystemError;\n}\n\n/**\n * example result:\n * {\n * \"fieldViolations\": [\n * {\n * \"field\": \"fieldA\",\n * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n * \"violatedRule\": \"OTHER\",\n * \"ruleName\": \"INVALID_NOTE\",\n * \"data\": {\n * \"value\": \"FI\"\n * }\n * },\n * {\n * \"field\": \"fieldB\",\n * \"description\": \"field value out of range. supported range: [0-20]\",\n * \"violatedRule\": \"MAX\",\n * \"data\": {\n * \"threshold\": 20\n * }\n * },\n * {\n * \"field\": \"fieldC\",\n * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n * \"violatedRule\": \"FORMAT\",\n * \"data\": {\n * \"type\": \"PHONE\"\n * }\n * }\n * ]\n * }\n */\nexport interface ValidationError {\n fieldViolations?: FieldViolation[];\n}\n\nexport enum RuleType {\n VALIDATION = 'VALIDATION',\n OTHER = 'OTHER',\n MAX = 'MAX',\n MIN = 'MIN',\n MAX_LENGTH = 'MAX_LENGTH',\n MIN_LENGTH = 'MIN_LENGTH',\n MAX_SIZE = 'MAX_SIZE',\n MIN_SIZE = 'MIN_SIZE',\n FORMAT = 'FORMAT',\n DECIMAL_LTE = 'DECIMAL_LTE',\n DECIMAL_GTE = 'DECIMAL_GTE',\n DECIMAL_LT = 'DECIMAL_LT',\n DECIMAL_GT = 'DECIMAL_GT',\n DECIMAL_MAX_SCALE = 'DECIMAL_MAX_SCALE',\n INVALID_ENUM_VALUE = 'INVALID_ENUM_VALUE',\n REQUIRED_FIELD = 'REQUIRED_FIELD',\n FIELD_NOT_ALLOWED = 'FIELD_NOT_ALLOWED',\n ONE_OF_ALIGNMENT = 'ONE_OF_ALIGNMENT',\n EXACT_LENGTH = 'EXACT_LENGTH',\n EXACT_SIZE = 'EXACT_SIZE',\n REQUIRED_ONE_OF_FIELD = 'REQUIRED_ONE_OF_FIELD',\n}\n\n/** @enumType */\nexport type RuleTypeWithLiterals =\n | RuleType\n | 'VALIDATION'\n | 'OTHER'\n | 'MAX'\n | 'MIN'\n | 'MAX_LENGTH'\n | 'MIN_LENGTH'\n | 'MAX_SIZE'\n | 'MIN_SIZE'\n | 'FORMAT'\n | 'DECIMAL_LTE'\n | 'DECIMAL_GTE'\n | 'DECIMAL_LT'\n | 'DECIMAL_GT'\n | 'DECIMAL_MAX_SCALE'\n | 'INVALID_ENUM_VALUE'\n | 'REQUIRED_FIELD'\n | 'FIELD_NOT_ALLOWED'\n | 'ONE_OF_ALIGNMENT'\n | 'EXACT_LENGTH'\n | 'EXACT_SIZE'\n | 'REQUIRED_ONE_OF_FIELD';\n\nexport interface FieldViolation {\n field?: string;\n description?: string;\n violatedRule?: RuleTypeWithLiterals;\n /** applicable when violated_rule=OTHER */\n ruleName?: string | null;\n data?: Record<string, any> | null;\n}\n\nexport interface SystemError {\n /** Error code. */\n errorCode?: string | null;\n}\n\nexport interface CarrierErrors {\n /** Carrier errors. */\n errors?: CarrierError[];\n}\n\nexport interface CarrierError {\n /** Carrier ID. */\n carrierId?: string;\n /** Error details. */\n error?: Details;\n}\n\nexport interface MembershipOptions {\n /**\n * List of payment options that can be used.\n * @maxSize 300\n */\n eligibleMemberships?: Membership[];\n /**\n * List of payment options that are owned by the member, but cannot be used due to reason provided.\n * @maxSize 300\n */\n invalidMemberships?: InvalidMembership[];\n /**\n * The selected membership payment options and which line items they apply to.\n * @maxSize 300\n */\n selectedMemberships?: HostSelectedMembership[];\n}\n\nexport interface Membership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * ID of the application providing this payment option.\n * @format GUID\n */\n appId?: string;\n /** The name of this membership. */\n name?: MembershipName;\n /**\n * Line item IDs which are \"paid\" for by this membership.\n * @minSize 1\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n /** Optional - For a membership that has limited credits, information about credit usage. */\n credits?: MembershipPaymentCredits;\n /** Optional - TMembership expiry date. */\n expirationDate?: Date | null;\n /** Additional data about this membership. */\n additionalData?: Record<string, any> | null;\n}\n\nexport interface MembershipName {\n /**\n * Membership name.\n * @maxLength 100\n */\n original?: string;\n /**\n * Translated membership name. Defaults to `original` when not provided.\n * @maxLength 100\n */\n translated?: string | null;\n}\n\nexport interface MembershipPaymentCredits {\n /**\n * Membership's initial value.\n * @min 1\n */\n total?: number;\n /** Membership's remaining value. */\n remaining?: number;\n /**\n * The amount to be deducted from the `remaining` balance.\n * @internal\n * @min 1\n */\n redemptionCost?: number;\n /**\n * Membership's balance type.\n * @internal\n */\n balanceType?: BalanceTypeWithLiterals;\n}\n\nexport enum BalanceType {\n /** Balance is measured in discrete uses (e.g., sessions, visits). */\n PUNCH_CARD = 'PUNCH_CARD',\n /** Balance is measured in a currency-like value (e.g., points). */\n CREDIT = 'CREDIT',\n}\n\n/** @enumType */\nexport type BalanceTypeWithLiterals = BalanceType | 'PUNCH_CARD' | 'CREDIT';\n\nexport interface InvalidMembership {\n /** Membership details. */\n membership?: Membership;\n /**\n * Reason why this membership is invalid and cannot be used.\n * @minLength 1\n * @maxLength 100\n */\n reason?: string;\n}\n\nexport interface AdditionalFee {\n /**\n * Additional fee's unique code (or ID) for future processing.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /**\n * Translated additional fee's name.\n * @minLength 1\n * @maxLength 50\n */\n name?: string;\n /** Additional fee's price. */\n price?: MultiCurrencyPrice;\n /** Tax details. */\n taxDetails?: ItemTaxFullDetails;\n /**\n * Provider's app id.\n * @minLength 1\n * @maxLength 100\n */\n providerAppId?: string | null;\n /** Additional fee's price before tax. */\n priceBeforeTax?: MultiCurrencyPrice;\n /** Additional fee's price after tax. */\n priceAfterTax?: MultiCurrencyPrice;\n /**\n * Optional - Line items associated with this additional fee.\n * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n * @format GUID\n */\n lineItemIds?: string[];\n /**\n * Number of subscription cycle this fee applies to\n * default None - all billing cycle\n * @internal\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /** the source the additional fee was added from */\n source?: AdditionalFeeSourceWithLiterals;\n /**\n * The translated name of the additional fee. The translation language is determined by the `languages` field in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 50\n */\n translatedName?: string | null;\n}\n\nexport enum AdditionalFeeSource {\n UNKNOWN_ADDITIONAL_FEE_SOURCE = 'UNKNOWN_ADDITIONAL_FEE_SOURCE',\n /** The additional fee was added by an additional fee service plugin */\n SERVICE_PLUGIN = 'SERVICE_PLUGIN',\n /** The additional fee was added on the item either via the catalog or on custom line item */\n ITEM = 'ITEM',\n /** The additional fee was added manually on the request */\n MANUAL = 'MANUAL',\n /** The additional fee was added by the shipping provider */\n SHIPPING = 'SHIPPING',\n /** The additional fee was added by a Wix vertical and represents a Wix platform fee */\n PLATFORM = 'PLATFORM',\n}\n\n/** @enumType */\nexport type AdditionalFeeSourceWithLiterals =\n | AdditionalFeeSource\n | 'UNKNOWN_ADDITIONAL_FEE_SOURCE'\n | 'SERVICE_PLUGIN'\n | 'ITEM'\n | 'MANUAL'\n | 'SHIPPING'\n | 'PLATFORM';\n\nexport interface Violation {\n /** Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow. */\n severity?: SeverityWithLiterals;\n /** Target location on a checkout or cart page where the violation will be displayed. */\n target?: Target;\n /**\n * Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `<a href=\"https://www.wix.com\">Click me</a>`.\n * @minLength 1\n * @maxLength 1000\n */\n description?: string | null;\n}\n\nexport enum Severity {\n /** The user is allowed to move forward in the flow. */\n WARNING = 'WARNING',\n /**\n * The user is blocked from moving forward in the flow.\n * For example, if callerContext is CART - moving to checkout is blocked. if callerContext is CHECKOUT, placing an order is blocked.\n */\n ERROR = 'ERROR',\n}\n\n/** @enumType */\nexport type SeverityWithLiterals = Severity | 'WARNING' | 'ERROR';\n\nexport interface Target extends TargetTargetTypeOneOf {\n /** General (other) violation. */\n other?: Other;\n /** Specific line item violation. */\n lineItem?: TargetLineItem;\n}\n\n/** @oneof */\nexport interface TargetTargetTypeOneOf {\n /** General (other) violation. */\n other?: Other;\n /** Specific line item violation. */\n lineItem?: TargetLineItem;\n}\n\n/** Available locations on the webpage */\nexport enum NameInOther {\n /** Default location, in case no specific location is specified. */\n OTHER_DEFAULT = 'OTHER_DEFAULT',\n}\n\n/** @enumType */\nexport type NameInOtherWithLiterals = NameInOther | 'OTHER_DEFAULT';\n\n/** Available locations on the line item */\nexport enum NameInLineItem {\n /** Default location, in case no specific location is specified. */\n LINE_ITEM_DEFAULT = 'LINE_ITEM_DEFAULT',\n}\n\n/** @enumType */\nexport type NameInLineItemWithLiterals = NameInLineItem | 'LINE_ITEM_DEFAULT';\n\nexport enum SuggestedFix {\n /** No suggested fix is specified. The user should refer to the violation description to resolve the issue. */\n UNKNOWN_SUGGESTED_FIX = 'UNKNOWN_SUGGESTED_FIX',\n /** The line item should be removed from the cart or checkout to resolve the violation. */\n REMOVE_LINE_ITEM = 'REMOVE_LINE_ITEM',\n}\n\n/** @enumType */\nexport type SuggestedFixWithLiterals =\n | SuggestedFix\n | 'UNKNOWN_SUGGESTED_FIX'\n | 'REMOVE_LINE_ITEM';\n\n/** General (other) violation. */\nexport interface Other {\n /** Location on a checkout or a cart page where a general (other) violation will be displayed. */\n name?: NameInOtherWithLiterals;\n}\n\n/** Specific line item violation. */\nexport interface TargetLineItem {\n /** Location on a checkout or a cart page where the specific line item violation will be displayed. */\n name?: NameInLineItemWithLiterals;\n /** ID of the line item containing the violation. */\n _id?: string | null;\n /**\n * Suggested fix for resolving the line item violation.\n * @internal\n */\n suggestedFix?: SuggestedFixWithLiterals;\n}\n\nexport interface RemoveLineItemsFromCurrentCartRequest {\n /**\n * Line item IDs to remove from cart.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n lineItemIds?: string[];\n}\n\nexport interface RemoveLineItemsResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface CreateCheckoutFromCurrentCartRequest {\n /** __Required.__ Sales channel type. */\n channelType?: ChannelTypeWithLiterals;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /**\n * Required when setting billing or shipping address and user is not logged in.\n * @format EMAIL\n */\n email?: string | null;\n}\n\nexport enum ChannelType {\n /** Unspecified sales channel. This value is not supported. */\n UNSPECIFIED = 'UNSPECIFIED',\n /** A web client. */\n WEB = 'WEB',\n /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n POS = 'POS',\n /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n EBAY = 'EBAY',\n /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n AMAZON = 'AMAZON',\n /** Other sales platform. */\n OTHER_PLATFORM = 'OTHER_PLATFORM',\n /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n WIX_APP_STORE = 'WIX_APP_STORE',\n /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n WIX_INVOICES = 'WIX_INVOICES',\n /** Wix merchant backoffice. */\n BACKOFFICE_MERCHANT = 'BACKOFFICE_MERCHANT',\n /** Wish sales channel. */\n WISH = 'WISH',\n /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n CLASS_PASS = 'CLASS_PASS',\n /** Global-E sales channel. */\n GLOBAL_E = 'GLOBAL_E',\n /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n FACEBOOK = 'FACEBOOK',\n /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n ETSY = 'ETSY',\n /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n TIKTOK = 'TIKTOK',\n /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n FAIRE_COM = 'FAIRE_COM',\n /** PayPal Agentic Checkout sales channel. */\n PAYPAL_AGENTIC_CHECKOUT = 'PAYPAL_AGENTIC_CHECKOUT',\n}\n\n/** @enumType */\nexport type ChannelTypeWithLiterals =\n | ChannelType\n | 'UNSPECIFIED'\n | 'WEB'\n | 'POS'\n | 'EBAY'\n | 'AMAZON'\n | 'OTHER_PLATFORM'\n | 'WIX_APP_STORE'\n | 'WIX_INVOICES'\n | 'BACKOFFICE_MERCHANT'\n | 'WISH'\n | 'CLASS_PASS'\n | 'GLOBAL_E'\n | 'FACEBOOK'\n | 'ETSY'\n | 'TIKTOK'\n | 'FAIRE_COM'\n | 'PAYPAL_AGENTIC_CHECKOUT';\n\nexport interface CreateCheckoutResponse {\n /** The newly created checkout's ID. */\n checkoutId?: string;\n}\n\nexport interface RemoveCouponFromCurrentCartRequest {}\n\nexport interface RemoveCouponResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface UpdateCurrentCartLineItemQuantityRequest {\n /**\n * Line item IDs and their new quantity.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: LineItemQuantityUpdate[];\n}\n\nexport interface LineItemQuantityUpdate {\n /**\n * *Required.** Line item ID.\n * @format GUID\n */\n _id?: string;\n /**\n * *Required.** New quantity. Number must be 1 or higher.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n}\n\nexport interface UpdateLineItemsQuantityResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface EstimateCurrentCartTotalsRequest {\n /**\n * Selected shipping option\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /** The selected membership payment options and which line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n /**\n * Whether to calculate tax in the calculation request.\n *\n * Default: `true`\n */\n calculateTax?: boolean | null;\n /**\n * Whether to calculate shipping in the calculation request.\n *\n * Default: `true`\n */\n calculateShipping?: boolean | null;\n /**\n * Whether to calculate additional fees in the calculation request.\n *\n * Default: `true`\n */\n calculateAdditionalFees?: boolean | null;\n}\n\nexport interface DeleteCurrentCartRequest {}\n\nexport interface DeleteCartResponse {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface CreateCartRequest {\n /** Cart info. */\n cartInfo?: Cart;\n /** Code of an existing coupon to apply to cart. For more information, see the Coupons API. */\n couponCode?: string | null;\n /**\n * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @maxSize 100\n * @deprecated Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @targetRemovalDate 2025-09-01\n */\n merchantDiscounts?: MerchantDiscountInput[];\n /**\n * Catalog line items.\n * @maxSize 300\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 300\n */\n customLineItems?: CustomLineItem[];\n}\n\nexport interface CreateCartResponse {\n /** Cart. */\n cart?: Cart;\n}\n\nexport interface GetCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface GetCartResponse {\n /** Retrieved cart. */\n cart?: Cart;\n}\n\nexport interface GetCartByCheckoutIdRequest {\n /**\n * Checkout ID.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface GetCartByCheckoutIdResponse {\n /** Retrieved cart. */\n cart?: Cart;\n}\n\nexport interface AddToCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /**\n * Catalog line items.\n * @maxSize 100\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 100\n */\n customLineItems?: CustomLineItem[];\n /**\n * The business location ID associated with the cart.\n *\n * The `businessLocationId` field cannot be passed if one already exists on the cart. To update a cart's business location ID, use the Update Cart method.\n * To learn more, see the Locations API.\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\nexport interface RemoveLineItemsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /**\n * Line item IDs to remove from cart.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n lineItemIds: string[];\n}\n\nexport interface CreateCheckoutRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /** __Required.__ Sales channel type. */\n channelType?: ChannelTypeWithLiterals;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /**\n * Required when setting a billing or shipping address if the site visitor isn't logged in.\n * @format EMAIL\n */\n email?: string | null;\n}\n\nexport interface RemoveCouponRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface UpdateLineItemsQuantityRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /**\n * Line item IDs and their new quantity.\n * @minSize 1\n * @maxSize 100\n */\n lineItems: LineItemQuantityUpdate[];\n}\n\nexport interface EstimateTotalsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /** The selected membership payment options and which line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n /**\n * Whether to calculate tax in the calculation request.\n *\n * Default: `true`\n */\n calculateTax?: boolean | null;\n /**\n * Whether to calculate shipping in the calculation request.\n *\n * Default: `true`\n */\n calculateShipping?: boolean | null;\n /**\n * Whether to calculate additional fees in the calculation request.\n *\n * Default: `true`\n */\n calculateAdditionalFees?: boolean | null;\n}\n\nexport interface DeleteCartRequest {\n /**\n * ID of the cart to delete.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface Empty {}\n\nexport interface RemoveBusinessLocationRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface RemoveBusinessLocationResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\n/** @docsIgnore */\nexport type CreateCartApplicationErrors =\n | {\n code?: 'CANT_ADD_SELECTED_MEMBERSHIP_FOR_NON_MEMBERSHIP_ITEM';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CANT_CREATE_CART_WITHOUT_ITEMS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type UpdateCartApplicationErrors = {\n code?: 'CAN_ONLY_UPDATE_CONTACT_ID_FOR_NOT_LOGGED_IN_CUSTOMER';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type AddToCartApplicationErrors = {\n code?: 'CART_IS_ALREADY_ASSOCIATED_WITH_DIFFERENT_LOCATION';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type CreateCheckoutApplicationErrors =\n | {\n code?: 'LINE_ITEM_WITH_ZERO_QUANTITY';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'SITE_MUST_ACCEPT_PAYMENTS_TO_CREATE_CHECKOUT';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CUSTOM_LINE_ITEM_ONLY_ACCEPTS_PAYMENTS_ONLINE_AND_OFFLINE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CUSTOM_LINE_ITEM_MUST_HAVE_EXACTLY_ONE_PROPERTIES_TYPE';\n description?: string;\n data?: Record<string, any>;\n };\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\nexport interface CartDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a cart is deleted.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId ECOM.READ_CARTS\n * @webhook\n * @eventType wix.ecom.v1.cart_deleted\n * @serviceIdentifier com.wix.ecom.cart.api.v1.CurrentCartService\n * @slug deleted\n */\nexport declare function onCartDeleted(\n handler: (event: CartDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CartUpdatedEnvelope {\n entity: Cart;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId ECOM.READ_CARTS\n * @webhook\n * @eventType wix.ecom.v1.cart_updated\n * @slug updated\n */\nexport declare function onCartUpdated(\n handler: (event: CartUpdatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CartCreatedEnvelope {\n entity: Cart;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a cart is created.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId ECOM.READ_CARTS\n * @webhook\n * @eventType wix.ecom.v1.cart_created\n * @serviceIdentifier com.wix.ecom.cart.api.v1.CartService\n * @slug created\n */\nexport declare function onCartCreated(\n handler: (event: CartCreatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates a cart.\n *\n * > **Notes:**\n * > + When adding catalog line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + This method requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n * @public\n * @requiredField options.customLineItems.itemType\n * @requiredField options.customLineItems.price\n * @requiredField options.customLineItems.productName\n * @requiredField options.lineItems.catalogReference\n * @requiredField options.lineItems.quantity\n * @requiredField options.lineItems.selectedMembership._id\n * @requiredField options.lineItems.selectedMembership.appId\n * @param options - Cart creation options.\n * @permissionId ECOM.MODIFY_CARTS\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @returns Cart.\n * @fqn com.wix.ecom.cart.api.v1.CartService.CreateCart\n */\nexport async function createCart(\n options?: NonNullablePaths<\n CreateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n > & {\n __applicationErrorsType?: CreateCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n cartInfo: options?.cartInfo,\n couponCode: options?.couponCode,\n merchantDiscounts: options?.merchantDiscounts,\n lineItems: options?.lineItems,\n customLineItems: options?.customLineItems,\n }),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'cartInfo.lineItems.url' },\n { path: 'lineItems.url' },\n { path: 'customLineItems.url' },\n ],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'cartInfo.lineItems.image' },\n { path: 'cartInfo.lineItems.catalogOverrideFields.image' },\n { path: 'lineItems.image' },\n { path: 'lineItems.catalogOverrideFields.image' },\n { path: 'customLineItems.media' },\n ],\n },\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [{ path: 'cartInfo.contactInfo.address' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.createCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )?.cart!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n cartInfo: '$[0].cartInfo',\n couponCode: '$[0].couponCode',\n merchantDiscounts: '$[0].merchantDiscounts',\n lineItems: '$[0].lineItems',\n customLineItems: '$[0].customLineItems',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateCartOptions {\n /** Cart info. */\n cartInfo?: Cart;\n /** Code of an existing coupon to apply to cart. For more information, see the Coupons API. */\n couponCode?: string | null;\n /**\n * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @maxSize 100\n * @deprecated Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @targetRemovalDate 2025-09-01\n */\n merchantDiscounts?: MerchantDiscountInput[];\n /**\n * Catalog line items.\n * @maxSize 300\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 300\n */\n customLineItems?: CustomLineItem[];\n}\n\n/**\n * Updates a cart's properties.\n *\n * > **Notes:**\n * > + When updating line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @public\n * @requiredField _id\n * @requiredField options.customLineItems.itemType\n * @requiredField options.lineItems.catalogReference\n * @param options - Available options to use when updating a cart.\n * @param _id - ID of the cart to be updated.\n * @permissionId ECOM.MODIFY_CARTS\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @returns Updated Cart.\n * @fqn com.wix.ecom.cart.api.v1.CartService.UpdateCart\n */\nexport async function updateCart(\n _id: string,\n options?: NonNullablePaths<\n UpdateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.productName`\n | `lineItems.${number}.catalogReference`,\n 8\n >\n): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n > & {\n __applicationErrorsType?: UpdateCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n cartInfo: { ...options?.cartInfo, id: _id },\n couponCode: options?.couponCode,\n merchantDiscounts: options?.merchantDiscounts,\n lineItems: options?.lineItems,\n customLineItems: options?.customLineItems,\n }),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'cartInfo.lineItems.url' },\n { path: 'lineItems.url' },\n { path: 'customLineItems.url' },\n ],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'cartInfo.lineItems.image' },\n { path: 'cartInfo.lineItems.catalogOverrideFields.image' },\n { path: 'lineItems.image' },\n { path: 'lineItems.catalogOverrideFields.image' },\n { path: 'customLineItems.media' },\n ],\n },\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [{ path: 'cartInfo.contactInfo.address' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.updateCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )?.cart!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { cartInfo: '$[1].cartInfo' },\n explicitPathsToArguments: {\n 'cartInfo.id': '$[0]',\n couponCode: '$[1].couponCode',\n merchantDiscounts: '$[1].merchantDiscounts',\n lineItems: '$[1].lineItems',\n customLineItems: '$[1].customLineItems',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateCartOptions {\n /** The information for the cart being updated. */\n cartInfo: {\n /**\n * Cart ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Line items.\n * @minSize 1\n * @maxSize 300\n * @readonly\n */\n lineItems?: LineItem[];\n /**\n * [Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.\n * @maxLength 1000\n */\n buyerNote?: string | null;\n /** Buyer information. */\n buyerInfo?: BuyerInfo;\n /**\n * The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.\n * @format CURRENCY\n * @readonly\n */\n currency?: string;\n /**\n * The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n *\n * This reflects the customer’s preferred display currency and may differ from the site’s default currency.\n * When no specific currency is selected by the customer, this matches the `currency` property.\n * @readonly\n * @format CURRENCY\n */\n conversionCurrency?: string;\n /**\n * Language for communication with the buyer. Defaults to the site language.\n *\n * For a site that supports multiple languages, this is the language the buyer selected.\n * @readonly\n */\n buyerLanguage?: string | null;\n /**\n * Site language in which original values are displayed.\n * @readonly\n */\n siteLanguage?: string | null;\n /**\n * Whether tax is included in line item prices.\n * @readonly\n */\n taxIncludedInPrices?: boolean | null;\n /**\n * Weight measurement unit - defaults to site's weight unit.\n * @readonly\n */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * ID of the checkout that originated from this cart.\n * @readonly\n * @format GUID\n */\n checkoutId?: string | null;\n /**\n * Cart discounts.\n * @readonly\n */\n appliedDiscounts?: CartDiscount[];\n /**\n * Date and time the cart was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the cart was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Contact info. */\n contactInfo?: AddressWithContact;\n /**\n * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n *\n * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\n * to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\n * standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n * @maxLength 1000\n */\n overrideCheckoutUrl?: string | null;\n /**\n * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n * @format GUID\n * @readonly\n */\n purchaseFlowId?: string | null;\n /** Selected shipping option. */\n selectedShippingOption?: SelectedShippingOption;\n /** Fields extended by data extensions */\n extendedFields?: ExtendedFields;\n /**\n * The business location ID associated with the cart.\n *\n * To learn more, see the Locations API.\n * @format GUID\n */\n businessLocationId?: string | null;\n /**\n * The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n *\n * This is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\n * If the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\n * @readonly\n * @format CURRENCY\n */\n paymentCurrency?: string;\n /**\n * Revision number, which increments by 1 each time the Cart is updated.\n * @readonly\n */\n revision?: string | null;\n };\n /** Coupon code. For more information, see the Coupons API. */\n couponCode?: string | null;\n /**\n * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @maxSize 100\n * @deprecated Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @targetRemovalDate 2025-09-01\n */\n merchantDiscounts?: MerchantDiscountInput[];\n /**\n * Catalog line items.\n * @maxSize 300\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 300\n */\n customLineItems?: CustomLineItem[];\n}\n\n/**\n * Retrieves a cart.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @permissionId ECOM.READ_CARTS\n * @applicableIdentity APP\n * @returns Retrieved cart.\n * @fqn com.wix.ecom.cart.api.v1.CartService.GetCart\n */\nexport async function getCart(\n _id: string\n): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.getCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )?.cart!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves the cart associated with a specified checkout.\n * @param _id - Checkout ID.\n * @internal\n * @documentationMaturity preview\n * @requiredField _id\n * @permissionId ECOM.READ_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.GetCartByCheckoutId\n */\nexport async function getCartByCheckoutId(\n _id: string\n): Promise<\n NonNullablePaths<\n GetCartByCheckoutIdResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.getCartByCheckoutId(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Adds [catalog](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration) line items to a cart.\n *\n * >**Notes:**\n * > + When adding catalog line items to a cart, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @requiredField options.customLineItems.itemType\n * @requiredField options.customLineItems.price\n * @requiredField options.customLineItems.productName\n * @requiredField options.lineItems.catalogReference\n * @requiredField options.lineItems.selectedMembership._id\n * @requiredField options.lineItems.selectedMembership.appId\n * @param options - Items to be added to cart.\n * @permissionId ECOM.MODIFY_CARTS\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.AddToCart\n */\nexport async function addToCart(\n _id: string,\n options?: NonNullablePaths<\n AddToCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n): Promise<\n NonNullablePaths<\n AddToCartResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n > & {\n __applicationErrorsType?: AddToCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n lineItems: options?.lineItems,\n customLineItems: options?.customLineItems,\n businessLocationId: options?.businessLocationId,\n }),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [{ path: 'lineItems.url' }, { path: 'customLineItems.url' }],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'lineItems.image' },\n { path: 'lineItems.catalogOverrideFields.image' },\n { path: 'customLineItems.media' },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.addToCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n id: '$[0]',\n lineItems: '$[1].lineItems',\n customLineItems: '$[1].customLineItems',\n businessLocationId: '$[1].businessLocationId',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface AddToCartOptions {\n /**\n * Catalog line items.\n * @maxSize 100\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 100\n */\n customLineItems?: CustomLineItem[];\n /**\n * The business location ID associated with the cart.\n *\n * The `businessLocationId` field cannot be passed if one already exists on the cart. To update a cart's business location ID, use the Update Cart method.\n * To learn more, see the Locations API.\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\n/**\n * Removes line items from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @public\n * @requiredField _id\n * @requiredField lineItemIds\n * @param lineItemIds - IDs of the line items to remove from the cart.\n * @param _id - ID of the cart to remove line items from.\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.RemoveLineItems\n */\nexport async function removeLineItems(\n _id: string,\n lineItemIds: string[]\n): Promise<\n NonNullablePaths<\n RemoveLineItemsResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n lineItemIds: lineItemIds,\n });\n\n const reqOpts = ambassadorWixEcomV1Cart.removeLineItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]', lineItemIds: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'lineItemIds']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates a checkout from a cart.\n *\n * If a checkout for the specified cart already exists, that checkout is\n * updated with any new information from the cart.\n *\n * > **Note:** `channelType` is a required field.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @param options - Checkout creation options.\n * @permissionId ECOM.CREATE_CHECKOUT_FROM_CART\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.CreateCheckout\n */\nexport async function createCheckout(\n _id: string,\n options?: CreateCheckoutOptions\n): Promise<\n NonNullablePaths<CreateCheckoutResponse, `checkoutId`, 2> & {\n __applicationErrorsType?: CreateCheckoutApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n channelType: options?.channelType,\n shippingAddress: options?.shippingAddress,\n billingAddress: options?.billingAddress,\n selectedShippingOption: options?.selectedShippingOption,\n email: options?.email,\n }),\n [\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [{ path: 'shippingAddress' }, { path: 'billingAddress' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.createCheckout(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n id: '$[0]',\n channelType: '$[1].channelType',\n shippingAddress: '$[1].shippingAddress',\n billingAddress: '$[1].billingAddress',\n selectedShippingOption: '$[1].selectedShippingOption',\n email: '$[1].email',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateCheckoutOptions {\n /** __Required.__ Sales channel type. */\n channelType?: ChannelTypeWithLiterals;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /**\n * Required when setting a billing or shipping address if the site visitor isn't logged in.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/**\n * Removes the coupon from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.RemoveCoupon\n */\nexport async function removeCoupon(\n _id: string\n): Promise<\n NonNullablePaths<\n RemoveCouponResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.removeCoupon(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates the quantity of 1 or more line items in a cart.\n *\n * This method is only for updating the quantity of line items.\n * To entirely remove a line item from the cart, use Remove Line Items.\n * To add a new line item to the cart, use Add To Cart.\n *\n * This method checks the amount of stock remaining for this line item.\n * If the specified quantity is greater than the remaining stock,\n * then the quantity returned in the response is the total amount of remaining stock.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param _id - Cart ID.\n * @param lineItems - Line item IDs and their new quantity.\n * @public\n * @requiredField _id\n * @requiredField lineItems\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.UpdateLineItemsQuantity\n */\nexport async function updateLineItemsQuantity(\n _id: string,\n lineItems: LineItemQuantityUpdate[]\n): Promise<\n NonNullablePaths<\n UpdateLineItemsQuantityResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n lineItems: lineItems,\n });\n\n const reqOpts = ambassadorWixEcomV1Cart.updateLineItemsQuantity(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]', lineItems: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'lineItems']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Estimates the subtotal and total for current site visitor’s cart.\n *\n * Totals include tax and are based on the selected carrier service, shipping address, and billing information.\n *\n * > **Note:** Not passing any optional parameters will only estimate the cart items price totals.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @param options - Total estimation options.\n * @permissionId ECOM.READ_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.EstimateTotals\n */\nexport async function estimateTotals(\n _id: string,\n options?: EstimateTotalsOptions\n): Promise<\n NonNullablePaths<\n EstimateTotalsResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`\n | `calculatedLineItems`\n | `calculatedLineItems.${number}.lineItemId`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.amount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.convertedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedConvertedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.taxDetails.taxRate`\n | `calculatedLineItems.${number}.paymentOption`\n | `calculatedLineItems.${number}.taxableAddress.addressType`\n | `priceSummary.subtotal.amount`\n | `priceSummary.subtotal.convertedAmount`\n | `priceSummary.subtotal.formattedAmount`\n | `priceSummary.subtotal.formattedConvertedAmount`\n | `giftCard._id`\n | `giftCard.obfuscatedCode`\n | `giftCard.amount.amount`\n | `giftCard.amount.convertedAmount`\n | `giftCard.amount.formattedAmount`\n | `giftCard.amount.formattedConvertedAmount`\n | `giftCard.appId`\n | `taxSummary.taxableAmount.amount`\n | `taxSummary.taxableAmount.convertedAmount`\n | `taxSummary.taxableAmount.formattedAmount`\n | `taxSummary.taxableAmount.formattedConvertedAmount`\n | `taxSummary.calculationDetails.manualRateReason`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.fallbackReason`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.code`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.description`\n | `taxSummary.calculationDetails.rateType`\n | `shippingInfo.region._id`\n | `shippingInfo.region.name`\n | `shippingInfo.selectedCarrierServiceOption.code`\n | `shippingInfo.selectedCarrierServiceOption.title`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.number`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.name`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.businessLocation`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.pickupMethod`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.amount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.convertedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedConvertedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxRate`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.name`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.rate`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown.${number}.jurisdictionType`\n | `shippingInfo.selectedCarrierServiceOption.requestedShippingOption`\n | `shippingInfo.selectedCarrierServiceOption.otherCharges`\n | `shippingInfo.selectedCarrierServiceOption.otherCharges.${number}.type`\n | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations`\n | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations.${number}.deliveryCarrier.code`\n | `shippingInfo.carrierServiceOptions`\n | `shippingInfo.carrierServiceOptions.${number}.carrierId`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `appliedDiscounts.${number}.coupon.amount.amount`\n | `appliedDiscounts.${number}.coupon.amount.convertedAmount`\n | `appliedDiscounts.${number}.coupon.amount.formattedAmount`\n | `appliedDiscounts.${number}.coupon.amount.formattedConvertedAmount`\n | `appliedDiscounts.${number}.coupon.name`\n | `appliedDiscounts.${number}.discountRule._id`\n | `appliedDiscounts.${number}.discountRule.name.original`\n | `appliedDiscounts.${number}.discountType`\n | `calculationErrors.generalShippingCalculationError.applicationError.code`\n | `calculationErrors.generalShippingCalculationError.applicationError.description`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `calculationErrors.carrierErrors.errors`\n | `calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `calculationErrors.orderValidationErrors`\n | `weightUnit`\n | `currency`\n | `payNow.subtotal.amount`\n | `payNow.subtotal.convertedAmount`\n | `payNow.subtotal.formattedAmount`\n | `payNow.subtotal.formattedConvertedAmount`\n | `payLater.subtotal.amount`\n | `payLater.subtotal.convertedAmount`\n | `payLater.subtotal.formattedAmount`\n | `payLater.subtotal.formattedConvertedAmount`\n | `membershipOptions.eligibleMemberships`\n | `membershipOptions.eligibleMemberships.${number}._id`\n | `membershipOptions.eligibleMemberships.${number}.appId`\n | `membershipOptions.eligibleMemberships.${number}.name.original`\n | `membershipOptions.eligibleMemberships.${number}.credits.total`\n | `membershipOptions.eligibleMemberships.${number}.credits.remaining`\n | `membershipOptions.invalidMemberships`\n | `membershipOptions.invalidMemberships.${number}.reason`\n | `membershipOptions.selectedMemberships`\n | `membershipOptions.selectedMemberships.${number}._id`\n | `membershipOptions.selectedMemberships.${number}.appId`\n | `additionalFees`\n | `additionalFees.${number}.name`\n | `additionalFees.${number}.price.amount`\n | `additionalFees.${number}.price.convertedAmount`\n | `additionalFees.${number}.price.formattedAmount`\n | `additionalFees.${number}.price.formattedConvertedAmount`\n | `additionalFees.${number}.taxDetails.taxRate`\n | `additionalFees.${number}.source`\n | `violations`\n | `violations.${number}.severity`\n | `violations.${number}.target.other.name`\n | `violations.${number}.target.lineItem.name`,\n 8\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n selectedShippingOption: options?.selectedShippingOption,\n shippingAddress: options?.shippingAddress,\n billingAddress: options?.billingAddress,\n selectedMemberships: options?.selectedMemberships,\n calculateTax: options?.calculateTax,\n calculateShipping: options?.calculateShipping,\n calculateAdditionalFees: options?.calculateAdditionalFees,\n }),\n [\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [{ path: 'shippingAddress' }, { path: 'billingAddress' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.estimateTotals(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.contactInfo.address' },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.pickupDetails.address',\n },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n id: '$[0]',\n selectedShippingOption: '$[1].selectedShippingOption',\n shippingAddress: '$[1].shippingAddress',\n billingAddress: '$[1].billingAddress',\n selectedMemberships: '$[1].selectedMemberships',\n calculateTax: '$[1].calculateTax',\n calculateShipping: '$[1].calculateShipping',\n calculateAdditionalFees: '$[1].calculateAdditionalFees',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface EstimateTotalsOptions {\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /** The selected membership payment options and which line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n /**\n * Whether to calculate tax in the calculation request.\n *\n * Default: `true`\n */\n calculateTax?: boolean | null;\n /**\n * Whether to calculate shipping in the calculation request.\n *\n * Default: `true`\n */\n calculateShipping?: boolean | null;\n /**\n * Whether to calculate additional fees in the calculation request.\n *\n * Default: `true`\n */\n calculateAdditionalFees?: boolean | null;\n}\n\n/**\n * Deletes a cart.\n * @public\n * @requiredField _id\n * @param _id - ID of the cart to delete.\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.DeleteCart\n */\nexport async function deleteCart(_id: string): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.deleteCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Removes the location associated with a cart.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.RemoveBusinessLocation\n */\nexport async function removeBusinessLocation(\n _id: string\n): Promise<\n NonNullablePaths<\n RemoveBusinessLocationResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.removeBusinessLocation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixEcomCartApiV1CartServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'www.wixgateway.com': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n _: [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n {\n srcPath: '/_api/cart',\n destPath: '',\n },\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/cart-v1-proxy',\n destPath: '',\n },\n ],\n 'ecom.wixapps.net': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_cart';\n\n/**\n * Creates a cart.\n *\n * > **Notes:**\n * > + When adding catalog line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + This method requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n */\nexport function createCart(payload: object): RequestOptionsFactory<any> {\n function __createCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'cartInfo.createdDate' },\n { path: 'cartInfo.updatedDate' },\n { path: 'cartInfo.lineItems.image.urlExpirationDate' },\n {\n path: 'cartInfo.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cartInfo.lineItems.serviceProperties.scheduledDate' },\n { path: 'cartInfo.lineItems.serviceProperties.endDate' },\n { path: 'lineItems.image.urlExpirationDate' },\n {\n path: 'lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'lineItems.serviceProperties.scheduledDate' },\n { path: 'lineItems.serviceProperties.endDate' },\n {\n path: 'customLineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'customLineItems.serviceProperties.scheduledDate' },\n { path: 'customLineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'cartInfo.lineItems.image.focalPoint.x' },\n { path: 'cartInfo.lineItems.image.focalPoint.y' },\n { path: 'lineItems.image.focalPoint.x' },\n { path: 'lineItems.image.focalPoint.y' },\n { path: 'cartInfo.lineItems.physicalProperties.weight' },\n {\n path: 'cartInfo.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cartInfo.contactInfo.address.geocode.latitude' },\n { path: 'cartInfo.contactInfo.address.geocode.longitude' },\n { path: 'lineItems.physicalProperties.weight' },\n { path: 'lineItems.catalogOverrideFields.physicalProperties.weight' },\n { path: 'customLineItems.physicalProperties.weight' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.CreateCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createCart;\n}\n\n/**\n * Updates a cart's properties.\n *\n * > **Notes:**\n * > + When updating line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function updateCart(payload: object): RequestOptionsFactory<any> {\n function __updateCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'cartFieldmask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'cartInfo.createdDate' },\n { path: 'cartInfo.updatedDate' },\n { path: 'cartInfo.lineItems.image.urlExpirationDate' },\n {\n path: 'cartInfo.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cartInfo.lineItems.serviceProperties.scheduledDate' },\n { path: 'cartInfo.lineItems.serviceProperties.endDate' },\n { path: 'lineItems.image.urlExpirationDate' },\n {\n path: 'lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'lineItems.serviceProperties.scheduledDate' },\n { path: 'lineItems.serviceProperties.endDate' },\n {\n path: 'customLineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'customLineItems.serviceProperties.scheduledDate' },\n { path: 'customLineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'cartInfo.lineItems.image.focalPoint.x' },\n { path: 'cartInfo.lineItems.image.focalPoint.y' },\n { path: 'lineItems.image.focalPoint.x' },\n { path: 'lineItems.image.focalPoint.y' },\n { path: 'cartInfo.lineItems.physicalProperties.weight' },\n {\n path: 'cartInfo.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cartInfo.contactInfo.address.geocode.latitude' },\n { path: 'cartInfo.contactInfo.address.geocode.longitude' },\n { path: 'lineItems.physicalProperties.weight' },\n { path: 'lineItems.catalogOverrideFields.physicalProperties.weight' },\n { path: 'customLineItems.physicalProperties.weight' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'PATCH' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.UpdateCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{cartInfo.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCart;\n}\n\n/** Retrieves a cart. */\nexport function getCart(payload: object): RequestOptionsFactory<any> {\n function __getCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'GET' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.GetCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCart;\n}\n\n/** Retrieves the cart associated with a specified checkout. */\nexport function getCartByCheckoutId(\n payload: object\n): RequestOptionsFactory<any> {\n function __getCartByCheckoutId({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'GET' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.GetCartByCheckoutId',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/by-checkout-id/{id}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCartByCheckoutId;\n}\n\n/**\n * Adds [catalog](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration) line items to a cart.\n *\n * >**Notes:**\n * > + When adding catalog line items to a cart, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function addToCart(payload: object): RequestOptionsFactory<any> {\n function __addToCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'lineItems.image.urlExpirationDate' },\n {\n path: 'lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'lineItems.serviceProperties.scheduledDate' },\n { path: 'lineItems.serviceProperties.endDate' },\n {\n path: 'customLineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'customLineItems.serviceProperties.scheduledDate' },\n { path: 'customLineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'lineItems.image.focalPoint.x' },\n { path: 'lineItems.image.focalPoint.y' },\n { path: 'lineItems.physicalProperties.weight' },\n { path: 'lineItems.catalogOverrideFields.physicalProperties.weight' },\n { path: 'customLineItems.physicalProperties.weight' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.AddToCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/add-to-cart',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __addToCart;\n}\n\n/**\n * Removes line items from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function removeLineItems(payload: object): RequestOptionsFactory<any> {\n function __removeLineItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.RemoveLineItems',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/remove-line-items',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeLineItems;\n}\n\n/**\n * Creates a checkout from a cart.\n *\n * If a checkout for the specified cart already exists, that checkout is\n * updated with any new information from the cart.\n *\n * > **Note:** `channelType` is a required field.\n */\nexport function createCheckout(payload: object): RequestOptionsFactory<any> {\n function __createCheckout({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'shippingAddress.geocode.latitude' },\n { path: 'shippingAddress.geocode.longitude' },\n { path: 'billingAddress.geocode.latitude' },\n { path: 'billingAddress.geocode.longitude' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.CreateCheckout',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/create-checkout',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __createCheckout;\n}\n\n/**\n * Removes the coupon from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function removeCoupon(payload: object): RequestOptionsFactory<any> {\n function __removeCoupon({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.RemoveCoupon',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/remove-coupon',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeCoupon;\n}\n\n/**\n * Updates the quantity of 1 or more line items in a cart.\n *\n * This method is only for updating the quantity of line items.\n * To entirely remove a line item from the cart, use Remove Line Items.\n * To add a new line item to the cart, use Add To Cart.\n *\n * This method checks the amount of stock remaining for this line item.\n * If the specified quantity is greater than the remaining stock,\n * then the quantity returned in the response is the total amount of remaining stock.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function updateLineItemsQuantity(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateLineItemsQuantity({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.UpdateLineItemsQuantity',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/update-line-items-quantity',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateLineItemsQuantity;\n}\n\n/**\n * Estimates the subtotal and total for current site visitor’s cart.\n *\n * Totals include tax and are based on the selected carrier service, shipping address, and billing information.\n *\n * > **Note:** Not passing any optional parameters will only estimate the cart items price totals.\n */\nexport function estimateTotals(payload: object): RequestOptionsFactory<any> {\n function __estimateTotals({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'shippingAddress.geocode.latitude' },\n { path: 'shippingAddress.geocode.longitude' },\n { path: 'billingAddress.geocode.latitude' },\n { path: 'billingAddress.geocode.longitude' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.EstimateTotals',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/estimate-totals',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.deliveryTimeSlot.from',\n },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.deliveryTimeSlot.to',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.deliveryTimeSlot.from',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.deliveryTimeSlot.to',\n },\n { path: 'membershipOptions.eligibleMemberships.expirationDate' },\n {\n path: 'membershipOptions.invalidMemberships.membership.expirationDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.geocode.latitude',\n },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.geocode.longitude',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.pickupDetails.address.geocode.latitude',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.pickupDetails.address.geocode.longitude',\n },\n { path: 'appliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __estimateTotals;\n}\n\n/** Deletes a cart. */\nexport function deleteCart(payload: object): RequestOptionsFactory<any> {\n function __deleteCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'DELETE' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.DeleteCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteCart;\n}\n\n/** Removes the location associated with a cart. */\nexport function removeBusinessLocation(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeBusinessLocation({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.RemoveBusinessLocation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/remove-business-location',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeBusinessLocation;\n}\n","import {\n createCart as publicCreateCart,\n updateCart as publicUpdateCart,\n getCart as publicGetCart,\n getCartByCheckoutId as publicGetCartByCheckoutId,\n addToCart as publicAddToCart,\n removeLineItems as publicRemoveLineItems,\n createCheckout as publicCreateCheckout,\n removeCoupon as publicRemoveCoupon,\n updateLineItemsQuantity as publicUpdateLineItemsQuantity,\n estimateTotals as publicEstimateTotals,\n deleteCart as publicDeleteCart,\n removeBusinessLocation as publicRemoveBusinessLocation,\n} from './ecom-v1-cart-cart.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onCartDeleted as publicOnCartDeleted } from './ecom-v1-cart-cart.public.js';\nimport { onCartUpdated as publicOnCartUpdated } from './ecom-v1-cart-cart.public.js';\nimport { onCartCreated as publicOnCartCreated } from './ecom-v1-cart-cart.public.js';\n\nexport const createCart: MaybeContext<\n BuildRESTFunction<typeof publicCreateCart> & typeof publicCreateCart\n> = /*#__PURE__*/ createRESTModule(publicCreateCart);\nexport const updateCart: MaybeContext<\n BuildRESTFunction<typeof publicUpdateCart> & typeof publicUpdateCart\n> = /*#__PURE__*/ createRESTModule(publicUpdateCart);\nexport const getCart: MaybeContext<\n BuildRESTFunction<typeof publicGetCart> & typeof publicGetCart\n> = /*#__PURE__*/ createRESTModule(publicGetCart);\n/** @internal */\nexport const getCartByCheckoutId: MaybeContext<\n BuildRESTFunction<typeof publicGetCartByCheckoutId> &\n typeof publicGetCartByCheckoutId\n> = /*#__PURE__*/ createRESTModule(publicGetCartByCheckoutId);\nexport const addToCart: MaybeContext<\n BuildRESTFunction<typeof publicAddToCart> & typeof publicAddToCart\n> = /*#__PURE__*/ createRESTModule(publicAddToCart);\nexport const removeLineItems: MaybeContext<\n BuildRESTFunction<typeof publicRemoveLineItems> & typeof publicRemoveLineItems\n> = /*#__PURE__*/ createRESTModule(publicRemoveLineItems);\nexport const createCheckout: MaybeContext<\n BuildRESTFunction<typeof publicCreateCheckout> & typeof publicCreateCheckout\n> = /*#__PURE__*/ createRESTModule(publicCreateCheckout);\nexport const removeCoupon: MaybeContext<\n BuildRESTFunction<typeof publicRemoveCoupon> & typeof publicRemoveCoupon\n> = /*#__PURE__*/ createRESTModule(publicRemoveCoupon);\nexport const updateLineItemsQuantity: MaybeContext<\n BuildRESTFunction<typeof publicUpdateLineItemsQuantity> &\n typeof publicUpdateLineItemsQuantity\n> = /*#__PURE__*/ createRESTModule(publicUpdateLineItemsQuantity);\nexport const estimateTotals: MaybeContext<\n BuildRESTFunction<typeof publicEstimateTotals> & typeof publicEstimateTotals\n> = /*#__PURE__*/ createRESTModule(publicEstimateTotals);\nexport const deleteCart: MaybeContext<\n BuildRESTFunction<typeof publicDeleteCart> & typeof publicDeleteCart\n> = /*#__PURE__*/ createRESTModule(publicDeleteCart);\nexport const removeBusinessLocation: MaybeContext<\n BuildRESTFunction<typeof publicRemoveBusinessLocation> &\n typeof publicRemoveBusinessLocation\n> = /*#__PURE__*/ createRESTModule(publicRemoveBusinessLocation);\n/**\n * Triggered when a cart is deleted.\n */\nexport const onCartDeleted: BuildEventDefinition<typeof publicOnCartDeleted> &\n typeof publicOnCartDeleted = createEventModule(publicOnCartDeleted);\n/** */\nexport const onCartUpdated: BuildEventDefinition<typeof publicOnCartUpdated> &\n typeof publicOnCartUpdated = createEventModule(publicOnCartUpdated);\n/**\n * Triggered when a cart is created.\n */\nexport const onCartCreated: BuildEventDefinition<typeof publicOnCartCreated> &\n typeof publicOnCartCreated = createEventModule(publicOnCartCreated);\n\nexport {\n DescriptionLineType,\n ItemAvailabilityStatus,\n ItemTypePreset,\n SubscriptionFrequency,\n FileType,\n PaymentOptionType,\n TaxableAddressType,\n PlatformFeeChargeType,\n WeightUnit,\n DiscountType,\n VatType,\n JurisdictionType,\n RateType,\n ManualCalculationReason,\n FallbackReason,\n PickupMethod,\n ChargeType,\n AppliedDiscountDiscountType,\n RuleType,\n BalanceType,\n AdditionalFeeSource,\n Severity,\n NameInOther,\n NameInLineItem,\n SuggestedFix,\n ChannelType,\n WebhookIdentityType,\n} from './ecom-v1-cart-cart.universal.js';\nexport {\n Cart,\n LineItem,\n CatalogReference,\n ProductName,\n MultiCurrencyPrice,\n DescriptionLine,\n DescriptionLineValueOneOf,\n DescriptionLineDescriptionLineValueOneOf,\n DescriptionLineName,\n PlainTextValue,\n Color,\n FocalPoint,\n ItemAvailabilityInfo,\n PhysicalProperties,\n Scope,\n Group,\n ItemType,\n ItemTypeItemTypeDataOneOf,\n SubscriptionOptionInfo,\n SubscriptionSettings,\n FreeTrialPeriod,\n Title,\n Description,\n SecuredMedia,\n ServiceProperties,\n PriceDescription,\n SelectedMembership,\n CatalogOverrideFields,\n PaymentOption,\n TaxableAddress,\n TaxableAddressTaxableAddressDataOneOf,\n ExtendedFields,\n Policy,\n ModifierGroup,\n TranslatableString,\n ItemModifier,\n PlatformFee,\n BuyerInfo,\n BuyerInfoIdOneOf,\n CartDiscount,\n CartDiscountDiscountSourceOneOf,\n Coupon,\n MerchantDiscount,\n DiscountRule,\n DiscountRuleName,\n AddressWithContact,\n Address,\n StreetAddress,\n AddressLocation,\n FullAddressContactDetails,\n VatId,\n SelectedShippingOption,\n GetCurrentCartRequest,\n GetCurrentCartResponse,\n UpdateCartRequest,\n MerchantDiscountInput,\n CustomLineItem,\n V1ModifierGroup,\n V1ItemModifier,\n UpdateCartResponse,\n AddToCurrentCartRequest,\n AddToCartResponse,\n AddToCurrentCartAndEstimateTotalsRequest,\n SelectedMemberships,\n HostSelectedMembership,\n EstimateTotalsResponse,\n CalculatedLineItem,\n LineItemPricesData,\n ItemTaxFullDetails,\n TaxRateBreakdown,\n TaxBreakdown,\n CalculatedItemModifier,\n PriceSummary,\n GiftCard,\n TaxSummary,\n TaxCalculationDetails,\n TaxCalculationDetailsCalculationDetailsOneOf,\n AutoTaxFallbackCalculationDetails,\n ApplicationError,\n AggregatedTaxBreakdown,\n ShippingInformation,\n ShippingRegion,\n SelectedCarrierServiceOption,\n DeliveryLogistics,\n PickupDetails,\n DeliveryTimeSlot,\n SelectedCarrierServiceOptionPrices,\n SelectedCarrierServiceOptionOtherCharge,\n DeliveryAllocation,\n Carrier,\n Region,\n ApplicableLineItems,\n CarrierServiceOption,\n ShippingOption,\n ShippingPrice,\n OtherCharge,\n AppliedDiscount,\n AppliedDiscountDiscountSourceOneOf,\n V1Coupon,\n V1MerchantDiscount,\n V1DiscountRule,\n V1DiscountRuleName,\n LineItemDiscount,\n ItemCombination,\n ItemCombinationLineItem,\n CalculationErrors,\n CalculationErrorsShippingCalculationErrorOneOf,\n Details,\n DetailsKindOneOf,\n ValidationError,\n FieldViolation,\n SystemError,\n CarrierErrors,\n CarrierError,\n MembershipOptions,\n Membership,\n MembershipName,\n MembershipPaymentCredits,\n InvalidMembership,\n AdditionalFee,\n Violation,\n Target,\n TargetTargetTypeOneOf,\n Other,\n TargetLineItem,\n RemoveLineItemsFromCurrentCartRequest,\n RemoveLineItemsResponse,\n CreateCheckoutFromCurrentCartRequest,\n CreateCheckoutResponse,\n RemoveCouponFromCurrentCartRequest,\n RemoveCouponResponse,\n UpdateCurrentCartLineItemQuantityRequest,\n LineItemQuantityUpdate,\n UpdateLineItemsQuantityResponse,\n EstimateCurrentCartTotalsRequest,\n DeleteCurrentCartRequest,\n DeleteCartResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n CreateCartRequest,\n CreateCartResponse,\n GetCartRequest,\n GetCartResponse,\n GetCartByCheckoutIdRequest,\n GetCartByCheckoutIdResponse,\n AddToCartRequest,\n RemoveLineItemsRequest,\n CreateCheckoutRequest,\n RemoveCouponRequest,\n UpdateLineItemsQuantityRequest,\n EstimateTotalsRequest,\n DeleteCartRequest,\n Empty,\n RemoveBusinessLocationRequest,\n RemoveBusinessLocationResponse,\n BaseEventMetadata,\n EventMetadata,\n CartDeletedEnvelope,\n CartUpdatedEnvelope,\n CartCreatedEnvelope,\n CreateCartOptions,\n UpdateCartOptions,\n AddToCartOptions,\n CreateCheckoutOptions,\n EstimateTotalsOptions,\n} from './ecom-v1-cart-cart.universal.js';\nexport {\n DescriptionLineTypeWithLiterals,\n ItemAvailabilityStatusWithLiterals,\n ItemTypePresetWithLiterals,\n SubscriptionFrequencyWithLiterals,\n FileTypeWithLiterals,\n PaymentOptionTypeWithLiterals,\n TaxableAddressTypeWithLiterals,\n PlatformFeeChargeTypeWithLiterals,\n WeightUnitWithLiterals,\n DiscountTypeWithLiterals,\n VatTypeWithLiterals,\n JurisdictionTypeWithLiterals,\n RateTypeWithLiterals,\n ManualCalculationReasonWithLiterals,\n FallbackReasonWithLiterals,\n PickupMethodWithLiterals,\n ChargeTypeWithLiterals,\n AppliedDiscountDiscountTypeWithLiterals,\n RuleTypeWithLiterals,\n BalanceTypeWithLiterals,\n AdditionalFeeSourceWithLiterals,\n SeverityWithLiterals,\n NameInOtherWithLiterals,\n NameInLineItemWithLiterals,\n SuggestedFixWithLiterals,\n ChannelTypeWithLiterals,\n WebhookIdentityTypeWithLiterals,\n CreateCartApplicationErrors,\n UpdateCartApplicationErrors,\n AddToCartApplicationErrors,\n CreateCheckoutApplicationErrors,\n} from './ecom-v1-cart-cart.universal.js';\n"],"mappings":"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","names":["addToCart","createCart","createCheckout","deleteCart","estimateTotals","getCart","getCartByCheckoutId","onCartCreated","onCartDeleted","onCartUpdated","removeBusinessLocation","removeCoupon","removeLineItems","updateCart","updateLineItemsQuantity","import_rename_all_nested_keys","import_address","import_float","import_image","import_page_url_v2","import_timestamp","import_transform_paths","import_float","import_timestamp","import_rest_modules","payload","import_address","import_image","import_page_url_v2","import_transform_paths","DescriptionLineType","ItemAvailabilityStatus","ItemTypePreset","SubscriptionFrequency","FileType","PaymentOptionType","TaxableAddressType","PlatformFeeChargeType","WeightUnit","DiscountType","VatType","JurisdictionType","RateType","ManualCalculationReason","FallbackReason","PickupMethod","ChargeType","AppliedDiscountDiscountType","RuleType","BalanceType","AdditionalFeeSource","Severity","NameInOther","NameInLineItem","SuggestedFix","ChannelType","WebhookIdentityType","createCart","sdkTransformError","updateCart","getCart","getCartByCheckoutId","addToCart","removeLineItems","createCheckout","removeCoupon","updateLineItemsQuantity","estimateTotals","deleteCart","removeBusinessLocation","createCart","updateCart","getCart","getCartByCheckoutId","addToCart","removeLineItems","createCheckout","removeCoupon","updateLineItemsQuantity","estimateTotals","deleteCart","removeBusinessLocation","import_rest_modules","createCart","updateCart","getCart","getCartByCheckoutId","addToCart","removeLineItems","createCheckout","removeCoupon","updateLineItemsQuantity","estimateTotals","deleteCart","removeBusinessLocation","onCartDeleted","onCartUpdated","onCartCreated"]}
|
|
1
|
+
{"version":3,"sources":["../../index.ts","../../src/ecom-v1-cart-cart.public.ts","../../src/ecom-v1-cart-cart.universal.ts","../../src/ecom-v1-cart-cart.http.ts","../../src/ecom-v1-cart-cart.context.ts"],"sourcesContent":["export * from './src/ecom-v1-cart-cart.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTPageURLV2ToSDKPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n AddToCartApplicationErrors,\n AddToCartOptions,\n AddToCartResponse,\n Cart,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartUpdatedEnvelope,\n CreateCartApplicationErrors,\n CreateCartOptions,\n CreateCheckoutApplicationErrors,\n CreateCheckoutOptions,\n CreateCheckoutResponse,\n EstimateTotalsOptions,\n EstimateTotalsResponse,\n GetCartByCheckoutIdResponse,\n LineItemQuantityUpdate,\n RemoveBusinessLocationResponse,\n RemoveCouponResponse,\n RemoveLineItemsResponse,\n UpdateCartApplicationErrors,\n UpdateCartOptions,\n UpdateLineItemsQuantityResponse,\n addToCart as universalAddToCart,\n createCart as universalCreateCart,\n createCheckout as universalCreateCheckout,\n deleteCart as universalDeleteCart,\n estimateTotals as universalEstimateTotals,\n getCart as universalGetCart,\n getCartByCheckoutId as universalGetCartByCheckoutId,\n removeBusinessLocation as universalRemoveBusinessLocation,\n removeCoupon as universalRemoveCoupon,\n removeLineItems as universalRemoveLineItems,\n updateCart as universalUpdateCart,\n updateLineItemsQuantity as universalUpdateLineItemsQuantity,\n} from './ecom-v1-cart-cart.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/ecom' };\n\nexport function createCart(httpClient: HttpClient): CreateCartSignature {\n return (\n options?: NonNullablePaths<\n CreateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n ) =>\n universalCreateCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCartSignature {\n /**\n * Creates a cart.\n *\n * > **Notes:**\n * > + When adding catalog line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + This method requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n * @param - Cart creation options.\n * @returns Cart.\n */\n (\n options?: NonNullablePaths<\n CreateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n ): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n > & {\n __applicationErrorsType?: CreateCartApplicationErrors;\n }\n >;\n}\n\nexport function updateCart(httpClient: HttpClient): UpdateCartSignature {\n return (\n _id: string,\n options?: NonNullablePaths<\n UpdateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.productName`\n | `lineItems.${number}.catalogReference`,\n 8\n >\n ) =>\n universalUpdateCart(\n _id,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateCartSignature {\n /**\n * Updates a cart's properties.\n *\n * > **Notes:**\n * > + When updating line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - Available options to use when updating a cart.\n * @param - ID of the cart to be updated.\n * @returns Updated Cart.\n */\n (\n _id: string,\n options?: NonNullablePaths<\n UpdateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.productName`\n | `lineItems.${number}.catalogReference`,\n 8\n >\n ): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n > & {\n __applicationErrorsType?: UpdateCartApplicationErrors;\n }\n >;\n}\n\nexport function getCart(httpClient: HttpClient): GetCartSignature {\n return (_id: string) =>\n universalGetCart(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCartSignature {\n /**\n * Retrieves a cart.\n * @param - Cart ID.\n * @returns Retrieved cart.\n */\n (_id: string): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n >\n >;\n}\n\n/** @internal */\nexport function getCartByCheckoutId(\n httpClient: HttpClient\n): GetCartByCheckoutIdSignature {\n return (_id: string) =>\n universalGetCartByCheckoutId(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCartByCheckoutIdSignature {\n /**\n * Retrieves the cart associated with a specified checkout.\n * @param - Checkout ID.\n */\n (_id: string): Promise<\n NonNullablePaths<\n GetCartByCheckoutIdResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport function addToCart(httpClient: HttpClient): AddToCartSignature {\n return (\n _id: string,\n options?: NonNullablePaths<\n AddToCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n ) =>\n universalAddToCart(\n _id,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddToCartSignature {\n /**\n * Adds [catalog](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration) line items to a cart.\n *\n * >**Notes:**\n * > + When adding catalog line items to a cart, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - Cart ID.\n * @param - Items to be added to cart.\n */\n (\n _id: string,\n options?: NonNullablePaths<\n AddToCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n ): Promise<\n NonNullablePaths<\n AddToCartResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n > & {\n __applicationErrorsType?: AddToCartApplicationErrors;\n }\n >;\n}\n\nexport function removeLineItems(\n httpClient: HttpClient\n): RemoveLineItemsSignature {\n return (_id: string, lineItemIds: string[]) =>\n universalRemoveLineItems(\n _id,\n lineItemIds,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveLineItemsSignature {\n /**\n * Removes line items from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - IDs of the line items to remove from the cart.\n * @param - ID of the cart to remove line items from.\n */\n (_id: string, lineItemIds: string[]): Promise<\n NonNullablePaths<\n RemoveLineItemsResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport function createCheckout(\n httpClient: HttpClient\n): CreateCheckoutSignature {\n return (_id: string, options?: CreateCheckoutOptions) =>\n universalCreateCheckout(\n _id,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCheckoutSignature {\n /**\n * Creates a checkout from a cart.\n *\n * If a checkout for the specified cart already exists, that checkout is\n * updated with any new information from the cart.\n *\n * > **Note:** `channelType` is a required field.\n * @param - Cart ID.\n * @param - Checkout creation options.\n */\n (_id: string, options?: CreateCheckoutOptions): Promise<\n NonNullablePaths<CreateCheckoutResponse, `checkoutId`, 2> & {\n __applicationErrorsType?: CreateCheckoutApplicationErrors;\n }\n >;\n}\n\nexport function removeCoupon(httpClient: HttpClient): RemoveCouponSignature {\n return (_id: string) =>\n universalRemoveCoupon(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveCouponSignature {\n /**\n * Removes the coupon from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - Cart ID.\n */\n (_id: string): Promise<\n NonNullablePaths<\n RemoveCouponResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport function updateLineItemsQuantity(\n httpClient: HttpClient\n): UpdateLineItemsQuantitySignature {\n return (_id: string, lineItems: LineItemQuantityUpdate[]) =>\n universalUpdateLineItemsQuantity(\n _id,\n lineItems,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateLineItemsQuantitySignature {\n /**\n * Updates the quantity of 1 or more line items in a cart.\n *\n * This method is only for updating the quantity of line items.\n * To entirely remove a line item from the cart, use Remove Line Items.\n * To add a new line item to the cart, use Add To Cart.\n *\n * This method checks the amount of stock remaining for this line item.\n * If the specified quantity is greater than the remaining stock,\n * then the quantity returned in the response is the total amount of remaining stock.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param - Cart ID.\n * @param - Line item IDs and their new quantity.\n */\n (_id: string, lineItems: LineItemQuantityUpdate[]): Promise<\n NonNullablePaths<\n UpdateLineItemsQuantityResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport function estimateTotals(\n httpClient: HttpClient\n): EstimateTotalsSignature {\n return (_id: string, options?: EstimateTotalsOptions) =>\n universalEstimateTotals(\n _id,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface EstimateTotalsSignature {\n /**\n * Estimates the subtotal and total for current site visitor’s cart.\n *\n * Totals include tax and are based on the selected carrier service, shipping address, and billing information.\n *\n * > **Note:** Not passing any optional parameters will only estimate the cart items price totals.\n * @param - Cart ID.\n * @param - Total estimation options.\n */\n (_id: string, options?: EstimateTotalsOptions): Promise<\n NonNullablePaths<\n EstimateTotalsResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`\n | `calculatedLineItems`\n | `calculatedLineItems.${number}.lineItemId`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.amount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.convertedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedConvertedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.taxDetails.taxRate`\n | `calculatedLineItems.${number}.paymentOption`\n | `calculatedLineItems.${number}.taxableAddress.addressType`\n | `priceSummary.subtotal.amount`\n | `priceSummary.subtotal.convertedAmount`\n | `priceSummary.subtotal.formattedAmount`\n | `priceSummary.subtotal.formattedConvertedAmount`\n | `giftCard._id`\n | `giftCard.obfuscatedCode`\n | `giftCard.amount.amount`\n | `giftCard.amount.convertedAmount`\n | `giftCard.amount.formattedAmount`\n | `giftCard.amount.formattedConvertedAmount`\n | `giftCard.appId`\n | `taxSummary.taxableAmount.amount`\n | `taxSummary.taxableAmount.convertedAmount`\n | `taxSummary.taxableAmount.formattedAmount`\n | `taxSummary.taxableAmount.formattedConvertedAmount`\n | `taxSummary.calculationDetails.manualRateReason`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.fallbackReason`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.code`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.description`\n | `taxSummary.calculationDetails.rateType`\n | `shippingInfo.region._id`\n | `shippingInfo.region.name`\n | `shippingInfo.selectedCarrierServiceOption.code`\n | `shippingInfo.selectedCarrierServiceOption.title`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.number`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.name`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.businessLocation`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.pickupMethod`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.amount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.convertedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedConvertedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxRate`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.name`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.rate`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown.${number}.jurisdictionType`\n | `shippingInfo.selectedCarrierServiceOption.requestedShippingOption`\n | `shippingInfo.selectedCarrierServiceOption.otherCharges`\n | `shippingInfo.selectedCarrierServiceOption.otherCharges.${number}.type`\n | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations`\n | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations.${number}.deliveryCarrier.code`\n | `shippingInfo.carrierServiceOptions`\n | `shippingInfo.carrierServiceOptions.${number}.carrierId`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `appliedDiscounts.${number}.coupon.amount.amount`\n | `appliedDiscounts.${number}.coupon.amount.convertedAmount`\n | `appliedDiscounts.${number}.coupon.amount.formattedAmount`\n | `appliedDiscounts.${number}.coupon.amount.formattedConvertedAmount`\n | `appliedDiscounts.${number}.coupon.name`\n | `appliedDiscounts.${number}.discountRule._id`\n | `appliedDiscounts.${number}.discountRule.name.original`\n | `appliedDiscounts.${number}.discountType`\n | `calculationErrors.generalShippingCalculationError.applicationError.code`\n | `calculationErrors.generalShippingCalculationError.applicationError.description`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `calculationErrors.carrierErrors.errors`\n | `calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `calculationErrors.orderValidationErrors`\n | `weightUnit`\n | `currency`\n | `payNow.subtotal.amount`\n | `payNow.subtotal.convertedAmount`\n | `payNow.subtotal.formattedAmount`\n | `payNow.subtotal.formattedConvertedAmount`\n | `payLater.subtotal.amount`\n | `payLater.subtotal.convertedAmount`\n | `payLater.subtotal.formattedAmount`\n | `payLater.subtotal.formattedConvertedAmount`\n | `membershipOptions.eligibleMemberships`\n | `membershipOptions.eligibleMemberships.${number}._id`\n | `membershipOptions.eligibleMemberships.${number}.appId`\n | `membershipOptions.eligibleMemberships.${number}.name.original`\n | `membershipOptions.eligibleMemberships.${number}.credits.total`\n | `membershipOptions.eligibleMemberships.${number}.credits.remaining`\n | `membershipOptions.invalidMemberships`\n | `membershipOptions.invalidMemberships.${number}.reason`\n | `membershipOptions.selectedMemberships`\n | `membershipOptions.selectedMemberships.${number}._id`\n | `membershipOptions.selectedMemberships.${number}.appId`\n | `additionalFees`\n | `additionalFees.${number}.name`\n | `additionalFees.${number}.price.amount`\n | `additionalFees.${number}.price.convertedAmount`\n | `additionalFees.${number}.price.formattedAmount`\n | `additionalFees.${number}.price.formattedConvertedAmount`\n | `additionalFees.${number}.taxDetails.taxRate`\n | `additionalFees.${number}.source`\n | `violations`\n | `violations.${number}.severity`\n | `violations.${number}.target.other.name`\n | `violations.${number}.target.lineItem.name`,\n 8\n >\n >;\n}\n\nexport function deleteCart(httpClient: HttpClient): DeleteCartSignature {\n return (_id: string) =>\n universalDeleteCart(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteCartSignature {\n /**\n * Deletes a cart.\n * @param - ID of the cart to delete.\n */\n (_id: string): Promise<void>;\n}\n\nexport function removeBusinessLocation(\n httpClient: HttpClient\n): RemoveBusinessLocationSignature {\n return (_id: string) =>\n universalRemoveBusinessLocation(\n _id,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveBusinessLocationSignature {\n /**\n * Removes the location associated with a cart.\n * @param - Cart ID.\n */\n (_id: string): Promise<\n NonNullablePaths<\n RemoveBusinessLocationResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n >;\n}\n\nexport const onCartDeleted = EventDefinition(\n 'wix.ecom.v1.cart_deleted',\n true,\n (event: CartDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'undefined.createdDate' },\n { path: 'undefined.updatedDate' },\n {\n path: 'undefined.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'undefined.lineItems.serviceProperties.scheduledDate' },\n { path: 'undefined.lineItems.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'undefined.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'undefined.lineItems.image' },\n { path: 'undefined.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'undefined.lineItems.physicalProperties.weight' },\n {\n path: 'undefined.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'undefined.contactInfo.address' }],\n },\n ])\n )\n)<CartDeletedEnvelope>();\nexport const onCartUpdated = EventDefinition(\n 'wix.ecom.v1.cart_updated',\n true,\n (event: CartUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'entity.lineItems.serviceProperties.scheduledDate' },\n { path: 'entity.lineItems.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n {\n path: 'modifiedFields.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'modifiedFields.lineItems.serviceProperties.scheduledDate',\n },\n { path: 'modifiedFields.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'entity.lineItems.url' },\n { path: 'modifiedFields.lineItems.url' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.image' },\n { path: 'entity.lineItems.catalogOverrideFields.image' },\n { path: 'modifiedFields.lineItems.image' },\n { path: 'modifiedFields.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'entity.lineItems.physicalProperties.weight' },\n {\n path: 'entity.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'modifiedFields.lineItems.physicalProperties.weight' },\n {\n path: 'modifiedFields.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'entity.contactInfo.address' },\n { path: 'modifiedFields.contactInfo.address' },\n ],\n },\n ])\n )\n)<CartUpdatedEnvelope>();\nexport const onCartCreated = EventDefinition(\n 'wix.ecom.v1.cart_created',\n true,\n (event: CartCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'entity.lineItems.serviceProperties.scheduledDate' },\n { path: 'entity.lineItems.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'entity.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.image' },\n { path: 'entity.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'entity.lineItems.physicalProperties.weight' },\n {\n path: 'entity.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'entity.contactInfo.address' }],\n },\n ])\n )\n)<CartCreatedEnvelope>();\n\nexport {\n ActionEvent,\n AddToCartOptions,\n AddToCartRequest,\n AddToCartResponse,\n AddToCurrentCartAndEstimateTotalsRequest,\n AddToCurrentCartRequest,\n AdditionalFee,\n AdditionalFeeSource,\n Address,\n AddressLocation,\n AddressWithContact,\n AggregatedTaxBreakdown,\n ApplicableLineItems,\n ApplicationError,\n AppliedDiscount,\n AppliedDiscountDiscountSourceOneOf,\n AppliedDiscountDiscountType,\n AutoTaxFallbackCalculationDetails,\n BalanceType,\n BaseEventMetadata,\n BuyerInfo,\n BuyerInfoIdOneOf,\n CalculatedItemModifier,\n CalculatedLineItem,\n CalculationErrors,\n CalculationErrorsShippingCalculationErrorOneOf,\n Carrier,\n CarrierError,\n CarrierErrors,\n CarrierServiceOption,\n Cart,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartDiscount,\n CartDiscountDiscountSourceOneOf,\n CartUpdatedEnvelope,\n CatalogOverrideFields,\n CatalogReference,\n ChannelType,\n ChargeType,\n Color,\n Coupon,\n CreateCartOptions,\n CreateCartRequest,\n CreateCartResponse,\n CreateCheckoutFromCurrentCartRequest,\n CreateCheckoutOptions,\n CreateCheckoutRequest,\n CreateCheckoutResponse,\n CustomLineItem,\n DeleteCartRequest,\n DeleteCartResponse,\n DeleteCurrentCartRequest,\n DeliveryAllocation,\n DeliveryLogistics,\n DeliveryTimeSlot,\n Description,\n DescriptionLine,\n DescriptionLineDescriptionLineValueOneOf,\n DescriptionLineName,\n DescriptionLineType,\n DescriptionLineValueOneOf,\n Details,\n DetailsKindOneOf,\n DiscountRule,\n DiscountRuleName,\n DiscountType,\n DomainEvent,\n DomainEventBodyOneOf,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EstimateCurrentCartTotalsRequest,\n EstimateTotalsOptions,\n EstimateTotalsRequest,\n EstimateTotalsResponse,\n EventMetadata,\n ExtendedFields,\n FallbackReason,\n FieldViolation,\n FileType,\n FocalPoint,\n FreeTrialPeriod,\n FullAddressContactDetails,\n GetCartByCheckoutIdRequest,\n GetCartByCheckoutIdResponse,\n GetCartRequest,\n GetCartResponse,\n GetCurrentCartRequest,\n GetCurrentCartResponse,\n GiftCard,\n Group,\n HostSelectedMembership,\n IdentificationData,\n IdentificationDataIdOneOf,\n InvalidMembership,\n ItemAvailabilityInfo,\n ItemAvailabilityStatus,\n ItemCombination,\n ItemCombinationLineItem,\n ItemModifier,\n ItemTaxFullDetails,\n ItemType,\n ItemTypeItemTypeDataOneOf,\n ItemTypePreset,\n JurisdictionType,\n LineItem,\n LineItemDiscount,\n LineItemPricesData,\n LineItemQuantityUpdate,\n ManualCalculationReason,\n Membership,\n MembershipName,\n MembershipOptions,\n MembershipPaymentCredits,\n MerchantDiscount,\n MerchantDiscountInput,\n MessageEnvelope,\n ModifierGroup,\n MultiCurrencyPrice,\n NameInLineItem,\n NameInOther,\n Other,\n OtherCharge,\n PaymentOption,\n PaymentOptionType,\n PhysicalProperties,\n PickupDetails,\n PickupMethod,\n PlainTextValue,\n PlatformFee,\n PlatformFeeChargeType,\n Policy,\n PriceDescription,\n PriceSummary,\n ProductName,\n RateType,\n Region,\n RemoveBusinessLocationRequest,\n RemoveBusinessLocationResponse,\n RemoveCouponFromCurrentCartRequest,\n RemoveCouponRequest,\n RemoveCouponResponse,\n RemoveLineItemsFromCurrentCartRequest,\n RemoveLineItemsRequest,\n RemoveLineItemsResponse,\n RestoreInfo,\n RuleType,\n Scope,\n SecuredMedia,\n SelectedCarrierServiceOption,\n SelectedCarrierServiceOptionOtherCharge,\n SelectedCarrierServiceOptionPrices,\n SelectedMembership,\n SelectedMemberships,\n SelectedShippingOption,\n ServiceProperties,\n Severity,\n ShippingInformation,\n ShippingOption,\n ShippingPrice,\n ShippingRegion,\n StreetAddress,\n SubscriptionFrequency,\n SubscriptionOptionInfo,\n SubscriptionSettings,\n SuggestedFix,\n SystemError,\n Target,\n TargetLineItem,\n TargetTargetTypeOneOf,\n TaxBreakdown,\n TaxCalculationDetails,\n TaxCalculationDetailsCalculationDetailsOneOf,\n TaxRateBreakdown,\n TaxSummary,\n TaxableAddress,\n TaxableAddressTaxableAddressDataOneOf,\n TaxableAddressType,\n Title,\n TranslatableString,\n UpdateCartOptions,\n UpdateCartRequest,\n UpdateCartResponse,\n UpdateCurrentCartLineItemQuantityRequest,\n UpdateLineItemsQuantityRequest,\n UpdateLineItemsQuantityResponse,\n V1Coupon,\n V1DiscountRule,\n V1DiscountRuleName,\n V1ItemModifier,\n V1MerchantDiscount,\n V1ModifierGroup,\n ValidationError,\n VatId,\n VatType,\n Violation,\n WebhookIdentityType,\n WeightUnit,\n} from './ecom-v1-cart-cart.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixEcomV1Cart from './ecom-v1-cart-cart.http.js';\nimport { transformSDKAddressToRESTAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformSDKPageURLV2ToRESTPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformRESTPageURLV2ToSDKPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nexport interface Cart {\n /**\n * Cart ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Line items.\n * @minSize 1\n * @maxSize 300\n * @readonly\n */\n lineItems?: LineItem[];\n /**\n * [Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.\n * @maxLength 1000\n */\n buyerNote?: string | null;\n /** Buyer information. */\n buyerInfo?: BuyerInfo;\n /**\n * The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.\n * @format CURRENCY\n * @readonly\n */\n currency?: string;\n /**\n * The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n *\n * This reflects the customer’s preferred display currency and may differ from the site’s default currency.\n * When no specific currency is selected by the customer, this matches the `currency` property.\n * @readonly\n * @format CURRENCY\n */\n conversionCurrency?: string;\n /**\n * Language for communication with the buyer. Defaults to the site language.\n *\n * For a site that supports multiple languages, this is the language the buyer selected.\n * @readonly\n */\n buyerLanguage?: string | null;\n /**\n * Site language in which original values are displayed.\n * @readonly\n */\n siteLanguage?: string | null;\n /**\n * Whether tax is included in line item prices.\n * @readonly\n */\n taxIncludedInPrices?: boolean | null;\n /**\n * Weight measurement unit - defaults to site's weight unit.\n * @readonly\n */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * ID of the checkout that originated from this cart.\n * @readonly\n * @format GUID\n */\n checkoutId?: string | null;\n /**\n * Cart discounts.\n * @readonly\n */\n appliedDiscounts?: CartDiscount[];\n /**\n * Date and time the cart was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the cart was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Contact info. */\n contactInfo?: AddressWithContact;\n /**\n * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n *\n * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\n * to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\n * standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n * @maxLength 1000\n */\n overrideCheckoutUrl?: string | null;\n /**\n * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n * @format GUID\n * @readonly\n */\n purchaseFlowId?: string | null;\n /** Selected shipping option. */\n selectedShippingOption?: SelectedShippingOption;\n /** Fields extended by data extensions */\n extendedFields?: ExtendedFields;\n /**\n * The business location ID associated with the cart.\n *\n * To learn more, see the Locations API.\n * @format GUID\n */\n businessLocationId?: string | null;\n /**\n * The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n *\n * This is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\n * If the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\n * @readonly\n * @format CURRENCY\n */\n paymentCurrency?: string;\n /**\n * Revision number, which increments by 1 each time the Cart is updated.\n * @readonly\n */\n revision?: string | null;\n}\n\nexport interface LineItem {\n /**\n * Line item ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Item quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /** Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n catalogReference?: CatalogReference;\n /**\n * Item name.\n * + Stores - `product.name`\n * + Bookings - `service.info.name`\n * + Events - `ticket.name`\n * @readonly\n */\n productName?: ProductName;\n /**\n * URL to the item's page on the site.\n * @readonly\n */\n url?: string;\n /**\n * Item price **after** catalog-defined discount and line item discounts.\n * @readonly\n */\n price?: MultiCurrencyPrice;\n /**\n * Item price **before** catalog-defined discount. Defaults to `price` when not provided.\n * @readonly\n */\n fullPrice?: MultiCurrencyPrice;\n /**\n * Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.\n * @readonly\n */\n priceBeforeDiscounts?: MultiCurrencyPrice;\n /**\n * Total price **after** catalog-defined discount and line item discounts.\n * @readonly\n */\n lineItemPrice?: MultiCurrencyPrice;\n /**\n * Line item description lines. Used for displaying the cart, checkout and order.\n * @readonly\n */\n descriptionLines?: DescriptionLine[];\n /**\n * Line item image details.\n * @readonly\n */\n image?: string;\n /**\n * Item availability details.\n * @readonly\n */\n availability?: ItemAvailabilityInfo;\n /**\n * Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.\n * @readonly\n */\n physicalProperties?: PhysicalProperties;\n /**\n * Item type. Either a preset type or custom.\n * @readonly\n */\n itemType?: ItemType;\n /**\n * Subscription option information.\n * @readonly\n */\n subscriptionOptionInfo?: SubscriptionOptionInfo;\n /**\n * Type of selected payment option for current item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n * @readonly\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /**\n * Service properties. When relevant, this contains information such as date and number of participants.\n * @readonly\n */\n serviceProperties?: ServiceProperties;\n /**\n * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n * + in most cases, this field is the same as `catalogReference.catalogItemId`.\n * + Used in membership validation.\n * @minLength 1\n * @maxLength 36\n * @readonly\n */\n rootCatalogItemId?: string | null;\n /**\n * Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".\n * @readonly\n */\n priceDescription?: PriceDescription;\n /**\n * Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.\n * @readonly\n */\n depositAmount?: MultiCurrencyPrice;\n /** Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`. */\n selectedMembership?: SelectedMembership;\n /**\n * Delivery profile ID.\n * @format GUID\n * @readonly\n */\n deliveryProfileId?: string | null;\n /**\n * Tax group ID for this line item.\n * @format GUID\n * @readonly\n */\n taxGroupId?: string | null;\n /**\n * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n * @readonly\n */\n customLineItem?: boolean;\n /**\n * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n * @minLength 1\n * @maxLength 2500\n * @readonly\n */\n consentRequiredPaymentPolicy?: string | null;\n /**\n * Whether the price is not yet defined, and will be updated after the order is created.\n * @readonly\n */\n priceUndetermined?: boolean;\n /**\n * Whether the line item quantity is fixed and cannot be changed.\n * @readonly\n */\n fixedQuantity?: boolean;\n /**\n * Overriding values for catalog item properties.\n *\n * To override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n */\n catalogOverrideFields?: CatalogOverrideFields;\n /**\n * Whether to save the payment method on the order.\n *\n * Default: `false`\n * @readonly\n */\n savePaymentMethod?: boolean;\n /** Address to use for tax calculation purposes. */\n taxableAddress?: TaxableAddress;\n /**\n * Custom extended fields for the line item object.\n *\n * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Policies to be displayed to the customer on the checkout page.\n * @readonly\n * @maxSize 5\n */\n policies?: Policy[];\n /**\n * ID of the app managing the inventory.\n * @internal\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Whether the item can only be purchased by site members.\n *\n * Default: `false`\n * @readonly\n */\n membersOnly?: boolean;\n /**\n * Modifier groups that were added to the item.\n * @readonly\n * @maxSize 25\n */\n modifierGroups?: ModifierGroup[];\n /**\n * Total price of all item modifiers. Included in the item price.\n * @readonly\n */\n modifiersTotalPrice?: MultiCurrencyPrice;\n}\n\n/** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\nexport interface CatalogReference {\n /**\n * ID of the item within the catalog it belongs to.\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string;\n /**\n * ID of the app providing the catalog.\n *\n * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n *\n * For items from Wix catalogs, the following values always apply:\n * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n * @minLength 1\n */\n appId?: string;\n /**\n * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n *\n * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n */\n options?: Record<string, any> | null;\n}\n\nexport interface ProductName {\n /**\n * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n *\n * Min: 1 character.\n * Max: 200 characters.\n * @minLength 1\n * @maxLength 200\n */\n original?: string;\n /**\n * Item name translated into the buyer's language.\n *\n * Min: 1 character.\n * Max: 400 characters.\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 400\n */\n translated?: string | null;\n}\n\nexport interface MultiCurrencyPrice {\n /**\n * Amount.\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n amount?: string;\n /**\n * Converted amount.\n * @readonly\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n convertedAmount?: string;\n /**\n * Amount formatted with currency symbol.\n * @readonly\n */\n formattedAmount?: string;\n /**\n * Converted amount formatted with currency symbol.\n * @readonly\n */\n formattedConvertedAmount?: string;\n}\n\nexport interface DescriptionLine\n extends DescriptionLineValueOneOf,\n DescriptionLineDescriptionLineValueOneOf {\n /** Description line plain text value. */\n plainText?: PlainTextValue;\n /** Description line color value. */\n colorInfo?: Color;\n /** Description line name. */\n name?: DescriptionLineName;\n /**\n * Whether the description line originates from a modifier.\n * @internal\n * @deprecated Whether the description line originates from a modifier.\n * @replacedBy none\n * @targetRemovalDate 2025-12-31\n */\n modifierDescriptionLine?: boolean;\n}\n\n/** @oneof */\nexport interface DescriptionLineValueOneOf {\n /** Description line plain text value. */\n plainText?: PlainTextValue;\n /** Description line color value. */\n colorInfo?: Color;\n}\n\n/** @oneof */\nexport interface DescriptionLineDescriptionLineValueOneOf {}\n\nexport interface DescriptionLineName {\n /**\n * Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 100\n */\n original?: string;\n /**\n * Description line name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 200\n */\n translated?: string | null;\n}\n\nexport interface PlainTextValue {\n /**\n * Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 600\n */\n original?: string;\n /**\n * Description line plain text value translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 600\n */\n translated?: string | null;\n}\n\nexport interface Color {\n /**\n * Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 500\n */\n original?: string;\n /**\n * Description line color name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 500\n */\n translated?: string | null;\n /** HEX or RGB color code for display. */\n code?: string | null;\n}\n\nexport enum DescriptionLineType {\n /** Unrecognized type. */\n UNRECOGNISED = 'UNRECOGNISED',\n /** Plain text type. */\n PLAIN_TEXT = 'PLAIN_TEXT',\n /** Color type. */\n COLOR = 'COLOR',\n}\n\n/** @enumType */\nexport type DescriptionLineTypeWithLiterals =\n | DescriptionLineType\n | 'UNRECOGNISED'\n | 'PLAIN_TEXT'\n | 'COLOR';\n\nexport interface FocalPoint {\n /** X-coordinate of the focal point. */\n x?: number;\n /** Y-coordinate of the focal point. */\n y?: number;\n /** crop by height */\n height?: number | null;\n /** crop by width */\n width?: number | null;\n}\n\nexport interface ItemAvailabilityInfo {\n /** Item availability status. */\n status?: ItemAvailabilityStatusWithLiterals;\n /** Quantity available. */\n quantityAvailable?: number | null;\n}\n\nexport enum ItemAvailabilityStatus {\n AVAILABLE = 'AVAILABLE',\n /** Item does not exist. */\n NOT_FOUND = 'NOT_FOUND',\n /** Item is not in stock. */\n NOT_AVAILABLE = 'NOT_AVAILABLE',\n /** Available quantity is less than requested. */\n PARTIALLY_AVAILABLE = 'PARTIALLY_AVAILABLE',\n}\n\n/** @enumType */\nexport type ItemAvailabilityStatusWithLiterals =\n | ItemAvailabilityStatus\n | 'AVAILABLE'\n | 'NOT_FOUND'\n | 'NOT_AVAILABLE'\n | 'PARTIALLY_AVAILABLE';\n\nexport interface PhysicalProperties {\n /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n weight?: number | null;\n /**\n * Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).\n * @maxLength 40\n */\n sku?: string | null;\n /** Whether this line item is shippable. */\n shippable?: boolean;\n}\n\nexport interface Scope {\n /** Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans) */\n namespace?: string;\n /** Coupon scope's applied group (e.g., event or ticket in Wix Events) */\n group?: Group;\n}\n\nexport interface Group {\n /** Coupon scope's group (e.g., product or collection in Wix Stores). See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values). */\n name?: string;\n /** Item ID (when the coupon scope is limited to just one item). */\n entityId?: string | null;\n}\n\nexport interface ItemType extends ItemTypeItemTypeDataOneOf {\n /** Preset item type. */\n preset?: ItemTypePresetWithLiterals;\n /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n custom?: string;\n}\n\n/** @oneof */\nexport interface ItemTypeItemTypeDataOneOf {\n /** Preset item type. */\n preset?: ItemTypePresetWithLiterals;\n /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n custom?: string;\n}\n\nexport enum ItemTypePreset {\n UNRECOGNISED = 'UNRECOGNISED',\n PHYSICAL = 'PHYSICAL',\n DIGITAL = 'DIGITAL',\n GIFT_CARD = 'GIFT_CARD',\n SERVICE = 'SERVICE',\n}\n\n/** @enumType */\nexport type ItemTypePresetWithLiterals =\n | ItemTypePreset\n | 'UNRECOGNISED'\n | 'PHYSICAL'\n | 'DIGITAL'\n | 'GIFT_CARD'\n | 'SERVICE';\n\nexport interface SubscriptionOptionInfo {\n /** Subscription option settings. */\n subscriptionSettings?: SubscriptionSettings;\n /** Subscription option title. */\n title?: Title;\n /** Subscription option description. */\n description?: Description;\n}\n\nexport interface SubscriptionSettings {\n /** Frequency of recurring payment. */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Interval of recurring payment.\n *\n * Default: `1`.\n * If SubscriptionFrequency is Day the minimum interval is 7\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /** Whether subscription is renewed automatically at the end of each period. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.\n * @min 1\n */\n billingCycles?: number | null;\n /** Whether to allow the customer to cancel the subscription.. */\n enableCustomerCancellation?: boolean;\n /**\n * Period until first cycle starts. If applied payNow will be 0\n * If None => no free trial\n */\n freeTrialPeriod?: FreeTrialPeriod;\n /**\n * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n * @internal\n */\n startDate?: Date | null;\n}\n\n/** Frequency unit of recurring payment */\nexport enum SubscriptionFrequency {\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\nexport interface FreeTrialPeriod {\n /** Frequency of period. Values: DAY, WEEK, MONTH, YEAR */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * interval of period\n * @min 1\n * @max 999\n */\n interval?: number;\n}\n\nexport interface Title {\n /**\n * Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 150\n */\n original?: string;\n /**\n * Subscription option name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 150\n */\n translated?: string | null;\n}\n\nexport interface Description {\n /**\n * Subscription option description.\n * @maxLength 500\n */\n original?: string;\n /**\n * Translated subscription option description.\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface SecuredMedia {\n /**\n * Media ID in Wix Media Manager.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * Original filename.\n * @minLength 1\n * @maxLength 1000\n */\n fileName?: string;\n /** File type. */\n fileType?: FileTypeWithLiterals;\n}\n\nexport enum FileType {\n UNSPECIFIED = 'UNSPECIFIED',\n SECURE_PICTURE = 'SECURE_PICTURE',\n SECURE_VIDEO = 'SECURE_VIDEO',\n SECURE_DOCUMENT = 'SECURE_DOCUMENT',\n SECURE_MUSIC = 'SECURE_MUSIC',\n SECURE_ARCHIVE = 'SECURE_ARCHIVE',\n}\n\n/** @enumType */\nexport type FileTypeWithLiterals =\n | FileType\n | 'UNSPECIFIED'\n | 'SECURE_PICTURE'\n | 'SECURE_VIDEO'\n | 'SECURE_DOCUMENT'\n | 'SECURE_MUSIC'\n | 'SECURE_ARCHIVE';\n\n/** Type of selected payment option for catalog item */\nexport enum PaymentOptionType {\n /** The entire payment for this item happens as part of the checkout. */\n FULL_PAYMENT_ONLINE = 'FULL_PAYMENT_ONLINE',\n /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n FULL_PAYMENT_OFFLINE = 'FULL_PAYMENT_OFFLINE',\n /** Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online. */\n MEMBERSHIP = 'MEMBERSHIP',\n /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n DEPOSIT_ONLINE = 'DEPOSIT_ONLINE',\n /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n MEMBERSHIP_OFFLINE = 'MEMBERSHIP_OFFLINE',\n /**\n * Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.\n * @documentationMaturity preview\n */\n MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER = 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n}\n\n/** @enumType */\nexport type PaymentOptionTypeWithLiterals =\n | PaymentOptionType\n | 'FULL_PAYMENT_ONLINE'\n | 'FULL_PAYMENT_OFFLINE'\n | 'MEMBERSHIP'\n | 'DEPOSIT_ONLINE'\n | 'MEMBERSHIP_OFFLINE'\n | 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER';\n\nexport interface ServiceProperties {\n /**\n * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * For example, the start time of a class.\n */\n scheduledDate?: Date | null;\n /**\n * The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.\n * @min 1\n * @max 10000\n */\n numberOfParticipants?: number | null;\n /**\n * Date and time the service is to be ended, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * For example, the date and time a class will end.\n * @internal\n */\n endDate?: Date | null;\n}\n\nexport interface PriceDescription {\n /**\n * __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 100\n */\n original?: string;\n /**\n * Price description translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 100\n */\n translated?: string | null;\n}\n\n/** Selected Membership */\nexport interface SelectedMembership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * ID of the app providing this payment option.\n * @format GUID\n */\n appId?: string;\n}\n\nexport interface CatalogOverrideFields {\n /** Item name. */\n productName?: ProductName;\n /**\n * Item price **after** discounts.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n price?: string | null;\n /**\n * Item price **before** discounts.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n fullPrice?: string | null;\n /**\n * Item description lines. Used when displaying the line item to customers.\n * @maxSize 20\n */\n descriptionLines?: DescriptionLine[];\n /** Physical properties of the item. */\n physicalProperties?: PhysicalProperties;\n /** Item image. */\n image?: string;\n /** Payment method selected for the item. */\n paymentOption?: PaymentOption;\n /**\n * Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.\n * @format DECIMAL_VALUE\n * @decimalValue options { gt:0, lte:999999999, maxScale:3 }\n */\n depositAmount?: string | null;\n /**\n * Whether to save the payment method on the order.\n *\n * Default: `false`\n */\n savePaymentMethod?: boolean | null;\n /**\n * ID of the app managing the inventory.\n * @internal\n * @format GUID\n */\n inventoryAppId?: string | null;\n}\n\nexport interface PaymentOption {\n /**\n * Type of selected payment option for current item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n value?: PaymentOptionTypeWithLiterals;\n}\n\nexport interface TaxableAddress extends TaxableAddressTaxableAddressDataOneOf {\n /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n addressType?: TaxableAddressTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface TaxableAddressTaxableAddressDataOneOf {\n /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n addressType?: TaxableAddressTypeWithLiterals;\n}\n\nexport enum TaxableAddressType {\n UNKNOWN_TAXABLE_ADDRESS = 'UNKNOWN_TAXABLE_ADDRESS',\n BUSINESS = 'BUSINESS',\n BILLING = 'BILLING',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type TaxableAddressTypeWithLiterals =\n | TaxableAddressType\n | 'UNKNOWN_TAXABLE_ADDRESS'\n | 'BUSINESS'\n | 'BILLING'\n | 'SHIPPING';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface Policy {\n /**\n * Policy title - should be translated\n * @minLength 1\n * @maxLength 29\n */\n title?: string | null;\n /**\n * Policy content - should be translated\n * @minLength 1\n * @maxLength 3000\n */\n content?: string;\n}\n\nexport interface ModifierGroup {\n /**\n * Modifier group ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /** Modifier group name. */\n name?: TranslatableString;\n /**\n * List of modifiers in this group.\n * @minSize 1\n * @maxSize 25\n */\n modifiers?: ItemModifier[];\n}\n\nexport interface TranslatableString {\n /**\n * __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n *\n * Min: 1 character.\n * Max: 200 characters.\n * @minLength 1\n * @maxLength 200\n */\n original?: string;\n /**\n * String translated into the buyer's language.\n *\n * Min: 1 character.\n * Max: 400 characters.\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 400\n */\n translated?: string | null;\n}\n\nexport interface ItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /**\n * The quantity of this modifier.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n /** Primary display label for the modifier. */\n label?: TranslatableString;\n /** Additional details. */\n details?: TranslatableString;\n /** The price of the modifier. */\n price?: MultiCurrencyPrice;\n}\n\nexport interface PlatformFee {\n /** __Required.__ Platform fee name. */\n name?: TranslatableString;\n /** Platform fee charge type. */\n chargeType?: PlatformFeeChargeTypeWithLiterals;\n /**\n * Percentage rate charged as platform fee.\n *\n * The fee rate expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, lte:1, maxScale:4 }\n */\n percentageRate?: string;\n}\n\nexport enum PlatformFeeChargeType {\n UNKNOWN_CHARGE_TYPE = 'UNKNOWN_CHARGE_TYPE',\n /** The platform fee is passed on to the customer. */\n PASS_ON = 'PASS_ON',\n /** The platform fee is absorbed by the merchant. */\n ABSORBED = 'ABSORBED',\n}\n\n/** @enumType */\nexport type PlatformFeeChargeTypeWithLiterals =\n | PlatformFeeChargeType\n | 'UNKNOWN_CHARGE_TYPE'\n | 'PASS_ON'\n | 'ABSORBED';\n\n/** Buyer Info */\nexport interface BuyerInfo extends BuyerInfoIdOneOf {\n /**\n * Visitor ID. If the buyer is **not** a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Member ID. If the buyer is a site member.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * User ID. If the buyer, or cart owner, is a Wix user.\n * @format GUID\n * @readonly\n */\n userId?: string;\n /**\n * Contact ID. For more information, see the Contacts API.\n * @format GUID\n */\n contactId?: string | null;\n /**\n * Buyer email address.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/** @oneof */\nexport interface BuyerInfoIdOneOf {\n /**\n * Visitor ID. If the buyer is **not** a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Member ID. If the buyer is a site member.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * User ID. If the buyer, or cart owner, is a Wix user.\n * @format GUID\n * @readonly\n */\n userId?: string;\n}\n\nexport enum WeightUnit {\n /** Weight unit can't be classified due to an error. */\n UNSPECIFIED_WEIGHT_UNIT = 'UNSPECIFIED_WEIGHT_UNIT',\n /** Kilograms. */\n KG = 'KG',\n /** Pounds. */\n LB = 'LB',\n}\n\n/** @enumType */\nexport type WeightUnitWithLiterals =\n | WeightUnit\n | 'UNSPECIFIED_WEIGHT_UNIT'\n | 'KG'\n | 'LB';\n\nexport interface CartDiscount extends CartDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: Coupon;\n /** Merchant discount. */\n merchantDiscount?: MerchantDiscount;\n /**\n * Discount rule\n * @internal\n */\n discountRule?: DiscountRule;\n /**\n * Discount type.\n * @internal\n */\n discountType?: DiscountTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface CartDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: Coupon;\n /** Merchant discount. */\n merchantDiscount?: MerchantDiscount;\n /**\n * Discount rule\n * @internal\n */\n discountRule?: DiscountRule;\n}\n\nexport interface Coupon {\n /** Coupon ID. */\n _id?: string;\n /** Coupon code. */\n code?: string;\n /**\n * Coupon value.\n * @internal\n */\n amount?: MultiCurrencyPrice;\n}\n\nexport interface MerchantDiscount {\n /** Discount value. */\n amount?: MultiCurrencyPrice;\n}\n\nexport interface DiscountRule {\n /**\n * Discount rule ID\n * @format GUID\n */\n _id?: string;\n /** Discount rule name */\n name?: DiscountRuleName;\n /** Discount value. */\n amount?: MultiCurrencyPrice;\n}\n\nexport interface DiscountRuleName {\n /**\n * Original discount rule name (in site's default language).\n * @minLength 1\n * @maxLength 256\n */\n original?: string;\n /**\n * Translated discount rule name according to buyer language. Defaults to `original` when not provided.\n * @minLength 1\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport enum DiscountType {\n /** \"GLOBAL\" - discount applies to entire order. */\n GLOBAL = 'GLOBAL',\n /** \"SPECIFIC-ITEMS\" - discount applies to specific items. */\n SPECIFIC_ITEMS = 'SPECIFIC_ITEMS',\n /** \"SHIPPING\" - discount applies to shipping. For example, free shipping. */\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n | DiscountType\n | 'GLOBAL'\n | 'SPECIFIC_ITEMS'\n | 'SHIPPING';\n\n/** Billing Info and shipping details */\nexport interface AddressWithContact {\n /** Address. */\n address?: Address;\n /** Contact details. */\n contactDetails?: FullAddressContactDetails;\n}\n\n/** Physical address */\nexport interface Address {\n /**\n * Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.\n * @format COUNTRY\n */\n country?: string | null;\n /**\n * Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.\n * @maxLength 50\n */\n subdivision?: string | null;\n /**\n * City name.\n * @maxLength 50\n */\n city?: string | null;\n /**\n * Postal or zip code.\n * @maxLength 50\n */\n postalCode?: string | null;\n /** Street address. */\n streetAddress?: StreetAddress;\n /**\n * Main address line (usually street name and number).\n * @maxLength 150\n */\n addressLine1?: string | null;\n /**\n * Free text providing more detailed address info. Usually contains apt, suite, floor.\n * @maxLength 100\n */\n addressLine2?: string | null;\n /** Geocode object containing latitude and longitude coordinates. */\n location?: AddressLocation;\n /**\n * Country's full name.\n * @readonly\n */\n countryFullname?: string | null;\n /**\n * Subdivision full-name.\n * @readonly\n */\n subdivisionFullname?: string | null;\n}\n\nexport interface StreetAddress {\n /** Street number. */\n number?: string;\n /** Street name. */\n name?: string;\n}\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\n/** Full contact details for an address */\nexport interface FullAddressContactDetails {\n /**\n * First name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Company name.\n * @maxLength 1000\n */\n company?: string | null;\n /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n vatId?: VatId;\n}\n\nexport interface VatId {\n /** Customer's tax ID. */\n _id?: string;\n /**\n * Tax type.\n *\n * Supported values:\n * + `CPF`: for individual tax payers\n * + `CNPJ`: for corporations\n */\n type?: VatTypeWithLiterals;\n}\n\n/** tax info types */\nexport enum VatType {\n UNSPECIFIED = 'UNSPECIFIED',\n /** CPF - for individual tax payers. */\n CPF = 'CPF',\n /** CNPJ - for corporations */\n CNPJ = 'CNPJ',\n}\n\n/** @enumType */\nexport type VatTypeWithLiterals = VatType | 'UNSPECIFIED' | 'CPF' | 'CNPJ';\n\nexport interface SelectedShippingOption {\n /**\n * Carrier ID.\n * @format GUID\n */\n carrierId?: string | null;\n /**\n * Selected shipping option code. For example, \"usps_std_overnight\".\n * @minLength 1\n * @maxLength 100\n */\n code?: string;\n}\n\nexport interface GetCurrentCartRequest {}\n\nexport interface GetCurrentCartResponse {\n /** Current session's active cart. */\n cart?: Cart;\n}\n\nexport interface UpdateCartRequest {\n /** Cart info. */\n cartInfo?: Cart;\n /** Coupon code. For more information, see the Coupons API. */\n couponCode?: string | null;\n /**\n * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @maxSize 100\n * @deprecated Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @targetRemovalDate 2025-09-01\n */\n merchantDiscounts?: MerchantDiscountInput[];\n /**\n * Catalog line items.\n * @maxSize 300\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 300\n */\n customLineItems?: CustomLineItem[];\n}\n\nexport interface MerchantDiscountInput {\n /**\n * Discount amount.\n * @decimalValue options { gte:0 }\n */\n amount?: string;\n /**\n * IDs of line items the discount applies to.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport interface CustomLineItem {\n /**\n * Custom line item quantity.\n *\n * Min: `1`\n * Max: `100000`\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Custom line item price.\n *\n * Must be a number or a decimal without symbols.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n price?: string;\n /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n priceDescription?: PriceDescription;\n /**\n * Custom line item description lines. Used for display purposes for the cart, checkout and order.\n * @maxSize 10\n */\n descriptionLines?: DescriptionLine[];\n /**\n * Custom line item media.\n * + We only support images coming from Wix media manager, if you want to use an image from another source you must first upload it to [Wix Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) - `\"wix:image://v1/3c76e2_c53...4ea4~mv2.jpg#originWidth=1000&originHeight=1000\"`.\n */\n media?: string;\n /**\n * Deprecated. Custom line item ID.\n *\n * To maintain a unique value for a custom line item across multiple carts and orders, pass `catalogReference` instead.\n * Learn more about [custom items with catalog reference](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/catalogs/catalog-and-custom-items#custom-item-with-catalog-reference).\n * @format GUID\n * @readonly\n * @deprecated Deprecated. Custom line item ID.\n *\n * To maintain a unique value for a custom line item across multiple carts and orders, pass `catalogReference` instead.\n * Learn more about [custom items with catalog reference](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/catalogs/catalog-and-custom-items#custom-item-with-catalog-reference).\n * @targetRemovalDate 2026-05-01\n */\n _id?: string | null;\n /**\n * Tax group ID for this custom line item.\n * @format GUID\n */\n taxGroupId?: string | null;\n /** Name of the item or product. */\n productName?: ProductName;\n /** URL to the item's page on the site. When not provided, the link back from the cart page to the relevant product page will not work. */\n url?: string;\n /** Item type. Either a preset type or custom. */\n itemType?: ItemType;\n /**\n * Item price **before** catalog-defined discount. Defaults to `price` when not provided.\n * @format DECIMAL_VALUE\n */\n fullPrice?: string | null;\n /**\n * Item quantity available for purchase. Only return this if inventory is managed.\n * Not returning this field means that the buyer can \"infinitely\" tick up the number of items in the cart.\n * @max 100000\n */\n quantityAvailable?: number | null;\n /** Physical properties of the item. */\n physicalProperties?: PhysicalProperties;\n /**\n * Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\n *\n * + `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\n * + `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\n * + `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\n * + `DEPOSIT_ONLINE` - Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /**\n * Service properties. When relevant, this contains information such as date and number of participants.\n * Used, among other things, when checking for valid memberships.\n */\n serviceProperties?: ServiceProperties;\n /**\n * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n *\n * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n * + In most cases, this field is the same as `catalogReference.catalogItemId`.\n * + Used in membership validation.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n /**\n * Partial payment for the given item to be paid upfront during the checkout.\n *\n * Eligible for catalog items with type `DEPOSIT_ONLINE`.\n * When omitted, the item's price will not be split and is expected to be paid in a single installment.\n * @format DECIMAL_VALUE\n */\n depositAmount?: string | null;\n /**\n * Delivery profile ID.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n /** Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin. */\n catalogReference?: CatalogReference;\n /**\n * Whether the price is not yet defined, and will be updated after the order is created.\n *\n * Default: `false`\n */\n priceUndetermined?: boolean;\n /**\n * Whether the line item quantity is fixed and cannot be changed.\n *\n * Default: `false`\n */\n fixedQuantity?: boolean;\n /**\n * Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.\n * @minLength 1\n * @maxLength 1000\n * @readonly\n */\n consentRequiredPaymentPolicy?: string | null;\n /**\n * Whether to save the payment method on the order.\n *\n * Default: `false`\n * @readonly\n */\n savePaymentMethod?: boolean;\n /**\n * Policies to be displayed to the customer on the checkout page.\n * @maxSize 5\n */\n policies?: Policy[];\n /**\n * ID of the app managing the inventory.\n * @internal\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Whether the item can only be purchased by site members.\n *\n * Default: `false`\n */\n membersOnly?: boolean;\n /** Address to use for tax calculation purposes. */\n taxableAddress?: TaxableAddress;\n /**\n * Modifier groups that were added to the item.\n * @maxSize 25\n */\n modifierGroups?: V1ModifierGroup[];\n}\n\nexport interface V1ModifierGroup {\n /**\n * Modifier group ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /** Modifier group name. */\n name?: TranslatableString;\n /**\n * List of modifiers in this group.\n * @minSize 1\n * @maxSize 25\n */\n modifiers?: V1ItemModifier[];\n}\n\nexport interface V1ItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /**\n * The quantity of this modifier.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n /** Primary display label for the modifier. */\n label?: TranslatableString;\n /** Additional details. */\n details?: TranslatableString;\n /**\n * The price of the modifier.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n */\n price?: string | null;\n}\n\nexport interface UpdateCartResponse {\n /** Updated Cart. */\n cart?: Cart;\n}\n\nexport interface AddToCurrentCartRequest {\n /**\n * Catalog line items.\n * @maxSize 100\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 100\n */\n customLineItems?: CustomLineItem[];\n /**\n * Business location ID.\n * To update a cart's business location ID, use the UpdateCart method.\n * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\nexport interface AddToCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface AddToCurrentCartAndEstimateTotalsRequest {\n /**\n * Catalog line items.\n * @maxSize 100\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 100\n */\n customLineItems?: CustomLineItem[];\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /** The selected membership payment options and which line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n /**\n * Whether to calculate tax in the calculation request.\n *\n * Default: `true`\n */\n calculateTax?: boolean | null;\n /**\n * Whether to calculate shipping in the calculation request.\n *\n * Default: `true`\n */\n calculateShipping?: boolean | null;\n /**\n * Whether to calculate additional fees in the calculation request.\n *\n * Default: `true`\n */\n calculateAdditionalFees?: boolean | null;\n}\n\nexport interface SelectedMemberships {\n /**\n * Selected memberships.\n * @maxSize 300\n */\n memberships?: HostSelectedMembership[];\n}\n\nexport interface HostSelectedMembership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * ID of the app providing this payment option.\n * @format GUID\n */\n appId?: string;\n /**\n * IDs of the line items this membership applies to.\n * @minSize 1\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n}\n\nexport interface EstimateTotalsResponse {\n /** Cart. */\n cart?: Cart;\n /** Calculated line items. */\n calculatedLineItems?: CalculatedLineItem[];\n /** Price summary. */\n priceSummary?: PriceSummary;\n /** Applied gift card. */\n giftCard?: GiftCard;\n /** Tax summary. */\n taxSummary?: TaxSummary;\n /** Shipping information. */\n shippingInfo?: ShippingInformation;\n /** Applied discounts. */\n appliedDiscounts?: AppliedDiscount[];\n /** Calculation errors. */\n calculationErrors?: CalculationErrors;\n /** Weight measurement unit. Defaults to site's weight unit. */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * Currency used for pricing in this store.\n * @format CURRENCY\n */\n currency?: string;\n /**\n * Minimal amount to pay in order to place the order.\n * @readonly\n */\n payNow?: PriceSummary;\n /**\n * Remaining amount for the order to be fully paid.\n * @readonly\n */\n payLater?: PriceSummary;\n /** Information about valid and invalid memberships, and which ones are selected for usage. */\n membershipOptions?: MembershipOptions;\n /**\n * Additional fees.\n * @maxSize 100\n */\n additionalFees?: AdditionalFee[];\n /**\n * List of validation violations raised by the [Validations service plugin](https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/validations-integration-service-plugin/introduction).\n * @readonly\n */\n violations?: Violation[];\n /**\n * Payment for subscriptions after free trial period.\n * @internal\n * @readonly\n */\n payAfterFreeTrial?: PriceSummary;\n}\n\nexport interface CalculatedLineItem {\n /** Line item ID. */\n lineItemId?: string;\n /** Price breakdown for this line item. */\n pricesBreakdown?: LineItemPricesData;\n /**\n * Type of selected payment option for current item. Supported values:\n * + `\"FULL_PAYMENT_ONLINE\"` - The entire payment for this item will happen as part of the checkout\n * + `\"FULL_PAYMENT_OFFLINE\"` - The entire payment for this item will happen after the checkout\n * + `\"MEMBERSHIP\"` - This item cannot be paid via monetary payment options, only via non monetary option such membership. When this option is used, price must be set to 0\n * + `\"DEPOSIT_ONLINE\"` - Partial payment of the given item will happen as part of the checkout. Amount to be paid is defined by deposit_amount field.\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /** tax calculation address. */\n taxableAddress?: TaxableAddress;\n /**\n * Calculated modifiers.\n * @internal\n * @maxSize 625\n */\n modifiers?: CalculatedItemModifier[];\n}\n\nexport interface LineItemPricesData {\n /** Total price after discounts, tax, and modifiers. */\n totalPriceAfterTax?: MultiCurrencyPrice;\n /** Total price after discounts and modifiers, and before tax. */\n totalPriceBeforeTax?: MultiCurrencyPrice;\n /** Tax details. */\n taxDetails?: ItemTaxFullDetails;\n /** Total discount applied for the line item. */\n totalDiscount?: MultiCurrencyPrice;\n /** Catalog price after catalog-defined discount, automatic discounts, and modifiers. */\n price?: MultiCurrencyPrice;\n /**\n * Item price before automatic discounts, coupons, and global discounts; after catalog-defined discounts and modifiers.\n * Defaults to `price` when not provided.\n */\n priceBeforeDiscounts?: MultiCurrencyPrice;\n /** Total line item price after catalog-defined discounts, automatic discounts, and modifiers. */\n lineItemPrice?: MultiCurrencyPrice;\n /**\n * Item price before all discounts and modifiers.\n * Defaults to `price` when not provided.\n */\n fullPrice?: MultiCurrencyPrice;\n /**\n * Total price of all item modifiers.\n * @internal\n */\n modifiers?: MultiCurrencyPrice;\n /**\n * Item price before tax, automatic discounts, coupons, and global discounts; after catalog-defined discounts and modifiers.\n * @internal\n */\n priceBeforeDiscountsAndTax?: MultiCurrencyPrice;\n /**\n * Partial payment to be paid upfront during the checkout.\n * Applies to catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.\n */\n depositAmount?: MultiCurrencyPrice;\n}\n\nexport interface ItemTaxFullDetails {\n /** Amount for which tax is calculated. */\n taxableAmount?: MultiCurrencyPrice;\n /**\n * Tax rate %, as a decimal point between 0 and 1.\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n */\n taxRate?: string;\n /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n totalTax?: MultiCurrencyPrice;\n /**\n * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.\n * @readonly\n * @deprecated\n */\n rateBreakdown?: TaxRateBreakdown[];\n /**\n * The amount of this line item that was exempt.\n * @internal\n */\n exemptAmount?: MultiCurrencyPrice;\n /**\n * tax information for a line item.\n * @maxSize 1000\n * @readonly\n */\n taxBreakdown?: TaxBreakdown[];\n}\n\nexport interface TaxRateBreakdown {\n /**\n * Name of tax against which the calculation was performed.\n * @maxLength 100\n */\n name?: string;\n /**\n * Rate at which this tax detail was calculated.\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n */\n rate?: string;\n /** Amount of tax for this tax detail. */\n tax?: MultiCurrencyPrice;\n /**\n * The amount of this line item that was exempt from this authority.\n * @internal\n */\n exemptAmount?: MultiCurrencyPrice;\n}\n\n/**\n * TaxBreakdown represents tax information for a line item.\n * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n */\nexport interface TaxBreakdown {\n /**\n * The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\".\n * @maxLength 200\n */\n jurisdiction?: string | null;\n /** The amount of this line item price that was considered nontaxable. (Decimal value) */\n nonTaxableAmount?: MultiCurrencyPrice;\n /**\n * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value)\n * @decimalValue options { gte:0, maxScale:6 }\n */\n rate?: string | null;\n /** The amount of tax estimated for this line item. (Decimal value) */\n taxAmount?: MultiCurrencyPrice;\n /** The taxable amount of this line item. */\n taxableAmount?: MultiCurrencyPrice;\n /**\n * The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.\n * @maxLength 200\n */\n taxType?: string | null;\n /**\n * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n * @maxLength 200\n */\n taxName?: string | null;\n /** The type of the jurisdiction in which this tax detail applies. */\n jurisdictionType?: JurisdictionTypeWithLiterals;\n /**\n * The amount of this line item that was exempt from this authority.\n * @internal\n */\n exemptAmount?: MultiCurrencyPrice;\n}\n\n/** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\nexport enum JurisdictionType {\n UNDEFINED = 'UNDEFINED',\n COUNTRY = 'COUNTRY',\n STATE = 'STATE',\n COUNTY = 'COUNTY',\n CITY = 'CITY',\n SPECIAL = 'SPECIAL',\n}\n\n/** @enumType */\nexport type JurisdictionTypeWithLiterals =\n | JurisdictionType\n | 'UNDEFINED'\n | 'COUNTRY'\n | 'STATE'\n | 'COUNTY'\n | 'CITY'\n | 'SPECIAL';\n\nexport interface CalculatedItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /**\n * ID of the group this modifier belongs to.\n * @minLength 1\n * @maxLength 36\n */\n groupId?: string;\n /**\n * Modifier price.\n * @readonly\n */\n price?: MultiCurrencyPrice;\n}\n\nexport interface PriceSummary {\n /** Subtotal of all line items, before discounts and before tax. */\n subtotal?: MultiCurrencyPrice;\n /** Total shipping price, before discounts and before tax. */\n shipping?: MultiCurrencyPrice;\n /** Total tax. */\n tax?: MultiCurrencyPrice;\n /** Total calculated discount value. */\n discount?: MultiCurrencyPrice;\n /** Total price after discounts, gift cards, and tax. */\n total?: MultiCurrencyPrice;\n /** Total additional fees price before tax. */\n additionalFees?: MultiCurrencyPrice;\n}\n\nexport interface GiftCard {\n /**\n * Gift Card ID.\n * @deprecated\n */\n _id?: string;\n /** Gift card obfuscated code. */\n obfuscatedCode?: string;\n /** Actual amount to be redeemed from the gift card. */\n amount?: MultiCurrencyPrice;\n /**\n * App ID of the gift card provider.\n * @format GUID\n */\n appId?: string;\n /**\n * External ID in the gift card provider's system.\n * Used for integration and tracking across different platforms.\n * @minLength 1\n * @maxLength 50\n */\n externalId?: string | null;\n /** Requested amount to redeem from the gift card. */\n requestedAmount?: MultiCurrencyPrice;\n}\n\nexport interface TaxSummary {\n /**\n * Amount for which tax is calculated, added from line items.\n * @readonly\n */\n taxableAmount?: MultiCurrencyPrice;\n /**\n * Calculated tax, added from line items.\n * @readonly\n */\n totalTax?: MultiCurrencyPrice;\n /**\n * Tax calculator that was active when the order was created.\n * @deprecated\n */\n calculationDetails?: TaxCalculationDetails;\n /**\n * The amount of this estimate that was exempt (for all line items).\n * @internal\n * @readonly\n */\n totalExempt?: MultiCurrencyPrice;\n /**\n * Default name of the tax that was calculated.\n * @internal\n * @maxLength 200\n */\n taxName?: string | null;\n}\n\nexport interface TaxCalculationDetails\n extends TaxCalculationDetailsCalculationDetailsOneOf {\n /** Reason the manual calculation was used. */\n manualRateReason?: ManualCalculationReasonWithLiterals;\n /** Details of the fallback rate calculation. */\n autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;\n /** Rate calculation type. */\n rateType?: RateTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface TaxCalculationDetailsCalculationDetailsOneOf {\n /** Reason the manual calculation was used. */\n manualRateReason?: ManualCalculationReasonWithLiterals;\n /** Details of the fallback rate calculation. */\n autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;\n}\n\nexport enum RateType {\n /** no tax being collected for this request due to location of purchase */\n NO_TAX_COLLECTED = 'NO_TAX_COLLECTED',\n /** manual rate used for calculation */\n MANUAL_RATE = 'MANUAL_RATE',\n /** autotax rate used for calculation */\n AUTO_RATE = 'AUTO_RATE',\n /** fallback rate used for calculation */\n FALLBACK_RATE = 'FALLBACK_RATE',\n}\n\n/** @enumType */\nexport type RateTypeWithLiterals =\n | RateType\n | 'NO_TAX_COLLECTED'\n | 'MANUAL_RATE'\n | 'AUTO_RATE'\n | 'FALLBACK_RATE';\n\nexport enum ManualCalculationReason {\n /** user set calculator in Business Manager to be Manual */\n GLOBAL_SETTING_TO_MANUAL = 'GLOBAL_SETTING_TO_MANUAL',\n /** specific region is on manual even though Global setting is Auto-tax */\n REGION_SETTING_TO_MANUAL = 'REGION_SETTING_TO_MANUAL',\n}\n\n/** @enumType */\nexport type ManualCalculationReasonWithLiterals =\n | ManualCalculationReason\n | 'GLOBAL_SETTING_TO_MANUAL'\n | 'REGION_SETTING_TO_MANUAL';\n\nexport interface AutoTaxFallbackCalculationDetails {\n /** reason for fallback */\n fallbackReason?: FallbackReasonWithLiterals;\n /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */\n error?: ApplicationError;\n}\n\nexport enum FallbackReason {\n /** auto-tax failed to be calculated */\n AUTO_TAX_FAILED = 'AUTO_TAX_FAILED',\n /** auto-tax was temporarily deactivated on a system-level */\n AUTO_TAX_DEACTIVATED = 'AUTO_TAX_DEACTIVATED',\n}\n\n/** @enumType */\nexport type FallbackReasonWithLiterals =\n | FallbackReason\n | 'AUTO_TAX_FAILED'\n | 'AUTO_TAX_DEACTIVATED';\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\n/**\n * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n */\nexport interface AggregatedTaxBreakdown {\n /**\n * The name of the tax against which this tax amount was calculated.\n * @maxLength 200\n */\n taxName?: string;\n /**\n * The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws.\n * @maxLength 200\n */\n taxType?: string;\n /**\n * The name of the jurisdiction in which this tax detail applies.\n * @maxLength 200\n */\n jurisdiction?: string;\n /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n jurisdictionTypeEnum?: JurisdictionTypeWithLiterals;\n /**\n * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value)\n * @decimalValue options { gte:0, maxScale:6 }\n */\n rate?: string;\n /** The sum of all the tax from line items that calculated by the tax identifiers. */\n aggregatedTaxAmount?: MultiCurrencyPrice;\n /** The sum of all the taxable amount from line items for tax identifiers. */\n aggregatedTaxableAmount?: MultiCurrencyPrice;\n /**\n * The aggregated exempt amount from all line items for tax identifiers.\n * @internal\n */\n aggregatedExemptAmount?: MultiCurrencyPrice;\n}\n\nexport interface ShippingInformation {\n /** Shipping region. */\n region?: ShippingRegion;\n /** Selected shipping option. */\n selectedCarrierServiceOption?: SelectedCarrierServiceOption;\n /** All shipping options. */\n carrierServiceOptions?: CarrierServiceOption[];\n}\n\nexport interface ShippingRegion {\n /**\n * Shipping region ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Shipping region name.\n * @maxLength 100\n */\n name?: string;\n}\n\nexport interface SelectedCarrierServiceOption {\n /**\n * Unique identifier of selected option. For example, \"usps_std_overnight\".\n * @maxLength 100\n */\n code?: string;\n /**\n * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n * For example, \"Standard\" or \"First-Class Package International\".\n * @maxLength 250\n * @readonly\n */\n title?: string;\n /**\n * Delivery logistics.\n * @readonly\n */\n logistics?: DeliveryLogistics;\n /**\n * Shipping costs.\n * @readonly\n */\n cost?: SelectedCarrierServiceOptionPrices;\n /**\n * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)\n * @readonly\n */\n requestedShippingOption?: boolean;\n /**\n * Other charges\n * @deprecated Other charges\n * @replacedBy additional_fees\n * @targetRemovalDate 2025-10-01\n */\n otherCharges?: SelectedCarrierServiceOptionOtherCharge[];\n /**\n * This carrier's unique ID\n * @format GUID\n */\n carrierId?: string | null;\n /**\n * Delivery solution allocations to different delivery carriers and delivery regions\n * @maxSize 300\n */\n deliveryAllocations?: DeliveryAllocation[];\n /** If the delivery solution is a partial and doesn't apply to all items. */\n partial?: boolean | null;\n}\n\nexport interface DeliveryLogistics {\n /**\n * Expected delivery time, in free text. For example, \"3-5 business days\".\n * @maxLength 500\n */\n deliveryTime?: string | null;\n /**\n * Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don't park in disabled parking spot\".\n * @maxLength 1000\n */\n instructions?: string | null;\n /** Pickup details. */\n pickupDetails?: PickupDetails;\n}\n\nexport interface PickupDetails {\n /** Pickup address. */\n address?: Address;\n /**\n * Whether the pickup address is that of a business - this may effect tax calculation.\n * @deprecated\n */\n businessLocation?: boolean;\n /** Pickup method */\n pickupMethod?: PickupMethodWithLiterals;\n}\n\nexport enum PickupMethod {\n UNKNOWN_METHOD = 'UNKNOWN_METHOD',\n STORE_PICKUP = 'STORE_PICKUP',\n PICKUP_POINT = 'PICKUP_POINT',\n}\n\n/** @enumType */\nexport type PickupMethodWithLiterals =\n | PickupMethod\n | 'UNKNOWN_METHOD'\n | 'STORE_PICKUP'\n | 'PICKUP_POINT';\n\nexport interface DeliveryTimeSlot {\n /** starting time of the delivery time slot */\n from?: Date | null;\n /** ending time of the delivery time slot */\n to?: Date | null;\n}\n\nexport interface SelectedCarrierServiceOptionPrices {\n /** Total shipping price, after discount and after tax. */\n totalPriceAfterTax?: MultiCurrencyPrice;\n /** Total price of shipping after discounts (when relevant), and before tax. */\n totalPriceBeforeTax?: MultiCurrencyPrice;\n /** Tax details. */\n taxDetails?: ItemTaxFullDetails;\n /** Shipping discount before tax. */\n totalDiscount?: MultiCurrencyPrice;\n /** Shipping price before discount and before tax. */\n price?: MultiCurrencyPrice;\n}\n\nexport interface SelectedCarrierServiceOptionOtherCharge {\n /** Type of additional cost. */\n type?: ChargeTypeWithLiterals;\n /**\n * Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'.\n * @maxLength 200\n */\n details?: string | null;\n /** Price of added charge. */\n cost?: SelectedCarrierServiceOptionPrices;\n}\n\nexport enum ChargeType {\n HANDLING_FEE = 'HANDLING_FEE',\n INSURANCE = 'INSURANCE',\n}\n\n/** @enumType */\nexport type ChargeTypeWithLiterals = ChargeType | 'HANDLING_FEE' | 'INSURANCE';\n\nexport interface DeliveryAllocation {\n /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n deliveryCarrier?: Carrier;\n /** The delivery region that are relevant for this delivery solution. */\n deliveryRegion?: Region;\n /** Populated if the delivery solution is a partially supplied by this carrier. */\n applicableLineItems?: ApplicableLineItems;\n}\n\nexport interface Carrier {\n /**\n * The carrier app id\n * @format GUID\n */\n appId?: string | null;\n /**\n * Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`.\n * @maxLength 250\n */\n code?: string;\n}\n\nexport interface Region {\n /**\n * The delivery region id.\n * @format GUID\n */\n _id?: string | null;\n /**\n * The delivery region name.\n * @maxLength 100\n */\n name?: string | null;\n}\n\nexport interface ApplicableLineItems {\n /**\n * Line items that the delivery solution is for.\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n}\n\nexport interface CarrierServiceOption {\n /**\n * Carrier ID.\n * @format GUID\n */\n carrierId?: string;\n /** Shipping options offered by this carrier for this request. */\n shippingOptions?: ShippingOption[];\n}\n\nexport interface ShippingOption {\n /**\n * Unique code of provided shipping option like \"usps_std_overnight\".\n * For legacy calculators this would be the UUID of the option.\n * @maxLength 100\n */\n code?: string;\n /**\n * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n * For example, \"Standard\" or \"First-Class Package International\".\n * @maxLength 250\n */\n title?: string;\n /** Delivery logistics. */\n logistics?: DeliveryLogistics;\n /** Sipping price information. */\n cost?: ShippingPrice;\n /**\n * Delivery solution allocations to different delivery carriers and delivery regions\n * @maxSize 300\n */\n deliveryAllocations?: DeliveryAllocation[];\n /** If the delivery solution is a partial and doesn't apply to all items. */\n partial?: boolean | null;\n}\n\nexport interface ShippingPrice {\n /** Shipping price. */\n price?: MultiCurrencyPrice;\n /** Other costs such as insurance, handling & packaging for fragile items, etc. */\n otherCharges?: OtherCharge[];\n}\n\nexport interface OtherCharge {\n /** Type of additional cost. */\n type?: ChargeTypeWithLiterals;\n /** Price of added cost. */\n price?: MultiCurrencyPrice;\n /**\n * Description of the additional charge. For example, `\"Handling fee of $5 applied for gift wrapping\"`.\n * @maxLength 250\n */\n details?: string | null;\n}\n\nexport interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: V1Coupon;\n /** Merchant discount. */\n merchantDiscount?: V1MerchantDiscount;\n /** Discount rule */\n discountRule?: V1DiscountRule;\n /** Discount type. */\n discountType?: AppliedDiscountDiscountTypeWithLiterals;\n /**\n * IDs of line items the discount applies to.\n * @format GUID\n * @deprecated IDs of line items the discount applies to.\n * @replacedBy line_items_discounts\n * @targetRemovalDate 2025-12-31\n */\n lineItemIds?: string[];\n /**\n * Number of subscription cycle this discount applies to\n * default None - all billing cycle\n * @internal\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /**\n * A list of item combinations for this applied discount.\n * Each entry represents a unique combination of line items that triggered\n * or received this discount, along with how many times that combination was applied together.\n * Relevant ONLY for BXGY and Quantity-based promotions.\n * In BXGY the combination will contain the \"X\" items with discount amount of 0.\n * @internal\n * @maxSize 1000\n */\n itemCombinations?: ItemCombination[];\n}\n\n/** @oneof */\nexport interface AppliedDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: V1Coupon;\n /** Merchant discount. */\n merchantDiscount?: V1MerchantDiscount;\n /** Discount rule */\n discountRule?: V1DiscountRule;\n}\n\nexport enum AppliedDiscountDiscountType {\n GLOBAL = 'GLOBAL',\n SPECIFIC_ITEMS = 'SPECIFIC_ITEMS',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type AppliedDiscountDiscountTypeWithLiterals =\n | AppliedDiscountDiscountType\n | 'GLOBAL'\n | 'SPECIFIC_ITEMS'\n | 'SHIPPING';\n\n/** Coupon */\nexport interface V1Coupon {\n /** Coupon ID. */\n _id?: string;\n /** Coupon code. */\n code?: string;\n /** Coupon value. */\n amount?: MultiCurrencyPrice;\n /** Coupon name. */\n name?: string;\n}\n\nexport interface V1MerchantDiscount {\n /** Discount value. */\n amount?: MultiCurrencyPrice;\n /**\n * Discount Percentage. Will be calculated from items price before other discounts.\n * @min 1\n * @max 100\n */\n percentage?: number | null;\n}\n\nexport interface V1DiscountRule {\n /**\n * Discount rule ID\n * @format GUID\n */\n _id?: string;\n /** Discount rule name */\n name?: V1DiscountRuleName;\n /** Discount value. */\n amount?: MultiCurrencyPrice;\n}\n\nexport interface V1DiscountRuleName {\n /**\n * Original discount rule name (in site's default language).\n * @minLength 1\n * @maxLength 256\n */\n original?: string;\n /**\n * Translated discount rule name according to buyer language. Defaults to `original` when not provided.\n * @minLength 1\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface LineItemDiscount {\n /**\n * ID of line item the discount applies to.\n * @format GUID\n */\n _id?: string;\n /** Discount value. */\n totalDiscountAmount?: MultiCurrencyPrice;\n}\n\nexport interface ItemCombination {\n /**\n * The number of times this exact combination of items (with the specified quantities) was applied together in the order.\n * @min 1\n * @max 100000\n */\n count?: number;\n /**\n * Line items that participated together in this combination.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: ItemCombinationLineItem[];\n}\n\nexport interface ItemCombinationLineItem {\n /**\n * The unique ID of the line item to which this discount applies.\n * @format GUID\n */\n lineItemId?: string;\n /** Total discount amount for all units (quantity) of this line item in this combination. */\n discountAmount?: MultiCurrencyPrice;\n /**\n * Number of units from this line item that participated in a single combination.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n}\n\nexport interface CalculationErrors\n extends CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Carrier errors. */\n carrierErrors?: CarrierErrors;\n /** Tax calculation error. */\n taxCalculationError?: Details;\n /** Coupon calculation error. */\n couponCalculationError?: Details;\n /** Gift card calculation error. */\n giftCardCalculationError?: Details;\n /** Order validation errors. */\n orderValidationErrors?: ApplicationError[];\n /**\n * Membership payment methods calculation errors\n * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid\n */\n membershipError?: Details;\n /** Discount Rule calculation error. */\n discountsCalculationError?: Details;\n}\n\n/** @oneof */\nexport interface CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Carrier errors. */\n carrierErrors?: CarrierErrors;\n}\n\nexport interface Details extends DetailsKindOneOf {\n applicationError?: ApplicationError;\n validationError?: ValidationError;\n systemError?: SystemError;\n /**\n * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n * @deprecated\n */\n tracing?: Record<string, string>;\n}\n\n/** @oneof */\nexport interface DetailsKindOneOf {\n applicationError?: ApplicationError;\n validationError?: ValidationError;\n systemError?: SystemError;\n}\n\n/**\n * example result:\n * {\n * \"fieldViolations\": [\n * {\n * \"field\": \"fieldA\",\n * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n * \"violatedRule\": \"OTHER\",\n * \"ruleName\": \"INVALID_NOTE\",\n * \"data\": {\n * \"value\": \"FI\"\n * }\n * },\n * {\n * \"field\": \"fieldB\",\n * \"description\": \"field value out of range. supported range: [0-20]\",\n * \"violatedRule\": \"MAX\",\n * \"data\": {\n * \"threshold\": 20\n * }\n * },\n * {\n * \"field\": \"fieldC\",\n * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n * \"violatedRule\": \"FORMAT\",\n * \"data\": {\n * \"type\": \"PHONE\"\n * }\n * }\n * ]\n * }\n */\nexport interface ValidationError {\n fieldViolations?: FieldViolation[];\n}\n\nexport enum RuleType {\n VALIDATION = 'VALIDATION',\n OTHER = 'OTHER',\n MAX = 'MAX',\n MIN = 'MIN',\n MAX_LENGTH = 'MAX_LENGTH',\n MIN_LENGTH = 'MIN_LENGTH',\n MAX_SIZE = 'MAX_SIZE',\n MIN_SIZE = 'MIN_SIZE',\n FORMAT = 'FORMAT',\n DECIMAL_LTE = 'DECIMAL_LTE',\n DECIMAL_GTE = 'DECIMAL_GTE',\n DECIMAL_LT = 'DECIMAL_LT',\n DECIMAL_GT = 'DECIMAL_GT',\n DECIMAL_MAX_SCALE = 'DECIMAL_MAX_SCALE',\n INVALID_ENUM_VALUE = 'INVALID_ENUM_VALUE',\n REQUIRED_FIELD = 'REQUIRED_FIELD',\n FIELD_NOT_ALLOWED = 'FIELD_NOT_ALLOWED',\n ONE_OF_ALIGNMENT = 'ONE_OF_ALIGNMENT',\n EXACT_LENGTH = 'EXACT_LENGTH',\n EXACT_SIZE = 'EXACT_SIZE',\n REQUIRED_ONE_OF_FIELD = 'REQUIRED_ONE_OF_FIELD',\n}\n\n/** @enumType */\nexport type RuleTypeWithLiterals =\n | RuleType\n | 'VALIDATION'\n | 'OTHER'\n | 'MAX'\n | 'MIN'\n | 'MAX_LENGTH'\n | 'MIN_LENGTH'\n | 'MAX_SIZE'\n | 'MIN_SIZE'\n | 'FORMAT'\n | 'DECIMAL_LTE'\n | 'DECIMAL_GTE'\n | 'DECIMAL_LT'\n | 'DECIMAL_GT'\n | 'DECIMAL_MAX_SCALE'\n | 'INVALID_ENUM_VALUE'\n | 'REQUIRED_FIELD'\n | 'FIELD_NOT_ALLOWED'\n | 'ONE_OF_ALIGNMENT'\n | 'EXACT_LENGTH'\n | 'EXACT_SIZE'\n | 'REQUIRED_ONE_OF_FIELD';\n\nexport interface FieldViolation {\n field?: string;\n description?: string;\n violatedRule?: RuleTypeWithLiterals;\n /** applicable when violated_rule=OTHER */\n ruleName?: string | null;\n data?: Record<string, any> | null;\n}\n\nexport interface SystemError {\n /** Error code. */\n errorCode?: string | null;\n}\n\nexport interface CarrierErrors {\n /** Carrier errors. */\n errors?: CarrierError[];\n}\n\nexport interface CarrierError {\n /** Carrier ID. */\n carrierId?: string;\n /** Error details. */\n error?: Details;\n}\n\nexport interface MembershipOptions {\n /**\n * List of payment options that can be used.\n * @maxSize 300\n */\n eligibleMemberships?: Membership[];\n /**\n * List of payment options that are owned by the member, but cannot be used due to reason provided.\n * @maxSize 300\n */\n invalidMemberships?: InvalidMembership[];\n /**\n * The selected membership payment options and which line items they apply to.\n * @maxSize 300\n */\n selectedMemberships?: HostSelectedMembership[];\n}\n\nexport interface Membership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * ID of the application providing this payment option.\n * @format GUID\n */\n appId?: string;\n /** The name of this membership. */\n name?: MembershipName;\n /**\n * Line item IDs which are \"paid\" for by this membership.\n * @minSize 1\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n /** Optional - For a membership that has limited credits, information about credit usage. */\n credits?: MembershipPaymentCredits;\n /** Optional - TMembership expiry date. */\n expirationDate?: Date | null;\n /** Additional data about this membership. */\n additionalData?: Record<string, any> | null;\n}\n\nexport interface MembershipName {\n /**\n * Membership name.\n * @maxLength 100\n */\n original?: string;\n /**\n * Translated membership name. Defaults to `original` when not provided.\n * @maxLength 100\n */\n translated?: string | null;\n}\n\nexport interface MembershipPaymentCredits {\n /**\n * Membership's initial value.\n * @min 1\n */\n total?: number;\n /** Membership's remaining value. */\n remaining?: number;\n /**\n * The amount to be deducted from the `remaining` balance.\n * @internal\n * @min 1\n */\n redemptionCost?: number;\n /**\n * Membership's balance type.\n * @internal\n */\n balanceType?: BalanceTypeWithLiterals;\n}\n\nexport enum BalanceType {\n /** Balance is measured in discrete uses (e.g., sessions, visits). */\n PUNCH_CARD = 'PUNCH_CARD',\n /** Balance is measured in a currency-like value (e.g., points). */\n CREDIT = 'CREDIT',\n}\n\n/** @enumType */\nexport type BalanceTypeWithLiterals = BalanceType | 'PUNCH_CARD' | 'CREDIT';\n\nexport interface InvalidMembership {\n /** Membership details. */\n membership?: Membership;\n /**\n * Reason why this membership is invalid and cannot be used.\n * @minLength 1\n * @maxLength 100\n */\n reason?: string;\n}\n\nexport interface AdditionalFee {\n /**\n * Additional fee's unique code (or ID) for future processing.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /**\n * Translated additional fee's name.\n * @minLength 1\n * @maxLength 50\n */\n name?: string;\n /** Additional fee's price. */\n price?: MultiCurrencyPrice;\n /** Tax details. */\n taxDetails?: ItemTaxFullDetails;\n /**\n * Provider's app id.\n * @minLength 1\n * @maxLength 100\n */\n providerAppId?: string | null;\n /** Additional fee's price before tax. */\n priceBeforeTax?: MultiCurrencyPrice;\n /** Additional fee's price after tax. */\n priceAfterTax?: MultiCurrencyPrice;\n /**\n * Optional - Line items associated with this additional fee.\n * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n * @format GUID\n */\n lineItemIds?: string[];\n /**\n * Number of subscription cycle this fee applies to\n * default None - all billing cycle\n * @internal\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /** the source the additional fee was added from */\n source?: AdditionalFeeSourceWithLiterals;\n /**\n * The translated name of the additional fee. The translation language is determined by the `languages` field in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 50\n */\n translatedName?: string | null;\n}\n\nexport enum AdditionalFeeSource {\n UNKNOWN_ADDITIONAL_FEE_SOURCE = 'UNKNOWN_ADDITIONAL_FEE_SOURCE',\n /** The additional fee was added by an additional fee service plugin */\n SERVICE_PLUGIN = 'SERVICE_PLUGIN',\n /** The additional fee was added on the item either via the catalog or on custom line item */\n ITEM = 'ITEM',\n /** The additional fee was added manually on the request */\n MANUAL = 'MANUAL',\n /** The additional fee was added by the shipping provider */\n SHIPPING = 'SHIPPING',\n /** The additional fee was added by a Wix vertical and represents a Wix platform fee */\n PLATFORM = 'PLATFORM',\n}\n\n/** @enumType */\nexport type AdditionalFeeSourceWithLiterals =\n | AdditionalFeeSource\n | 'UNKNOWN_ADDITIONAL_FEE_SOURCE'\n | 'SERVICE_PLUGIN'\n | 'ITEM'\n | 'MANUAL'\n | 'SHIPPING'\n | 'PLATFORM';\n\nexport interface Violation {\n /** Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow. */\n severity?: SeverityWithLiterals;\n /** Target location on a checkout or cart page where the violation will be displayed. */\n target?: Target;\n /**\n * Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `<a href=\"https://www.wix.com\">Click me</a>`.\n * @minLength 1\n * @maxLength 1000\n */\n description?: string | null;\n}\n\nexport enum Severity {\n /** The user is allowed to move forward in the flow. */\n WARNING = 'WARNING',\n /**\n * The user is blocked from moving forward in the flow.\n * For example, if callerContext is CART - moving to checkout is blocked. if callerContext is CHECKOUT, placing an order is blocked.\n */\n ERROR = 'ERROR',\n}\n\n/** @enumType */\nexport type SeverityWithLiterals = Severity | 'WARNING' | 'ERROR';\n\nexport interface Target extends TargetTargetTypeOneOf {\n /** General (other) violation. */\n other?: Other;\n /** Specific line item violation. */\n lineItem?: TargetLineItem;\n}\n\n/** @oneof */\nexport interface TargetTargetTypeOneOf {\n /** General (other) violation. */\n other?: Other;\n /** Specific line item violation. */\n lineItem?: TargetLineItem;\n}\n\n/** Available locations on the webpage */\nexport enum NameInOther {\n /** Default location, in case no specific location is specified. */\n OTHER_DEFAULT = 'OTHER_DEFAULT',\n}\n\n/** @enumType */\nexport type NameInOtherWithLiterals = NameInOther | 'OTHER_DEFAULT';\n\n/** Available locations on the line item */\nexport enum NameInLineItem {\n /** Default location, in case no specific location is specified. */\n LINE_ITEM_DEFAULT = 'LINE_ITEM_DEFAULT',\n}\n\n/** @enumType */\nexport type NameInLineItemWithLiterals = NameInLineItem | 'LINE_ITEM_DEFAULT';\n\nexport enum SuggestedFix {\n /** No suggested fix is specified. The user should refer to the violation description to resolve the issue. */\n UNKNOWN_SUGGESTED_FIX = 'UNKNOWN_SUGGESTED_FIX',\n /** The line item should be removed from the cart or checkout to resolve the violation. */\n REMOVE_LINE_ITEM = 'REMOVE_LINE_ITEM',\n}\n\n/** @enumType */\nexport type SuggestedFixWithLiterals =\n | SuggestedFix\n | 'UNKNOWN_SUGGESTED_FIX'\n | 'REMOVE_LINE_ITEM';\n\n/** General (other) violation. */\nexport interface Other {\n /** Location on a checkout or a cart page where a general (other) violation will be displayed. */\n name?: NameInOtherWithLiterals;\n}\n\n/** Specific line item violation. */\nexport interface TargetLineItem {\n /** Location on a checkout or a cart page where the specific line item violation will be displayed. */\n name?: NameInLineItemWithLiterals;\n /** ID of the line item containing the violation. */\n _id?: string | null;\n /**\n * Suggested fix for resolving the line item violation.\n * @internal\n */\n suggestedFix?: SuggestedFixWithLiterals;\n}\n\nexport interface RemoveLineItemsFromCurrentCartRequest {\n /**\n * Line item IDs to remove from cart.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n lineItemIds?: string[];\n}\n\nexport interface RemoveLineItemsResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface CreateCheckoutFromCurrentCartRequest {\n /** __Required.__ Sales channel type. */\n channelType?: ChannelTypeWithLiterals;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /**\n * Required when setting billing or shipping address and user is not logged in.\n * @format EMAIL\n */\n email?: string | null;\n}\n\nexport enum ChannelType {\n /** Unspecified sales channel. This value is not supported. */\n UNSPECIFIED = 'UNSPECIFIED',\n /** A web client. */\n WEB = 'WEB',\n /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n POS = 'POS',\n /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n EBAY = 'EBAY',\n /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n AMAZON = 'AMAZON',\n /** Other sales platform. */\n OTHER_PLATFORM = 'OTHER_PLATFORM',\n /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n WIX_APP_STORE = 'WIX_APP_STORE',\n /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n WIX_INVOICES = 'WIX_INVOICES',\n /** Wix merchant backoffice. */\n BACKOFFICE_MERCHANT = 'BACKOFFICE_MERCHANT',\n /** Wish sales channel. */\n WISH = 'WISH',\n /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n CLASS_PASS = 'CLASS_PASS',\n /** Global-E sales channel. */\n GLOBAL_E = 'GLOBAL_E',\n /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n FACEBOOK = 'FACEBOOK',\n /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n ETSY = 'ETSY',\n /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n TIKTOK = 'TIKTOK',\n /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n FAIRE_COM = 'FAIRE_COM',\n /** PayPal Agentic Checkout sales channel. */\n PAYPAL_AGENTIC_CHECKOUT = 'PAYPAL_AGENTIC_CHECKOUT',\n}\n\n/** @enumType */\nexport type ChannelTypeWithLiterals =\n | ChannelType\n | 'UNSPECIFIED'\n | 'WEB'\n | 'POS'\n | 'EBAY'\n | 'AMAZON'\n | 'OTHER_PLATFORM'\n | 'WIX_APP_STORE'\n | 'WIX_INVOICES'\n | 'BACKOFFICE_MERCHANT'\n | 'WISH'\n | 'CLASS_PASS'\n | 'GLOBAL_E'\n | 'FACEBOOK'\n | 'ETSY'\n | 'TIKTOK'\n | 'FAIRE_COM'\n | 'PAYPAL_AGENTIC_CHECKOUT';\n\nexport interface CreateCheckoutResponse {\n /** The newly created checkout's ID. */\n checkoutId?: string;\n}\n\nexport interface RemoveCouponFromCurrentCartRequest {}\n\nexport interface RemoveCouponResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface UpdateCurrentCartLineItemQuantityRequest {\n /**\n * Line item IDs and their new quantity.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: LineItemQuantityUpdate[];\n}\n\nexport interface LineItemQuantityUpdate {\n /**\n * *Required.** Line item ID.\n * @format GUID\n */\n _id?: string;\n /**\n * *Required.** New quantity. Number must be 1 or higher.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n}\n\nexport interface UpdateLineItemsQuantityResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface EstimateCurrentCartTotalsRequest {\n /**\n * Selected shipping option\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /** The selected membership payment options and which line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n /**\n * Whether to calculate tax in the calculation request.\n *\n * Default: `true`\n */\n calculateTax?: boolean | null;\n /**\n * Whether to calculate shipping in the calculation request.\n *\n * Default: `true`\n */\n calculateShipping?: boolean | null;\n /**\n * Whether to calculate additional fees in the calculation request.\n *\n * Default: `true`\n */\n calculateAdditionalFees?: boolean | null;\n}\n\nexport interface DeleteCurrentCartRequest {}\n\nexport interface DeleteCartResponse {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface CreateCartRequest {\n /** Cart info. */\n cartInfo?: Cart;\n /** Code of an existing coupon to apply to cart. For more information, see the Coupons API. */\n couponCode?: string | null;\n /**\n * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @maxSize 100\n * @deprecated Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @targetRemovalDate 2025-09-01\n */\n merchantDiscounts?: MerchantDiscountInput[];\n /**\n * Catalog line items.\n * @maxSize 300\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 300\n */\n customLineItems?: CustomLineItem[];\n}\n\nexport interface CreateCartResponse {\n /** Cart. */\n cart?: Cart;\n}\n\nexport interface GetCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface GetCartResponse {\n /** Retrieved cart. */\n cart?: Cart;\n}\n\nexport interface GetCartByCheckoutIdRequest {\n /**\n * Checkout ID.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface GetCartByCheckoutIdResponse {\n /** Retrieved cart. */\n cart?: Cart;\n}\n\nexport interface AddToCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /**\n * Catalog line items.\n * @maxSize 100\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 100\n */\n customLineItems?: CustomLineItem[];\n /**\n * The business location ID associated with the cart.\n *\n * The `businessLocationId` field cannot be passed if one already exists on the cart. To update a cart's business location ID, use the Update Cart method.\n * To learn more, see the Locations API.\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\nexport interface RemoveLineItemsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /**\n * Line item IDs to remove from cart.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n lineItemIds: string[];\n}\n\nexport interface CreateCheckoutRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /** __Required.__ Sales channel type. */\n channelType?: ChannelTypeWithLiterals;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /**\n * Required when setting a billing or shipping address if the site visitor isn't logged in.\n * @format EMAIL\n */\n email?: string | null;\n}\n\nexport interface RemoveCouponRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface UpdateLineItemsQuantityRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /**\n * Line item IDs and their new quantity.\n * @minSize 1\n * @maxSize 100\n */\n lineItems: LineItemQuantityUpdate[];\n}\n\nexport interface EstimateTotalsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /** The selected membership payment options and which line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n /**\n * Whether to calculate tax in the calculation request.\n *\n * Default: `true`\n */\n calculateTax?: boolean | null;\n /**\n * Whether to calculate shipping in the calculation request.\n *\n * Default: `true`\n */\n calculateShipping?: boolean | null;\n /**\n * Whether to calculate additional fees in the calculation request.\n *\n * Default: `true`\n */\n calculateAdditionalFees?: boolean | null;\n}\n\nexport interface DeleteCartRequest {\n /**\n * ID of the cart to delete.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface Empty {}\n\nexport interface RemoveBusinessLocationRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n _id: string;\n}\n\nexport interface RemoveBusinessLocationResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\n/** @docsIgnore */\nexport type CreateCartApplicationErrors =\n | {\n code?: 'CANT_ADD_SELECTED_MEMBERSHIP_FOR_NON_MEMBERSHIP_ITEM';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CANT_CREATE_CART_WITHOUT_ITEMS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type UpdateCartApplicationErrors = {\n code?: 'CAN_ONLY_UPDATE_CONTACT_ID_FOR_NOT_LOGGED_IN_CUSTOMER';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type AddToCartApplicationErrors = {\n code?: 'CART_IS_ALREADY_ASSOCIATED_WITH_DIFFERENT_LOCATION';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type CreateCheckoutApplicationErrors =\n | {\n code?: 'LINE_ITEM_WITH_ZERO_QUANTITY';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'SITE_MUST_ACCEPT_PAYMENTS_TO_CREATE_CHECKOUT';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CUSTOM_LINE_ITEM_ONLY_ACCEPTS_PAYMENTS_ONLINE_AND_OFFLINE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CUSTOM_LINE_ITEM_MUST_HAVE_EXACTLY_ONE_PROPERTIES_TYPE';\n description?: string;\n data?: Record<string, any>;\n };\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\nexport interface CartDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a cart is deleted.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId ECOM.READ_CARTS\n * @webhook\n * @eventType wix.ecom.v1.cart_deleted\n * @serviceIdentifier com.wix.ecom.cart.api.v1.CurrentCartService\n * @slug deleted\n */\nexport declare function onCartDeleted(\n handler: (event: CartDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CartUpdatedEnvelope {\n entity: Cart;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId ECOM.READ_CARTS\n * @webhook\n * @eventType wix.ecom.v1.cart_updated\n * @slug updated\n */\nexport declare function onCartUpdated(\n handler: (event: CartUpdatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CartCreatedEnvelope {\n entity: Cart;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a cart is created.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId ECOM.READ_CARTS\n * @webhook\n * @eventType wix.ecom.v1.cart_created\n * @serviceIdentifier com.wix.ecom.cart.api.v1.CartService\n * @slug created\n */\nexport declare function onCartCreated(\n handler: (event: CartCreatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates a cart.\n *\n * > **Notes:**\n * > + When adding catalog line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + This method requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n * @public\n * @requiredField options.customLineItems.itemType\n * @requiredField options.customLineItems.price\n * @requiredField options.customLineItems.productName\n * @requiredField options.lineItems.catalogReference\n * @requiredField options.lineItems.quantity\n * @requiredField options.lineItems.selectedMembership._id\n * @requiredField options.lineItems.selectedMembership.appId\n * @param options - Cart creation options.\n * @permissionId ECOM.MODIFY_CARTS\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @returns Cart.\n * @fqn com.wix.ecom.cart.api.v1.CartService.CreateCart\n */\nexport async function createCart(\n options?: NonNullablePaths<\n CreateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n > & {\n __applicationErrorsType?: CreateCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n cartInfo: options?.cartInfo,\n couponCode: options?.couponCode,\n merchantDiscounts: options?.merchantDiscounts,\n lineItems: options?.lineItems,\n customLineItems: options?.customLineItems,\n }),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'cartInfo.lineItems.url' },\n { path: 'lineItems.url' },\n { path: 'customLineItems.url' },\n ],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'cartInfo.lineItems.image' },\n { path: 'cartInfo.lineItems.catalogOverrideFields.image' },\n { path: 'lineItems.image' },\n { path: 'lineItems.catalogOverrideFields.image' },\n { path: 'customLineItems.media' },\n ],\n },\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [{ path: 'cartInfo.contactInfo.address' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.createCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )?.cart!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n cartInfo: '$[0].cartInfo',\n couponCode: '$[0].couponCode',\n merchantDiscounts: '$[0].merchantDiscounts',\n lineItems: '$[0].lineItems',\n customLineItems: '$[0].customLineItems',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateCartOptions {\n /** Cart info. */\n cartInfo?: Cart;\n /** Code of an existing coupon to apply to cart. For more information, see the Coupons API. */\n couponCode?: string | null;\n /**\n * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @maxSize 100\n * @deprecated Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @targetRemovalDate 2025-09-01\n */\n merchantDiscounts?: MerchantDiscountInput[];\n /**\n * Catalog line items.\n * @maxSize 300\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 300\n */\n customLineItems?: CustomLineItem[];\n}\n\n/**\n * Updates a cart's properties.\n *\n * > **Notes:**\n * > + When updating line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @public\n * @requiredField _id\n * @requiredField options.customLineItems.itemType\n * @requiredField options.lineItems.catalogReference\n * @param options - Available options to use when updating a cart.\n * @param _id - ID of the cart to be updated.\n * @permissionId ECOM.MODIFY_CARTS\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @returns Updated Cart.\n * @fqn com.wix.ecom.cart.api.v1.CartService.UpdateCart\n */\nexport async function updateCart(\n _id: string,\n options?: NonNullablePaths<\n UpdateCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.productName`\n | `lineItems.${number}.catalogReference`,\n 8\n >\n): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n > & {\n __applicationErrorsType?: UpdateCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n cartInfo: { ...options?.cartInfo, id: _id },\n couponCode: options?.couponCode,\n merchantDiscounts: options?.merchantDiscounts,\n lineItems: options?.lineItems,\n customLineItems: options?.customLineItems,\n }),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'cartInfo.lineItems.url' },\n { path: 'lineItems.url' },\n { path: 'customLineItems.url' },\n ],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'cartInfo.lineItems.image' },\n { path: 'cartInfo.lineItems.catalogOverrideFields.image' },\n { path: 'lineItems.image' },\n { path: 'lineItems.catalogOverrideFields.image' },\n { path: 'customLineItems.media' },\n ],\n },\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [{ path: 'cartInfo.contactInfo.address' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.updateCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )?.cart!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { cartInfo: '$[1].cartInfo' },\n explicitPathsToArguments: {\n 'cartInfo.id': '$[0]',\n couponCode: '$[1].couponCode',\n merchantDiscounts: '$[1].merchantDiscounts',\n lineItems: '$[1].lineItems',\n customLineItems: '$[1].customLineItems',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateCartOptions {\n /** The information for the cart being updated. */\n cartInfo: {\n /**\n * Cart ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Line items.\n * @minSize 1\n * @maxSize 300\n * @readonly\n */\n lineItems?: LineItem[];\n /**\n * [Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.\n * @maxLength 1000\n */\n buyerNote?: string | null;\n /** Buyer information. */\n buyerInfo?: BuyerInfo;\n /**\n * The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.\n * @format CURRENCY\n * @readonly\n */\n currency?: string;\n /**\n * The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n *\n * This reflects the customer’s preferred display currency and may differ from the site’s default currency.\n * When no specific currency is selected by the customer, this matches the `currency` property.\n * @readonly\n * @format CURRENCY\n */\n conversionCurrency?: string;\n /**\n * Language for communication with the buyer. Defaults to the site language.\n *\n * For a site that supports multiple languages, this is the language the buyer selected.\n * @readonly\n */\n buyerLanguage?: string | null;\n /**\n * Site language in which original values are displayed.\n * @readonly\n */\n siteLanguage?: string | null;\n /**\n * Whether tax is included in line item prices.\n * @readonly\n */\n taxIncludedInPrices?: boolean | null;\n /**\n * Weight measurement unit - defaults to site's weight unit.\n * @readonly\n */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * ID of the checkout that originated from this cart.\n * @readonly\n * @format GUID\n */\n checkoutId?: string | null;\n /**\n * Cart discounts.\n * @readonly\n */\n appliedDiscounts?: CartDiscount[];\n /**\n * Date and time the cart was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the cart was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Contact info. */\n contactInfo?: AddressWithContact;\n /**\n * `overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\n *\n * This field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\n * to send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\n * standard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.\n * @maxLength 1000\n */\n overrideCheckoutUrl?: string | null;\n /**\n * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n * @format GUID\n * @readonly\n */\n purchaseFlowId?: string | null;\n /** Selected shipping option. */\n selectedShippingOption?: SelectedShippingOption;\n /** Fields extended by data extensions */\n extendedFields?: ExtendedFields;\n /**\n * The business location ID associated with the cart.\n *\n * To learn more, see the Locations API.\n * @format GUID\n */\n businessLocationId?: string | null;\n /**\n * The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n *\n * This is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\n * If the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\n * @readonly\n * @format CURRENCY\n */\n paymentCurrency?: string;\n /**\n * Revision number, which increments by 1 each time the Cart is updated.\n * @readonly\n */\n revision?: string | null;\n };\n /** Coupon code. For more information, see the Coupons API. */\n couponCode?: string | null;\n /**\n * Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @maxSize 100\n * @deprecated Merchant discounts to apply to specific line items. If no `lineItemIds` are passed, the discount will be applied to the whole cart.\n * @targetRemovalDate 2025-09-01\n */\n merchantDiscounts?: MerchantDiscountInput[];\n /**\n * Catalog line items.\n * @maxSize 300\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 300\n */\n customLineItems?: CustomLineItem[];\n}\n\n/**\n * Retrieves a cart.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @permissionId ECOM.READ_CARTS\n * @applicableIdentity APP\n * @returns Retrieved cart.\n * @fqn com.wix.ecom.cart.api.v1.CartService.GetCart\n */\nexport async function getCart(\n _id: string\n): Promise<\n NonNullablePaths<\n Cart,\n | `lineItems`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.price.amount`\n | `lineItems.${number}.price.convertedAmount`\n | `lineItems.${number}.price.formattedAmount`\n | `lineItems.${number}.price.formattedConvertedAmount`\n | `lineItems.${number}.availability.status`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.subscriptionOptionInfo.title.original`\n | `lineItems.${number}.subscriptionOptionInfo.description.original`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`\n | `lineItems.${number}.customLineItem`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `lineItems.${number}.savePaymentMethod`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.membersOnly`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `buyerInfo.userId`\n | `currency`\n | `conversionCurrency`\n | `weightUnit`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `contactInfo.address.streetAddress.number`\n | `contactInfo.address.streetAddress.name`\n | `contactInfo.contactDetails.vatId._id`\n | `contactInfo.contactDetails.vatId.type`\n | `selectedShippingOption.code`\n | `paymentCurrency`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.getCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )?.cart!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves the cart associated with a specified checkout.\n * @param _id - Checkout ID.\n * @internal\n * @documentationMaturity preview\n * @requiredField _id\n * @permissionId ECOM.READ_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.GetCartByCheckoutId\n */\nexport async function getCartByCheckoutId(\n _id: string\n): Promise<\n NonNullablePaths<\n GetCartByCheckoutIdResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.getCartByCheckoutId(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Adds [catalog](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration) line items to a cart.\n *\n * >**Notes:**\n * > + When adding catalog line items to a cart, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @requiredField options.customLineItems.itemType\n * @requiredField options.customLineItems.price\n * @requiredField options.customLineItems.productName\n * @requiredField options.lineItems.catalogReference\n * @requiredField options.lineItems.selectedMembership._id\n * @requiredField options.lineItems.selectedMembership.appId\n * @param options - Items to be added to cart.\n * @permissionId ECOM.MODIFY_CARTS\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.AddToCart\n */\nexport async function addToCart(\n _id: string,\n options?: NonNullablePaths<\n AddToCartOptions,\n | `customLineItems.${number}.descriptionLines.${number}.name`\n | `customLineItems.${number}.itemType`\n | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label`\n | `customLineItems.${number}.price`\n | `customLineItems.${number}.productName`\n | `customLineItems.${number}.quantity`\n | `lineItems.${number}.catalogReference`\n | `lineItems.${number}.selectedMembership._id`\n | `lineItems.${number}.selectedMembership.appId`,\n 8\n >\n): Promise<\n NonNullablePaths<\n AddToCartResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n > & {\n __applicationErrorsType?: AddToCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n lineItems: options?.lineItems,\n customLineItems: options?.customLineItems,\n businessLocationId: options?.businessLocationId,\n }),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [{ path: 'lineItems.url' }, { path: 'customLineItems.url' }],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'lineItems.image' },\n { path: 'lineItems.catalogOverrideFields.image' },\n { path: 'customLineItems.media' },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.addToCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n id: '$[0]',\n lineItems: '$[1].lineItems',\n customLineItems: '$[1].customLineItems',\n businessLocationId: '$[1].businessLocationId',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface AddToCartOptions {\n /**\n * Catalog line items.\n * @maxSize 100\n */\n lineItems?: LineItem[];\n /**\n * Custom line items. Custom line items don't trigger the Catalog service plugin.\n *\n * To access and manage custom line items, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\n * Learn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).\n * @maxSize 100\n */\n customLineItems?: CustomLineItem[];\n /**\n * The business location ID associated with the cart.\n *\n * The `businessLocationId` field cannot be passed if one already exists on the cart. To update a cart's business location ID, use the Update Cart method.\n * To learn more, see the Locations API.\n * @format GUID\n */\n businessLocationId?: string | null;\n}\n\n/**\n * Removes line items from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @public\n * @requiredField _id\n * @requiredField lineItemIds\n * @param lineItemIds - IDs of the line items to remove from the cart.\n * @param _id - ID of the cart to remove line items from.\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.RemoveLineItems\n */\nexport async function removeLineItems(\n _id: string,\n lineItemIds: string[]\n): Promise<\n NonNullablePaths<\n RemoveLineItemsResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n lineItemIds: lineItemIds,\n });\n\n const reqOpts = ambassadorWixEcomV1Cart.removeLineItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]', lineItemIds: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'lineItemIds']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates a checkout from a cart.\n *\n * If a checkout for the specified cart already exists, that checkout is\n * updated with any new information from the cart.\n *\n * > **Note:** `channelType` is a required field.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @param options - Checkout creation options.\n * @permissionId ECOM.CREATE_CHECKOUT_FROM_CART\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.CreateCheckout\n */\nexport async function createCheckout(\n _id: string,\n options?: CreateCheckoutOptions\n): Promise<\n NonNullablePaths<CreateCheckoutResponse, `checkoutId`, 2> & {\n __applicationErrorsType?: CreateCheckoutApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n channelType: options?.channelType,\n shippingAddress: options?.shippingAddress,\n billingAddress: options?.billingAddress,\n selectedShippingOption: options?.selectedShippingOption,\n email: options?.email,\n }),\n [\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [{ path: 'shippingAddress' }, { path: 'billingAddress' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.createCheckout(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n id: '$[0]',\n channelType: '$[1].channelType',\n shippingAddress: '$[1].shippingAddress',\n billingAddress: '$[1].billingAddress',\n selectedShippingOption: '$[1].selectedShippingOption',\n email: '$[1].email',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateCheckoutOptions {\n /** __Required.__ Sales channel type. */\n channelType?: ChannelTypeWithLiterals;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /**\n * Required when setting a billing or shipping address if the site visitor isn't logged in.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/**\n * Removes the coupon from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.RemoveCoupon\n */\nexport async function removeCoupon(\n _id: string\n): Promise<\n NonNullablePaths<\n RemoveCouponResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.removeCoupon(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates the quantity of 1 or more line items in a cart.\n *\n * This method is only for updating the quantity of line items.\n * To entirely remove a line item from the cart, use Remove Line Items.\n * To add a new line item to the cart, use Add To Cart.\n *\n * This method checks the amount of stock remaining for this line item.\n * If the specified quantity is greater than the remaining stock,\n * then the quantity returned in the response is the total amount of remaining stock.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n * @param _id - Cart ID.\n * @param lineItems - Line item IDs and their new quantity.\n * @public\n * @requiredField _id\n * @requiredField lineItems\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.UpdateLineItemsQuantity\n */\nexport async function updateLineItemsQuantity(\n _id: string,\n lineItems: LineItemQuantityUpdate[]\n): Promise<\n NonNullablePaths<\n UpdateLineItemsQuantityResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n lineItems: lineItems,\n });\n\n const reqOpts = ambassadorWixEcomV1Cart.updateLineItemsQuantity(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]', lineItems: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'lineItems']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Estimates the subtotal and total for current site visitor’s cart.\n *\n * Totals include tax and are based on the selected carrier service, shipping address, and billing information.\n *\n * > **Note:** Not passing any optional parameters will only estimate the cart items price totals.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @param options - Total estimation options.\n * @permissionId ECOM.READ_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.EstimateTotals\n */\nexport async function estimateTotals(\n _id: string,\n options?: EstimateTotalsOptions\n): Promise<\n NonNullablePaths<\n EstimateTotalsResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`\n | `calculatedLineItems`\n | `calculatedLineItems.${number}.lineItemId`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.amount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.convertedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedConvertedAmount`\n | `calculatedLineItems.${number}.pricesBreakdown.taxDetails.taxRate`\n | `calculatedLineItems.${number}.paymentOption`\n | `calculatedLineItems.${number}.taxableAddress.addressType`\n | `priceSummary.subtotal.amount`\n | `priceSummary.subtotal.convertedAmount`\n | `priceSummary.subtotal.formattedAmount`\n | `priceSummary.subtotal.formattedConvertedAmount`\n | `giftCard._id`\n | `giftCard.obfuscatedCode`\n | `giftCard.amount.amount`\n | `giftCard.amount.convertedAmount`\n | `giftCard.amount.formattedAmount`\n | `giftCard.amount.formattedConvertedAmount`\n | `giftCard.appId`\n | `taxSummary.taxableAmount.amount`\n | `taxSummary.taxableAmount.convertedAmount`\n | `taxSummary.taxableAmount.formattedAmount`\n | `taxSummary.taxableAmount.formattedConvertedAmount`\n | `taxSummary.calculationDetails.manualRateReason`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.fallbackReason`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.code`\n | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.description`\n | `taxSummary.calculationDetails.rateType`\n | `shippingInfo.region._id`\n | `shippingInfo.region.name`\n | `shippingInfo.selectedCarrierServiceOption.code`\n | `shippingInfo.selectedCarrierServiceOption.title`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.number`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.name`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.businessLocation`\n | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.pickupMethod`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.amount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.convertedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedConvertedAmount`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxRate`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.name`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.rate`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown`\n | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown.${number}.jurisdictionType`\n | `shippingInfo.selectedCarrierServiceOption.requestedShippingOption`\n | `shippingInfo.selectedCarrierServiceOption.otherCharges`\n | `shippingInfo.selectedCarrierServiceOption.otherCharges.${number}.type`\n | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations`\n | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations.${number}.deliveryCarrier.code`\n | `shippingInfo.carrierServiceOptions`\n | `shippingInfo.carrierServiceOptions.${number}.carrierId`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `appliedDiscounts.${number}.coupon.amount.amount`\n | `appliedDiscounts.${number}.coupon.amount.convertedAmount`\n | `appliedDiscounts.${number}.coupon.amount.formattedAmount`\n | `appliedDiscounts.${number}.coupon.amount.formattedConvertedAmount`\n | `appliedDiscounts.${number}.coupon.name`\n | `appliedDiscounts.${number}.discountRule._id`\n | `appliedDiscounts.${number}.discountRule.name.original`\n | `appliedDiscounts.${number}.discountType`\n | `calculationErrors.generalShippingCalculationError.applicationError.code`\n | `calculationErrors.generalShippingCalculationError.applicationError.description`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `calculationErrors.carrierErrors.errors`\n | `calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `calculationErrors.orderValidationErrors`\n | `weightUnit`\n | `currency`\n | `payNow.subtotal.amount`\n | `payNow.subtotal.convertedAmount`\n | `payNow.subtotal.formattedAmount`\n | `payNow.subtotal.formattedConvertedAmount`\n | `payLater.subtotal.amount`\n | `payLater.subtotal.convertedAmount`\n | `payLater.subtotal.formattedAmount`\n | `payLater.subtotal.formattedConvertedAmount`\n | `membershipOptions.eligibleMemberships`\n | `membershipOptions.eligibleMemberships.${number}._id`\n | `membershipOptions.eligibleMemberships.${number}.appId`\n | `membershipOptions.eligibleMemberships.${number}.name.original`\n | `membershipOptions.eligibleMemberships.${number}.credits.total`\n | `membershipOptions.eligibleMemberships.${number}.credits.remaining`\n | `membershipOptions.invalidMemberships`\n | `membershipOptions.invalidMemberships.${number}.reason`\n | `membershipOptions.selectedMemberships`\n | `membershipOptions.selectedMemberships.${number}._id`\n | `membershipOptions.selectedMemberships.${number}.appId`\n | `additionalFees`\n | `additionalFees.${number}.name`\n | `additionalFees.${number}.price.amount`\n | `additionalFees.${number}.price.convertedAmount`\n | `additionalFees.${number}.price.formattedAmount`\n | `additionalFees.${number}.price.formattedConvertedAmount`\n | `additionalFees.${number}.taxDetails.taxRate`\n | `additionalFees.${number}.source`\n | `violations`\n | `violations.${number}.severity`\n | `violations.${number}.target.other.name`\n | `violations.${number}.target.lineItem.name`,\n 8\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n selectedShippingOption: options?.selectedShippingOption,\n shippingAddress: options?.shippingAddress,\n billingAddress: options?.billingAddress,\n selectedMemberships: options?.selectedMemberships,\n calculateTax: options?.calculateTax,\n calculateShipping: options?.calculateShipping,\n calculateAdditionalFees: options?.calculateAdditionalFees,\n }),\n [\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [{ path: 'shippingAddress' }, { path: 'billingAddress' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV1Cart.estimateTotals(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.contactInfo.address' },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.pickupDetails.address',\n },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n id: '$[0]',\n selectedShippingOption: '$[1].selectedShippingOption',\n shippingAddress: '$[1].shippingAddress',\n billingAddress: '$[1].billingAddress',\n selectedMemberships: '$[1].selectedMemberships',\n calculateTax: '$[1].calculateTax',\n calculateShipping: '$[1].calculateShipping',\n calculateAdditionalFees: '$[1].calculateAdditionalFees',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface EstimateTotalsOptions {\n /**\n * Selected shipping option.\n *\n * Pass this field only when there is no existing shipping option in the cart.\n */\n selectedShippingOption?: SelectedShippingOption;\n /** Shipping address. Used for calculating tax and shipping (when applicable). */\n shippingAddress?: Address;\n /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n billingAddress?: Address;\n /** The selected membership payment options and which line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n /**\n * Whether to calculate tax in the calculation request.\n *\n * Default: `true`\n */\n calculateTax?: boolean | null;\n /**\n * Whether to calculate shipping in the calculation request.\n *\n * Default: `true`\n */\n calculateShipping?: boolean | null;\n /**\n * Whether to calculate additional fees in the calculation request.\n *\n * Default: `true`\n */\n calculateAdditionalFees?: boolean | null;\n}\n\n/**\n * Deletes a cart.\n * @public\n * @requiredField _id\n * @param _id - ID of the cart to delete.\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.DeleteCart\n */\nexport async function deleteCart(_id: string): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.deleteCart(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Removes the location associated with a cart.\n * @param _id - Cart ID.\n * @public\n * @requiredField _id\n * @permissionId ECOM.MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.cart.api.v1.CartService.RemoveBusinessLocation\n */\nexport async function removeBusinessLocation(\n _id: string\n): Promise<\n NonNullablePaths<\n RemoveBusinessLocationResponse,\n | `cart.lineItems`\n | `cart.lineItems.${number}.quantity`\n | `cart.lineItems.${number}.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.catalogReference.appId`\n | `cart.lineItems.${number}.productName.original`\n | `cart.lineItems.${number}.price.amount`\n | `cart.lineItems.${number}.price.convertedAmount`\n | `cart.lineItems.${number}.price.formattedAmount`\n | `cart.lineItems.${number}.price.formattedConvertedAmount`\n | `cart.lineItems.${number}.availability.status`\n | `cart.lineItems.${number}.physicalProperties.shippable`\n | `cart.lineItems.${number}.itemType.preset`\n | `cart.lineItems.${number}.itemType.custom`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal`\n | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `cart.lineItems.${number}.subscriptionOptionInfo.title.original`\n | `cart.lineItems.${number}.subscriptionOptionInfo.description.original`\n | `cart.lineItems.${number}.paymentOption`\n | `cart.lineItems.${number}.priceDescription.original`\n | `cart.lineItems.${number}.selectedMembership._id`\n | `cart.lineItems.${number}.selectedMembership.appId`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.lineItems.${number}.priceUndetermined`\n | `cart.lineItems.${number}.fixedQuantity`\n | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value`\n | `cart.lineItems.${number}.savePaymentMethod`\n | `cart.lineItems.${number}.taxableAddress.addressType`\n | `cart.lineItems.${number}.membersOnly`\n | `cart.buyerInfo.visitorId`\n | `cart.buyerInfo.memberId`\n | `cart.buyerInfo.userId`\n | `cart.currency`\n | `cart.conversionCurrency`\n | `cart.weightUnit`\n | `cart.appliedDiscounts`\n | `cart.appliedDiscounts.${number}.coupon._id`\n | `cart.appliedDiscounts.${number}.coupon.code`\n | `cart.contactInfo.address.streetAddress.number`\n | `cart.contactInfo.address.streetAddress.name`\n | `cart.contactInfo.contactDetails.vatId._id`\n | `cart.contactInfo.contactDetails.vatId.type`\n | `cart.selectedShippingOption.code`\n | `cart.paymentCurrency`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ id: _id });\n\n const reqOpts = ambassadorWixEcomV1Cart.removeBusinessLocation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.image' },\n { path: 'cart.lineItems.catalogOverrideFields.image' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [{ path: 'cart.contactInfo.address' }],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { id: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixEcomCartApiV1CartServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'www.wixgateway.com': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n _: [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n {\n srcPath: '/_api/cart',\n destPath: '',\n },\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/ecom/v1/carts',\n destPath: '/v1/carts',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/cart-v1-proxy',\n destPath: '',\n },\n ],\n 'ecom.wixapps.net': [\n {\n srcPath: '/_api/ecom-cart',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_cart';\n\n/**\n * Creates a cart.\n *\n * > **Notes:**\n * > + When adding catalog line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + This method requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).\n */\nexport function createCart(payload: object): RequestOptionsFactory<any> {\n function __createCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'cartInfo.createdDate' },\n { path: 'cartInfo.updatedDate' },\n { path: 'cartInfo.lineItems.image.urlExpirationDate' },\n {\n path: 'cartInfo.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cartInfo.lineItems.serviceProperties.scheduledDate' },\n { path: 'cartInfo.lineItems.serviceProperties.endDate' },\n { path: 'lineItems.image.urlExpirationDate' },\n {\n path: 'lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'lineItems.serviceProperties.scheduledDate' },\n { path: 'lineItems.serviceProperties.endDate' },\n {\n path: 'customLineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'customLineItems.serviceProperties.scheduledDate' },\n { path: 'customLineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'cartInfo.lineItems.image.focalPoint.x' },\n { path: 'cartInfo.lineItems.image.focalPoint.y' },\n { path: 'lineItems.image.focalPoint.x' },\n { path: 'lineItems.image.focalPoint.y' },\n { path: 'cartInfo.lineItems.physicalProperties.weight' },\n {\n path: 'cartInfo.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cartInfo.contactInfo.address.geocode.latitude' },\n { path: 'cartInfo.contactInfo.address.geocode.longitude' },\n { path: 'lineItems.physicalProperties.weight' },\n { path: 'lineItems.catalogOverrideFields.physicalProperties.weight' },\n { path: 'customLineItems.physicalProperties.weight' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.CreateCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createCart;\n}\n\n/**\n * Updates a cart's properties.\n *\n * > **Notes:**\n * > + When updating line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function updateCart(payload: object): RequestOptionsFactory<any> {\n function __updateCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'cartFieldmask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'cartInfo.createdDate' },\n { path: 'cartInfo.updatedDate' },\n { path: 'cartInfo.lineItems.image.urlExpirationDate' },\n {\n path: 'cartInfo.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cartInfo.lineItems.serviceProperties.scheduledDate' },\n { path: 'cartInfo.lineItems.serviceProperties.endDate' },\n { path: 'lineItems.image.urlExpirationDate' },\n {\n path: 'lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'lineItems.serviceProperties.scheduledDate' },\n { path: 'lineItems.serviceProperties.endDate' },\n {\n path: 'customLineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'customLineItems.serviceProperties.scheduledDate' },\n { path: 'customLineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'cartInfo.lineItems.image.focalPoint.x' },\n { path: 'cartInfo.lineItems.image.focalPoint.y' },\n { path: 'lineItems.image.focalPoint.x' },\n { path: 'lineItems.image.focalPoint.y' },\n { path: 'cartInfo.lineItems.physicalProperties.weight' },\n {\n path: 'cartInfo.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cartInfo.contactInfo.address.geocode.latitude' },\n { path: 'cartInfo.contactInfo.address.geocode.longitude' },\n { path: 'lineItems.physicalProperties.weight' },\n { path: 'lineItems.catalogOverrideFields.physicalProperties.weight' },\n { path: 'customLineItems.physicalProperties.weight' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'PATCH' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.UpdateCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{cartInfo.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCart;\n}\n\n/** Retrieves a cart. */\nexport function getCart(payload: object): RequestOptionsFactory<any> {\n function __getCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'GET' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.GetCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCart;\n}\n\n/** Retrieves the cart associated with a specified checkout. */\nexport function getCartByCheckoutId(\n payload: object\n): RequestOptionsFactory<any> {\n function __getCartByCheckoutId({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'GET' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.GetCartByCheckoutId',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/by-checkout-id/{id}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCartByCheckoutId;\n}\n\n/**\n * Adds [catalog](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration) line items to a cart.\n *\n * >**Notes:**\n * > + When adding catalog line items to a cart, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.\n * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function addToCart(payload: object): RequestOptionsFactory<any> {\n function __addToCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'lineItems.image.urlExpirationDate' },\n {\n path: 'lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'lineItems.serviceProperties.scheduledDate' },\n { path: 'lineItems.serviceProperties.endDate' },\n {\n path: 'customLineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'customLineItems.serviceProperties.scheduledDate' },\n { path: 'customLineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'lineItems.image.focalPoint.x' },\n { path: 'lineItems.image.focalPoint.y' },\n { path: 'lineItems.physicalProperties.weight' },\n { path: 'lineItems.catalogOverrideFields.physicalProperties.weight' },\n { path: 'customLineItems.physicalProperties.weight' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.AddToCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/add-to-cart',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __addToCart;\n}\n\n/**\n * Removes line items from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function removeLineItems(payload: object): RequestOptionsFactory<any> {\n function __removeLineItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.RemoveLineItems',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/remove-line-items',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeLineItems;\n}\n\n/**\n * Creates a checkout from a cart.\n *\n * If a checkout for the specified cart already exists, that checkout is\n * updated with any new information from the cart.\n *\n * > **Note:** `channelType` is a required field.\n */\nexport function createCheckout(payload: object): RequestOptionsFactory<any> {\n function __createCheckout({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'shippingAddress.geocode.latitude' },\n { path: 'shippingAddress.geocode.longitude' },\n { path: 'billingAddress.geocode.latitude' },\n { path: 'billingAddress.geocode.longitude' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.CreateCheckout',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/create-checkout',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __createCheckout;\n}\n\n/**\n * Removes the coupon from a cart.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function removeCoupon(payload: object): RequestOptionsFactory<any> {\n function __removeCoupon({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.RemoveCoupon',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/remove-coupon',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeCoupon;\n}\n\n/**\n * Updates the quantity of 1 or more line items in a cart.\n *\n * This method is only for updating the quantity of line items.\n * To entirely remove a line item from the cart, use Remove Line Items.\n * To add a new line item to the cart, use Add To Cart.\n *\n * This method checks the amount of stock remaining for this line item.\n * If the specified quantity is greater than the remaining stock,\n * then the quantity returned in the response is the total amount of remaining stock.\n *\n * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.\n */\nexport function updateLineItemsQuantity(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateLineItemsQuantity({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.UpdateLineItemsQuantity',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/update-line-items-quantity',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateLineItemsQuantity;\n}\n\n/**\n * Estimates the subtotal and total for current site visitor’s cart.\n *\n * Totals include tax and are based on the selected carrier service, shipping address, and billing information.\n *\n * > **Note:** Not passing any optional parameters will only estimate the cart items price totals.\n */\nexport function estimateTotals(payload: object): RequestOptionsFactory<any> {\n function __estimateTotals({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'shippingAddress.geocode.latitude' },\n { path: 'shippingAddress.geocode.longitude' },\n { path: 'billingAddress.geocode.latitude' },\n { path: 'billingAddress.geocode.longitude' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.EstimateTotals',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/estimate-totals',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.deliveryTimeSlot.from',\n },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.deliveryTimeSlot.to',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.deliveryTimeSlot.from',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.deliveryTimeSlot.to',\n },\n { path: 'membershipOptions.eligibleMemberships.expirationDate' },\n {\n path: 'membershipOptions.invalidMemberships.membership.expirationDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.geocode.latitude',\n },\n {\n path: 'shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.geocode.longitude',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.pickupDetails.address.geocode.latitude',\n },\n {\n path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.pickupDetails.address.geocode.longitude',\n },\n { path: 'appliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __estimateTotals;\n}\n\n/** Deletes a cart. */\nexport function deleteCart(payload: object): RequestOptionsFactory<any> {\n function __deleteCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'DELETE' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.DeleteCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteCart;\n}\n\n/** Removes the location associated with a cart. */\nexport function removeBusinessLocation(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeBusinessLocation({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.cart',\n method: 'POST' as any,\n methodFqn: 'com.wix.ecom.cart.api.v1.CartService.RemoveBusinessLocation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomCartApiV1CartServiceUrl({\n protoPath: '/v1/carts/{id}/remove-business-location',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n { path: 'cart.lineItems.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.subscriptionOptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'cart.lineItems.image.focalPoint.x' },\n { path: 'cart.lineItems.image.focalPoint.y' },\n { path: 'cart.lineItems.physicalProperties.weight' },\n {\n path: 'cart.lineItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.contactInfo.address.geocode.latitude' },\n { path: 'cart.contactInfo.address.geocode.longitude' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeBusinessLocation;\n}\n","import {\n createCart as publicCreateCart,\n updateCart as publicUpdateCart,\n getCart as publicGetCart,\n getCartByCheckoutId as publicGetCartByCheckoutId,\n addToCart as publicAddToCart,\n removeLineItems as publicRemoveLineItems,\n createCheckout as publicCreateCheckout,\n removeCoupon as publicRemoveCoupon,\n updateLineItemsQuantity as publicUpdateLineItemsQuantity,\n estimateTotals as publicEstimateTotals,\n deleteCart as publicDeleteCart,\n removeBusinessLocation as publicRemoveBusinessLocation,\n} from './ecom-v1-cart-cart.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onCartDeleted as publicOnCartDeleted } from './ecom-v1-cart-cart.public.js';\nimport { onCartUpdated as publicOnCartUpdated } from './ecom-v1-cart-cart.public.js';\nimport { onCartCreated as publicOnCartCreated } from './ecom-v1-cart-cart.public.js';\n\nexport const createCart: MaybeContext<\n BuildRESTFunction<typeof publicCreateCart> & typeof publicCreateCart\n> = /*#__PURE__*/ createRESTModule(publicCreateCart);\nexport const updateCart: MaybeContext<\n BuildRESTFunction<typeof publicUpdateCart> & typeof publicUpdateCart\n> = /*#__PURE__*/ createRESTModule(publicUpdateCart);\nexport const getCart: MaybeContext<\n BuildRESTFunction<typeof publicGetCart> & typeof publicGetCart\n> = /*#__PURE__*/ createRESTModule(publicGetCart);\n/** @internal */\nexport const getCartByCheckoutId: MaybeContext<\n BuildRESTFunction<typeof publicGetCartByCheckoutId> &\n typeof publicGetCartByCheckoutId\n> = /*#__PURE__*/ createRESTModule(publicGetCartByCheckoutId);\nexport const addToCart: MaybeContext<\n BuildRESTFunction<typeof publicAddToCart> & typeof publicAddToCart\n> = /*#__PURE__*/ createRESTModule(publicAddToCart);\nexport const removeLineItems: MaybeContext<\n BuildRESTFunction<typeof publicRemoveLineItems> & typeof publicRemoveLineItems\n> = /*#__PURE__*/ createRESTModule(publicRemoveLineItems);\nexport const createCheckout: MaybeContext<\n BuildRESTFunction<typeof publicCreateCheckout> & typeof publicCreateCheckout\n> = /*#__PURE__*/ createRESTModule(publicCreateCheckout);\nexport const removeCoupon: MaybeContext<\n BuildRESTFunction<typeof publicRemoveCoupon> & typeof publicRemoveCoupon\n> = /*#__PURE__*/ createRESTModule(publicRemoveCoupon);\nexport const updateLineItemsQuantity: MaybeContext<\n BuildRESTFunction<typeof publicUpdateLineItemsQuantity> &\n typeof publicUpdateLineItemsQuantity\n> = /*#__PURE__*/ createRESTModule(publicUpdateLineItemsQuantity);\nexport const estimateTotals: MaybeContext<\n BuildRESTFunction<typeof publicEstimateTotals> & typeof publicEstimateTotals\n> = /*#__PURE__*/ createRESTModule(publicEstimateTotals);\nexport const deleteCart: MaybeContext<\n BuildRESTFunction<typeof publicDeleteCart> & typeof publicDeleteCart\n> = /*#__PURE__*/ createRESTModule(publicDeleteCart);\nexport const removeBusinessLocation: MaybeContext<\n BuildRESTFunction<typeof publicRemoveBusinessLocation> &\n typeof publicRemoveBusinessLocation\n> = /*#__PURE__*/ createRESTModule(publicRemoveBusinessLocation);\n/**\n * Triggered when a cart is deleted.\n */\nexport const onCartDeleted: BuildEventDefinition<typeof publicOnCartDeleted> &\n typeof publicOnCartDeleted = createEventModule(publicOnCartDeleted);\n/** */\nexport const onCartUpdated: BuildEventDefinition<typeof publicOnCartUpdated> &\n typeof publicOnCartUpdated = createEventModule(publicOnCartUpdated);\n/**\n * Triggered when a cart is created.\n */\nexport const onCartCreated: BuildEventDefinition<typeof publicOnCartCreated> &\n typeof publicOnCartCreated = createEventModule(publicOnCartCreated);\n\nexport {\n DescriptionLineType,\n ItemAvailabilityStatus,\n ItemTypePreset,\n SubscriptionFrequency,\n FileType,\n PaymentOptionType,\n TaxableAddressType,\n PlatformFeeChargeType,\n WeightUnit,\n DiscountType,\n VatType,\n JurisdictionType,\n RateType,\n ManualCalculationReason,\n FallbackReason,\n PickupMethod,\n ChargeType,\n AppliedDiscountDiscountType,\n RuleType,\n BalanceType,\n AdditionalFeeSource,\n Severity,\n NameInOther,\n NameInLineItem,\n SuggestedFix,\n ChannelType,\n WebhookIdentityType,\n} from './ecom-v1-cart-cart.universal.js';\nexport {\n Cart,\n LineItem,\n CatalogReference,\n ProductName,\n MultiCurrencyPrice,\n DescriptionLine,\n DescriptionLineValueOneOf,\n DescriptionLineDescriptionLineValueOneOf,\n DescriptionLineName,\n PlainTextValue,\n Color,\n FocalPoint,\n ItemAvailabilityInfo,\n PhysicalProperties,\n Scope,\n Group,\n ItemType,\n ItemTypeItemTypeDataOneOf,\n SubscriptionOptionInfo,\n SubscriptionSettings,\n FreeTrialPeriod,\n Title,\n Description,\n SecuredMedia,\n ServiceProperties,\n PriceDescription,\n SelectedMembership,\n CatalogOverrideFields,\n PaymentOption,\n TaxableAddress,\n TaxableAddressTaxableAddressDataOneOf,\n ExtendedFields,\n Policy,\n ModifierGroup,\n TranslatableString,\n ItemModifier,\n PlatformFee,\n BuyerInfo,\n BuyerInfoIdOneOf,\n CartDiscount,\n CartDiscountDiscountSourceOneOf,\n Coupon,\n MerchantDiscount,\n DiscountRule,\n DiscountRuleName,\n AddressWithContact,\n Address,\n StreetAddress,\n AddressLocation,\n FullAddressContactDetails,\n VatId,\n SelectedShippingOption,\n GetCurrentCartRequest,\n GetCurrentCartResponse,\n UpdateCartRequest,\n MerchantDiscountInput,\n CustomLineItem,\n V1ModifierGroup,\n V1ItemModifier,\n UpdateCartResponse,\n AddToCurrentCartRequest,\n AddToCartResponse,\n AddToCurrentCartAndEstimateTotalsRequest,\n SelectedMemberships,\n HostSelectedMembership,\n EstimateTotalsResponse,\n CalculatedLineItem,\n LineItemPricesData,\n ItemTaxFullDetails,\n TaxRateBreakdown,\n TaxBreakdown,\n CalculatedItemModifier,\n PriceSummary,\n GiftCard,\n TaxSummary,\n TaxCalculationDetails,\n TaxCalculationDetailsCalculationDetailsOneOf,\n AutoTaxFallbackCalculationDetails,\n ApplicationError,\n AggregatedTaxBreakdown,\n ShippingInformation,\n ShippingRegion,\n SelectedCarrierServiceOption,\n DeliveryLogistics,\n PickupDetails,\n DeliveryTimeSlot,\n SelectedCarrierServiceOptionPrices,\n SelectedCarrierServiceOptionOtherCharge,\n DeliveryAllocation,\n Carrier,\n Region,\n ApplicableLineItems,\n CarrierServiceOption,\n ShippingOption,\n ShippingPrice,\n OtherCharge,\n AppliedDiscount,\n AppliedDiscountDiscountSourceOneOf,\n V1Coupon,\n V1MerchantDiscount,\n V1DiscountRule,\n V1DiscountRuleName,\n LineItemDiscount,\n ItemCombination,\n ItemCombinationLineItem,\n CalculationErrors,\n CalculationErrorsShippingCalculationErrorOneOf,\n Details,\n DetailsKindOneOf,\n ValidationError,\n FieldViolation,\n SystemError,\n CarrierErrors,\n CarrierError,\n MembershipOptions,\n Membership,\n MembershipName,\n MembershipPaymentCredits,\n InvalidMembership,\n AdditionalFee,\n Violation,\n Target,\n TargetTargetTypeOneOf,\n Other,\n TargetLineItem,\n RemoveLineItemsFromCurrentCartRequest,\n RemoveLineItemsResponse,\n CreateCheckoutFromCurrentCartRequest,\n CreateCheckoutResponse,\n RemoveCouponFromCurrentCartRequest,\n RemoveCouponResponse,\n UpdateCurrentCartLineItemQuantityRequest,\n LineItemQuantityUpdate,\n UpdateLineItemsQuantityResponse,\n EstimateCurrentCartTotalsRequest,\n DeleteCurrentCartRequest,\n DeleteCartResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n CreateCartRequest,\n CreateCartResponse,\n GetCartRequest,\n GetCartResponse,\n GetCartByCheckoutIdRequest,\n GetCartByCheckoutIdResponse,\n AddToCartRequest,\n RemoveLineItemsRequest,\n CreateCheckoutRequest,\n RemoveCouponRequest,\n UpdateLineItemsQuantityRequest,\n EstimateTotalsRequest,\n DeleteCartRequest,\n Empty,\n RemoveBusinessLocationRequest,\n RemoveBusinessLocationResponse,\n BaseEventMetadata,\n EventMetadata,\n CartDeletedEnvelope,\n CartUpdatedEnvelope,\n CartCreatedEnvelope,\n CreateCartOptions,\n UpdateCartOptions,\n AddToCartOptions,\n CreateCheckoutOptions,\n EstimateTotalsOptions,\n} from './ecom-v1-cart-cart.universal.js';\nexport {\n DescriptionLineTypeWithLiterals,\n ItemAvailabilityStatusWithLiterals,\n ItemTypePresetWithLiterals,\n SubscriptionFrequencyWithLiterals,\n FileTypeWithLiterals,\n PaymentOptionTypeWithLiterals,\n TaxableAddressTypeWithLiterals,\n PlatformFeeChargeTypeWithLiterals,\n WeightUnitWithLiterals,\n DiscountTypeWithLiterals,\n VatTypeWithLiterals,\n JurisdictionTypeWithLiterals,\n RateTypeWithLiterals,\n ManualCalculationReasonWithLiterals,\n FallbackReasonWithLiterals,\n PickupMethodWithLiterals,\n ChargeTypeWithLiterals,\n AppliedDiscountDiscountTypeWithLiterals,\n RuleTypeWithLiterals,\n BalanceTypeWithLiterals,\n AdditionalFeeSourceWithLiterals,\n SeverityWithLiterals,\n NameInOtherWithLiterals,\n NameInLineItemWithLiterals,\n SuggestedFixWithLiterals,\n ChannelTypeWithLiterals,\n WebhookIdentityTypeWithLiterals,\n CreateCartApplicationErrors,\n UpdateCartApplicationErrors,\n AddToCartApplicationErrors,\n CreateCheckoutApplicationErrors,\n} from './ecom-v1-cart-cart.universal.js';\n"],"mappings":"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","names":["addToCart","createCart","createCheckout","deleteCart","estimateTotals","getCart","getCartByCheckoutId","onCartCreated","onCartDeleted","onCartUpdated","removeBusinessLocation","removeCoupon","removeLineItems","updateCart","updateLineItemsQuantity","import_rename_all_nested_keys","import_address","import_float","import_image","import_page_url_v2","import_timestamp","import_transform_paths","import_float","import_timestamp","import_rest_modules","payload","import_address","import_image","import_page_url_v2","import_transform_paths","DescriptionLineType","ItemAvailabilityStatus","ItemTypePreset","SubscriptionFrequency","FileType","PaymentOptionType","TaxableAddressType","PlatformFeeChargeType","WeightUnit","DiscountType","VatType","JurisdictionType","RateType","ManualCalculationReason","FallbackReason","PickupMethod","ChargeType","AppliedDiscountDiscountType","RuleType","BalanceType","AdditionalFeeSource","Severity","NameInOther","NameInLineItem","SuggestedFix","ChannelType","WebhookIdentityType","createCart","sdkTransformError","updateCart","getCart","getCartByCheckoutId","addToCart","removeLineItems","createCheckout","removeCoupon","updateLineItemsQuantity","estimateTotals","deleteCart","removeBusinessLocation","createCart","updateCart","getCart","getCartByCheckoutId","addToCart","removeLineItems","createCheckout","removeCoupon","updateLineItemsQuantity","estimateTotals","deleteCart","removeBusinessLocation","import_rest_modules","createCart","updateCart","getCart","getCartByCheckoutId","addToCart","removeLineItems","createCheckout","removeCoupon","updateLineItemsQuantity","estimateTotals","deleteCart","removeBusinessLocation","onCartDeleted","onCartUpdated","onCartCreated"]}
|