@wix/auto_sdk_ecom_current-cart-v-2 1.0.201 → 1.0.202
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.d.ts +1 -1
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +1 -1
- package/build/cjs/meta.js.map +1 -1
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +1 -1
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +1 -1
- package/build/es/meta.mjs.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +1 -1
- package/build/internal/cjs/meta.d.ts +1 -1
- package/build/internal/es/index.typings.d.mts +1 -1
- package/build/internal/es/meta.d.mts +1 -1
- package/package.json +2 -2
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts","../../src/ecom-v2-cart-current-cart-v-2.public.ts","../../src/ecom-v2-cart-current-cart-v-2.universal.ts","../../src/ecom-v2-cart-current-cart-v-2.http.ts","../../src/ecom-v2-cart-current-cart-v-2.context.ts"],"sourcesContent":["export * from './src/ecom-v2-cart-current-cart-v-2.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 AddCouponToCurrentCartApplicationErrors,\n AddCouponToCurrentCartResponse,\n AddGiftCardToCurrentCartApplicationErrors,\n AddGiftCardToCurrentCartResponse,\n AddLineItemsToCurrentCartApplicationErrors,\n AddLineItemsToCurrentCartOptions,\n AddLineItemsToCurrentCartResponse,\n CalculateCurrentCartApplicationErrors,\n CalculateCurrentCartOptions,\n CalculateCurrentCartResponse,\n Cart,\n CartCalculatedEnvelope,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartUpdatedEnvelope,\n CouponInput,\n CreateCurrentCartApplicationErrors,\n CreateCurrentCartOptions,\n CreateCurrentCartResponse,\n DeliveryMethodInput,\n EstimateCurrentCartApplicationErrors,\n EstimateCurrentCartOptions,\n EstimateCurrentCartResponse,\n GetCurrentCartResponse,\n GetUpsellOptionsForCurrentCartResponse,\n GiftCardInput,\n RefreshCurrentCartApplicationErrors,\n RefreshCurrentCartResponse,\n RemoveCouponFromCurrentCartApplicationErrors,\n RemoveCouponFromCurrentCartResponse,\n RemoveDeliveryMethodFromCurrentCartApplicationErrors,\n RemoveDeliveryMethodFromCurrentCartResponse,\n RemoveGiftCardFromCurrentCartApplicationErrors,\n RemoveGiftCardFromCurrentCartResponse,\n RemoveLineItemsFromCurrentCartApplicationErrors,\n RemoveLineItemsFromCurrentCartResponse,\n SetDeliveryMethodForCurrentCartApplicationErrors,\n SetDeliveryMethodForCurrentCartResponse,\n UpdateCurrentCartApplicationErrors,\n UpdateCurrentCartResponse,\n UpdateFormSubmissionsInCurrentCartOptions,\n UpdateFormSubmissionsInCurrentCartResponse,\n UpdateLineItemsInCurrentCartApplicationErrors,\n UpdateLineItemsInCurrentCartOptions,\n UpdateLineItemsInCurrentCartResponse,\n addCouponToCurrentCart as universalAddCouponToCurrentCart,\n addGiftCardToCurrentCart as universalAddGiftCardToCurrentCart,\n addLineItemsToCurrentCart as universalAddLineItemsToCurrentCart,\n calculateCurrentCart as universalCalculateCurrentCart,\n createCurrentCart as universalCreateCurrentCart,\n deleteCurrentCart as universalDeleteCurrentCart,\n estimateCurrentCart as universalEstimateCurrentCart,\n getCurrentCart as universalGetCurrentCart,\n getUpsellOptionsForCurrentCart as universalGetUpsellOptionsForCurrentCart,\n refreshCurrentCart as universalRefreshCurrentCart,\n removeCouponFromCurrentCart as universalRemoveCouponFromCurrentCart,\n removeDeliveryMethodFromCurrentCart as universalRemoveDeliveryMethodFromCurrentCart,\n removeGiftCardFromCurrentCart as universalRemoveGiftCardFromCurrentCart,\n removeLineItemsFromCurrentCart as universalRemoveLineItemsFromCurrentCart,\n setDeliveryMethodForCurrentCart as universalSetDeliveryMethodForCurrentCart,\n updateCurrentCart as universalUpdateCurrentCart,\n updateFormSubmissionsInCurrentCart as universalUpdateFormSubmissionsInCurrentCart,\n updateLineItemsInCurrentCart as universalUpdateLineItemsInCurrentCart,\n} from './ecom-v2-cart-current-cart-v-2.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/ecom' };\n\nexport function createCurrentCart(\n httpClient: HttpClient\n): CreateCurrentCartSignature {\n return (\n options?: NonNullablePaths<\n CreateCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n ) =>\n universalCreateCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCurrentCartSignature {\n /**\n * Creates the customer's current cart.\n */\n (\n options?: NonNullablePaths<\n CreateCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n ): Promise<\n NonNullablePaths<\n CreateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: CreateCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function getCurrentCart(\n httpClient: HttpClient\n): GetCurrentCartSignature {\n return () =>\n universalGetCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCurrentCartSignature {\n /**\n * Retrieves the customer's current cart.\n */\n (): Promise<\n NonNullablePaths<\n GetCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n >\n >;\n}\n\nexport function updateCurrentCart(\n httpClient: HttpClient\n): UpdateCurrentCartSignature {\n return (cart: Cart) =>\n universalUpdateCurrentCart(\n cart,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateCurrentCartSignature {\n /**\n * Updates the customer's current cart.\n *\n * Use this endpoint to set and replace fields such as buyer note and delivery method.\n * To add or remove elements from lists (for example, line items, discounts, gift cards), use their dedicated endpoints.\n * @param - Cart to update; may be partial.\n */\n (cart: Cart): Promise<\n NonNullablePaths<\n UpdateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: UpdateCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function deleteCurrentCart(\n httpClient: HttpClient\n): DeleteCurrentCartSignature {\n return () =>\n universalDeleteCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteCurrentCartSignature {\n /**\n * Deletes the customer's current cart.\n */\n (): Promise<void>;\n}\n\nexport function refreshCurrentCart(\n httpClient: HttpClient\n): RefreshCurrentCartSignature {\n return () =>\n universalRefreshCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RefreshCurrentCartSignature {\n /**\n * Re-evaluates prices, inventory, and discounts to ensure the customer's current cart is up-to-date with the latest changes.\n */\n (): Promise<\n NonNullablePaths<\n RefreshCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RefreshCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function calculateCurrentCart(\n httpClient: HttpClient\n): CalculateCurrentCartSignature {\n return (options?: CalculateCurrentCartOptions) =>\n universalCalculateCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CalculateCurrentCartSignature {\n /**\n * Calculates the customer's current cart based on its current state (line items, discounts, delivery method, etc.)\n * and returns a detailed summary including subtotal, delivery costs, taxes, fees, and the total price.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n */\n (options?: CalculateCurrentCartOptions): Promise<\n NonNullablePaths<\n CalculateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`\n | `summary.cartId`\n | `summary.cartRevision`\n | `summary.calculationId`\n | `summary.lineItems`\n | `summary.lineItems.${number}.lineItemId`\n | `summary.lineItems.${number}.quantity`\n | `summary.lineItems.${number}.unitPrice.amount`\n | `summary.lineItems.${number}.unitPrice.convertedAmount`\n | `summary.discounts`\n | `summary.discounts.${number}.name.original`\n | `summary.discounts.${number}.source.sourceType`\n | `summary.discounts.${number}.scope`\n | `summary.deliverySummary.method.code`\n | `summary.deliverySummary.method.pickup`\n | `summary.additionalFees`\n | `summary.additionalFees.${number}.source`\n | `summary.taxSummary.taxes`\n | `summary.taxSummary.pricesIncludeTax`\n | `summary.taxSummary.lineItemTaxes`\n | `summary.taxSummary.lineItemTaxes.${number}.lineItemId`\n | `summary.taxSummary.additionalFeeTaxes`\n | `summary.taxSummary.additionalFeeTaxes.${number}.additionalFeeCode`\n | `summary.paymentSummary.giftCards`\n | `summary.paymentSummary.giftCards.${number}.giftCardId`\n | `summary.paymentSummary.memberships`\n | `summary.paymentSummary.memberships.${number}._id`\n | `summary.paymentSummary.memberships.${number}.appId`\n | `summary.paymentSummary.subscriptionCharges`\n | `summary.paymentSummary.requiresPaymentAfterGiftCard`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.code`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `summary.calculationErrors.carrierErrors.errors`\n | `summary.calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `summary.calculationErrors.orderValidationErrors`\n | `summary.spiViolations`\n | `summary.spiViolations.${number}.severity`\n | `summary.spiViolations.${number}.target.other.name`\n | `summary.spiViolations.${number}.target.lineItem.name`\n | `summary.violations`\n | `summary.violations.${number}.invalidCouponStatusData.minLineItemQuantityNotReachedDetails.requiredMinimumQuantity`\n | `summary.violations.${number}.invalidCouponStatusData.couponCode`\n | `summary.violations.${number}.invalidCouponStatusData.reason`\n | `summary.violations.${number}.invalidCouponCodeData.couponCode`\n | `summary.violations.${number}.invalidGiftCardCodeData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.reason`\n | `summary.violations.${number}.lineItemsOutOfStockData.allLineItemsOutOfStock`\n | `summary.violations.${number}.invalidMembershipStatusData.reason`\n | `summary.violations.${number}.scope`\n | `summary.violations.${number}.code`\n | `summary.violations.${number}.severity`,\n 6\n > & {\n __applicationErrorsType?: CalculateCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function estimateCurrentCart(\n httpClient: HttpClient\n): EstimateCurrentCartSignature {\n return (options?: EstimateCurrentCartOptions) =>\n universalEstimateCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface EstimateCurrentCartSignature {\n /**\n * Estimates the customer's current cart totals based on its current state and the selected\n * calculation components.\n *\n * This API provides a partial, component-based estimation of the cart and is\n * intended for preview purposes (for example, showing partial estimated totals).\n *\n * The estimation is controlled by boolean flags that indicate which components\n * should be included (delivery costs, additional fees, taxes, gift cards).\n * Components that aren't explicitly enabled are excluded from the calculation.\n *\n * This isn't a full cart calculation.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n */\n (options?: EstimateCurrentCartOptions): Promise<\n NonNullablePaths<\n EstimateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`\n | `summary.cartId`\n | `summary.cartRevision`\n | `summary.calculationId`\n | `summary.lineItems`\n | `summary.lineItems.${number}.lineItemId`\n | `summary.lineItems.${number}.quantity`\n | `summary.lineItems.${number}.unitPrice.amount`\n | `summary.lineItems.${number}.unitPrice.convertedAmount`\n | `summary.discounts`\n | `summary.discounts.${number}.name.original`\n | `summary.discounts.${number}.source.sourceType`\n | `summary.discounts.${number}.scope`\n | `summary.deliverySummary.method.code`\n | `summary.deliverySummary.method.pickup`\n | `summary.additionalFees`\n | `summary.additionalFees.${number}.source`\n | `summary.taxSummary.taxes`\n | `summary.taxSummary.pricesIncludeTax`\n | `summary.taxSummary.lineItemTaxes`\n | `summary.taxSummary.lineItemTaxes.${number}.lineItemId`\n | `summary.taxSummary.additionalFeeTaxes`\n | `summary.taxSummary.additionalFeeTaxes.${number}.additionalFeeCode`\n | `summary.paymentSummary.giftCards`\n | `summary.paymentSummary.giftCards.${number}.giftCardId`\n | `summary.paymentSummary.memberships`\n | `summary.paymentSummary.memberships.${number}._id`\n | `summary.paymentSummary.memberships.${number}.appId`\n | `summary.paymentSummary.subscriptionCharges`\n | `summary.paymentSummary.requiresPaymentAfterGiftCard`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.code`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `summary.calculationErrors.carrierErrors.errors`\n | `summary.calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `summary.calculationErrors.orderValidationErrors`\n | `summary.spiViolations`\n | `summary.spiViolations.${number}.severity`\n | `summary.spiViolations.${number}.target.other.name`\n | `summary.spiViolations.${number}.target.lineItem.name`\n | `summary.violations`\n | `summary.violations.${number}.invalidCouponStatusData.minLineItemQuantityNotReachedDetails.requiredMinimumQuantity`\n | `summary.violations.${number}.invalidCouponStatusData.couponCode`\n | `summary.violations.${number}.invalidCouponStatusData.reason`\n | `summary.violations.${number}.invalidCouponCodeData.couponCode`\n | `summary.violations.${number}.invalidGiftCardCodeData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.reason`\n | `summary.violations.${number}.lineItemsOutOfStockData.allLineItemsOutOfStock`\n | `summary.violations.${number}.invalidMembershipStatusData.reason`\n | `summary.violations.${number}.scope`\n | `summary.violations.${number}.code`\n | `summary.violations.${number}.severity`,\n 6\n > & {\n __applicationErrorsType?: EstimateCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function addLineItemsToCurrentCart(\n httpClient: HttpClient\n): AddLineItemsToCurrentCartSignature {\n return (\n options?: NonNullablePaths<\n AddLineItemsToCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n ) =>\n universalAddLineItemsToCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddLineItemsToCurrentCartSignature {\n /**\n * Adds line items to the customer's current cart.\n * If a current cart doesn't already exist, one is created.\n */\n (\n options?: NonNullablePaths<\n AddLineItemsToCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n ): Promise<\n NonNullablePaths<\n AddLineItemsToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddLineItemsToCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function removeLineItemsFromCurrentCart(\n httpClient: HttpClient\n): RemoveLineItemsFromCurrentCartSignature {\n return (lineItemIds: string[]) =>\n universalRemoveLineItemsFromCurrentCart(\n lineItemIds,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveLineItemsFromCurrentCartSignature {\n /**\n * Removes line items from the customer's current cart.\n * @param - Line item IDs to remove from the current cart.\n */\n (lineItemIds: string[]): Promise<\n NonNullablePaths<\n RemoveLineItemsFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveLineItemsFromCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function updateLineItemsInCurrentCart(\n httpClient: HttpClient\n): UpdateLineItemsInCurrentCartSignature {\n return (\n options?: NonNullablePaths<\n UpdateLineItemsInCurrentCartOptions,\n | `lineItems.${number}.lineItemId`\n | `lineItems.${number}.quantity.newQuantity`,\n 3\n >\n ) =>\n universalUpdateLineItemsInCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateLineItemsInCurrentCartSignature {\n /**\n * Updates line items in the customer's current cart.\n *\n * Use this endpoint to update line item properties such as quantity and selected membership.\n */\n (\n options?: NonNullablePaths<\n UpdateLineItemsInCurrentCartOptions,\n | `lineItems.${number}.lineItemId`\n | `lineItems.${number}.quantity.newQuantity`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n UpdateLineItemsInCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: UpdateLineItemsInCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function addCouponToCurrentCart(\n httpClient: HttpClient\n): AddCouponToCurrentCartSignature {\n return (coupon: NonNullablePaths<CouponInput, `code`, 0>) =>\n universalAddCouponToCurrentCart(\n coupon,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddCouponToCurrentCartSignature {\n /**\n * Applies a coupon to the customer's current cart.\n * @param - Coupon to apply.\n *\n * Currently only one is supported.\n */\n (coupon: NonNullablePaths<CouponInput, `code`, 0>): Promise<\n NonNullablePaths<\n AddCouponToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddCouponToCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function removeCouponFromCurrentCart(\n httpClient: HttpClient\n): RemoveCouponFromCurrentCartSignature {\n return (couponId: string) =>\n universalRemoveCouponFromCurrentCart(\n couponId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveCouponFromCurrentCartSignature {\n /**\n * Removes a coupon from the customer's current cart.\n * @param - Coupon ID.\n */\n (couponId: string): Promise<\n NonNullablePaths<\n RemoveCouponFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveCouponFromCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function setDeliveryMethodForCurrentCart(\n httpClient: HttpClient\n): SetDeliveryMethodForCurrentCartSignature {\n return (deliveryMethod: NonNullablePaths<DeliveryMethodInput, `code`, 0>) =>\n universalSetDeliveryMethodForCurrentCart(\n deliveryMethod,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SetDeliveryMethodForCurrentCartSignature {\n /**\n * Sets the delivery method for the customer's current cart.\n * @param - Delivery method.\n */\n (deliveryMethod: NonNullablePaths<DeliveryMethodInput, `code`, 0>): Promise<\n NonNullablePaths<\n SetDeliveryMethodForCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: SetDeliveryMethodForCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function removeDeliveryMethodFromCurrentCart(\n httpClient: HttpClient\n): RemoveDeliveryMethodFromCurrentCartSignature {\n return () =>\n universalRemoveDeliveryMethodFromCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveDeliveryMethodFromCurrentCartSignature {\n /**\n * Removes the selected delivery method from the customer's current cart.\n */\n (): Promise<\n NonNullablePaths<\n RemoveDeliveryMethodFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveDeliveryMethodFromCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function addGiftCardToCurrentCart(\n httpClient: HttpClient\n): AddGiftCardToCurrentCartSignature {\n return (giftCard: NonNullablePaths<GiftCardInput, `code`, 0>) =>\n universalAddGiftCardToCurrentCart(\n giftCard,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddGiftCardToCurrentCartSignature {\n /**\n * Adds a gift card to the customer's current cart.\n *\n * Once added, the gift card's balance is used as a payment method during checkout, either partially or fully covering the cart total.\n * @param - Gift card to add.\n *\n * Currently only one is supported.\n */\n (giftCard: NonNullablePaths<GiftCardInput, `code`, 0>): Promise<\n NonNullablePaths<\n AddGiftCardToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddGiftCardToCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function removeGiftCardFromCurrentCart(\n httpClient: HttpClient\n): RemoveGiftCardFromCurrentCartSignature {\n return (giftCardId: string) =>\n universalRemoveGiftCardFromCurrentCart(\n giftCardId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveGiftCardFromCurrentCartSignature {\n /**\n * Removes a gift card from the customer's current cart.\n * @param - Gift card ID.\n */\n (giftCardId: string): Promise<\n NonNullablePaths<\n RemoveGiftCardFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveGiftCardFromCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function updateFormSubmissionsInCurrentCart(\n httpClient: HttpClient\n): UpdateFormSubmissionsInCurrentCartSignature {\n return (options?: UpdateFormSubmissionsInCurrentCartOptions) =>\n universalUpdateFormSubmissionsInCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateFormSubmissionsInCurrentCartSignature {\n /**\n * Updates form submissions associated with the customer's current cart line items.\n *\n * Forms are defined by catalog apps and used for collecting additional information per line item (for example, personalization text or event details).\n */\n (options?: UpdateFormSubmissionsInCurrentCartOptions): Promise<\n NonNullablePaths<\n UpdateFormSubmissionsInCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n >\n >;\n}\n\n/** @internal */\nexport function getUpsellOptionsForCurrentCart(\n httpClient: HttpClient\n): GetUpsellOptionsForCurrentCartSignature {\n return () =>\n universalGetUpsellOptionsForCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetUpsellOptionsForCurrentCartSignature {\n /**\n * Returns the upsell options available for the cart's line items.\n */\n (): Promise<\n NonNullablePaths<\n GetUpsellOptionsForCurrentCartResponse,\n `itemsUpsells` | `itemsUpsells.${number}.lineItemId`,\n 2\n >\n >;\n}\n\nexport const onCartCalculated = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v2.cart_calculated',\n true,\n (event: CartCalculatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n {\n path: 'data.paymentSummary.subscriptionCharges.charges.cycleBillingDate',\n },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<CartCalculatedEnvelope>();\nexport const onCartCreated = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v2.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.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'entity.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'entity.lineItems.attributes.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.source.catalogOverrideFields.image' },\n { path: 'entity.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'entity.lineItems.attributes.physicalProperties.weight' },\n { path: 'entity.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'entity.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'entity.deliveryInfo.address' },\n { path: 'entity.paymentInfo.billingAddress' },\n ],\n },\n ])\n )\n)<CartCreatedEnvelope>();\nexport const onCartDeleted = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v2.cart_deleted',\n true,\n (event: CartDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'entity.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'entity.lineItems.attributes.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.source.catalogOverrideFields.image' },\n { path: 'entity.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'entity.lineItems.attributes.physicalProperties.weight' },\n { path: 'entity.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'entity.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'entity.deliveryInfo.address' },\n { path: 'entity.paymentInfo.billingAddress' },\n ],\n },\n ])\n )\n)<CartDeletedEnvelope>();\nexport const onCartUpdated = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v2.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.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'entity.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'entity.lineItems.attributes.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n {\n path: 'modifiedFields.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'modifiedFields.lineItems.attributes.serviceProperties.scheduledDate',\n },\n {\n path: 'modifiedFields.lineItems.attributes.serviceProperties.endDate',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.source.catalogOverrideFields.image' },\n { path: 'entity.lineItems.attributes.image' },\n {\n path: 'modifiedFields.lineItems.source.catalogOverrideFields.image',\n },\n { path: 'modifiedFields.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'entity.lineItems.attributes.physicalProperties.weight' },\n { path: 'entity.tcAppliedDiscounts.merchantDiscount.percentage' },\n {\n path: 'modifiedFields.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n {\n path: 'modifiedFields.lineItems.attributes.physicalProperties.weight',\n },\n {\n path: 'modifiedFields.tcAppliedDiscounts.merchantDiscount.percentage',\n },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'entity.lineItems.attributes.url' },\n { path: 'modifiedFields.lineItems.attributes.url' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'entity.deliveryInfo.address' },\n { path: 'entity.paymentInfo.billingAddress' },\n { path: 'modifiedFields.deliveryInfo.address' },\n { path: 'modifiedFields.paymentInfo.billingAddress' },\n ],\n },\n ])\n )\n)<CartUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n AddCouponRequest,\n AddCouponResponse,\n AddCouponToCurrentCartRequest,\n AddCouponToCurrentCartResponse,\n AddGiftCardRequest,\n AddGiftCardResponse,\n AddGiftCardToCurrentCartRequest,\n AddGiftCardToCurrentCartResponse,\n AddLineItemsRequest,\n AddLineItemsResponse,\n AddLineItemsToCurrentCartOptions,\n AddLineItemsToCurrentCartRequest,\n AddLineItemsToCurrentCartResponse,\n AdditionalFee,\n AdditionalFeeSource,\n AdditionalFeeTax,\n Address,\n AddressLocation,\n AggregatedTaxBreakdown,\n ApplicableLineItems,\n ApplicationError,\n AppliedDiscount,\n AppliedDiscountDiscountSourceOneOf,\n AutoTaxFallbackCalculationDetails,\n BalanceType,\n BaseEventMetadata,\n Benefit,\n BenefitQuotaOneOf,\n BenefitType,\n BillingSettings,\n BusinessInfo,\n CalculateCartForV1Request,\n CalculateCartForV1Response,\n CalculateCartRequest,\n CalculateCartResponse,\n CalculateCurrentCartOptions,\n CalculateCurrentCartRequest,\n CalculateCurrentCartResponse,\n CalculateTotalsResponse,\n CalculatedItemModifier,\n CalculatedLineItem,\n CalculatedPlatformFee,\n CalculationConfig,\n CalculationErrors,\n CalculationErrorsShippingCalculationErrorOneOf,\n CalculationOverrides,\n Carrier,\n CarrierError,\n CarrierErrors,\n CarrierServiceOption,\n Cart,\n CartAlreadyOrderedErrorData,\n CartCalculatedEnvelope,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartEstimationIndicators,\n CartRevisionMismatchErrorData,\n CartSettings,\n CartSource,\n CartSummary,\n CartUpdatedEnvelope,\n CatalogItemInput,\n CatalogOverrideFields,\n CatalogReference,\n ChannelType,\n Charge,\n ChargeType,\n Color,\n ConvertedMoney,\n Coupon,\n CouponAdded,\n CouponAlreadyExistsErrorData,\n CouponInput,\n CouponNotFoundInCartErrorData,\n CouponRemoved,\n CoveredLineItem,\n CreateCartRequest,\n CreateCartResponse,\n CreateCurrentCartOptions,\n CreateCurrentCartRequest,\n CreateCurrentCartResponse,\n CreatedBy,\n CreatedByIdOneOf,\n CustomContentReference,\n CustomField,\n CustomItemAttributes,\n CustomItemDeliveryConfig,\n CustomItemInput,\n CustomItemPaymentConfig,\n CustomItemPricingInfo,\n CustomItemQuantityInfo,\n CustomItemSource,\n CustomItemTaxConfig,\n CustomValidationErrorData,\n CustomerInfo,\n CustomerInfoIdOneOf,\n DeleteCartRequest,\n DeleteCartResponse,\n DeleteCurrentCartRequest,\n DeleteCurrentCartResponse,\n DeliveryAllocation,\n DeliveryInfo,\n DeliveryLogistics,\n DeliveryMethod,\n DeliveryMethodInput,\n DeliveryMethodNotFoundErrorData,\n DeliverySummary,\n DeliveryTimeSlot,\n Description,\n DescriptionLine,\n DescriptionLineDescriptionLineValueOneOf,\n DescriptionLineName,\n DescriptionLineType,\n DescriptionLineValueOneOf,\n Details,\n DetailsKindOneOf,\n Dimensions,\n DimensionsUnit,\n Discount,\n DiscountRule,\n DiscountRuleName,\n DiscountScope,\n DiscountSource,\n DiscountSourceType,\n DiscountType,\n DomainEvent,\n DomainEventBodyOneOf,\n DuplicateItemModifierIdsErrorData,\n DuplicateLineItemUpdatesErrorData,\n DuplicateModifierGroupIdsErrorData,\n Empty,\n EmptyLineItemUpdatesErrorData,\n EmptyPaymentTokenErrorData,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EstimateCartRequest,\n EstimateCartResponse,\n EstimateCurrentCartOptions,\n EstimateCurrentCartRequest,\n EstimateCurrentCartResponse,\n EventMetadata,\n ExistingMembership,\n ExistingMembershipInput,\n ExtendedFields,\n ExternalReference,\n FallbackReason,\n FieldViolation,\n FileType,\n FixedQuantityItemErrorData,\n FormIdentifier,\n FormInfo,\n FormSubmission,\n FreeTrialPeriod,\n FullAddressContactDetails,\n FutureMembership,\n FutureMembershipInput,\n GetCartRequest,\n GetCartResponse,\n GetCheckoutURLRequest,\n GetCheckoutURLResponse,\n GetCurrentCartRequest,\n GetCurrentCartResponse,\n GetUpsellOptionsForCurrentCartRequest,\n GetUpsellOptionsForCurrentCartResponse,\n GetUpsellOptionsRequest,\n GetUpsellOptionsResponse,\n GiftCard,\n GiftCardAdded,\n GiftCardAlreadyExistsErrorData,\n GiftCardCalculationError,\n GiftCardInput,\n GiftCardNotFoundInCartErrorData,\n GiftCardRedeemErrorData,\n GiftCardRemoved,\n GiftCardSummary,\n Group,\n HandleAsyncCheckoutCompletionRequest,\n HeadersEntry,\n IdentificationData,\n IdentificationDataIdOneOf,\n InsufficientInventoryEntry,\n InsufficientInventoryErrorData,\n InvalidCartErrorData,\n InvalidCouponCodeErrorData,\n InvalidCouponReason,\n InvalidCouponStatusErrorData,\n InvalidCouponStatusErrorDataDetailsOneOf,\n InvalidGiftCardCodeErrorData,\n InvalidGiftCardReason,\n InvalidGiftCardStatusErrorData,\n InvalidMembership,\n InvalidMembershipEntry,\n InvalidMembershipErrorData,\n InvalidMembershipPaymentOptionErrorData,\n InvalidMembershipReason,\n InvalidMembershipStatusErrorData,\n InvalidPaymentStatusErrorData,\n InvalidPriceVerificationTokenErrorData,\n InvalidThirdPartyCheckoutTokenErrorData,\n ItemAttributes,\n ItemCombination,\n ItemCombinationLineItem,\n ItemDeliveryConfig,\n ItemDiscount,\n ItemModifier,\n ItemNotFoundInCatalogErrorData,\n ItemPaymentConfig,\n ItemPriceBreakdown,\n ItemPricingInfo,\n ItemQuantityInfo,\n ItemSource,\n ItemStatus,\n ItemTaxConfig,\n ItemTaxFullDetails,\n ItemType,\n ItemTypeItemTypeDataOneOf,\n ItemTypePreset,\n ItemUpsells,\n JurisdictionType,\n LegacyFields,\n LimitedQuota,\n LimitedQuotaType,\n LineItem,\n LineItemAdded,\n LineItemCoverage,\n LineItemDiscount,\n LineItemIdentifier,\n LineItemIdentifierIdOneOf,\n LineItemNotFoundInCartErrorData,\n LineItemPriceConflictErrorData,\n LineItemPricesData,\n LineItemSummary,\n LineItemTax,\n LineItemUpdate,\n LineItemsOutOfStockErrorData,\n ManualCalculationReason,\n MarkCartAsCompletedRequest,\n MarkCartAsCompletedResponse,\n MaxItemModifiersExceededErrorData,\n MaxLineItemsExceededErrorData,\n MembersOnlyItemErrorData,\n Membership,\n MembershipInput,\n MembershipInputMembershipOneOf,\n MembershipName,\n MembershipOptions,\n MembershipPaymentCredits,\n MembershipSummary,\n MembershipSummaryMembershipIdentifierOneOf,\n MerchantDiscount,\n MessageEnvelope,\n MinLineItemQuantityNotReachedDetails,\n MinSubtotalNotReachedDetails,\n ModifierGroup,\n MultiCurrencyPrice,\n NameInLineItem,\n NameInOther,\n Other,\n OtherCharge,\n PaymentInfo,\n PaymentOption,\n PaymentOptionType,\n PaymentSummary,\n PhysicalProperties,\n PickupDetails,\n PickupMethod,\n PlaceOrderRequest,\n PlaceOrderResponse,\n PlainTextValue,\n PlatformFee,\n PlatformFeeChargeType,\n PlatformFeeSummary,\n Policy,\n Price,\n PriceDescription,\n PriceDetails,\n PriceSummary,\n ProductPeriodAlignment,\n PurchasablePlan,\n QuantityUpdate,\n QuotaType,\n RateType,\n RawHttpResponse,\n RedemptionType,\n RedirectUrls,\n RefreshCartRequest,\n RefreshCartResponse,\n RefreshCurrentCartRequest,\n RefreshCurrentCartResponse,\n Region,\n RemoveCouponFromCurrentCartRequest,\n RemoveCouponFromCurrentCartResponse,\n RemoveCouponRequest,\n RemoveCouponResponse,\n RemoveDeliveryMethodFromCurrentCartRequest,\n RemoveDeliveryMethodFromCurrentCartResponse,\n RemoveDeliveryMethodRequest,\n RemoveDeliveryMethodResponse,\n RemoveGiftCardFromCurrentCartRequest,\n RemoveGiftCardFromCurrentCartResponse,\n RemoveGiftCardRequest,\n RemoveGiftCardResponse,\n RemoveLineItemsFromCurrentCartRequest,\n RemoveLineItemsFromCurrentCartResponse,\n RemoveLineItemsRequest,\n RemoveLineItemsResponse,\n RestoreInfo,\n RuleType,\n Scope,\n SecuredMedia,\n SelectedCarrierServiceOption,\n SelectedCarrierServiceOptionOtherCharge,\n SelectedCarrierServiceOptionPrices,\n SelectedMembership,\n SelectedMembershipUpdate,\n SelectedMemberships,\n ServiceProperties,\n SetDeliveryMethodForCurrentCartRequest,\n SetDeliveryMethodForCurrentCartResponse,\n SetDeliveryMethodRequest,\n SetDeliveryMethodResponse,\n Severity,\n ShippingInformation,\n ShippingOption,\n ShippingPrice,\n ShippingRegion,\n Source,\n StreetAddress,\n SubscriptionCharges,\n SubscriptionFrequency,\n SubscriptionOptionInfo,\n SubscriptionSettings,\n SubtotalBelowOrderMinimumErrorData,\n SuggestedFix,\n SystemError,\n Target,\n TargetTargetTypeOneOf,\n Tax,\n TaxBreakdown,\n TaxCalculationDetails,\n TaxCalculationDetailsCalculationDetailsOneOf,\n TaxDetails,\n TaxInfo,\n TaxRateBreakdown,\n TaxSummary,\n TaxableAddress,\n TaxableAddressTaxableAddressDataOneOf,\n TaxableAddressType,\n Title,\n TranslatableString,\n UnmarkAsCurrentCartRequest,\n UnmarkAsCurrentCartResponse,\n UpdateCartRequest,\n UpdateCartResponse,\n UpdateCurrentCartRequest,\n UpdateCurrentCartResponse,\n UpdateFormSubmissionsInCurrentCartOptions,\n UpdateFormSubmissionsInCurrentCartRequest,\n UpdateFormSubmissionsInCurrentCartResponse,\n UpdateFormSubmissionsRequest,\n UpdateFormSubmissionsResponse,\n UpdateLineItemsInCurrentCartOptions,\n UpdateLineItemsInCurrentCartRequest,\n UpdateLineItemsInCurrentCartResponse,\n UpdateLineItemsRequest,\n UpdateLineItemsResponse,\n UpsellBenefitMetadata,\n UpsellOption,\n V1AdditionalFee,\n V1Membership,\n V1PlatformFeeChargeType,\n V1PriceSummary,\n V2AdditionalFee,\n V2CalculationErrors,\n V2CalculationErrorsShippingCalculationErrorOneOf,\n V2CarrierError,\n V2CarrierErrors,\n V2Coupon,\n V2ExistingMembership,\n V2GiftCard,\n V2LineItem,\n V2LineItemDiscount,\n V2Membership,\n V2MembershipIdentifierOneOf,\n V2PriceSummary,\n V2SelectedMembership,\n V2TaxSummary,\n V2Violation,\n V2ViolationDataOneOf,\n ValidatedExistingMemberships,\n ValidatedPurchasablePlans,\n ValidationError,\n ValidationsConfig,\n VatId,\n VatType,\n Violation,\n ViolationCode,\n ViolationScope,\n ViolationSeverity,\n ViolationWithErrorSeverityErrorData,\n ViolationsList,\n WebhookIdentityType,\n WeightUnit,\n} from './ecom-v2-cart-current-cart-v-2.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 ambassadorWixEcomV2Cart from './ecom-v2-cart-current-cart-v-2.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\n/**\n * A shopping cart for a customer on a Wix eCommerce site.\n *\n * A cart holds the customer's selected items, applied discounts (coupons, automatic rules),\n * delivery information, and payment details before the order is placed.\n *\n * Carts may be deleted after a period of inactivity.\n *\n * Use the [Cart Service](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/introduction) to manage carts by ID,\n * or the [Current Cart Service](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/introduction) to manage\n * the current customer's cart by session.\n */\nexport interface Cart {\n /**\n * Cart ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Date and time the Cart was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the Cart was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Revision number, which increments by 1 each time the Cart is updated.\n * @readonly\n */\n revision?: string;\n /**\n * Line items added to the Cart by the customer.\n * This list may include in-stock items and invalid or out-of-stock items.\n * @maxSize 300\n * @readonly\n */\n lineItems?: V2LineItem[];\n /**\n * The sum of all line item final prices.\n * @readonly\n */\n subtotal?: ConvertedMoney;\n /**\n * Optional message left by the customer.\n * Usually intended for the merchant and contains special instructions, requests, or clarifications related to the order.\n * @maxLength 1000\n */\n note?: string | null;\n /**\n * List of coupons added to the Cart.\n * Currently only one coupon code is supported.\n * @maxSize 1\n * @readonly\n */\n coupons?: V2Coupon[];\n /** Information about the source of the Cart, detailing the origin or context in which the Cart was created. */\n source?: CartSource;\n /** Information about the site from which the Cart's line items were added. */\n businessInfo?: BusinessInfo;\n /** Information about the customer that owns the Cart. */\n customerInfo?: CustomerInfo;\n /** Delivery-related information associated with the Cart. */\n deliveryInfo?: DeliveryInfo;\n /** Tax-related information associated with the Cart. */\n taxInfo?: TaxInfo;\n /** Payment-related information associated with the Cart. */\n paymentInfo?: PaymentInfo;\n /**\n * Whether the Cart has been placed as an Order.\n * Defaults to `false`.\n * @readonly\n */\n orderPlaced?: boolean;\n /**\n * Order ID.\n * Empty until the checkout process is completed.\n * @format GUID\n * @readonly\n */\n orderId?: string | null;\n /**\n * Persistent ID that correlates the Cart with the created Order after checkout is completed.\n * @format GUID\n * @readonly\n */\n purchaseFlowId?: string | null;\n /**\n * Additional cart settings.\n *\n * Settings can only be configured at cart creation time and can't be changed afterwards.\n * @immutable\n * @readonly\n */\n settings?: CartSettings;\n /**\n * Custom checkout URL to redirect the customer to a checkout page.\n * By default, customers are redirected to the standard Wix checkout page.\n * Clients can override this behavior by providing their own URL here.\n * If the URL contains the placeholder `{checkout_id}`, it will be replaced with the actual Cart ID.\n * @maxLength 2048\n */\n customCheckoutUrl?: string | null;\n /**\n * Custom fields.\n * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Whether this is the customer's current cart.\n * The current cart can be accessed using the identity context (for example, `visitorId` from session cookies) without an explicit cart ID.\n * @readonly\n */\n currentCart?: boolean;\n /**\n * Legacy fields for backward compatibility with Cart V1.\n * Should be used only by the Cart API proxy to populate V1 fields.\n * Used to avoid re-calculating these fields in the proxy.\n * @internal\n */\n legacyFields?: LegacyFields;\n /**\n * Forms associated with the Cart's line items.\n * @internal\n * @readonly\n * @maxSize 1000\n */\n forms?: FormInfo[];\n /**\n * Whether this is a demo cart.\n * Demo carts are created in the Wix editor for merchant preview and can't proceed to checkout.\n *\n * Default: `false`\n */\n demo?: boolean;\n /**\n * Indicators that help clients decide whether to call EstimateCart.\n * @internal\n * @readonly\n */\n estimationIndicators?: CartEstimationIndicators;\n /**\n * Applied discounts from totals calculator. Used internally for re-calculation without discounts, and by cart-v1-proxy.\n * @internal\n * @readonly\n * @maxSize 100\n */\n tcAppliedDiscounts?: AppliedDiscount[];\n}\n\nexport interface V2LineItem {\n /**\n * Unique identifier for the line item within the cart.\n * @format GUID\n */\n _id?: string;\n /** Display name for the line item. */\n name?: TranslatableString;\n /** Quantity details for the line item. */\n quantityInfo?: ItemQuantityInfo;\n /** Pricing details for the line item. */\n pricing?: ItemPricingInfo;\n /** Information about the line item's origin. */\n source?: ItemSource;\n /** Display details for the item. */\n attributes?: ItemAttributes;\n /** Delivery configuration for the line item. */\n deliveryConfig?: ItemDeliveryConfig;\n /** Tax configuration for the line item. */\n taxConfig?: ItemTaxConfig;\n /** Payment configuration for the line item. */\n paymentConfig?: ItemPaymentConfig;\n /** Inventory availability status for the line item. */\n status?: ItemStatusWithLiterals;\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 * Additional fees added to this item's calculation.\n * @internal\n * @maxSize 5\n */\n additionalFees?: V1AdditionalFee[];\n /**\n * Modifier groups added to the item.\n * @maxSize 25\n */\n modifierGroups?: ModifierGroup[];\n /**\n * Discounts applied to this line item.\n * @maxSize 100\n */\n discounts?: ItemDiscount[];\n /**\n * Whether the line item is a custom line item.\n * Custom line items don't trigger the Catalog service plugin.\n */\n customLineItem?: boolean;\n /**\n * Coupon scopes: which app and items a coupon applies to.\n * Internal to Wix; used by Bookings, Stores, and Events with the [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n * @internal\n * @maxSize 100\n */\n couponScopes?: Scope[];\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 ItemQuantityInfo {\n /**\n * Confirmed quantity to purchase.\n * The minimum of `requestedQuantity` and `availableQuantity`.\n * @min 1\n * @max 100000\n */\n confirmedQuantity?: number;\n /**\n * Quantity the customer originally requested.\n * @min 1\n * @max 100000\n */\n requestedQuantity?: number;\n /** Maximum quantity available for purchase. */\n availableQuantity?: number | null;\n /**\n * Whether the line item quantity is fixed and can't be changed.\n *\n * Default: `false`\n */\n fixedQuantity?: boolean;\n}\n\nexport interface ItemPricingInfo {\n /**\n * Final unit price after discounts.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n unitPrice?: ConvertedMoney;\n /**\n * Final total price for this item (unit price × quantity).\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n totalPrice?: ConvertedMoney;\n /**\n * Additional price description.\n * For example, when the price is `0` but you need more detail, such as \"Starts at $67\".\n */\n priceDescription?: PriceDescription;\n /** Whether the price isn't yet defined and will be updated after the order is created. */\n priceUndetermined?: boolean;\n /** Detailed breakdown of price components. */\n breakdown?: ItemPriceBreakdown;\n}\n\nexport interface ConvertedMoney {\n /**\n * Monetary amount in the original currency, as specified in `businessInfo.currencyCode`.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n amount?: string;\n /**\n * Monetary amount in the converted currency, as specified in `customerInfo.currencyCode`.\n *\n * Default: `amount`.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n * @readonly\n */\n convertedAmount?: string;\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\nexport interface ItemPriceBreakdown {\n /**\n * Full catalog price for a single item before discounts, including modifiers.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n fullPrice?: ConvertedMoney;\n /**\n * Catalog sale price for a single item, including modifiers.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n salePrice?: ConvertedMoney;\n /**\n * Total price of all modifiers for a single item.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n totalModifiersPrice?: ConvertedMoney;\n /**\n * Full catalog price for a single item without modifiers.\n * Used by Cart & Checkout V1 API proxies when converting to legacy entities.\n * @internal\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n */\n fullPriceBeforeModifiers?: string | null;\n /**\n * Catalog sale price for a single item without modifiers.\n * Stored in the site currency.\n * Used by Cart & Checkout V1 API proxies when converting to legacy entities.\n * @internal\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n */\n salePriceBeforeModifiers?: string | null;\n}\n\nexport interface ItemSource {\n /**\n * Catalog and item reference: IDs for the item and catalog, plus optional details.\n * Optional for custom line items, which don't trigger the Catalog service plugin.\n */\n catalogReference?: CatalogReference;\n /** Overriding values for catalog item properties. */\n catalogOverrideFields?: CatalogOverrideFields;\n /**\n * When `catalogReference.catalogItemId` isn't the actual catalog item ID, this field returns the true catalog item ID.\n * For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID, so this value is the service ID.\n * In most cases, this matches `catalogReference.catalogItemId`.\n * Used in membership validation.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n /**\n * ID of the app managing the inventory.\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * ID of the app providing upsells for this item.\n * @internal\n * @format GUID\n */\n upsellOptionsAppId?: string | null;\n /**\n * Line-item ID in external systems.\n * @internal\n * @minLength 1\n * @maxLength 100\n */\n externalResourceId?: string | null;\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.\n *\n * Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\n *\n * For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\n * or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).\n */\n options?: Record<string, any> | null;\n}\n\nexport interface CatalogOverrideFields {\n /** Display name for the line item. */\n name?: TranslatableString;\n /**\n * Sale price for a single item after modifiers, before discounts.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n salePrice?: string | null;\n /**\n * Full price for a single item after modifiers, before discounts.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n fullPrice?: string | null;\n /**\n * Description lines for the item.\n * Shown when displaying the line item to buyers.\n * @maxSize 20\n */\n descriptionLines?: DescriptionLine[];\n /** Physical properties of the item. */\n physicalProperties?: PhysicalProperties;\n /** Item image. */\n image?: string;\n /** Selected payment option for the item. */\n paymentOption?: PaymentOption;\n /**\n * Partial payment due upfront during checkout.\n * Only when `paymentOption.value` is `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 inventory.\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Whether the line item quantity is fixed and can't be changed.\n * When not set, falls back to the value from the catalog.\n * @internal\n */\n fixedQuantity?: boolean | null;\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 /**\n * Description line plain text value.\n * @internal\n * @deprecated\n */\n plainTextValue?: PlainTextValue;\n /**\n * Description line color.\n * @internal\n * @deprecated\n */\n color?: string;\n /** Description line name. */\n name?: DescriptionLineName;\n /**\n * Description line type.\n * @internal\n * @deprecated\n */\n lineType?: DescriptionLineTypeWithLiterals;\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 /**\n * Description line plain text value.\n * @internal\n * @deprecated\n */\n plainTextValue?: PlainTextValue;\n /**\n * Description line color.\n * @internal\n * @deprecated\n */\n color?: string;\n}\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 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 * Product dimensions (length, width, height of the physical product).\n * @internal\n */\n productDimensions?: Dimensions;\n /**\n * Package dimensions (length, width, height of the shipping package).\n * @internal\n */\n packageDimensions?: Dimensions;\n}\n\nexport interface Dimensions {\n /**\n * Length. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n length?: string | null;\n /**\n * Width. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n width?: string | null;\n /**\n * Height. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n height?: string | null;\n /** Unit of measurement for dimensions (length, width, height). */\n unit?: DimensionsUnitWithLiterals;\n}\n\nexport enum DimensionsUnit {\n UNKNOWN_DIMENSIONS_UNIT = 'UNKNOWN_DIMENSIONS_UNIT',\n /** Millimeters. */\n MM = 'MM',\n /** Centimeters. */\n CM = 'CM',\n /** Meters. */\n M = 'M',\n /** Inches. */\n IN = 'IN',\n /** Feet. */\n FT = 'FT',\n /** Yards. */\n YD = 'YD',\n}\n\n/** @enumType */\nexport type DimensionsUnitWithLiterals =\n | DimensionsUnit\n | 'UNKNOWN_DIMENSIONS_UNIT'\n | 'MM'\n | 'CM'\n | 'M'\n | 'IN'\n | 'FT'\n | 'YD';\n\nexport interface PaymentOption {\n /**\n * Selected payment option type for this item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n value?: PaymentOptionTypeWithLiterals;\n}\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 ItemAttributes {\n /**\n * Description lines for the item.\n * @maxSize 100\n */\n descriptionLines?: DescriptionLine[];\n /** Item image. */\n image?: string;\n /** URL of the item's page on the site. */\n url?: string;\n /**\n * Policies shown to the buyer on the checkout page.\n * @maxSize 5\n */\n policies?: Policy[];\n /** Item type: preset or custom. */\n itemType?: ItemType;\n /**\n * Physical properties of the item.\n * When relevant, includes SKU, weight, and shippability.\n */\n physicalProperties?: PhysicalProperties;\n /** Subscription option details. */\n subscriptionInfo?: SubscriptionOptionInfo;\n /**\n * Digital file identifier; relevant only for items with type `DIGITAL`.\n * @internal\n */\n digitalFile?: SecuredMedia;\n /**\n * Service properties.\n * When relevant, includes date and number of participants.\n */\n serviceProperties?: ServiceProperties;\n /**\n * Whether the item can only be purchased by site members.\n *\n * Default: `false`\n */\n membersOnly?: boolean;\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 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 * Billing configuration for recurring charges.\n * @internal\n */\n billingSettings?: BillingSettings;\n /**\n * Whether the product/service/subscription access period is aligned with the billing period.\n * @internal\n */\n productPeriodAlignment?: ProductPeriodAlignmentWithLiterals;\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 * Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.\n * @min 1\n * @max 999\n */\n interval?: number;\n}\n\nexport interface BillingSettings {\n /**\n * Day of month (1-28) to anchor recurring billing to. When set, billing recurs on this day each cycle. Does not apply to weekly subscriptions.\n * @min 1\n * @max 28\n */\n anchorDay?: number | null;\n}\n\nexport enum ProductPeriodAlignment {\n /** Billing period equals the product/service/subscription access period. */\n ALIGNED_WITH_BILLING_PERIOD = 'ALIGNED_WITH_BILLING_PERIOD',\n /** Billing period is independent of the product/service/subscription access period. */\n NOT_ALIGNED_WITH_BILLING_PERIOD = 'NOT_ALIGNED_WITH_BILLING_PERIOD',\n}\n\n/** @enumType */\nexport type ProductPeriodAlignmentWithLiterals =\n | ProductPeriodAlignment\n | 'ALIGNED_WITH_BILLING_PERIOD'\n | 'NOT_ALIGNED_WITH_BILLING_PERIOD';\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 SECURE_RAW = 'SECURE_RAW',\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 | 'SECURE_RAW';\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 ItemDeliveryConfig {\n /**\n * Delivery profile ID.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n /**\n * Optional custom fulfiller ID.\n * @format GUID\n */\n fulfillerId?: string | null;\n}\n\nexport interface ItemTaxConfig {\n /** Address used for tax calculation. */\n taxableAddress?: TaxableAddress;\n /**\n * Tax group ID for this line item.\n * @maxLength 50\n */\n taxGroupId?: string | null;\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 BUSINESS = 'BUSINESS',\n BILLING = 'BILLING',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type TaxableAddressTypeWithLiterals =\n | TaxableAddressType\n | 'BUSINESS'\n | 'BILLING'\n | 'SHIPPING';\n\nexport interface ItemPaymentConfig {\n /**\n * Whether to save the payment method on the order.\n *\n * Default: `false`\n */\n savePaymentMethod?: boolean;\n /**\n * Item payment policy that requires buyer consent to complete the purchase.\n * Displayed on the checkout page.\n * @minLength 1\n * @maxLength 2500\n */\n consentRequiredPaymentPolicy?: string | null;\n /**\n * Partial payment due upfront during checkout.\n * Only when `paymentOption` is `DEPOSIT_ONLINE`.\n */\n depositAmount?: ConvertedMoney;\n /**\n * Selected membership used as payment for this item.\n * Use with `paymentOption` `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`.\n * Can be empty when `paymentOption` is `MEMBERSHIP_OFFLINE`.\n *\n * DEPRECATED: migrate to `membership`. Removed once all clients migrate.\n * @deprecated\n * @replacedBy membership\n * @targetRemovalDate 2026-06-22\n */\n selectedMembership?: V2SelectedMembership;\n /**\n * Selected payment option type for this item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /**\n * Membership used as payment for this item. Can be an existing membership, or one\n * created from a plan in the same cart.\n *\n * Replaces `selectedMembership`.\n *\n * Use with `paymentOption` `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`.\n */\n membership?: V2Membership;\n}\n\nexport interface V2SelectedMembership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 200\n */\n _id?: string;\n /**\n * ID of the app providing this payment option.\n * @format GUID\n */\n appId?: string;\n /**\n * Display name of the selected membership.\n * @readonly\n */\n name?: TranslatableString;\n}\n\nexport interface V2Membership extends V2MembershipIdentifierOneOf {\n /** Existing, already-provisioned membership. */\n existingMembership?: V2ExistingMembership;\n /** Future membership, created after the plan is purchased. */\n futureMembership?: FutureMembership;\n /**\n * Display name of the membership. For example, \"10-class yoga pass\".\n * @readonly\n */\n name?: TranslatableString;\n /**\n * Amount deducted from the membership's balance to redeem this line item.\n * `0` when the membership's benefit is unlimited (nothing is deducted).\n * Absent when the cost hasn't been calculated yet.\n * @readonly\n */\n redemptionCost?: number | null;\n /**\n * Kind of balance `redemptionCost` is deducted from.\n * @readonly\n */\n redemptionType?: RedemptionTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface V2MembershipIdentifierOneOf {\n /** Existing, already-provisioned membership. */\n existingMembership?: V2ExistingMembership;\n /** Future membership, created after the plan is purchased. */\n futureMembership?: FutureMembership;\n}\n\nexport interface V2ExistingMembership {\n /**\n * ID of the app providing this membership payment option, for example Pricing Plans.\n * @format GUID\n */\n appId?: string;\n /**\n * ID of existing membership.\n * @minLength 1\n * @maxLength 200\n */\n membershipId?: string;\n}\n\nexport interface FutureMembership {\n /**\n * ID of the plan line item, already in the cart, whose future membership pays for this item.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * The selected unit within the plan to redeem.\n * @maxLength 200\n */\n benefitId?: string;\n}\n\nexport enum RedemptionType {\n /** Membership balance is measured in a currency-like credit value, for example points. */\n CREDITS = 'CREDITS',\n /** Membership balance is measured in discrete sessions, for example visits or classes. */\n SESSIONS = 'SESSIONS',\n}\n\n/** @enumType */\nexport type RedemptionTypeWithLiterals =\n | RedemptionType\n | 'CREDITS'\n | 'SESSIONS';\n\nexport enum ItemStatus {\n /** Item is available in the requested quantity. */\n IN_STOCK = 'IN_STOCK',\n /** Only part of the requested quantity is available. */\n PARTIALLY_IN_STOCK = 'PARTIALLY_IN_STOCK',\n /** Item is out of stock. */\n OUT_OF_STOCK = 'OUT_OF_STOCK',\n /** Item no longer exists in the catalog. */\n REMOVED_FROM_CATALOG = 'REMOVED_FROM_CATALOG',\n}\n\n/** @enumType */\nexport type ItemStatusWithLiterals =\n | ItemStatus\n | 'IN_STOCK'\n | 'PARTIALLY_IN_STOCK'\n | 'OUT_OF_STOCK'\n | 'REMOVED_FROM_CATALOG';\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 V1AdditionalFee {\n /**\n * Additional fee's unique code or ID.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /**\n * Additional fee's name.\n *\n * Max: 50 characters\n * @minLength 1\n * @maxLength 50\n */\n name?: string;\n /**\n * Total additional fees. This `price` does not include any taxes that may apply to these additional fees.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:2 }\n */\n price?: string;\n /**\n * Tax details.\n *\n * > **Note:** Tax is not calculated in the returned `price` even when `taxDetails.taxable` is `true`.\n */\n taxDetails?: TaxDetails;\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}\n\n/** Tax details. */\nexport interface TaxDetails {\n /** Whether additional fee is taxable. */\n taxable?: boolean;\n /**\n * Reserved for internal use.\n * @format GUID\n */\n taxGroupId?: string | null;\n}\n\nexport interface ModifierGroup {\n /**\n * Modifier group ID.\n * @minLength 1\n * @maxLength 36\n * @readonly\n */\n _id?: string;\n /** Modifier group name. */\n name?: TranslatableString;\n /**\n * Modifiers in this group.\n * @minSize 1\n * @maxSize 25\n */\n modifiers?: ItemModifier[];\n}\n\nexport interface ItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n * @readonly\n */\n _id?: string;\n /**\n * Modifier quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n /** Primary label for the modifier. */\n label?: TranslatableString;\n /** Extra modifier copy. */\n details?: TranslatableString;\n /** Modifier price. */\n price?: ConvertedMoney;\n}\n\nexport interface ItemDiscount {\n /** Discount display name. */\n name?: TranslatableString;\n /** Total amount taken off the item's sale price for the full line item quantity. */\n amountOff?: ConvertedMoney;\n /** Discount source (for example, coupon or automatic discount) and related identifiers. */\n source?: DiscountSource;\n}\n\nexport interface DiscountSource {\n /** Discount source type. */\n sourceType?: DiscountSourceTypeWithLiterals;\n /**\n * Coupon code that triggered the discount. Only relevant for coupon discounts.\n * @maxLength 50\n */\n couponCode?: string | null;\n /**\n * ID of the coupon that triggered the discount, if applicable. Used for V1 compatibility and analytics.\n * @internal\n * @maxLength 50\n */\n couponId?: string | null;\n /**\n * Coupon type that triggered the discount, if applicable (for example, money off or buy X get Y). Used for V1 compatibility.\n * @internal\n * @maxLength 50\n */\n couponType?: string | null;\n /**\n * ID of the automatic rule that triggered the discount, if applicable. Used for V1 compatibility and analytics.\n * @internal\n * @maxLength 50\n */\n ruleId?: string | null;\n}\n\nexport enum DiscountSourceType {\n /** Discount applied automatically by a rule. */\n AUTOMATIC_RULE = 'AUTOMATIC_RULE',\n /** Discount applied by a coupon code. */\n COUPON = 'COUPON',\n}\n\n/** @enumType */\nexport type DiscountSourceTypeWithLiterals =\n | DiscountSourceType\n | 'AUTOMATIC_RULE'\n | 'COUPON';\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 V2Coupon {\n /**\n * Coupon ID in the cart.\n * @format GUID\n */\n _id?: string;\n /**\n * Coupon code entered at checkout.\n * @minLength 1\n * @maxLength 50\n */\n code?: string;\n}\n\nexport interface CartSource {\n /** Sales channel that created the cart. */\n channelType?: ChannelTypeWithLiterals;\n /**\n * External app and resource references for this cart, used for integration and tracking across platforms.\n * @maxSize 10\n * @immutable\n * @readonly\n */\n externalReferences?: ExternalReference[];\n /**\n * Entity that created the cart.\n * @readonly\n */\n createdBy?: CreatedBy;\n /** App and component IDs for the custom checkout page content provider. */\n customContentReference?: CustomContentReference;\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 /** Stripe Agentic Checkout sales channel. */\n STRIPE_AGENTIC_CHECKOUT = 'STRIPE_AGENTIC_CHECKOUT',\n /**\n * Wix Invoices platform app\n * @documentationMaturity preview\n * @internal\n */\n WIX_INVOICES_PLATFORM = 'WIX_INVOICES_PLATFORM',\n /**\n * UCP (Universal Checkout Protocol) Agentic Checkout sales channel.\n * @documentationMaturity preview\n * @internal\n */\n UCP_AGENTIC_CHECKOUT = 'UCP_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 | 'STRIPE_AGENTIC_CHECKOUT';\n\nexport interface ExternalReference {\n /**\n * ID of the app associated with the purchase flow.\n * For example, the Wix Pay Links app ID.\n * @format GUID\n * @immutable\n */\n appId?: string;\n /**\n * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n * For example, a Wix Pay Link ID.\n * @minLength 1\n * @maxLength 100\n * @immutable\n */\n resourceId?: string | null;\n}\n\nexport interface CreatedBy extends CreatedByIdOneOf {\n /**\n * Site visitor ID when the visitor isn't a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Site member ID.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * Wix user ID when the cart was created by a Wix user on behalf of a buyer (for example, POS).\n * @format GUID\n */\n userId?: string;\n /**\n * App ID when the cart was created by an external app or Wix service.\n * @format GUID\n */\n appId?: string;\n}\n\n/** @oneof */\nexport interface CreatedByIdOneOf {\n /**\n * Site visitor ID when the visitor isn't a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Site member ID.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * Wix user ID when the cart was created by a Wix user on behalf of a buyer (for example, POS).\n * @format GUID\n */\n userId?: string;\n /**\n * App ID when the cart was created by an external app or Wix service.\n * @format GUID\n */\n appId?: string;\n}\n\nexport interface CustomContentReference {\n /**\n * App ID for the checkout content provider. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n * @format GUID\n */\n appId?: string;\n /**\n * Component ID within that app. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n * @format GUID\n */\n componentId?: string;\n}\n\nexport interface BusinessInfo {\n /**\n * Business location ID for the cart. See the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n * @format GUID\n */\n locationId?: string | null;\n /**\n * 2-letter language code in ISO 639-1 alpha-2 format. The business's default language.\n * @format LANGUAGE\n * @readonly\n */\n languageCode?: string;\n /**\n * Three-letter currency code in ISO-4217 alphabetic format. The site's base currency; it doesn't change when the [customer selects a different display currency](https://support.wix.com/en/article/multicurrency-an-overview).\n * @format CURRENCY\n * @readonly\n */\n currencyCode?: string;\n}\n\nexport interface CustomerInfo extends CustomerInfoIdOneOf {\n /**\n * Site visitor ID when the visitor isn't a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Site member ID.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * Wix user ID when the cart was created by a Wix user on behalf of a customer (for example, POS).\n * @format GUID\n * @readonly\n */\n userId?: string;\n /**\n * Whether the cart has no owner yet. The first site visitor or member to access the cart becomes its owner.\n *\n * Specify `true` when creating a cart for a customer who isn't identified yet.\n *\n * Used only when an app or a Wix user creates the cart.\n *\n * Default: `true` if no customer is identified when the cart is created, otherwise `false`.\n * @readonly\n */\n openAccess?: boolean;\n /**\n * Customer's first name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Customer's last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Customer's phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Company name.\n * @maxLength 1000\n */\n company?: string | null;\n /** Business VAT registration number. */\n vatId?: VatId;\n /**\n * Customer's email address.\n * @format EMAIL\n */\n email?: string | null;\n /**\n * Customer's contact ID. Created automatically if one doesn't exist yet. See the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).\n * @format GUID\n * @readonly\n */\n contactId?: string | null;\n /**\n * 2-letter language code in ISO 639-1 alpha-2 format. Resolved automatically from request metadata (`x-wix-linguist` header).\n * @format LANGUAGE\n * @readonly\n */\n languageCode?: string;\n /**\n * Three-letter currency code in ISO-4217 alphabetic format. [Currency the customer selects](https://support.wix.com/en/article/multicurrency-an-overview) during checkout; it's their preferred display currency and may differ from the site's default.\n * @format CURRENCY\n * @readonly\n */\n currencyCode?: string;\n}\n\n/** @oneof */\nexport interface CustomerInfoIdOneOf {\n /**\n * Site visitor ID when the visitor isn't a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Site member ID.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * Wix user ID when the cart was created by a Wix user on behalf of a customer (for example, POS).\n * @format GUID\n * @readonly\n */\n userId?: string;\n /**\n * Whether the cart has no owner yet. The first site visitor or member to access the cart becomes its owner.\n *\n * Specify `true` when creating a cart for a customer who isn't identified yet.\n *\n * Used only when an app or a Wix user creates the cart.\n *\n * Default: `true` if no customer is identified when the cart is created, otherwise `false`.\n * @readonly\n */\n openAccess?: boolean;\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 DeliveryInfo {\n /** Delivery address. */\n address?: Address;\n /**\n * Delivery method selected by the customer.\n * @readonly\n */\n method?: DeliveryMethod;\n /**\n * Weight unit used when shipping items (for example, kg or lb).\n * @readonly\n */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * ID of the delivery address in the legacy addresses service.\n * @internal\n * @maxLength 50\n */\n addressId?: string | null;\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 * Apartment number.\n * @internal\n */\n apt?: string;\n /**\n * Optional address line 1\n * @internal\n */\n formattedAddressLine?: string | null;\n}\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\nexport interface DeliveryMethod {\n /**\n * Shipping rate code.\n * Example: `\"usps_std_overnight\"`.\n * @maxLength 100\n */\n code?: string;\n /**\n * Carrier app ID.\n * @format GUID\n */\n appId?: string | null;\n /**\n * Delivery rate title.\n * Examples: `\"USPS Standard Overnight Delivery\"`, `\"Standard\"`, `\"First-Class Package International\"`.\n */\n title?: TranslatableString;\n /** Whether this method is pickup. */\n pickup?: boolean;\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 TaxInfo {\n /**\n * Whether tax is already included in prices (line items, delivery, additional fees).\n * @readonly\n */\n pricesIncludeTax?: boolean;\n /**\n * Tax-exempt group ID applied for tax exemptions.\n * @format GUID\n */\n taxExemptGroupId?: string | null;\n}\n\nexport interface PaymentInfo {\n /**\n * Gift cards applied to the payment. Only one gift card is supported.\n * @readonly\n * @maxSize 1\n */\n giftCards?: V2GiftCard[];\n /**\n * Three-letter currency code in ISO-4217 alphabetic format.\n * Currency used to process payment. Matches `customerInfo.currencyCode` when that currency is supported for payment, otherwise falls back to `businessInfo.currencyCode`.\n * @format CURRENCY\n * @readonly\n */\n currencyCode?: string;\n /** Billing address. */\n billingAddress?: Address;\n /** Billing contact details. */\n billingContact?: FullAddressContactDetails;\n /**\n * ID of the billing address in the legacy addresses service.\n * @internal\n * @maxLength 50\n */\n addressId?: string | null;\n /**\n * ID of the site payment method type the customer selected to pay with. See the [Site Payment Method Types API](https://dev.wix.com/docs/api-reference/business-management/payments/site-payment-method-types/introduction).\n * @internal\n * @format GUID\n */\n sitePaymentMethodTypeId?: string | null;\n}\n\nexport interface V2GiftCard {\n /**\n * Unique identifier of the gift card within the cart.\n * @format GUID\n */\n _id?: string;\n /**\n * Partially masked gift card code.\n * @maxLength 50\n */\n obfuscatedCode?: string;\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, used for integration and tracking across platforms.\n * @minLength 1\n * @maxLength 50\n */\n externalId?: string | null;\n /** Amount to redeem from this gift card. */\n requestedRedeemAmount?: ConvertedMoney;\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 CartSettings {\n /** Whether adding or removing a gift card from the cart is restricted. */\n lockGiftCard?: boolean | null;\n /** Whether adding or removing a coupon code from the cart is restricted. */\n lockCouponCode?: boolean | null;\n /** Whether the policy agreement checkbox is disabled on the checkout page. */\n policyAgreementCheckboxDisabled?: boolean | null;\n /** Whether the manual payment option is disabled on the checkout page. */\n manualPaymentDisabled?: boolean | null;\n}\n\nexport interface LegacyFields {\n /**\n * The coupon discount amount.\n * @readonly\n */\n couponDiscount?: ConvertedMoney;\n /**\n * The sum of all line items after applying all discounts.\n * @readonly\n */\n subtotalAfterCouponDiscount?: ConvertedMoney;\n /**\n * Indicates that this cart was created by the Buy Now flow.\n * Used by the Cart API proxy to determine whether to produce legacy V1 domain events.\n * @readonly\n * @immutable\n */\n buyNow?: boolean;\n /**\n * Custom fields.\n * @maxSize 100\n */\n customFields?: CustomField[];\n}\n\nexport interface CustomField {\n /** Custom field value. */\n value?: any;\n /**\n * Custom field title.\n * @minLength 1\n * @maxLength 500\n */\n title?: string;\n /**\n * Translated custom field title.\n * @minLength 1\n * @maxLength 500\n */\n translatedTitle?: string | null;\n}\n\nexport interface FormInfo {\n /**\n * Identifier of the form schema definition.\n * @readonly\n */\n schemaIdentifier?: FormIdentifier;\n /**\n * Form instance ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * IDs of the line items associated with this form.\n * @format GUID\n * @readonly\n * @maxSize 300\n */\n lineItemIds?: string[];\n /**\n * Translated title of the form.\n * @maxLength 100\n * @readonly\n */\n title?: string;\n /**\n * Translated subtitles of the form.\n * @maxSize 10\n * @maxLength 100\n * @readonly\n */\n subtitles?: string[] | null;\n /**\n * Form submission ID.\n * @format GUID\n */\n formSubmissionId?: string | null;\n}\n\nexport interface FormIdentifier {\n /** @format GUID */\n formSchemaId?: string;\n /** @maxLength 100 */\n namespace?: string;\n}\n\nexport interface CartEstimationIndicators {\n /** Whether the cart may contain any additional fees. */\n hasAdditionalFees?: boolean;\n /** Whether the cart may contain any cart-level custom violations. */\n hasPreCheckoutCustomViolations?: boolean;\n}\n\nexport interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: Coupon;\n /** Merchant discount. */\n merchantDiscount?: MerchantDiscount;\n /** Discount rule */\n discountRule?: DiscountRule;\n /** Discount type. */\n discountType?: DiscountTypeWithLiterals;\n /**\n * IDs of line items the discount applies to.\n * @format GUID\n */\n lineItemIds?: string[];\n /**\n * Discount ID.\n * @internal\n * @format GUID\n */\n _id?: string | null;\n /**\n * Discount distribution.\n * Each entry contains the discount amount allocated to a specific line item.\n * Returned only when `apply_item_discounts_to_prices` is enabled.\n * @internal\n * @maxSize 300\n * @readonly\n */\n lineItemDiscounts?: LineItemDiscount[];\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?: Coupon;\n /** Merchant discount. */\n merchantDiscount?: MerchantDiscount;\n /** Discount rule */\n discountRule?: DiscountRule;\n}\n\nexport enum DiscountType {\n GLOBAL = 'GLOBAL',\n SPECIFIC_ITEMS = 'SPECIFIC_ITEMS',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n | DiscountType\n | 'GLOBAL'\n | 'SPECIFIC_ITEMS'\n | 'SHIPPING';\n\n/** Coupon */\nexport interface Coupon {\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 * Coupon type: We want it to be an enum and not a string but currently we have no time to do it so we leave it as is to be aligned with cart summary.\n * @internal\n * @deprecated\n */\n couponType?: string;\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 MerchantDiscount {\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 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 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 CartSummary {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /** Cart revision. */\n cartRevision?: string;\n /**\n * Unique identifier for this cart calculation.\n * @format GUID\n */\n calculationId?: string;\n /**\n * Summarized details for each line item in the cart.\n * @maxSize 300\n */\n lineItems?: LineItemSummary[];\n /**\n * Discounts applied to the cart.\n * @maxSize 100\n */\n discounts?: Discount[];\n /** Summary of delivery costs. */\n deliverySummary?: DeliverySummary;\n /**\n * Additional fees applied to the cart.\n * @maxSize 100\n */\n additionalFees?: V2AdditionalFee[];\n /** Tax calculation summary for the cart. */\n taxSummary?: V2TaxSummary;\n /** Summary of calculated price components for the cart. */\n priceSummary?: V2PriceSummary;\n /** How the customer pays for the order. */\n paymentSummary?: PaymentSummary;\n /**\n * Opaque token for the cart's calculated prices.\n *\n * Pass this token when placing an order so the prices the customer saw match checkout.\n *\n * If provided, the server validates it by recalculating the cart and comparing the pricing token. If validation fails, checkout is rejected.\n *\n * This limits unexpected price changes or tampering between cart calculation and order placement.\n *\n * Don't parse or modify the token on the client.\n * @maxLength 1024\n */\n priceVerificationToken?: string | null;\n /**\n * Errors from the calculation step.\n *\n * Deprecated. Use `violations` instead.\n * @deprecated Errors from the calculation step.\n *\n * Deprecated. Use `violations` instead.\n * @replacedBy violations\n * @targetRemovalDate 2026-08-01\n */\n calculationErrors?: V2CalculationErrors;\n /**\n * Business violations from the Validations service plugin ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/service-plugins/validations/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/validations-integration-service-plugin/introduction)).\n *\n * Deprecated. Use `violations` instead.\n * @maxSize 100\n * @deprecated Business violations from the Validations service plugin ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/service-plugins/validations/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/validations-integration-service-plugin/introduction)).\n *\n * Deprecated. Use `violations` instead.\n * @replacedBy violations\n * @targetRemovalDate 2026-08-01\n */\n spiViolations?: Violation[];\n /**\n * All business violations for the cart.\n * @maxSize 100\n */\n violations?: V2Violation[];\n}\n\nexport interface LineItemSummary {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * Line item quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Final unit price after discounts.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n unitPrice?: ConvertedMoney;\n /**\n * Line total (unit price × quantity).\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n totalPrice?: ConvertedMoney;\n}\n\nexport interface Discount {\n /** Display name of the discount. */\n name?: TranslatableString;\n /** Source of the discount; how it was applied. */\n source?: DiscountSource;\n /** Part of the cart the discount applies to. */\n scope?: DiscountScopeWithLiterals;\n /**\n * Number of subscription billing cycles this discount applies to. If unset, it applies to all cycles.\n * @min 1\n * @max 1000\n */\n subscriptionCycles?: number | null;\n /** Total amount discounted across all of this discount's benefits. */\n total?: ConvertedMoney;\n /**\n * Per-line-item discount amounts for item-level discounts.\n * @maxSize 100\n */\n lineItemDiscounts?: V2LineItemDiscount[];\n}\n\nexport enum DiscountScope {\n /** Unknown discount scope. */\n UNKNOWN_DISCOUNT_SCOPE = 'UNKNOWN_DISCOUNT_SCOPE',\n /** Discount applies to the cart subtotal. */\n CART_SUBTOTAL = 'CART_SUBTOTAL',\n /** Discount applies to a specific line item. */\n LINE_ITEM = 'LINE_ITEM',\n /** Discount applies to the delivery price. */\n DELIVERY = 'DELIVERY',\n}\n\n/** @enumType */\nexport type DiscountScopeWithLiterals =\n | DiscountScope\n | 'UNKNOWN_DISCOUNT_SCOPE'\n | 'CART_SUBTOTAL'\n | 'LINE_ITEM'\n | 'DELIVERY';\n\nexport interface V2LineItemDiscount {\n /**\n * Line item ID the discount applies to.\n * @format GUID\n */\n lineItemId?: string;\n /** Total amount discounted on this line item. */\n amountOff?: ConvertedMoney;\n}\n\nexport interface DeliverySummary {\n /** Calculated delivery method. */\n method?: DeliveryMethod;\n /**\n * Delivery price before discounts.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n price?: ConvertedMoney;\n}\n\nexport interface V2AdditionalFee {\n /**\n * Additional fee code.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /** Additional fee display name. */\n name?: TranslatableString;\n /**\n * App ID of the fee provider.\n * @minLength 1\n * @maxLength 100\n */\n providerAppId?: string | null;\n /**\n * Line items this fee applies to.\n * When empty, the fee applies to the whole cart.\n * @format GUID\n * @maxSize 100\n */\n lineItemIds?: string[];\n /**\n * Additional fee amount.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n price?: ConvertedMoney;\n /**\n * Number of subscription cycles this fee applies to.\n * When unset and the fee is tied to a subscription line item, it applies to all cycles.\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /** Where the additional fee came from. */\n source?: SourceWithLiterals;\n}\n\nexport enum Source {\n /** Unknown fee source. */\n UNKNOWN_ADDITIONAL_FEE_SOURCE = 'UNKNOWN_ADDITIONAL_FEE_SOURCE',\n /** Added by an additional fee service plugin. */\n SERVICE_PLUGIN = 'SERVICE_PLUGIN',\n /** Added on the item from the catalog or as a custom line item. */\n LINE_ITEM = 'LINE_ITEM',\n /** Added by the delivery provider. */\n DELIVERY = 'DELIVERY',\n /** Added by a Wix vertical as a platform fee. */\n PLATFORM = 'PLATFORM',\n}\n\n/** @enumType */\nexport type SourceWithLiterals =\n | Source\n | 'UNKNOWN_ADDITIONAL_FEE_SOURCE'\n | 'SERVICE_PLUGIN'\n | 'LINE_ITEM'\n | 'DELIVERY'\n | 'PLATFORM';\n\nexport interface V2TaxSummary {\n /**\n * Taxes applied to the cart.\n * Multiple entries can appear when advanced tax rates are set, or one entry for the total.\n * See [advanced tax rates](https://support.wix.com/en/article/setting-up-tax-calculation-using-the-manual-method#step-3-optional-customize-advanced-mode-settings).\n * @maxSize 100\n */\n taxes?: Tax[];\n /** Amount exempt from tax. */\n totalExempt?: ConvertedMoney;\n /**\n * Whether tax is included in prices for line items, discounts, delivery, and additional fees.\n * @readonly\n */\n pricesIncludeTax?: boolean;\n /**\n * Per line item tax amounts.\n * @maxSize 300\n */\n lineItemTaxes?: LineItemTax[];\n /** Tax on the delivery method. */\n deliveryTax?: ConvertedMoney;\n /**\n * Tax on additional fees.\n * @maxSize 100\n */\n additionalFeeTaxes?: AdditionalFeeTax[];\n}\n\nexport interface Tax {\n /** Tax name. */\n name?: TranslatableString;\n /** Amount tax is calculated on. */\n taxableAmount?: ConvertedMoney;\n /** Amount exempt from tax. */\n exemptAmount?: ConvertedMoney;\n /** Calculated tax from `taxableAmount`. */\n amount?: ConvertedMoney;\n}\n\nexport interface LineItemTax {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Tax amount for the line item. */\n tax?: ConvertedMoney;\n /**\n * Tax rate as a decimal between 0 and 1.\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n */\n rate?: string | null;\n}\n\nexport interface AdditionalFeeTax {\n /**\n * Additional fee code.\n * @minLength 1\n * @maxLength 100\n */\n additionalFeeCode?: string;\n /** Tax amount for the additional fee. */\n tax?: ConvertedMoney;\n}\n\nexport interface V2PriceSummary {\n /**\n * Total for all line items after item-level discounts.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n subtotal?: ConvertedMoney;\n /**\n * Cart subtotal discount amount, deducted from the subtotal.\n * Item-level discounts are already reflected in the subtotal.\n * Returns 0 when no cart subtotal discount is applied.\n * For details of all applied discounts (including delivery discounts), see `cartSummary.discounts`.\n * Currently, only a single coupon is supported.\n */\n discount?: ConvertedMoney;\n /**\n * Delivery price after discounts.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n delivery?: ConvertedMoney;\n /**\n * Total of additional fees.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n additionalFees?: ConvertedMoney;\n /**\n * Tax charged on top of the prices, summed across items, discounts, delivery, and fees.\n * When `taxSummary.pricesIncludeTax` is true, tax is already embedded in the prices, so this field is `0`.\n * For the full tax breakdown in either case, see `taxSummary.taxes`.\n */\n tax?: ConvertedMoney;\n /** Amount to pay. */\n total?: ConvertedMoney;\n}\n\nexport interface PaymentSummary {\n /**\n * Per-gift card deduction amounts. Only one gift card is supported today.\n * @maxSize 1\n */\n giftCards?: GiftCardSummary[];\n /**\n * Memberships charged with the order.\n * @maxSize 300\n */\n memberships?: MembershipSummary[];\n /**\n * Subscription charge details for checkout.\n * @maxSize 100\n */\n subscriptionCharges?: SubscriptionCharges[];\n /** Whether additional payment is required to create the order after gift cards. */\n requiresPaymentAfterGiftCard?: boolean;\n /** Total due after gift cards. */\n totalAfterGiftCards?: ConvertedMoney;\n /** Amount charged when the order is placed, after gift cards. */\n payNow?: ConvertedMoney;\n /** Amount collected later. */\n payLater?: ConvertedMoney;\n /** Amount charged after a free trial, often for subscriptions. */\n payAfterFreeTrial?: ConvertedMoney;\n}\n\nexport interface GiftCardSummary {\n /**\n * Gift card ID assigned by the cart.\n * @format GUID\n */\n giftCardId?: string;\n /** Amount to redeem from the gift card balance. */\n redeemAmount?: ConvertedMoney;\n}\n\nexport interface MembershipSummary\n extends MembershipSummaryMembershipIdentifierOneOf {\n /**\n * Membership the customer already owns.\n * @internal\n */\n existingMembership?: V2ExistingMembership;\n /**\n * Membership created after the plan in this cart is purchased.\n * @internal\n */\n futureMembership?: FutureMembership;\n /**\n * Membership ID.\n * Available only for a membership that already exists. A membership granted by a plan in this cart has no ID until that plan is purchased.\n * @maxLength 200\n */\n _id?: string;\n /**\n * App ID for this payment option.\n * Available only for a membership that already exists.\n * @format GUID\n */\n appId?: string;\n /**\n * Line item IDs this membership applies to.\n * @minSize 1\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n}\n\n/** @oneof */\nexport interface MembershipSummaryMembershipIdentifierOneOf {\n /**\n * Membership the customer already owns.\n * @internal\n */\n existingMembership?: V2ExistingMembership;\n /**\n * Membership created after the plan in this cart is purchased.\n * @internal\n */\n futureMembership?: FutureMembership;\n}\n\nexport interface SubscriptionCharges {\n /**\n * Line items covered by the subscription.\n * @format GUID\n * @minSize 1\n * @maxSize 300\n */\n lineItemIds?: string[];\n /**\n * Human-readable schedule and amounts for upcoming charges.\n * Localized to the buyer's language for subscription orders, or the site language if none is set.\n * @maxLength 1000\n */\n description?: string | null;\n /**\n * Scheduled charges.\n * @maxSize 50\n */\n charges?: Charge[];\n}\n\nexport interface Charge {\n /** First billing cycle for this charge. */\n cycleFrom?: number;\n /** Number of cycles this charge covers, when set. */\n cycleCount?: number | null;\n /** Billing period start. */\n cycleBillingDate?: Date | null;\n /**\n * Price breakdown for the charge. Used by PricingPlans legacy service. Can be deprecated when PP moves fully to DraftOrder.\n * @internal\n */\n chargeSummary?: PriceSummary;\n}\n\nexport interface PriceSummary {\n /** Subtotal of all line items, before discounts and before tax. */\n subtotal?: Price;\n /** Total shipping price, before discounts and before tax. */\n shipping?: Price;\n /** Total tax applied to the order. */\n tax?: Price;\n /** Total discount amount applied to the order. */\n discount?: Price;\n /**\n * Deprecated - use `total` instead.\n * @internal\n * @deprecated\n */\n totalPrice?: Price;\n /** Order's total price after discounts and tax. */\n total?: Price;\n /**\n * Order's total price including gift card.\n * @internal\n * @deprecated\n */\n totalWithGiftCard?: Price;\n /**\n * Order's total price after without gift card.\n * @internal\n * @deprecated\n */\n totalWithoutGiftCard?: Price;\n /** Total additional fees before tax. */\n totalAdditionalFees?: Price;\n}\n\nexport interface Price {\n /**\n * Amount.\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n amount?: string;\n /**\n * Amount formatted with currency symbol.\n * @readonly\n */\n formattedAmount?: string;\n}\n\nexport interface V2CalculationErrors\n extends V2CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Carrier-specific shipping errors. */\n carrierErrors?: V2CarrierErrors;\n /** Error for the selected shipping option. */\n selectedShippingOptionError?: Details;\n /** Tax calculation error. */\n taxCalculationError?: Details;\n /** Coupon calculation error. */\n couponCalculationError?: Details;\n /** Gift card calculation error. */\n giftCardCalculationError?: Details;\n /**\n * Order validation errors.\n * @maxSize 100\n */\n orderValidationErrors?: ApplicationError[];\n /**\n * Membership payment calculation issues.\n * For example, a line item must use membership payment but none is set, or the membership isn't valid.\n */\n membershipError?: Details;\n /** Discount rule calculation error. */\n discountsCalculationError?: Details;\n}\n\n/** @oneof */\nexport interface V2CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Carrier-specific shipping errors. */\n carrierErrors?: V2CarrierErrors;\n /** Error for the selected shipping option. */\n selectedShippingOptionError?: Details;\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\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 * 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 V2CarrierErrors {\n /**\n * Per-carrier errors.\n * @maxSize 100\n */\n errors?: V2CarrierError[];\n}\n\nexport interface V2CarrierError {\n /**\n * Carrier ID.\n * @format GUID\n */\n carrierId?: string;\n /** Error payload. */\n error?: Details;\n}\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?: LineItem;\n}\n\n/** @oneof */\nexport interface TargetTargetTypeOneOf {\n /** General (other) violation. */\n other?: Other;\n /** Specific line item violation. */\n lineItem?: LineItem;\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 LineItem {\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 V2Violation extends V2ViolationDataOneOf {\n /** Payload for Validations service plugin violations. */\n customValidationData?: CustomValidationErrorData;\n /** Payload when a coupon's status is invalid. */\n invalidCouponStatusData?: InvalidCouponStatusErrorData;\n /** Payload when a coupon code is invalid. */\n invalidCouponCodeData?: InvalidCouponCodeErrorData;\n /** Payload when a gift card code is invalid. */\n invalidGiftCardCodeData?: InvalidGiftCardCodeErrorData;\n /** Payload when a gift card's status is invalid. */\n invalidGiftCardStatusData?: InvalidGiftCardStatusErrorData;\n /** Payload when line items are out of stock. */\n lineItemsOutOfStockData?: LineItemsOutOfStockErrorData;\n /** Payload for members-only items. */\n membersOnlyItemData?: MembersOnlyItemErrorData;\n /** Payload when the cart's subtotal is below the minimum order subtotal. */\n subtotalBelowOrderMinimumData?: SubtotalBelowOrderMinimumErrorData;\n /** Payload when a selected membership has an invalid status. */\n invalidMembershipStatusData?: InvalidMembershipStatusErrorData;\n /** Violation scope. */\n scope?: ViolationScopeWithLiterals;\n /** Violation type code. */\n code?: ViolationCodeWithLiterals;\n /**\n * Human-readable violation message.\n * @maxLength 1000\n */\n description?: string | null;\n /** How serious the violation is; errors block placing an order. */\n severity?: ViolationSeverityWithLiterals;\n}\n\n/** @oneof */\nexport interface V2ViolationDataOneOf {\n /** Payload for Validations service plugin violations. */\n customValidationData?: CustomValidationErrorData;\n /** Payload when a coupon's status is invalid. */\n invalidCouponStatusData?: InvalidCouponStatusErrorData;\n /** Payload when a coupon code is invalid. */\n invalidCouponCodeData?: InvalidCouponCodeErrorData;\n /** Payload when a gift card code is invalid. */\n invalidGiftCardCodeData?: InvalidGiftCardCodeErrorData;\n /** Payload when a gift card's status is invalid. */\n invalidGiftCardStatusData?: InvalidGiftCardStatusErrorData;\n /** Payload when line items are out of stock. */\n lineItemsOutOfStockData?: LineItemsOutOfStockErrorData;\n /** Payload for members-only items. */\n membersOnlyItemData?: MembersOnlyItemErrorData;\n /** Payload when the cart's subtotal is below the minimum order subtotal. */\n subtotalBelowOrderMinimumData?: SubtotalBelowOrderMinimumErrorData;\n /** Payload when a selected membership has an invalid status. */\n invalidMembershipStatusData?: InvalidMembershipStatusErrorData;\n}\n\nexport enum ViolationScope {\n /** Violation applies to the cart as a whole. */\n GLOBAL = 'GLOBAL',\n /** Violation is tied to a specific line item. */\n LINE_ITEM = 'LINE_ITEM',\n /** Violation is tied to a discount. */\n DISCOUNT = 'DISCOUNT',\n /** Violation is tied to the delivery method or address. */\n DELIVERY = 'DELIVERY',\n /** Violation is tied to tax calculation. */\n TAX = 'TAX',\n /** Violation is tied to a membership payment. */\n MEMBERSHIP = 'MEMBERSHIP',\n /** Violation is tied to a gift card. */\n GIFT_CARD = 'GIFT_CARD',\n /**\n * Violation is tied to the payment method.\n * @documentationMaturity preview\n * @internal\n */\n PAYMENT = 'PAYMENT',\n}\n\n/** @enumType */\nexport type ViolationScopeWithLiterals =\n | ViolationScope\n | 'GLOBAL'\n | 'LINE_ITEM'\n | 'DISCOUNT'\n | 'DELIVERY'\n | 'TAX'\n | 'MEMBERSHIP'\n | 'GIFT_CARD';\n\nexport enum ViolationCode {\n /** A general violation not covered by more specific codes. */\n GENERAL_CODE = 'GENERAL_CODE',\n /** Custom violation (e.g., violations from Validation Service Plugin). */\n CUSTOM_VALIDATION = 'CUSTOM_VALIDATION',\n /** The cart doesn't contain any line items. */\n EMPTY_CART = 'EMPTY_CART',\n /** One or more line items are out of stock. */\n LINE_ITEMS_OUT_OF_STOCK = 'LINE_ITEMS_OUT_OF_STOCK',\n /** One or more line items can be purchased only by members and the customer isn't a member. */\n MEMBERS_ONLY_ITEM = 'MEMBERS_ONLY_ITEM',\n /** No coupon exists with the provided code. */\n INVALID_COUPON_CODE = 'INVALID_COUPON_CODE',\n /** The coupon status isn't valid for use (e.g., expired, usage limit reached, etc.). */\n INVALID_COUPON_STATUS = 'INVALID_COUPON_STATUS',\n /** A coupon discount can't be applied when purchasing a gift card. */\n CANNOT_APPLY_COUPON_DISCOUNT_WHEN_PURCHASING_GIFT_CARD = 'CANNOT_APPLY_COUPON_DISCOUNT_WHEN_PURCHASING_GIFT_CARD',\n /** The cart is missing a delivery address. */\n MISSING_DELIVERY_ADDRESS = 'MISSING_DELIVERY_ADDRESS',\n /** The cart is missing a delivery method. */\n MISSING_DELIVERY_METHOD = 'MISSING_DELIVERY_METHOD',\n /** The selected delivery method is no longer available. */\n DELIVERY_METHOD_NO_LONGER_AVAILABLE = 'DELIVERY_METHOD_NO_LONGER_AVAILABLE',\n /** The selected delivery method doesn't apply to all line items in the cart. */\n DELIVERY_METHOD_NOT_APPLIED_TO_ALL_LINE_ITEMS = 'DELIVERY_METHOD_NOT_APPLIED_TO_ALL_LINE_ITEMS',\n /** No gift card exists with the provided code. */\n INVALID_GIFT_CARD_CODE = 'INVALID_GIFT_CARD_CODE',\n /** The gift card status isn't valid for use (e.g., expired, fully redeemed, etc.). */\n INVALID_GIFT_CARD_STATUS = 'INVALID_GIFT_CARD_STATUS',\n /** Can't pay for a gift card with another gift card. */\n CANNOT_PAY_FOR_GIFT_CARD_WITH_GIFT_CARD = 'CANNOT_PAY_FOR_GIFT_CARD_WITH_GIFT_CARD',\n /** The cart's subtotal is below the minimum order subtotal. */\n SUBTOTAL_BELOW_ORDER_MINIMUM = 'SUBTOTAL_BELOW_ORDER_MINIMUM',\n /**\n * A selected membership can't be used to pay for the cart. For example, the membership has\n * insufficient funds, or it no longer applies to the line items it was selected for.\n */\n INVALID_MEMBERSHIP_STATUS = 'INVALID_MEMBERSHIP_STATUS',\n /** The address's postal code is missing or invalid. */\n INVALID_POSTAL_CODE = 'INVALID_POSTAL_CODE',\n /** The address's subdivision is missing or invalid. */\n INVALID_SUBDIVISION = 'INVALID_SUBDIVISION',\n /** A subscription item can't be purchased on a demo cart. */\n SUBSCRIPTION_ITEM_NOT_SUPPORTED_ON_DEMO_CART = 'SUBSCRIPTION_ITEM_NOT_SUPPORTED_ON_DEMO_CART',\n /** A gift card item can't be purchased on a demo cart. */\n GIFT_CARD_ITEM_NOT_SUPPORTED_ON_DEMO_CART = 'GIFT_CARD_ITEM_NOT_SUPPORTED_ON_DEMO_CART',\n /** A gift card can't be used to pay on a demo cart. */\n GIFT_CARD_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART = 'GIFT_CARD_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART',\n /** A membership can't be used to pay on a demo cart. */\n MEMBERSHIP_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART = 'MEMBERSHIP_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART',\n /**\n * The cart has no selected payment method while a payment is due.\n * @documentationMaturity preview\n * @internal\n */\n MISSING_SITE_PAYMENT_METHOD_TYPE_ID = 'MISSING_SITE_PAYMENT_METHOD_TYPE_ID',\n}\n\n/** @enumType */\nexport type ViolationCodeWithLiterals =\n | ViolationCode\n | 'GENERAL_CODE'\n | 'CUSTOM_VALIDATION'\n | 'EMPTY_CART'\n | 'LINE_ITEMS_OUT_OF_STOCK'\n | 'MEMBERS_ONLY_ITEM'\n | 'INVALID_COUPON_CODE'\n | 'INVALID_COUPON_STATUS'\n | 'CANNOT_APPLY_COUPON_DISCOUNT_WHEN_PURCHASING_GIFT_CARD'\n | 'MISSING_DELIVERY_ADDRESS'\n | 'MISSING_DELIVERY_METHOD'\n | 'DELIVERY_METHOD_NO_LONGER_AVAILABLE'\n | 'DELIVERY_METHOD_NOT_APPLIED_TO_ALL_LINE_ITEMS'\n | 'INVALID_GIFT_CARD_CODE'\n | 'INVALID_GIFT_CARD_STATUS'\n | 'CANNOT_PAY_FOR_GIFT_CARD_WITH_GIFT_CARD'\n | 'SUBTOTAL_BELOW_ORDER_MINIMUM'\n | 'INVALID_MEMBERSHIP_STATUS'\n | 'INVALID_POSTAL_CODE'\n | 'INVALID_SUBDIVISION'\n | 'SUBSCRIPTION_ITEM_NOT_SUPPORTED_ON_DEMO_CART'\n | 'GIFT_CARD_ITEM_NOT_SUPPORTED_ON_DEMO_CART'\n | 'GIFT_CARD_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART'\n | 'MEMBERSHIP_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART';\n\nexport enum ViolationSeverity {\n /** Informational or advisory violation. Doesn't block placing an order. */\n WARNING = 'WARNING',\n /** Blocking violation. Must be resolved before an order can be placed. */\n ERROR = 'ERROR',\n}\n\n/** @enumType */\nexport type ViolationSeverityWithLiterals =\n | ViolationSeverity\n | 'WARNING'\n | 'ERROR';\n\nexport interface CustomValidationErrorData {\n /** Where to show the violation on the cart or checkout page. */\n target?: Target;\n}\n\nexport interface InvalidCouponStatusErrorData\n extends InvalidCouponStatusErrorDataDetailsOneOf {\n minLineItemQuantityNotReachedDetails?: MinLineItemQuantityNotReachedDetails;\n minSubtotalNotReachedDetails?: MinSubtotalNotReachedDetails;\n /**\n * Coupon code with an invalid status.\n * @maxLength 100\n */\n couponCode?: string;\n /** Why the coupon status is invalid. */\n reason?: InvalidCouponReasonWithLiterals;\n}\n\n/** @oneof */\nexport interface InvalidCouponStatusErrorDataDetailsOneOf {\n minLineItemQuantityNotReachedDetails?: MinLineItemQuantityNotReachedDetails;\n minSubtotalNotReachedDetails?: MinSubtotalNotReachedDetails;\n}\n\nexport enum InvalidCouponReason {\n /** Unspecified status. */\n UNKNOWN_INVALID_COUPON_REASON = 'UNKNOWN_INVALID_COUPON_REASON',\n /** Coupon has expired. */\n EXPIRED = 'EXPIRED',\n /** Coupon is disabled. */\n DISABLED = 'DISABLED',\n /** Coupon isn't active yet. */\n INACTIVE = 'INACTIVE',\n /** Coupon hit its usage limit. */\n MAX_USAGE_EXCEEDED = 'MAX_USAGE_EXCEEDED',\n /** Coupon hit its per-customer usage limit. */\n MAX_USAGE_PER_CUSTOMER_EXCEEDED = 'MAX_USAGE_PER_CUSTOMER_EXCEEDED',\n /** Coupon doesn't apply to subscriptions. */\n NOT_APPLICABLE_TO_SUBSCRIPTIONS = 'NOT_APPLICABLE_TO_SUBSCRIPTIONS',\n /** Coupon doesn't apply to the cart's selected line items. */\n NOT_APPLICABLE_TO_SELECTED_LINE_ITEMS = 'NOT_APPLICABLE_TO_SELECTED_LINE_ITEMS',\n /** Coupon needs a higher line item quantity than the cart has. */\n MIN_LINE_ITEM_QUANTITY_NOT_REACHED = 'MIN_LINE_ITEM_QUANTITY_NOT_REACHED',\n /** Coupon needs a higher subtotal than the cart has. */\n MIN_SUBTOTAL_NOT_REACHED = 'MIN_SUBTOTAL_NOT_REACHED',\n}\n\n/** @enumType */\nexport type InvalidCouponReasonWithLiterals =\n | InvalidCouponReason\n | 'UNKNOWN_INVALID_COUPON_REASON'\n | 'EXPIRED'\n | 'DISABLED'\n | 'INACTIVE'\n | 'MAX_USAGE_EXCEEDED'\n | 'MAX_USAGE_PER_CUSTOMER_EXCEEDED'\n | 'NOT_APPLICABLE_TO_SUBSCRIPTIONS'\n | 'NOT_APPLICABLE_TO_SELECTED_LINE_ITEMS'\n | 'MIN_LINE_ITEM_QUANTITY_NOT_REACHED'\n | 'MIN_SUBTOTAL_NOT_REACHED';\n\nexport interface MinLineItemQuantityNotReachedDetails {\n /** Minimum line item quantity required. */\n requiredMinimumQuantity?: number;\n}\n\nexport interface MinSubtotalNotReachedDetails {\n /** Minimum subtotal required. */\n requiredMinimumSubtotal?: ConvertedMoney;\n /**\n * Original wording for the minimum subtotal rule.\n * @maxLength 100\n */\n originalDescription?: string | null;\n}\n\nexport interface InvalidCouponCodeErrorData {\n /**\n * Invalid coupon code.\n * @maxLength 100\n */\n couponCode?: string;\n}\n\nexport interface InvalidGiftCardCodeErrorData {\n /**\n * Invalid gift card code.\n * @maxLength 100\n */\n giftCardCode?: string;\n /**\n * Gift card ID. Available when the gift card was found but failed validation.\n * @format GUID\n */\n giftCardId?: string | null;\n}\n\nexport interface InvalidGiftCardStatusErrorData {\n /**\n * Gift card code with an invalid status.\n * @maxLength 100\n */\n giftCardCode?: string;\n /** Why the gift card status is invalid. */\n reason?: InvalidGiftCardReasonWithLiterals;\n /**\n * Gift card ID. Available when the gift card was found but failed validation.\n * @format GUID\n */\n giftCardId?: string | null;\n}\n\nexport enum InvalidGiftCardReason {\n /** Unspecified status. */\n UNKNOWN_INVALID_GIFT_CARD_REASON = 'UNKNOWN_INVALID_GIFT_CARD_REASON',\n /** Gift card has expired. */\n EXPIRED = 'EXPIRED',\n /** Gift card is disabled. */\n DISABLED = 'DISABLED',\n /** Gift card has no balance left. */\n EMPTY_BALANCE = 'EMPTY_BALANCE',\n}\n\n/** @enumType */\nexport type InvalidGiftCardReasonWithLiterals =\n | InvalidGiftCardReason\n | 'UNKNOWN_INVALID_GIFT_CARD_REASON'\n | 'EXPIRED'\n | 'DISABLED'\n | 'EMPTY_BALANCE';\n\nexport interface LineItemsOutOfStockErrorData {\n /**\n * Out-of-stock line item IDs.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n /** Whether every line item in the cart is out of stock. */\n allLineItemsOutOfStock?: boolean;\n}\n\nexport interface MembersOnlyItemErrorData {\n /**\n * Members-only line item IDs.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport interface SubtotalBelowOrderMinimumErrorData {\n /** Minimum subtotal required to place an order. */\n minimumOrderSubtotal?: ConvertedMoney;\n /** Amount that needs to be added to the current order to reach the minimum subtotal amount. */\n remainingAmount?: ConvertedMoney;\n}\n\nexport interface InvalidMembershipStatusErrorData {\n /**\n * Membership ID with an invalid status. Absent when the offending membership can't be identified.\n * @maxLength 200\n */\n membershipId?: string | null;\n /** Why the membership status is invalid. */\n reason?: InvalidMembershipReasonWithLiterals;\n /**\n * IDs of the line items this violation applies to.\n *\n * Available only when `reason` is `NOT_APPLICABLE_TO_LINE_ITEMS` or `LINE_ITEM_NOT_FOUND`.\n * @internal\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport enum InvalidMembershipReason {\n /** The membership can't be used, but the specific reason isn't available. */\n UNKNOWN_INVALID_MEMBERSHIP_REASON = 'UNKNOWN_INVALID_MEMBERSHIP_REASON',\n /** The membership doesn't have sufficient funds to pay for the cart. */\n INSUFFICIENT_FUNDS = 'INSUFFICIENT_FUNDS',\n /** The selected membership doesn't exist or is no longer available to the customer. */\n MEMBERSHIP_NOT_FOUND = 'MEMBERSHIP_NOT_FOUND',\n /** The membership can't be used to pay for the line items it was selected for. */\n NOT_APPLICABLE_TO_LINE_ITEMS = 'NOT_APPLICABLE_TO_LINE_ITEMS',\n /** The membership was selected for a line item that isn't in the cart. */\n LINE_ITEM_NOT_FOUND = 'LINE_ITEM_NOT_FOUND',\n}\n\n/** @enumType */\nexport type InvalidMembershipReasonWithLiterals =\n | InvalidMembershipReason\n | 'UNKNOWN_INVALID_MEMBERSHIP_REASON'\n | 'INSUFFICIENT_FUNDS'\n | 'MEMBERSHIP_NOT_FOUND'\n | 'NOT_APPLICABLE_TO_LINE_ITEMS'\n | 'LINE_ITEM_NOT_FOUND';\n\n/** Triggered when a line item is added to the cart. */\nexport interface LineItemAdded {\n /**\n * ID of the item within the catalog it belongs to.\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string | null;\n /**\n * ID of the app providing the catalog.\n * @minLength 1\n * @maxLength 36\n */\n catalogAppId?: string | null;\n /** Whether the line item is a custom line item. */\n customLineItem?: boolean;\n /**\n * ID of the app that added the line item to the cart (from the identity context).\n * @minLength 1\n * @maxLength 36\n */\n appDefId?: string | null;\n /**\n * ID of the line item in the cart.\n * @maxLength 36\n */\n lineItemId?: string | null;\n}\n\n/** Triggered when a coupon is added to the cart. */\nexport interface CouponAdded {\n /**\n * Persistent ID that correlates between the Cart and the created Order.\n * @format GUID\n */\n purchaseFlowId?: string | null;\n}\n\n/** Triggered when a coupon is removed from the cart. */\nexport interface CouponRemoved {\n /**\n * Persistent ID that correlates between the Cart and the created Order.\n * @format GUID\n */\n purchaseFlowId?: string | null;\n}\n\n/** Triggered when a gift card is added to the cart. */\nexport interface GiftCardAdded {\n /**\n * Persistent ID that correlates between the Cart and the created Order.\n * @format GUID\n */\n purchaseFlowId?: string | null;\n}\n\n/** Triggered when a gift card is removed from the cart. */\nexport interface GiftCardRemoved {\n /**\n * Persistent ID that correlates between the Cart and the created Order.\n * @format GUID\n */\n purchaseFlowId?: string | null;\n}\n\nexport interface CreateCartRequest {\n /** Cart to create. */\n cart?: Cart;\n /**\n * Catalog items to add to the cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * Custom items to add to the cart.\n * Custom line items don't trigger the Catalog service plugin.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n /**\n * Coupons to apply.\n * Currently only one is supported.\n * @maxSize 1\n */\n coupons?: CouponInput[];\n /** Delivery method to set. */\n deliveryMethod?: DeliveryMethodInput;\n /**\n * Gift cards to add.\n * @maxSize 5\n */\n giftCards?: GiftCardInput[];\n}\n\nexport interface CatalogItemInput {\n /** Reference to the catalog item. */\n catalogReference?: CatalogReference;\n /**\n * Number of catalog items the customer requested.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Selected membership used as payment for this item.\n *\n * DEPRECATED: migrate to `membershipPayment`. Removed once all clients migrate.\n * @deprecated\n * @replacedBy membership_payment\n * @targetRemovalDate 2026-06-22\n */\n selectedMembership?: V2SelectedMembership;\n /** Overriding values for catalog item properties. */\n catalogOverrideFields?: CatalogOverrideFields;\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 * ID of the app managing inventory.\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Line-item ID in external systems.\n * @internal\n * @minLength 1\n * @maxLength 100\n */\n externalResourceId?: string | null;\n /**\n * ID of the app providing upsells for this item.\n * @internal\n * @format GUID\n */\n upsellOptionsAppId?: string | null;\n /**\n * Membership used as payment for this item. Can be an existing membership, or a future one\n * created from a plan in the same cart.\n *\n * Replaces `selectedMembership`.\n *\n * Use with `paymentOption` `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`.\n */\n membershipPayment?: MembershipInput;\n}\n\nexport interface MembershipInput extends MembershipInputMembershipOneOf {\n /** Pay with an existing, already-provisioned membership. */\n existingMembership?: ExistingMembershipInput;\n /** Pay with a future membership, created once a plan in this cart is purchased. */\n futureMembership?: FutureMembershipInput;\n}\n\n/** @oneof */\nexport interface MembershipInputMembershipOneOf {\n /** Pay with an existing, already-provisioned membership. */\n existingMembership?: ExistingMembershipInput;\n /** Pay with a future membership, created once a plan in this cart is purchased. */\n futureMembership?: FutureMembershipInput;\n}\n\nexport interface ExistingMembershipInput {\n /**\n * ID of the app providing the membership, for example Pricing Plans.\n * @format GUID\n */\n appId?: string;\n /**\n * ID of the existing membership.\n * @minLength 1\n * @maxLength 200\n */\n membershipId?: string;\n}\n\nexport interface FutureMembershipInput {\n /**\n * ID of the plan line item, already in the cart, whose future membership pays for this item.\n * Add the plan line item to the cart first, then reference it by its ID.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * The selected unit within the plan to redeem.\n * @maxLength 200\n */\n benefitId?: string;\n}\n\nexport interface CustomItemInput {\n /** Display name for the line item. */\n name?: TranslatableString;\n /** Quantity details for the line item. */\n quantityInfo?: CustomItemQuantityInfo;\n /** Pricing details for the line item. */\n pricing?: CustomItemPricingInfo;\n /** Information about the line item's origin. */\n source?: CustomItemSource;\n /** Display details for the item. */\n attributes?: CustomItemAttributes;\n /** Delivery configuration for the line item. */\n deliveryConfig?: CustomItemDeliveryConfig;\n /** Tax configuration for the line item. */\n taxConfig?: CustomItemTaxConfig;\n /** Payment configuration for the line item. */\n paymentConfig?: CustomItemPaymentConfig;\n /**\n * Modifier groups added to the item.\n * @maxSize 25\n */\n modifierGroups?: ModifierGroup[];\n /**\n * Platform fee applied to the line item.\n * @internal\n */\n platformFee?: PlatformFee;\n}\n\nexport interface CustomItemQuantityInfo {\n /**\n * Quantity the customer requested.\n * @min 1\n * @max 100000\n */\n requestedQuantity?: number;\n /** Maximum quantity available for purchase. */\n availableQuantity?: number | null;\n /**\n * Whether the line item quantity is fixed and can't be changed.\n *\n * Default: `false`\n */\n fixedQuantity?: boolean;\n}\n\nexport interface CustomItemPricingInfo {\n /**\n * Sale price for a single item, without modifiers.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n price?: ConvertedMoney;\n /**\n * Full price for a single item before discounts, without modifiers.\n * Defaults to `price` when not provided.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n fullPrice?: ConvertedMoney;\n /**\n * Additional price description.\n * For example, when the price is `0` but you need more detail, such as \"Starts at $67\".\n */\n priceDescription?: PriceDescription;\n /** Whether the price isn't yet defined and will be updated after the order is created. */\n priceUndetermined?: boolean;\n}\n\nexport interface CustomItemSource {\n /**\n * Catalog and item reference: IDs for the item and catalog, plus optional details.\n * Optional for custom line items, which don't trigger the Catalog service plugin.\n */\n catalogReference?: CatalogReference;\n /**\n * When `catalogReference.catalogItemId` isn't the actual catalog item ID, this field returns the true catalog item ID.\n * For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID, so this value is the service ID.\n * In most cases, this matches `catalogReference.catalogItemId`.\n * Used in membership validation.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n /**\n * ID of the app managing inventory.\n * @format GUID\n */\n inventoryAppId?: string | null;\n}\n\nexport interface CustomItemAttributes {\n /**\n * Description lines for the item.\n * @maxSize 100\n */\n descriptionLines?: DescriptionLine[];\n /** Item image. */\n image?: string;\n /** URL of the item's page on the site. */\n url?: string;\n /** Item type: preset or custom. */\n itemType?: ItemType;\n /**\n * Physical properties of the item.\n * When relevant, includes SKU, weight, and shippability.\n */\n physicalProperties?: PhysicalProperties;\n /**\n * Digital file identifier; relevant only for items with type `DIGITAL`.\n * @internal\n */\n digitalFile?: SecuredMedia;\n /**\n * Service properties.\n * When relevant, includes date and number of participants.\n */\n serviceProperties?: ServiceProperties;\n /**\n * Whether the item can only be purchased by site members.\n *\n * Default: `false`\n */\n membersOnly?: boolean;\n /**\n * Subscription option details.\n * @internal\n */\n subscriptionInfo?: SubscriptionOptionInfo;\n}\n\nexport interface CustomItemDeliveryConfig {\n /**\n * Delivery profile ID.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n}\n\nexport interface CustomItemTaxConfig {\n /** Address used for tax calculation. */\n taxableAddress?: TaxableAddress;\n /**\n * Tax group ID for this line item.\n * @maxLength 50\n */\n taxGroupId?: string | null;\n}\n\nexport interface CustomItemPaymentConfig {\n /**\n * Partial payment due upfront during checkout.\n * Only when `paymentOption` is `DEPOSIT_ONLINE`.\n */\n depositAmount?: ConvertedMoney;\n /**\n * Selected payment option type for this item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n}\n\nexport interface PlatformFee {\n /** __Required.__ Platform fee name. */\n name?: TranslatableString;\n /** Platform fee charge type. */\n chargeType?: V1PlatformFeeChargeTypeWithLiterals;\n /**\n * Percentage rate charged as platform fee.\n *\n * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.\n * @format DECIMAL_VALUE\n * @decimalValue options { gt:0, lte:1, maxScale:4 }\n */\n percentageRate?: string;\n}\n\nexport enum V1PlatformFeeChargeType {\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 V1PlatformFeeChargeTypeWithLiterals =\n | V1PlatformFeeChargeType\n | 'PASS_ON'\n | 'ABSORBED';\n\nexport interface CouponInput {\n /**\n * Coupon code.\n * @minLength 1\n * @maxLength 50\n */\n code?: string;\n}\n\nexport interface DeliveryMethodInput {\n /**\n * Delivery method code.\n * @maxLength 100\n */\n code?: string;\n /**\n * Carrier app id.\n * @format GUID\n */\n appId?: string | null;\n}\n\nexport interface GiftCardInput {\n /**\n * Gift card code.\n * @minLength 8\n * @maxLength 20\n */\n code?: string;\n /** The amount requested to redeem from this gift card. */\n redeemAmount?: ConvertedMoney;\n}\n\nexport interface CreateCartResponse {\n /** Created cart. */\n cart?: Cart;\n}\n\nexport interface ItemNotFoundInCatalogErrorData {\n /**\n * Line items missing from the catalog.\n * @maxSize 300\n */\n invalidItems?: LineItemIdentifier[];\n}\n\nexport interface LineItemIdentifier extends LineItemIdentifierIdOneOf {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Catalog reference. */\n catalogReference?: CatalogReference;\n}\n\n/** @oneof */\nexport interface LineItemIdentifierIdOneOf {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Catalog reference. */\n catalogReference?: CatalogReference;\n}\n\nexport interface InsufficientInventoryErrorData {\n /**\n * Line items that don't have enough inventory.\n * @maxSize 300\n */\n invalidItems?: InsufficientInventoryEntry[];\n}\n\nexport interface InsufficientInventoryEntry {\n /** Line item with low stock. */\n _id?: LineItemIdentifier;\n /** Requested quantity, including what's already on the cart. */\n requestedQuantity?: number;\n /** Quantity in stock. */\n availableQuantity?: number;\n}\n\nexport interface MaxLineItemsExceededErrorData {\n /** Line item count in the request. */\n requestCount?: number;\n /** Maximum line items allowed. */\n maxCount?: number;\n}\n\nexport interface MaxItemModifiersExceededErrorData {\n /** Modifier count in the request. */\n requestCount?: number;\n /** Maximum modifiers allowed. */\n maxCount?: number;\n}\n\nexport interface DuplicateModifierGroupIdsErrorData {\n /**\n * Catalog items whose modifier group IDs collide.\n * @maxSize 300\n */\n invalidItems?: CatalogReference[];\n}\n\nexport interface DuplicateItemModifierIdsErrorData {\n /**\n * Catalog items with duplicate modifier IDs in a group.\n * @maxSize 300\n */\n invalidItems?: CatalogReference[];\n}\n\nexport interface LineItemPriceConflictErrorData {\n /**\n * Catalog items whose price no longer matches, when present.\n * @maxSize 300\n */\n invalidItems?: CatalogReference[];\n}\n\nexport interface FixedQuantityItemErrorData {\n /**\n * Line items that don't allow quantity changes.\n * @maxSize 300\n */\n invalidItems?: LineItemIdentifier[];\n}\n\nexport interface InvalidMembershipPaymentOptionErrorData {\n /**\n * Line items with invalid membership payments.\n * @maxSize 300\n */\n invalidItems?: InvalidMembershipEntry[];\n}\n\nexport interface InvalidMembershipEntry {\n /** Line item with an invalid membership payment choice. */\n invalidItemId?: LineItemIdentifier;\n /** Membership the buyer tried to use. */\n selectedMembership?: V2SelectedMembership;\n}\n\nexport interface LineItemNotFoundInCartErrorData {\n /**\n * Line item IDs that aren't in the cart.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport interface DeliveryMethodNotFoundErrorData {\n /**\n * Missing delivery method code.\n * @maxLength 100\n */\n code?: string;\n /**\n * Delivery method app ID, if applicable.\n * @maxLength 100\n */\n appId?: string | null;\n}\n\nexport interface GetCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Whether to override default cart refresh behavior.\n * If `true`, always refreshes the cart; if `false`, never refreshes; if unset, uses the default refresh logic.\n * Used by the checkout proxy for backward compatibility.\n * @internal\n */\n refreshOverride?: boolean | null;\n}\n\nexport interface GetCartResponse {\n /** Requested cart. */\n cart?: Cart;\n}\n\nexport interface GetUpsellOptionsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n}\n\nexport interface GetUpsellOptionsResponse {\n /** Upsell options available for the cart's line items. */\n itemsUpsells?: ItemUpsells[];\n}\n\nexport interface ItemUpsells {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * Upsell options available for the line item.\n * @maxSize 10\n */\n upsells?: UpsellOption[];\n}\n\n/**\n * A single upsell offer for a line item.\n * Accepting it replaces the line item's catalog reference in place, keeping the same lineItemId.\n */\nexport interface UpsellOption {\n /**\n * Upsell option ID.\n * @format GUID\n */\n _id?: string;\n /**\n * Title of the upsell option.\n * @maxLength 200\n */\n title?: string | null;\n /**\n * Description of the upsell option.\n * @maxLength 500\n */\n description?: string | null;\n /** Catalog reference of the item offered as an upsell to replace the existing one. */\n catalogReference?: CatalogReference;\n /** Metadata about the benefit of accepting this upsell option. */\n metadata?: UpsellBenefitMetadata;\n /** Price details of the upsell option. */\n priceDetails?: PriceDetails;\n}\n\nexport interface UpsellBenefitMetadata {\n /** Benefit type. */\n benefitType?: BenefitTypeWithLiterals;\n /**\n * Benefit value. For percentage benefits, this is the percentage (e.g., \"10\" for 10%). For fixed amount/price benefits, this is the amount.\n * @decimalValue options { gt:0, lte:1000000000000000, maxScale:4 }\n */\n benefitValue?: string | null;\n}\n\nexport enum BenefitType {\n /** Percentage benefit. */\n PERCENTAGE = 'PERCENTAGE',\n /** Fixed price benefit. */\n FIXED_PRICE = 'FIXED_PRICE',\n /** Fixed amount benefit. */\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n}\n\n/** @enumType */\nexport type BenefitTypeWithLiterals =\n | BenefitType\n | 'PERCENTAGE'\n | 'FIXED_PRICE'\n | 'FIXED_AMOUNT';\n\nexport interface PriceDetails {\n /** @decimalValue options { gte:0, lte:1000000000000000 } */\n price?: string;\n /** @maxLength 200 */\n description?: string | null;\n}\n\nexport interface UpdateCartRequest {\n /** Cart to update. May be partial. */\n cart?: Cart;\n /**\n * Fields to update.\n *\n * Fields that aren't included in `fieldMask.paths` are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface CartAlreadyOrderedErrorData {\n /**\n * Cart already turned into an order.\n * @format GUID\n */\n cartId?: string;\n /**\n * Matching order ID.\n * @format GUID\n */\n orderId?: string;\n}\n\nexport interface DeleteCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n}\n\nexport interface DeleteCartResponse {}\n\nexport interface RefreshCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n}\n\nexport interface RefreshCartResponse {\n /** Refreshed cart. */\n cart?: Cart;\n}\n\nexport interface EstimateCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before estimating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n /** Level of business validation to run during estimation via the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction). */\n validationConfig?: ValidationsConfigWithLiterals;\n /**\n * Whether to calculate delivery costs.\n *\n * Default: `false`.\n */\n calculateDelivery?: boolean;\n /**\n * Whether to calculate additional fees.\n *\n * Default: `false`.\n */\n calculateAdditionalFees?: boolean;\n /**\n * Whether to calculate tax.\n *\n * Default: `false`.\n */\n calculateTax?: boolean;\n /**\n * Whether to include the effect of gift card balances on the cart total.\n * Gift cards aren't redeemed; balances are reflected for estimation only.\n *\n * Default: `false`.\n */\n calculateGiftCards?: boolean;\n}\n\nexport enum ValidationsConfig {\n /** No business validations are performed. */\n SKIP_VALIDATIONS = 'SKIP_VALIDATIONS',\n /** Perform cart-level business validations as defined by the service plugin implementer. */\n PRE_CHECKOUT_VALIDATIONS = 'PRE_CHECKOUT_VALIDATIONS',\n /** Perform checkout-specific business validations as defined by the service plugin implementer. */\n CHECKOUT_VALIDATIONS = 'CHECKOUT_VALIDATIONS',\n}\n\n/** @enumType */\nexport type ValidationsConfigWithLiterals =\n | ValidationsConfig\n | 'SKIP_VALIDATIONS'\n | 'PRE_CHECKOUT_VALIDATIONS'\n | 'CHECKOUT_VALIDATIONS';\n\nexport interface EstimateCartResponse {\n /** Cart with estimated values. */\n cart?: Cart;\n /** Estimation summary. */\n summary?: CartSummary;\n}\n\nexport interface CalculateCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before calculating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n}\n\nexport interface CalculateCartResponse {\n /** Cart with calculated values. */\n cart?: Cart;\n /** Calculation summary. */\n summary?: CartSummary;\n}\n\nexport interface CalculateCartForV1Request {\n /**\n * ID of the Cart to calculate.\n * @format GUID\n */\n cartId?: string;\n /**\n * Specifies the level of **business validation** to perform during cart calculation,\n * by calling the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).\n */\n validationsConfig?: ValidationsConfigWithLiterals;\n /**\n * Optional custom configuration for the calculation.\n * If not provided, all price components are calculated by default.\n */\n customCalculationConfig?: CalculationConfig;\n /** Calculations overrides for backward compatibility with V1. */\n calculationOverrides?: CalculationOverrides;\n /** Cart revision that must still be current for the calculation to run. */\n expectedRevision?: string | null;\n}\n\nexport interface CalculationConfig {\n /**\n * Whether to calculate delivery costs.\n *\n * Default: `false`.\n */\n calculateDelivery?: boolean;\n /**\n * Whether to calculate additional fees.\n *\n * Default: `false`.\n */\n calculateAdditionalFees?: boolean;\n /**\n * Whether to calculate tax.\n *\n * Default: `false`.\n */\n calculateTax?: boolean;\n /**\n * Whether to include the effect of gift card balances on the cart total.\n * Gift cards aren't redeemed; balances are reflected for estimation only.\n *\n * Default: `false`.\n */\n calculateGiftCards?: boolean;\n}\n\nexport interface CalculationOverrides {\n /**\n * Delivery method.\n *\n * Pass this field only when the cart has no delivery method yet.\n */\n deliveryMethod?: DeliveryMethodInput;\n /**\n * Delivery address.\n * Used to calculate tax and shipping when applicable.\n */\n deliveryAddress?: Address;\n /**\n * Billing address.\n * Used to calculate tax when all items in the cart aren't shippable.\n */\n billingAddress?: Address;\n /** Selected membership payment options and the line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n}\n\nexport interface SelectedMemberships {\n /**\n * Selected memberships.\n * @maxSize 300\n */\n memberships?: SelectedMembership[];\n}\n\nexport interface SelectedMembership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 200\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 CalculateCartForV1Response {\n /** The Cart that was calculated. */\n cart?: Cart;\n /** The calculation summary. */\n summary?: CartSummary;\n /**\n * Totals payload used for backward compatibility with legacy clients.\n * Used by the Cart and Checkout proxies.\n */\n totalsResponse?: CalculateTotalsResponse;\n}\n\nexport interface CalculateTotalsResponse {\n /** Calculate line items. */\n calculatedLineItems?: CalculatedLineItem[];\n /** Price summary. */\n priceSummary?: V1PriceSummary;\n /**\n * DEPRECATED: Use gift_cards instead.\n * @deprecated DEPRECATED: Use gift_cards instead.\n * @replacedBy gift_cards\n * @targetRemovalDate 2026-12-01\n */\n giftCard?: GiftCard;\n /** Tax summary. */\n taxSummary?: TaxSummary;\n /** Shipping information. */\n shippingInfo?: ShippingInformation;\n /**\n * Applied discounts.\n * @maxSize 320\n */\n appliedDiscounts?: AppliedDiscount[];\n /** Calculation errors. */\n calculationErrors?: CalculationErrors;\n /** Weight unit. */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * The currency the price calculations were performed in.\n * This is the business’s default currency: the base currency configured for the site, which remains constant regardless of the [customer’s currency selection](https://support.wix.com/en/article/multicurrency-an-overview).\n * When `amountCurrency` is specified on the request, this returns that value instead.\n * @format CURRENCY\n */\n currency?: string;\n /**\n * The currency the converted price calculations are in.\n * This is the currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview), which may differ from `currency`.\n * When `amountCurrency` is specified on the request, nothing is converted and this returns that value.\n * @readonly\n * @format CURRENCY\n */\n conversionCurrency?: string;\n /** Whether tax is included in price. */\n taxIncludedInPrice?: boolean;\n /**\n * Minimal amount to pay in order to place the order.\n * @readonly\n */\n payNow?: V1PriceSummary;\n /**\n * Remaining amount for the order to be fully paid.\n * @readonly\n */\n payLater?: V1PriceSummary;\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 * The rate used when converting from the site currency to the checkout currency.\n * @readonly\n * @decimalValue options { gt:0, lte:1000000000000000 }\n */\n checkoutConversionRate?: string | null;\n /**\n * The pay now total amount after all gift cards are applied.\n * @readonly\n */\n payNowTotalAfterGiftCard?: MultiCurrencyPrice;\n /**\n * The total amount after all gift cards are applied.\n * @readonly\n */\n totalAfterGiftCard?: MultiCurrencyPrice;\n /**\n * Payment for subscriptions after free trial period.\n * @readonly\n */\n payAfterFreeTrial?: V1PriceSummary;\n /**\n * Platform fee summery.\n * @internal\n */\n platformFeeSummary?: PlatformFeeSummary;\n /**\n * Details of applied gift cards.\n * @internal\n */\n giftCards?: GiftCard[];\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 /** Catalog price before any discounts, with modifiers. */\n fullPrice?: MultiCurrencyPrice;\n /** Sum of all modifiers for a single unit of the item. */\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 out of `price` 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 group ID, if specified.\n * @internal\n * @format GUID\n */\n taxGroupId?: string | null;\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 * True for items we have a tax applied on them\n * @internal\n */\n isItemTaxable?: boolean | null;\n /**\n * True if the lineAmount include tax in it.\n * @internal\n */\n isTaxIncluded?: boolean | null;\n /**\n * The calculator that calculated this line tax\n * @internal\n * @maxLength 25\n */\n calculatorName?: string | null;\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 type of tax that was calculated\n * @internal\n */\n taxType?: string | null;\n /**\n * The name of the jurisdiction in which this tax detail applies\n * @internal\n */\n jurisdiction?: string | null;\n /**\n * The type of the jurisdiction in which this tax detail applies(Country,State,County,City,Special).\n * @internal\n */\n jurisdictionType?: string | null;\n /**\n * The amount of this line item that was exempt from this authority.\n * @internal\n */\n exemptAmount?: MultiCurrencyPrice;\n /**\n * ids of the used exemptions from the TaxEstimate exemptions array.\n * @internal\n * @maxSize 1000\n */\n exemptionIds?: number[];\n /**\n * The taxable amount of this tax detail\n * @internal\n */\n taxableAmount?: MultiCurrencyPrice;\n /**\n * The Taxes/Fee component. True if the fee is applied.\n * @internal\n */\n isFee?: boolean | null;\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 V1PriceSummary {\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 * Full gift card code. Echoed from the request input for correlation.\n * @internal\n * @minLength 8\n * @maxLength 20\n */\n code?: string;\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 * Manual tax rate\n * @internal\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n * @readonly\n * @deprecated\n */\n manualTaxRate?: string;\n /**\n * Tax calculator that was active when the order was created.\n * @deprecated\n */\n calculationDetails?: TaxCalculationDetails;\n /**\n * Tax estimation id in tax service\n * @internal\n * @readonly\n */\n taxEstimationId?: string | null;\n /**\n * Average Tax Rate\n * @internal\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n * @readonly\n */\n averageTaxRate?: string | null;\n /**\n * The amount of this estimate that was exempt (for all line items).\n * @internal\n * @readonly\n */\n totalExempt?: MultiCurrencyPrice;\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 * @internal\n * @readonly\n * @maxSize 50\n */\n aggregatedTaxBreakdown?: AggregatedTaxBreakdown[];\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\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 * Expected delivery time slot (from and to time stamps representation)\n * @internal\n */\n deliveryTimeSlot?: DeliveryTimeSlot;\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 STORE_PICKUP = 'STORE_PICKUP',\n PICKUP_POINT = 'PICKUP_POINT',\n}\n\n/** @enumType */\nexport type PickupMethodWithLiterals =\n | PickupMethod\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 CalculationErrors\n extends CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Errors related to the delivery carrier. */\n carrierErrors?: CarrierErrors;\n /** Error related to the selected shipping option. */\n selectedShippingOptionError?: Details;\n /** Tax calculation error. */\n taxCalculationError?: Details;\n /** Coupon calculation error. */\n couponCalculationError?: Details;\n /**\n * DEPRECATED: Use gift_card_calculation_errors instead.\n * @deprecated DEPRECATED: Use gift_card_calculation_errors instead.\n * @replacedBy gift_card_calculation_errors\n * @targetRemovalDate 2026-12-01\n */\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 * Gift card calculation errors, one per failed card.\n * @internal\n */\n giftCardCalculationErrors?: GiftCardCalculationError[];\n}\n\n/** @oneof */\nexport interface CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Errors related to the delivery carrier. */\n carrierErrors?: CarrierErrors;\n /** Error related to the selected shipping option. */\n selectedShippingOptionError?: Details;\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 GiftCardCalculationError {\n /** Gift card code with most characters masked for security. */\n obfuscatedCode?: string;\n /** Error details. */\n error?: Details;\n /**\n * Full gift card code. Echoed from the request input for correlation.\n * @internal\n * @minLength 8\n * @maxLength 20\n */\n code?: string;\n}\n\nexport interface MembershipOptions {\n /**\n * List of payment options that can be used.\n * Populated by the legacy ListEligibleMemberships flow.\n * @maxSize 300\n * @deprecated List of payment options that can be used.\n * Populated by the legacy ListEligibleMemberships flow.\n * @replacedBy validated_existing_memberships\n * @targetRemovalDate 2026-10-01\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 * Populated by the legacy ListEligibleMemberships flow.\n * @maxSize 300\n * @deprecated List of payment options that are owned by the member, but cannot be used due to reason provided.\n * Populated by the legacy ListEligibleMemberships flow.\n * @replacedBy validated_existing_memberships\n * @targetRemovalDate 2026-10-01\n */\n invalidMemberships?: InvalidMembership[];\n /**\n * The selected membership payment options and which line items they apply to.\n * Populated by the legacy ListEligibleMemberships flow.\n * @maxSize 300\n * @deprecated The selected membership payment options and which line items they apply to.\n * Populated by the legacy ListEligibleMemberships flow.\n * @replacedBy validated_existing_memberships\n * @targetRemovalDate 2026-10-01\n */\n selectedMemberships?: SelectedMembership[];\n /**\n * Validated existing memberships selected for redemption, each with the line items it can cover.\n * Populated by the EnhanceAndValidateSelection flow.\n * @internal\n */\n validatedExistingMemberships?: ValidatedExistingMemberships;\n /**\n * Validated future plans (purchasable during this checkout) and how their benefits cover the line items.\n * Populated by the EnhanceAndValidateSelection flow.\n * @internal\n */\n validatedPurchasablePlans?: ValidatedPurchasablePlans;\n}\n\nexport interface Membership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 200\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 * Deprecated. Use `ExistingMembership.covered_line_items` to see which line items this membership covers.\n *\n * Only populated in the legacy `ListEligibleMemberships` flow, which still requires it. Empty on\n * `ListMembershipsByIds`, a by-id lookup that receives no line items to report against.\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n /** Membership's payment credits (balance information). */\n credits?: MembershipPaymentCredits;\n /** Membership expiration date. */\n expirationDate?: Date | null;\n /**\n * Deprecated. Use `offering_description`.\n * @deprecated\n * @replacedBy offering_description\n * @targetRemovalDate 2026-08-30\n */\n additionalData?: Record<string, any> | null;\n /**\n * Human-readable offering summary for display. Provider-supplied.\n * @internal\n * @maxLength 500\n */\n offeringDescription?: string | 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 * Deprecated. The new flow no longer exposes a per-item redemption cost on a membership's credits;\n * what a membership can pay for is conveyed by `ExistingMembership.covered_line_items` (per-item redemption cost).\n * @internal\n * @deprecated\n * @replacedBy ExistingMembership.covered_line_items.redemption_cost\n * @targetRemovalDate 2026-08-30\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\n/** Same shape as `ListExistingMembershipsResponse.memberships`. */\nexport interface ValidatedExistingMemberships {\n /**\n * The selected memberships, each paired with the line items it can redeem and the cost to redeem each.\n * @maxSize 300\n */\n memberships?: ExistingMembership[];\n}\n\n/**\n * A membership the member already owns, together with the input line items it can pay for.\n *\n * A membership is a single benefit granted by a plan the member has already paid for, so coverage is\n * nested here per membership (no `benefit_id` linkage is needed, unlike a plan that grants many benefits).\n */\nexport interface ExistingMembership {\n /** The membership the member owns. */\n membership?: V1Membership;\n /**\n * The input line items this membership can pay for, and the cost to redeem each.\n * @maxSize 300\n */\n coveredLineItems?: CoveredLineItem[];\n}\n\nexport interface V1Membership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 200\n */\n _id?: string;\n /** Membership name. */\n name?: MembershipName;\n /**\n * Deprecated. Use `ExistingMembership.covered_line_items` to see which line items this membership covers.\n *\n * Populate this only in the legacy `ListEligibleMemberships` flow, which still requires it and rejects a\n * membership that omits it. Leave it empty everywhere else - `ListMembershipsByIds` receives no line items\n * at all, so there is nothing to report there.\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n * @deprecated\n * @replacedBy ExistingMembership.covered_line_items.line_item_id\n * @targetRemovalDate 2026-08-30\n */\n lineItemIds?: string[];\n /** Membership's payment credits (balance information). */\n credits?: MembershipPaymentCredits;\n /** Membership expiration date. */\n expirationDate?: Date | null;\n /**\n * Deprecated. Use `offering_description` for human-readable provider data.\n * @deprecated\n * @replacedBy offering_description\n * @targetRemovalDate 2026-08-30\n */\n additionalData?: Record<string, any> | null;\n /**\n * Human-readable offering summary for display (for example price and validity text). Provider-supplied.\n * @internal\n * @maxLength 500\n */\n offeringDescription?: string | null;\n}\n\n/** A line item a membership can pay for, and the cost to redeem it. */\nexport interface CoveredLineItem {\n /**\n * The input line item this membership can cover.\n * @minLength 1\n * @maxLength 100\n */\n lineItemId?: string;\n /**\n * The amount to redeem from the membership's benefit quota (`benefit.limited_quota.remaining`) for this item.\n * Always 0 when the benefit is unlimited (nothing is decremented).\n */\n redemptionCost?: number;\n}\n\n/** Same shape as `ListPurchasablePlansResponse`. */\nexport interface ValidatedPurchasablePlans {\n /**\n * The selected plans.\n * @maxSize 300\n */\n purchasablePlans?: PurchasablePlan[];\n /**\n * How the plans' benefits cover the line items, linked to a benefit by `benefit_id`.\n * @maxSize 300\n */\n coverages?: LineItemCoverage[];\n}\n\nexport interface PurchasablePlan {\n /** Catalog and item reference for the plan that can be purchased. */\n catalogReference?: CatalogReference;\n /** Plan name. */\n name?: MembershipName;\n /**\n * Benefits the plan would grant once purchased. Multiple entries support multi-benefit plans (e.g., a bundle granting separate yoga and pilates credits).\n * @minSize 1\n * @maxSize 50\n */\n benefits?: Benefit[];\n /**\n * Human-readable offering summary for display (for example price and validity text). Provider-supplied.\n * @maxLength 500\n */\n offeringDescription?: string | null;\n /**\n * URL the buyer is redirected to in order to collect additional info required to purchase this plan.\n * @format WEB_URL\n */\n infoCollectionUrl?: string | null;\n /**\n * Plan price.\n * @decimalValue options { gte:0, maxScale:3 }\n */\n price?: string;\n /**\n * Human-readable description of the plan price (for example \"First month free, then $20/month\").\n *\n * `price` is simply the price (useful for sorting or comparison, for example), while this is a\n * descriptive, display-oriented summary of it.\n * @maxLength 500\n */\n priceDescription?: string | null;\n}\n\n/**\n * A single redeemable benefit. A purchasable plan grants one or more benefits (`PurchasablePlan.benefits`);\n * once the plan is paid, each benefit becomes its own membership (charged via `membership_id`).\n */\nexport interface Benefit extends BenefitQuotaOneOf {\n limitedQuota?: LimitedQuota;\n /**\n * Identifier for this benefit. On a `PurchasablePlan` it must be unique within the response so\n * `coverages` (`LineItemCoverage.benefit_id`) can reference it unambiguously across the plan's benefits.\n * @minLength 1\n * @maxLength 200\n */\n benefitId?: string;\n /**\n * Human-readable label for this benefit (for example, \"Manicure\" or \"Pedicure\" on multi-set punchcards).\n * @maxLength 200\n */\n label?: string | null;\n /**\n * The kind of quota this benefit grants: a countable amount drawn down on redemption (`LIMITED`),\n * or an unbounded amount that is never drawn down (`UNLIMITED`).\n */\n quotaType?: QuotaTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BenefitQuotaOneOf {\n limitedQuota?: LimitedQuota;\n}\n\nexport enum QuotaType {\n /** The benefit grants a countable quota that is drawn down on redemption. */\n LIMITED = 'LIMITED',\n /** The benefit is unlimited (unbounded) and is never drawn down. */\n UNLIMITED = 'UNLIMITED',\n}\n\n/** @enumType */\nexport type QuotaTypeWithLiterals = QuotaType | 'LIMITED' | 'UNLIMITED';\n\n/** A limited, countable redeemable amount. */\nexport interface LimitedQuota {\n /**\n * The quota's initial value.\n * @min 1\n */\n total?: number;\n /** The quota's remaining value. */\n remaining?: number;\n /** How the quota is measured. */\n limitedQuotaType?: LimitedQuotaTypeWithLiterals;\n}\n\nexport enum LimitedQuotaType {\n /** Quota is measured in discrete uses (e.g., sessions, visits). */\n PUNCH_CARD = 'PUNCH_CARD',\n /** Quota is measured in a currency-like value (e.g., points). */\n CREDIT = 'CREDIT',\n}\n\n/** @enumType */\nexport type LimitedQuotaTypeWithLiterals =\n | LimitedQuotaType\n | 'PUNCH_CARD'\n | 'CREDIT';\n\n/**\n * Maps a benefit to a line item it can cover, and at what cost, linked to a benefit by `benefit_id`.\n * One entry per (benefit, line item). Returned by `ListPurchasablePlans` (alongside `purchasable_plans`).\n * For the existing-memberships flow the equivalent mapping is `ExistingMembership.covered_line_items`,\n * which needs no `benefit_id` because a membership is a single benefit.\n */\nexport interface LineItemCoverage {\n /**\n * The benefit that covers the line item, as returned in `Benefit.benefit_id`.\n * @minLength 1\n * @maxLength 200\n */\n benefitId?: string;\n /**\n * The line item this benefit covers.\n * @minLength 1\n * @maxLength 100\n */\n lineItemId?: string;\n /**\n * The amount to redeem from the benefit's `limited_quota.remaining` value for this item.\n * Always 0 for an unlimited benefit (nothing is decremented).\n */\n redemptionCost?: number;\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 * 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 /** Address type tax was calculated against for this fee. */\n taxableAddress?: TaxableAddress;\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 PlatformFeeSummary {\n /** Total platform fee amount. */\n total?: MultiCurrencyPrice;\n /** Total platform fee passed on to the customer. */\n totalPassOn?: MultiCurrencyPrice;\n /** Total platform fee absorbed by the merchant. */\n totalAbsorbed?: MultiCurrencyPrice;\n /**\n * Calculated platform fees.\n * @maxSize 100\n */\n calculatedPlatformFees?: CalculatedPlatformFee[];\n}\n\nexport interface CalculatedPlatformFee {\n /** Platform fee name. */\n name?: TranslatableString;\n /** Platform fee amount. */\n amount?: MultiCurrencyPrice;\n /**\n * ID of the line item the platform fee applies to.\n * @format GUID\n */\n lineItemId?: string;\n /** Platform fee charge type. */\n chargeType?: PlatformFeeChargeTypeWithLiterals;\n /**\n * Percentage rate charged as platform fee.\n * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.\n * @format DECIMAL_VALUE\n * @decimalValue options { gt:0, lte:1, maxScale:4 }\n */\n percentageRate?: string;\n}\n\nexport enum PlatformFeeChargeType {\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 | 'PASS_ON'\n | 'ABSORBED';\n\nexport interface CartRevisionMismatchErrorData {\n /** Cart revision requested by the caller. */\n expectedRevision?: string;\n /** Current Cart revision. */\n currentRevision?: string;\n}\n\nexport interface GetCheckoutURLRequest {\n /**\n * ID of the Cart to calculate.\n * @format GUID\n */\n cartId?: string;\n /**\n * Checkout currency parameter to append as a query param\n * @format CURRENCY\n */\n currencyCode?: string | null;\n}\n\nexport interface GetCheckoutURLResponse {\n /**\n * The checkout URL.\n * @format WEB_URL\n */\n checkoutUrl?: string;\n}\n\nexport interface PlaceOrderRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Price verification token from `CalculateCart` response.\n * Used to verify that prices shown to the customer haven't changed before checkout completes.\n * @maxLength 3000\n */\n priceVerificationToken?: string | null;\n /**\n * Payment token.\n * @internal\n * @maxLength 100\n */\n paymentToken?: string | null;\n /**\n * URLs to use after payment completes.\n * @internal\n */\n redirectUrls?: RedirectUrls;\n /** Whether to save the payment method on the order. */\n savePaymentMethod?: boolean;\n /** Whether to authorize the payment and delay capture. */\n delayCapture?: boolean;\n /**\n * Whether the order is being placed from within a native mobile app\n * (iOS or Android) where the buyer paid via the platform's in-app\n * purchase system.\n * When true and the order contains subscription items,\n * Wix does not collect recurring renewal charges — the mobile platform's\n * in-app purchase system handles all subsequent renewal billing.\n *\n * Default: `false`\n * @internal\n */\n inAppPurchase?: boolean;\n}\n\nexport interface RedirectUrls {\n /**\n * URL to redirect to if payment is canceled (usually the checkout URL). Optional.\n * @maxLength 2000\n */\n cancelUrl?: string | null;\n /**\n * URL to redirect to if a payment error occurs (usually the checkout URL). Optional.\n * @maxLength 2000\n */\n errorUrl?: string | null;\n /**\n * URL to redirect to after successful payment. Optional. May include the `{orderId}` placeholder.\n * @maxLength 2000\n */\n successUrl?: string | null;\n /**\n * URL to redirect to if payment is pending. Optional. May include the `{orderId}` placeholder.\n * @maxLength 2000\n */\n pendingUrl?: string | null;\n}\n\nexport interface PlaceOrderResponse {\n /**\n * Order ID.\n * @format GUID\n */\n orderId?: string;\n /**\n * Payment response token.\n * @internal\n * @maxLength 1000\n */\n paymentResponseToken?: string | null;\n /**\n * Cashier payment gateway order ID when money was charged.\n * Omitted when no charge occurs (for example, a zero-total cart, a fully discounted order, or when another payment method such as a gift card covers the total).\n * @maxLength 50\n */\n paymentGatewayOrderId?: string | null;\n /** Whether an order was created from this cart and the payment completed successfully. */\n completed?: boolean;\n}\n\nexport interface InvalidThirdPartyCheckoutTokenErrorData {\n /**\n * Invalid third-party checkout token.\n * @maxLength 3000\n */\n token?: string;\n}\n\nexport interface InvalidPriceVerificationTokenErrorData {\n /**\n * Invalid price verification token.\n * @maxLength 3000\n */\n token?: string;\n}\n\nexport interface ViolationWithErrorSeverityErrorData {\n /** Violations payload. */\n violationsList?: ViolationsList;\n}\n\nexport interface ViolationsList {\n /**\n * Violations raised by Validations SPI implementers.\n * @maxSize 100\n */\n violations?: Violation[];\n}\n\nexport interface InvalidMembershipErrorData {\n /**\n * Message explaining the membership issue.\n * @maxLength 100\n */\n message?: string;\n}\n\nexport interface InvalidPaymentStatusErrorData {\n /**\n * Payment token when present.\n * @maxLength 100\n */\n paymentToken?: string | null;\n /**\n * Transaction status.\n * @maxLength 100\n */\n transactionStatus?: string;\n /**\n * Failure details when available.\n * @maxLength 100\n */\n failureDetails?: string | null;\n}\n\nexport interface GiftCardRedeemErrorData {\n /**\n * Message for the gift card redemption failure.\n * @maxLength 100\n */\n error?: string;\n}\n\nexport interface EmptyPaymentTokenErrorData {\n /**\n * Order total when the payment token was empty.\n * @maxLength 100\n */\n total?: string;\n}\n\nexport interface InvalidCartErrorData {\n /**\n * Related violations.\n * @maxSize 100\n */\n violations?: V2Violation[];\n}\n\nexport interface AddLineItemsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Catalog items to add to the cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * Custom items to add to the cart.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n}\n\nexport interface AddLineItemsResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveLineItemsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Line item IDs to remove from the 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 UpdateLineItemsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Line item updates to apply to the cart.\n * @minSize 1\n * @maxSize 300\n */\n lineItems?: LineItemUpdate[];\n}\n\nexport interface LineItemUpdate {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Quantity update. If omitted, quantity isn't updated. */\n quantity?: QuantityUpdate;\n /**\n * Selected membership update. If omitted, membership isn't updated.\n *\n * DEPRECATED — migrate to `membership_payment`.\n * @deprecated\n * @replacedBy membership_payment\n * @targetRemovalDate 2026-06-22\n */\n selectedMembership?: SelectedMembershipUpdate;\n /**\n * New catalog reference to swap the line item to, keeping the same `lineItemId` and quantity.\n * For example, accepting an upsell. If omitted, the catalog reference isn't changed.\n * @internal\n */\n catalogReference?: CatalogReference;\n /**\n * Membership payment update. If omitted, the membership payment isn't updated.\n *\n * Specify an empty value to remove the current membership without selecting a new one.\n */\n membershipPayment?: MembershipInput;\n}\n\nexport interface QuantityUpdate {\n /**\n * New quantity for the line item.\n * @min 1\n * @max 100000\n */\n newQuantity?: number;\n}\n\nexport interface SelectedMembershipUpdate {\n /**\n * New `selectedMembership` for the line item.\n *\n * Pass an empty value to remove the current membership without selecting a new one.\n */\n newMembership?: V2SelectedMembership;\n}\n\nexport interface UpdateLineItemsResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface EmptyLineItemUpdatesErrorData {\n /**\n * Line item IDs with no update fields set.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport interface DuplicateLineItemUpdatesErrorData {\n /**\n * Line item IDs repeated in the update request.\n * @format GUID\n * @maxSize 300\n */\n duplicateLineItemIds?: string[];\n}\n\nexport interface AddCouponRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Coupon to apply.\n *\n * Currently only one is supported.\n */\n coupon?: CouponInput;\n}\n\nexport interface AddCouponResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface CouponAlreadyExistsErrorData {\n /**\n * Coupon code already on the cart.\n * @maxLength 100\n */\n couponCode?: string;\n}\n\nexport interface RemoveCouponRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Coupon ID.\n * @format GUID\n */\n couponId?: string;\n}\n\nexport interface RemoveCouponResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface CouponNotFoundInCartErrorData {\n /**\n * Coupon ID that isn't in the cart.\n * @format GUID\n */\n couponId?: string;\n}\n\nexport interface SetDeliveryMethodRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /** Delivery method. */\n deliveryMethod?: DeliveryMethodInput;\n}\n\nexport interface SetDeliveryMethodResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveDeliveryMethodRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n}\n\nexport interface RemoveDeliveryMethodResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface AddGiftCardRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Gift card to add.\n *\n * Currently only one is supported.\n */\n giftCard?: GiftCardInput;\n}\n\nexport interface AddGiftCardResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface GiftCardAlreadyExistsErrorData {\n /**\n * Gift card code already on the cart.\n * @maxLength 100\n */\n giftCardCode?: string;\n}\n\nexport interface RemoveGiftCardRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Gift card ID.\n * @format GUID\n */\n giftCardId?: string;\n}\n\nexport interface RemoveGiftCardResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface GiftCardNotFoundInCartErrorData {\n /**\n * Gift card ID that isn't in the cart.\n * @format GUID\n */\n giftCardId?: string;\n}\n\nexport interface MarkCartAsCompletedRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Order ID created from the cart.\n * @format GUID\n */\n orderId?: string | null;\n}\n\nexport interface MarkCartAsCompletedResponse {\n /** Updated cart. */\n cart?: Cart;\n}\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 Empty {}\n\nexport interface HandleAsyncCheckoutCompletionRequest {\n /**\n * Server-signed JWT with data required to complete checkout.\n * @maxLength 4096\n */\n token?: string;\n}\n\nexport interface RawHttpResponse {\n body?: Uint8Array;\n statusCode?: number | null;\n headers?: HeadersEntry[];\n}\n\nexport interface HeadersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface UpdateFormSubmissionsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Form submission data to set on the cart.\n * @minSize 1\n * @maxSize 1000\n */\n formSubmissions?: FormSubmission[];\n}\n\nexport interface FormSubmission {\n /**\n * Form instance ID.\n * @format GUID\n */\n _id?: string;\n /**\n * Form submission ID.\n * @format GUID\n */\n formSubmissionId?: string;\n}\n\nexport interface UpdateFormSubmissionsResponse {\n /** Updated cart. */\n cart?: Cart;\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 /** Details related to the account */\n accountInfo?: AccountInfo;\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 AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\nexport interface CreateCurrentCartRequest {\n /** Cart to create. */\n cart?: Cart;\n /**\n * A list of catalog items to add to the current cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * A list of custom items to add to the current cart.\n * Custom line items don't trigger the Catalog service plugin.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n /**\n * Coupons to apply.\n * Currently only one is supported.\n * @maxSize 1\n */\n coupons?: CouponInput[];\n /** Delivery method to set. */\n deliveryMethod?: DeliveryMethodInput;\n /**\n * Gift cards to add.\n * @maxSize 5\n */\n giftCards?: GiftCardInput[];\n}\n\nexport interface CreateCurrentCartResponse {\n /** The customer's current cart. */\n cart?: Cart;\n}\n\nexport interface GetCurrentCartRequest {}\n\nexport interface GetCurrentCartResponse {\n /** The customer's current cart. */\n cart?: Cart;\n}\n\nexport interface UpdateCurrentCartRequest {\n /** Cart to update; may be partial. */\n cart: Cart;\n /**\n * Set of fields to update.\n *\n * Fields that aren't included in `fieldMask.paths` are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface DeleteCurrentCartRequest {}\n\nexport interface DeleteCurrentCartResponse {}\n\nexport interface RefreshCurrentCartRequest {}\n\nexport interface RefreshCurrentCartResponse {\n /** Synchronized cart. */\n cart?: Cart;\n}\n\nexport interface CalculateCurrentCartRequest {\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before calculating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n}\n\nexport interface CalculateCurrentCartResponse {\n /** The cart that was calculated. */\n cart?: Cart;\n /** The calculation summary. */\n summary?: CartSummary;\n}\n\nexport interface EstimateCurrentCartRequest {\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before estimating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n /**\n * Specifies the level of **business validation** to perform during cart calculation,\n * by calling the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).\n */\n validationConfig?: ValidationsConfigWithLiterals;\n /**\n * Whether to calculate delivery costs.\n * Default: `false`.\n */\n calculateDelivery?: boolean;\n /**\n * Whether to calculate any additional fees.\n * Default: `false`.\n */\n calculateAdditionalFees?: boolean;\n /**\n * Whether to include tax calculation.\n * Default: `false`.\n */\n calculateTax?: boolean;\n /**\n * Whether to calculate the effect of gift card balances on the cart total.\n * Gift cards aren't redeemed - only reflected for estimation purposes.\n * Default: `false`.\n */\n calculateGiftCards?: boolean;\n}\n\nexport interface EstimateCurrentCartResponse {\n /** The cart that was calculated. */\n cart?: Cart;\n /** The calculation summary. */\n summary?: CartSummary;\n}\n\nexport interface AddLineItemsToCurrentCartRequest {\n /**\n * A list of catalog items to add to the current cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * A list of custom items to add to the current cart.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n}\n\nexport interface AddLineItemsToCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveLineItemsFromCurrentCartRequest {\n /**\n * Line item IDs to remove from the current cart.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n lineItemIds: string[];\n}\n\nexport interface RemoveLineItemsFromCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface UpdateLineItemsInCurrentCartRequest {\n /**\n * Line item updates to apply.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: LineItemUpdate[];\n}\n\nexport interface UpdateLineItemsInCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface AddCouponToCurrentCartRequest {\n /**\n * Coupon to apply.\n *\n * Currently only one is supported.\n */\n coupon: CouponInput;\n}\n\nexport interface AddCouponToCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveCouponFromCurrentCartRequest {\n /**\n * Coupon ID.\n * @format GUID\n */\n couponId: string;\n}\n\nexport interface RemoveCouponFromCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface SetDeliveryMethodForCurrentCartRequest {\n /** Delivery method. */\n deliveryMethod: DeliveryMethodInput;\n}\n\nexport interface SetDeliveryMethodForCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveDeliveryMethodFromCurrentCartRequest {}\n\nexport interface RemoveDeliveryMethodFromCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface AddGiftCardToCurrentCartRequest {\n /**\n * Gift card to add.\n *\n * Currently only one is supported.\n */\n giftCard: GiftCardInput;\n}\n\nexport interface AddGiftCardToCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveGiftCardFromCurrentCartRequest {\n /**\n * Gift card ID.\n * @format GUID\n */\n giftCardId: string;\n}\n\nexport interface RemoveGiftCardFromCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface UnmarkAsCurrentCartRequest {}\n\nexport interface UnmarkAsCurrentCartResponse {\n /** The cart that was unmarked as the current cart, if one existed. */\n cart?: Cart;\n}\n\nexport interface UpdateFormSubmissionsInCurrentCartRequest {\n /**\n * Form submission data to set on the current cart.\n * @minSize 1\n * @maxSize 1000\n */\n formSubmissions?: FormSubmission[];\n}\n\nexport interface UpdateFormSubmissionsInCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface GetUpsellOptionsForCurrentCartRequest {}\n\nexport interface GetUpsellOptionsForCurrentCartResponse {\n /** Upsell options available for the cart's line items. */\n itemsUpsells?: ItemUpsells[];\n}\n\n/** @docsIgnore */\nexport type CreateCurrentCartApplicationErrors =\n | {\n code?: 'ITEM_NOT_FOUND_IN_CATALOG';\n description?: string;\n data?: ItemNotFoundInCatalogErrorData;\n }\n | {\n code?: 'INSUFFICIENT_INVENTORY';\n description?: string;\n data?: InsufficientInventoryErrorData;\n }\n | {\n code?: 'MAX_LINE_ITEMS_EXCEEDED';\n description?: string;\n data?: MaxLineItemsExceededErrorData;\n }\n | {\n code?: 'MAX_ITEM_MODIFIERS_EXCEEDED';\n description?: string;\n data?: MaxItemModifiersExceededErrorData;\n }\n | {\n code?: 'DUPLICATE_MODIFIER_GROUP_IDS';\n description?: string;\n data?: DuplicateModifierGroupIdsErrorData;\n }\n | {\n code?: 'DUPLICATE_ITEM_MODIFIER_IDS';\n description?: string;\n data?: DuplicateItemModifierIdsErrorData;\n }\n | {\n code?: 'LINE_ITEM_PRICE_CONFLICT';\n description?: string;\n data?: LineItemPriceConflictErrorData;\n }\n | {\n code?: 'FIXED_QUANTITY_ITEM';\n description?: string;\n data?: FixedQuantityItemErrorData;\n }\n | {\n code?: 'INVALID_MEMBERSHIP_PAYMENT_OPTION';\n description?: string;\n data?: InvalidMembershipPaymentOptionErrorData;\n }\n | {\n code?: 'PLAN_LINE_ITEM_NOT_FOUND';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n }\n | {\n code?: 'INVALID_COUPON_CODE';\n description?: string;\n data?: InvalidCouponCodeErrorData;\n }\n | {\n code?: 'INVALID_COUPON_STATUS';\n description?: string;\n data?: InvalidCouponStatusErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_CODE';\n description?: string;\n data?: InvalidGiftCardCodeErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_STATUS';\n description?: string;\n data?: InvalidGiftCardStatusErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_NOT_FOUND';\n description?: string;\n data?: DeliveryMethodNotFoundErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_ADDRESS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_LINE_ITEMS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DEPOSIT_AMOUNT_GREATER_THAN_UNIT_PRICE';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type UpdateCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'BUSINESS_LOCATION_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'INVALID_ADDRESS_FORMAT';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DATA_EXTENSION_UPDATE_FAILED';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type RefreshCurrentCartApplicationErrors = {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n};\n/** @docsIgnore */\nexport type CalculateCurrentCartApplicationErrors = {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n};\n/** @docsIgnore */\nexport type EstimateCurrentCartApplicationErrors = {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n};\n/** @docsIgnore */\nexport type AddLineItemsToCurrentCartApplicationErrors =\n | {\n code?: 'ITEM_NOT_FOUND_IN_CATALOG';\n description?: string;\n data?: ItemNotFoundInCatalogErrorData;\n }\n | {\n code?: 'INSUFFICIENT_INVENTORY';\n description?: string;\n data?: InsufficientInventoryErrorData;\n }\n | {\n code?: 'MAX_LINE_ITEMS_EXCEEDED';\n description?: string;\n data?: MaxLineItemsExceededErrorData;\n }\n | {\n code?: 'MAX_ITEM_MODIFIERS_EXCEEDED';\n description?: string;\n data?: MaxItemModifiersExceededErrorData;\n }\n | {\n code?: 'DUPLICATE_MODIFIER_GROUP_IDS';\n description?: string;\n data?: DuplicateModifierGroupIdsErrorData;\n }\n | {\n code?: 'DUPLICATE_ITEM_MODIFIER_IDS';\n description?: string;\n data?: DuplicateItemModifierIdsErrorData;\n }\n | {\n code?: 'LINE_ITEM_PRICE_CONFLICT';\n description?: string;\n data?: LineItemPriceConflictErrorData;\n }\n | {\n code?: 'FIXED_QUANTITY_ITEM';\n description?: string;\n data?: FixedQuantityItemErrorData;\n }\n | {\n code?: 'INVALID_MEMBERSHIP_PAYMENT_OPTION';\n description?: string;\n data?: InvalidMembershipPaymentOptionErrorData;\n }\n | {\n code?: 'PLAN_LINE_ITEM_NOT_FOUND';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n }\n | {\n code?: 'INVALID_COUPON_CODE';\n description?: string;\n data?: InvalidCouponCodeErrorData;\n }\n | {\n code?: 'INVALID_COUPON_STATUS';\n description?: string;\n data?: InvalidCouponStatusErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_CODE';\n description?: string;\n data?: InvalidGiftCardCodeErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_STATUS';\n description?: string;\n data?: InvalidGiftCardStatusErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_NOT_FOUND';\n description?: string;\n data?: DeliveryMethodNotFoundErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_ADDRESS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_LINE_ITEMS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'NO_LINE_ITEMS_TO_ADD';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DEPOSIT_AMOUNT_GREATER_THAN_UNIT_PRICE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'SUBSCRIPTION_WITH_ANCHOR_DAY_AND_FREE_TRIAL';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'SUBSCRIPTION_WITH_ANCHOR_DAY_AND_NON_MONTHLY_FREQUENCY';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type RemoveLineItemsFromCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'LINE_ITEM_NOT_FOUND_IN_CART';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n };\n/** @docsIgnore */\nexport type UpdateLineItemsInCurrentCartApplicationErrors =\n | {\n code?: 'EMPTY_LINE_ITEM_UPDATES';\n description?: string;\n data?: EmptyLineItemUpdatesErrorData;\n }\n | {\n code?: 'DUPLICATE_LINE_ITEM_UPDATES';\n description?: string;\n data?: DuplicateLineItemUpdatesErrorData;\n }\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'LINE_ITEM_NOT_FOUND_IN_CART';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n }\n | {\n code?: 'ITEM_NOT_FOUND_IN_CATALOG';\n description?: string;\n data?: ItemNotFoundInCatalogErrorData;\n }\n | {\n code?: 'INSUFFICIENT_INVENTORY';\n description?: string;\n data?: InsufficientInventoryErrorData;\n }\n | {\n code?: 'INVALID_MEMBERSHIP_PAYMENT_OPTION';\n description?: string;\n data?: InvalidMembershipPaymentOptionErrorData;\n }\n | {\n code?: 'PLAN_LINE_ITEM_NOT_FOUND';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n };\n/** @docsIgnore */\nexport type AddCouponToCurrentCartApplicationErrors =\n | {\n code?: 'COUPON_ALREADY_EXISTS';\n description?: string;\n data?: CouponAlreadyExistsErrorData;\n }\n | {\n code?: 'MAX_COUPONS_PER_CART_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'COUPON_LOCKED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'INVALID_COUPON_CODE';\n description?: string;\n data?: InvalidCouponCodeErrorData;\n }\n | {\n code?: 'INVALID_COUPON_STATUS';\n description?: string;\n data?: InvalidCouponStatusErrorData;\n };\n/** @docsIgnore */\nexport type RemoveCouponFromCurrentCartApplicationErrors =\n | {\n code?: 'COUPON_NOT_FOUND_IN_CART';\n description?: string;\n data?: CouponNotFoundInCartErrorData;\n }\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'COUPON_LOCKED';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type SetDeliveryMethodForCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_NOT_FOUND';\n description?: string;\n data?: DeliveryMethodNotFoundErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_ADDRESS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_LINE_ITEMS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type RemoveDeliveryMethodFromCurrentCartApplicationErrors = {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n};\n/** @docsIgnore */\nexport type AddGiftCardToCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_CODE';\n description?: string;\n data?: InvalidGiftCardCodeErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_STATUS';\n description?: string;\n data?: InvalidGiftCardStatusErrorData;\n }\n | {\n code?: 'MAX_GIFT_CARDS_PER_CART_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'GIFT_CARD_ALREADY_EXISTS';\n description?: string;\n data?: GiftCardAlreadyExistsErrorData;\n }\n | {\n code?: 'GIFT_CARD_LOCKED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'GIFT_CARD_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type RemoveGiftCardFromCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'GIFT_CARD_NOT_FOUND_IN_CART';\n description?: string;\n data?: GiftCardNotFoundInCartErrorData;\n }\n | {\n code?: 'GIFT_CARD_LOCKED';\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 /** Details related to the account */\n accountInfo?: AccountInfo;\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 accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface CartCalculatedEnvelope {\n data: CartSummary;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a cart is calculated.\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.v2.cart_calculated\n * @slug calculated\n */\nexport declare function onCartCalculated(\n handler: (event: CartCalculatedEnvelope) => 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.v2.cart_created\n * @slug created\n */\nexport declare function onCartCreated(\n handler: (event: CartCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CartDeletedEnvelope {\n entity: Cart;\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.v2.cart_deleted\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/**\n * Triggered when a cart is updated.\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.v2.cart_updated\n * @slug updated\n */\nexport declare function onCartUpdated(\n handler: (event: CartUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates the customer's current cart.\n * @public\n * @requiredField options.catalogItems.catalogReference\n * @requiredField options.catalogItems.quantity\n * @requiredField options.catalogItems.selectedMembership._id\n * @requiredField options.catalogItems.selectedMembership.appId\n * @requiredField options.customItems.attributes\n * @requiredField options.customItems.name\n * @requiredField options.customItems.pricing\n * @requiredField options.customItems.quantityInfo\n * @requiredField options.customItems.quantityInfo.requestedQuantity\n * @permissionId ecom:v2:cart:create_current_cart\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.CreateCurrentCart\n */\nexport async function createCurrentCart(\n options?: NonNullablePaths<\n CreateCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n): Promise<\n NonNullablePaths<\n CreateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: CreateCurrentCartApplicationErrors;\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 cart: options?.cart,\n catalogItems: options?.catalogItems,\n customItems: options?.customItems,\n coupons: options?.coupons,\n deliveryMethod: options?.deliveryMethod,\n giftCards: options?.giftCards,\n }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n { path: 'catalogItems.catalogOverrideFields.image' },\n { path: 'customItems.attributes.image' },\n ],\n },\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'cart.lineItems.attributes.url' },\n { path: 'customItems.attributes.url' },\n ],\n },\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV2Cart.createCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n cart: '$[0].cart',\n catalogItems: '$[0].catalogItems',\n customItems: '$[0].customItems',\n coupons: '$[0].coupons',\n deliveryMethod: '$[0].deliveryMethod',\n giftCards: '$[0].giftCards',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateCurrentCartOptions {\n /** Cart to create. */\n cart?: Cart;\n /**\n * A list of catalog items to add to the current cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * A list of custom items to add to the current cart.\n * Custom line items don't trigger the Catalog service plugin.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n /**\n * Coupons to apply.\n * Currently only one is supported.\n * @maxSize 1\n */\n coupons?: CouponInput[];\n /** Delivery method to set. */\n deliveryMethod?: DeliveryMethodInput;\n /**\n * Gift cards to add.\n * @maxSize 5\n */\n giftCards?: GiftCardInput[];\n}\n\n/**\n * Retrieves the customer's current cart.\n * @public\n * @permissionId ecom:v2:cart:get_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.GetCurrentCart\n */\nexport async function getCurrentCart(): Promise<\n NonNullablePaths<\n GetCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts = ambassadorWixEcomV2Cart.getCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates the customer's current cart.\n *\n * Use this endpoint to set and replace fields such as buyer note and delivery method.\n * To add or remove elements from lists (for example, line items, discounts, gift cards), use their dedicated endpoints.\n * @param cart - Cart to update; may be partial.\n * @public\n * @requiredField cart\n * @permissionId ecom:v2:cart:update_current_cart\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.UpdateCurrentCart\n */\nexport async function updateCurrentCart(cart: Cart): Promise<\n NonNullablePaths<\n UpdateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: UpdateCurrentCartApplicationErrors;\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({ cart: cart }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV2Cart.updateCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { cart: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['cart']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Deletes the customer's current cart.\n * @public\n * @permissionId ecom:v2:cart:delete_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.DeleteCurrentCart\n */\nexport async function deleteCurrentCart(): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts = ambassadorWixEcomV2Cart.deleteCurrentCart(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: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Re-evaluates prices, inventory, and discounts to ensure the customer's current cart is up-to-date with the latest changes.\n * @public\n * @permissionId ecom:v2:cart:refresh_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RefreshCurrentCart\n */\nexport async function refreshCurrentCart(): Promise<\n NonNullablePaths<\n RefreshCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RefreshCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts = ambassadorWixEcomV2Cart.refreshCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Calculates the customer's current cart based on its current state (line items, discounts, delivery method, etc.)\n * and returns a detailed summary including subtotal, delivery costs, taxes, fees, and the total price.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n * @public\n * @permissionId ecom:v2:cart:calculate_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.CalculateCurrentCart\n */\nexport async function calculateCurrentCart(\n options?: CalculateCurrentCartOptions\n): Promise<\n NonNullablePaths<\n CalculateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`\n | `summary.cartId`\n | `summary.cartRevision`\n | `summary.calculationId`\n | `summary.lineItems`\n | `summary.lineItems.${number}.lineItemId`\n | `summary.lineItems.${number}.quantity`\n | `summary.lineItems.${number}.unitPrice.amount`\n | `summary.lineItems.${number}.unitPrice.convertedAmount`\n | `summary.discounts`\n | `summary.discounts.${number}.name.original`\n | `summary.discounts.${number}.source.sourceType`\n | `summary.discounts.${number}.scope`\n | `summary.deliverySummary.method.code`\n | `summary.deliverySummary.method.pickup`\n | `summary.additionalFees`\n | `summary.additionalFees.${number}.source`\n | `summary.taxSummary.taxes`\n | `summary.taxSummary.pricesIncludeTax`\n | `summary.taxSummary.lineItemTaxes`\n | `summary.taxSummary.lineItemTaxes.${number}.lineItemId`\n | `summary.taxSummary.additionalFeeTaxes`\n | `summary.taxSummary.additionalFeeTaxes.${number}.additionalFeeCode`\n | `summary.paymentSummary.giftCards`\n | `summary.paymentSummary.giftCards.${number}.giftCardId`\n | `summary.paymentSummary.memberships`\n | `summary.paymentSummary.memberships.${number}._id`\n | `summary.paymentSummary.memberships.${number}.appId`\n | `summary.paymentSummary.subscriptionCharges`\n | `summary.paymentSummary.requiresPaymentAfterGiftCard`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.code`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `summary.calculationErrors.carrierErrors.errors`\n | `summary.calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `summary.calculationErrors.orderValidationErrors`\n | `summary.spiViolations`\n | `summary.spiViolations.${number}.severity`\n | `summary.spiViolations.${number}.target.other.name`\n | `summary.spiViolations.${number}.target.lineItem.name`\n | `summary.violations`\n | `summary.violations.${number}.invalidCouponStatusData.minLineItemQuantityNotReachedDetails.requiredMinimumQuantity`\n | `summary.violations.${number}.invalidCouponStatusData.couponCode`\n | `summary.violations.${number}.invalidCouponStatusData.reason`\n | `summary.violations.${number}.invalidCouponCodeData.couponCode`\n | `summary.violations.${number}.invalidGiftCardCodeData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.reason`\n | `summary.violations.${number}.lineItemsOutOfStockData.allLineItemsOutOfStock`\n | `summary.violations.${number}.invalidMembershipStatusData.reason`\n | `summary.violations.${number}.scope`\n | `summary.violations.${number}.code`\n | `summary.violations.${number}.severity`,\n 6\n > & {\n __applicationErrorsType?: CalculateCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n refreshCart: options?.refreshCart,\n });\n\n const reqOpts = ambassadorWixEcomV2Cart.calculateCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { refreshCart: '$[0].refreshCart' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CalculateCurrentCartOptions {\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before calculating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n}\n\n/**\n * Estimates the customer's current cart totals based on its current state and the selected\n * calculation components.\n *\n * This API provides a partial, component-based estimation of the cart and is\n * intended for preview purposes (for example, showing partial estimated totals).\n *\n * The estimation is controlled by boolean flags that indicate which components\n * should be included (delivery costs, additional fees, taxes, gift cards).\n * Components that aren't explicitly enabled are excluded from the calculation.\n *\n * This isn't a full cart calculation.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n * @public\n * @permissionId ecom:v2:cart:estimate_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.EstimateCurrentCart\n */\nexport async function estimateCurrentCart(\n options?: EstimateCurrentCartOptions\n): Promise<\n NonNullablePaths<\n EstimateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`\n | `summary.cartId`\n | `summary.cartRevision`\n | `summary.calculationId`\n | `summary.lineItems`\n | `summary.lineItems.${number}.lineItemId`\n | `summary.lineItems.${number}.quantity`\n | `summary.lineItems.${number}.unitPrice.amount`\n | `summary.lineItems.${number}.unitPrice.convertedAmount`\n | `summary.discounts`\n | `summary.discounts.${number}.name.original`\n | `summary.discounts.${number}.source.sourceType`\n | `summary.discounts.${number}.scope`\n | `summary.deliverySummary.method.code`\n | `summary.deliverySummary.method.pickup`\n | `summary.additionalFees`\n | `summary.additionalFees.${number}.source`\n | `summary.taxSummary.taxes`\n | `summary.taxSummary.pricesIncludeTax`\n | `summary.taxSummary.lineItemTaxes`\n | `summary.taxSummary.lineItemTaxes.${number}.lineItemId`\n | `summary.taxSummary.additionalFeeTaxes`\n | `summary.taxSummary.additionalFeeTaxes.${number}.additionalFeeCode`\n | `summary.paymentSummary.giftCards`\n | `summary.paymentSummary.giftCards.${number}.giftCardId`\n | `summary.paymentSummary.memberships`\n | `summary.paymentSummary.memberships.${number}._id`\n | `summary.paymentSummary.memberships.${number}.appId`\n | `summary.paymentSummary.subscriptionCharges`\n | `summary.paymentSummary.requiresPaymentAfterGiftCard`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.code`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `summary.calculationErrors.carrierErrors.errors`\n | `summary.calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `summary.calculationErrors.orderValidationErrors`\n | `summary.spiViolations`\n | `summary.spiViolations.${number}.severity`\n | `summary.spiViolations.${number}.target.other.name`\n | `summary.spiViolations.${number}.target.lineItem.name`\n | `summary.violations`\n | `summary.violations.${number}.invalidCouponStatusData.minLineItemQuantityNotReachedDetails.requiredMinimumQuantity`\n | `summary.violations.${number}.invalidCouponStatusData.couponCode`\n | `summary.violations.${number}.invalidCouponStatusData.reason`\n | `summary.violations.${number}.invalidCouponCodeData.couponCode`\n | `summary.violations.${number}.invalidGiftCardCodeData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.reason`\n | `summary.violations.${number}.lineItemsOutOfStockData.allLineItemsOutOfStock`\n | `summary.violations.${number}.invalidMembershipStatusData.reason`\n | `summary.violations.${number}.scope`\n | `summary.violations.${number}.code`\n | `summary.violations.${number}.severity`,\n 6\n > & {\n __applicationErrorsType?: EstimateCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n refreshCart: options?.refreshCart,\n validationConfig: options?.validationConfig,\n calculateDelivery: options?.calculateDelivery,\n calculateAdditionalFees: options?.calculateAdditionalFees,\n calculateTax: options?.calculateTax,\n calculateGiftCards: options?.calculateGiftCards,\n });\n\n const reqOpts = ambassadorWixEcomV2Cart.estimateCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n refreshCart: '$[0].refreshCart',\n validationConfig: '$[0].validationConfig',\n calculateDelivery: '$[0].calculateDelivery',\n calculateAdditionalFees: '$[0].calculateAdditionalFees',\n calculateTax: '$[0].calculateTax',\n calculateGiftCards: '$[0].calculateGiftCards',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface EstimateCurrentCartOptions {\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before estimating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n /**\n * Specifies the level of **business validation** to perform during cart calculation,\n * by calling the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).\n */\n validationConfig?: ValidationsConfigWithLiterals;\n /**\n * Whether to calculate delivery costs.\n * Default: `false`.\n */\n calculateDelivery?: boolean;\n /**\n * Whether to calculate any additional fees.\n * Default: `false`.\n */\n calculateAdditionalFees?: boolean;\n /**\n * Whether to include tax calculation.\n * Default: `false`.\n */\n calculateTax?: boolean;\n /**\n * Whether to calculate the effect of gift card balances on the cart total.\n * Gift cards aren't redeemed - only reflected for estimation purposes.\n * Default: `false`.\n */\n calculateGiftCards?: boolean;\n}\n\n/**\n * Adds line items to the customer's current cart.\n * If a current cart doesn't already exist, one is created.\n * @public\n * @requiredField options.catalogItems.catalogReference\n * @requiredField options.catalogItems.quantity\n * @requiredField options.catalogItems.selectedMembership._id\n * @requiredField options.catalogItems.selectedMembership.appId\n * @requiredField options.customItems.attributes\n * @requiredField options.customItems.name\n * @requiredField options.customItems.pricing\n * @requiredField options.customItems.quantityInfo\n * @requiredField options.customItems.quantityInfo.requestedQuantity\n * @permissionId ecom:v2:cart:add_line_items_to_current_cart\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.AddLineItemsToCurrentCart\n */\nexport async function addLineItemsToCurrentCart(\n options?: NonNullablePaths<\n AddLineItemsToCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n): Promise<\n NonNullablePaths<\n AddLineItemsToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddLineItemsToCurrentCartApplicationErrors;\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 catalogItems: options?.catalogItems,\n customItems: options?.customItems,\n }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'catalogItems.catalogOverrideFields.image' },\n { path: 'customItems.attributes.image' },\n ],\n },\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [{ path: 'customItems.attributes.url' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV2Cart.addLineItemsToCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n catalogItems: '$[0].catalogItems',\n customItems: '$[0].customItems',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface AddLineItemsToCurrentCartOptions {\n /**\n * A list of catalog items to add to the current cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * A list of custom items to add to the current cart.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n}\n\n/**\n * Removes line items from the customer's current cart.\n * @param lineItemIds - Line item IDs to remove from the current cart.\n * @public\n * @requiredField lineItemIds\n * @permissionId ecom:v2:cart:remove_line_items_from_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RemoveLineItemsFromCurrentCart\n */\nexport async function removeLineItemsFromCurrentCart(\n lineItemIds: string[]\n): Promise<\n NonNullablePaths<\n RemoveLineItemsFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveLineItemsFromCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n lineItemIds: lineItemIds,\n });\n\n const reqOpts =\n ambassadorWixEcomV2Cart.removeLineItemsFromCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { lineItemIds: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['lineItemIds']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates line items in the customer's current cart.\n *\n * Use this endpoint to update line item properties such as quantity and selected membership.\n * @public\n * @requiredField options.lineItems.lineItemId\n * @requiredField options.lineItems.quantity.newQuantity\n * @permissionId ecom:v2:cart:update_line_items_in_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.UpdateLineItemsInCurrentCart\n */\nexport async function updateLineItemsInCurrentCart(\n options?: NonNullablePaths<\n UpdateLineItemsInCurrentCartOptions,\n | `lineItems.${number}.lineItemId`\n | `lineItems.${number}.quantity.newQuantity`,\n 3\n >\n): Promise<\n NonNullablePaths<\n UpdateLineItemsInCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: UpdateLineItemsInCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n lineItems: options?.lineItems,\n });\n\n const reqOpts = ambassadorWixEcomV2Cart.updateLineItemsInCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { lineItems: '$[0].lineItems' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateLineItemsInCurrentCartOptions {\n /**\n * Line item updates to apply.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: LineItemUpdate[];\n}\n\n/**\n * Applies a coupon to the customer's current cart.\n * @param coupon - Coupon to apply.\n *\n * Currently only one is supported.\n * @public\n * @requiredField coupon\n * @requiredField coupon.code\n * @permissionId ecom:v2:cart:add_coupon_to_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.AddCouponToCurrentCart\n */\nexport async function addCouponToCurrentCart(\n coupon: NonNullablePaths<CouponInput, `code`, 0>\n): Promise<\n NonNullablePaths<\n AddCouponToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddCouponToCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ coupon: coupon });\n\n const reqOpts = ambassadorWixEcomV2Cart.addCouponToCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { coupon: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['coupon']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Removes a coupon from the customer's current cart.\n * @param couponId - Coupon ID.\n * @public\n * @requiredField couponId\n * @permissionId ecom:v2:cart:remove_coupon_from_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RemoveCouponFromCurrentCart\n */\nexport async function removeCouponFromCurrentCart(couponId: string): Promise<\n NonNullablePaths<\n RemoveCouponFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveCouponFromCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ couponId: couponId });\n\n const reqOpts = ambassadorWixEcomV2Cart.removeCouponFromCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { couponId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['couponId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets the delivery method for the customer's current cart.\n * @param deliveryMethod - Delivery method.\n * @public\n * @requiredField deliveryMethod\n * @requiredField deliveryMethod.code\n * @permissionId ecom:v2:cart:set_delivery_method_for_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.SetDeliveryMethodForCurrentCart\n */\nexport async function setDeliveryMethodForCurrentCart(\n deliveryMethod: NonNullablePaths<DeliveryMethodInput, `code`, 0>\n): Promise<\n NonNullablePaths<\n SetDeliveryMethodForCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: SetDeliveryMethodForCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n deliveryMethod: deliveryMethod,\n });\n\n const reqOpts =\n ambassadorWixEcomV2Cart.setDeliveryMethodForCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { deliveryMethod: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['deliveryMethod']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Removes the selected delivery method from the customer's current cart.\n * @public\n * @permissionId ecom:v2:cart:remove_delivery_method_from_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RemoveDeliveryMethodFromCurrentCart\n */\nexport async function removeDeliveryMethodFromCurrentCart(): Promise<\n NonNullablePaths<\n RemoveDeliveryMethodFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveDeliveryMethodFromCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixEcomV2Cart.removeDeliveryMethodFromCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Adds a gift card to the customer's current cart.\n *\n * Once added, the gift card's balance is used as a payment method during checkout, either partially or fully covering the cart total.\n * @param giftCard - Gift card to add.\n *\n * Currently only one is supported.\n * @public\n * @requiredField giftCard\n * @requiredField giftCard.code\n * @permissionId ecom:v2:cart:add_gift_card_to_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.AddGiftCardToCurrentCart\n */\nexport async function addGiftCardToCurrentCart(\n giftCard: NonNullablePaths<GiftCardInput, `code`, 0>\n): Promise<\n NonNullablePaths<\n AddGiftCardToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddGiftCardToCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ giftCard: giftCard });\n\n const reqOpts = ambassadorWixEcomV2Cart.addGiftCardToCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { giftCard: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['giftCard']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Removes a gift card from the customer's current cart.\n * @param giftCardId - Gift card ID.\n * @public\n * @requiredField giftCardId\n * @permissionId ecom:v2:cart:remove_gift_card_from_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RemoveGiftCardFromCurrentCart\n */\nexport async function removeGiftCardFromCurrentCart(\n giftCardId: string\n): Promise<\n NonNullablePaths<\n RemoveGiftCardFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveGiftCardFromCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n giftCardId: giftCardId,\n });\n\n const reqOpts =\n ambassadorWixEcomV2Cart.removeGiftCardFromCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { giftCardId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['giftCardId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates form submissions associated with the customer's current cart line items.\n *\n * Forms are defined by catalog apps and used for collecting additional information per line item (for example, personalization text or event details).\n * @public\n * @permissionId ecom:v2:cart:update_form_submissions_in_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.UpdateFormSubmissionsInCurrentCart\n */\nexport async function updateFormSubmissionsInCurrentCart(\n options?: UpdateFormSubmissionsInCurrentCartOptions\n): Promise<\n NonNullablePaths<\n UpdateFormSubmissionsInCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formSubmissions: options?.formSubmissions,\n });\n\n const reqOpts =\n ambassadorWixEcomV2Cart.updateFormSubmissionsInCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { formSubmissions: '$[0].formSubmissions' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateFormSubmissionsInCurrentCartOptions {\n /**\n * Form submission data to set on the current cart.\n * @minSize 1\n * @maxSize 1000\n */\n formSubmissions?: FormSubmission[];\n}\n\n/**\n * Returns the upsell options available for the cart's line items.\n * @internal\n * @documentationMaturity preview\n * @permissionId ecom:v2:cart:currentCart:get_upsell_options_for_current_cart\n * @fqn wix.ecom.cart.v2.CurrentCartService.GetUpsellOptionsForCurrentCart\n */\nexport async function getUpsellOptionsForCurrentCart(): Promise<\n NonNullablePaths<\n GetUpsellOptionsForCurrentCartResponse,\n `itemsUpsells` | `itemsUpsells.${number}.lineItemId`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixEcomV2Cart.getUpsellOptionsForCurrentCart(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 singleArgumentUnchanged: false,\n },\n []\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 resolveWixEcomCartV2CurrentCartServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/cart-v2',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/ecom/v2/carts',\n destPath: '/v2/carts',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_current-cart-v-2';\n\n/** Creates the customer's current cart. */\nexport function createCurrentCart(payload: object): RequestOptionsFactory<any> {\n function __createCurrentCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n {\n path: 'catalogItems.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'customItems.attributes.image.urlExpirationDate' },\n { path: 'customItems.attributes.serviceProperties.scheduledDate' },\n { path: 'customItems.attributes.serviceProperties.endDate' },\n {\n path: 'customItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n {\n path: 'catalogItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'customItems.attributes.physicalProperties.weight' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.CreateCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createCurrentCart;\n}\n\n/** Retrieves the customer's current cart. */\nexport function getCurrentCart(payload: object): RequestOptionsFactory<any> {\n function __getCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'GET' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.GetCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCurrentCart;\n}\n\n/**\n * Updates the customer's current cart.\n *\n * Use this endpoint to set and replace fields such as buyer note and delivery method.\n * To add or remove elements from lists (for example, line items, discounts, gift cards), use their dedicated endpoints.\n */\nexport function updateCurrentCart(payload: object): RequestOptionsFactory<any> {\n function __updateCurrentCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'PATCH' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.UpdateCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCurrentCart;\n}\n\n/** Deletes the customer's current cart. */\nexport function deleteCurrentCart(payload: object): RequestOptionsFactory<any> {\n function __deleteCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'DELETE' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.DeleteCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteCurrentCart;\n}\n\n/** Re-evaluates prices, inventory, and discounts to ensure the customer's current cart is up-to-date with the latest changes. */\nexport function refreshCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __refreshCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.RefreshCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/refresh',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __refreshCurrentCart;\n}\n\n/**\n * Calculates the customer's current cart based on its current state (line items, discounts, delivery method, etc.)\n * and returns a detailed summary including subtotal, delivery costs, taxes, fees, and the total price.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n */\nexport function calculateCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __calculateCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.CalculateCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/calculate',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n {\n path: 'summary.paymentSummary.subscriptionCharges.charges.cycleBillingDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __calculateCurrentCart;\n}\n\n/**\n * Estimates the customer's current cart totals based on its current state and the selected\n * calculation components.\n *\n * This API provides a partial, component-based estimation of the cart and is\n * intended for preview purposes (for example, showing partial estimated totals).\n *\n * The estimation is controlled by boolean flags that indicate which components\n * should be included (delivery costs, additional fees, taxes, gift cards).\n * Components that aren't explicitly enabled are excluded from the calculation.\n *\n * This isn't a full cart calculation.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n */\nexport function estimateCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __estimateCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.EstimateCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/estimate',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n {\n path: 'summary.paymentSummary.subscriptionCharges.charges.cycleBillingDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __estimateCurrentCart;\n}\n\n/**\n * Adds line items to the customer's current cart.\n * If a current cart doesn't already exist, one is created.\n */\nexport function addLineItemsToCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __addLineItemsToCurrentCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'catalogItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'customItems.attributes.physicalProperties.weight' },\n ],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n {\n path: 'catalogItems.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'customItems.attributes.image.urlExpirationDate' },\n { path: 'customItems.attributes.serviceProperties.scheduledDate' },\n { path: 'customItems.attributes.serviceProperties.endDate' },\n {\n path: 'customItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.AddLineItemsToCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/add-line-items',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __addLineItemsToCurrentCart;\n}\n\n/** Removes line items from the customer's current cart. */\nexport function removeLineItemsFromCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeLineItemsFromCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.RemoveLineItemsFromCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeLineItemsFromCurrentCart;\n}\n\n/**\n * Updates line items in the customer's current cart.\n *\n * Use this endpoint to update line item properties such as quantity and selected membership.\n */\nexport function updateLineItemsInCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateLineItemsInCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.UpdateLineItemsInCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/update-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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateLineItemsInCurrentCart;\n}\n\n/** Applies a coupon to the customer's current cart. */\nexport function addCouponToCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __addCouponToCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.AddCouponToCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/add-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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __addCouponToCurrentCart;\n}\n\n/** Removes a coupon from the customer's current cart. */\nexport function removeCouponFromCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeCouponFromCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.RemoveCouponFromCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeCouponFromCurrentCart;\n}\n\n/** Sets the delivery method for the customer's current cart. */\nexport function setDeliveryMethodForCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __setDeliveryMethodForCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.SetDeliveryMethodForCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/set-delivery-method',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __setDeliveryMethodForCurrentCart;\n}\n\n/** Removes the selected delivery method from the customer's current cart. */\nexport function removeDeliveryMethodFromCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeDeliveryMethodFromCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.RemoveDeliveryMethodFromCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/remove-delivery-method',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeDeliveryMethodFromCurrentCart;\n}\n\n/**\n * Adds a gift card to the customer's current cart.\n *\n * Once added, the gift card's balance is used as a payment method during checkout, either partially or fully covering the cart total.\n */\nexport function addGiftCardToCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __addGiftCardToCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.AddGiftCardToCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/add-gift-card',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __addGiftCardToCurrentCart;\n}\n\n/** Removes a gift card from the customer's current cart. */\nexport function removeGiftCardFromCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeGiftCardFromCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.RemoveGiftCardFromCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/remove-gift-card',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeGiftCardFromCurrentCart;\n}\n\n/**\n * Updates form submissions associated with the customer's current cart line items.\n *\n * Forms are defined by catalog apps and used for collecting additional information per line item (for example, personalization text or event details).\n */\nexport function updateFormSubmissionsInCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateFormSubmissionsInCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.UpdateFormSubmissionsInCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/update-forms-submission',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateFormSubmissionsInCurrentCart;\n}\n\n/** Returns the upsell options available for the cart's line items. */\nexport function getUpsellOptionsForCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __getUpsellOptionsForCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'GET' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.GetUpsellOptionsForCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/upsell-options',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getUpsellOptionsForCurrentCart;\n}\n","import {\n createCurrentCart as publicCreateCurrentCart,\n getCurrentCart as publicGetCurrentCart,\n updateCurrentCart as publicUpdateCurrentCart,\n deleteCurrentCart as publicDeleteCurrentCart,\n refreshCurrentCart as publicRefreshCurrentCart,\n calculateCurrentCart as publicCalculateCurrentCart,\n estimateCurrentCart as publicEstimateCurrentCart,\n addLineItemsToCurrentCart as publicAddLineItemsToCurrentCart,\n removeLineItemsFromCurrentCart as publicRemoveLineItemsFromCurrentCart,\n updateLineItemsInCurrentCart as publicUpdateLineItemsInCurrentCart,\n addCouponToCurrentCart as publicAddCouponToCurrentCart,\n removeCouponFromCurrentCart as publicRemoveCouponFromCurrentCart,\n setDeliveryMethodForCurrentCart as publicSetDeliveryMethodForCurrentCart,\n removeDeliveryMethodFromCurrentCart as publicRemoveDeliveryMethodFromCurrentCart,\n addGiftCardToCurrentCart as publicAddGiftCardToCurrentCart,\n removeGiftCardFromCurrentCart as publicRemoveGiftCardFromCurrentCart,\n updateFormSubmissionsInCurrentCart as publicUpdateFormSubmissionsInCurrentCart,\n getUpsellOptionsForCurrentCart as publicGetUpsellOptionsForCurrentCart,\n} from './ecom-v2-cart-current-cart-v-2.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 { onCartCalculated as publicOnCartCalculated } from './ecom-v2-cart-current-cart-v-2.public.js';\nimport { onCartCreated as publicOnCartCreated } from './ecom-v2-cart-current-cart-v-2.public.js';\nimport { onCartDeleted as publicOnCartDeleted } from './ecom-v2-cart-current-cart-v-2.public.js';\nimport { onCartUpdated as publicOnCartUpdated } from './ecom-v2-cart-current-cart-v-2.public.js';\n\nexport const createCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicCreateCurrentCart> &\n typeof publicCreateCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicCreateCurrentCart);\nexport const getCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicGetCurrentCart> & typeof publicGetCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicGetCurrentCart);\nexport const updateCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicUpdateCurrentCart> &\n typeof publicUpdateCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicUpdateCurrentCart);\nexport const deleteCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicDeleteCurrentCart> &\n typeof publicDeleteCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicDeleteCurrentCart);\nexport const refreshCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRefreshCurrentCart> &\n typeof publicRefreshCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRefreshCurrentCart);\nexport const calculateCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicCalculateCurrentCart> &\n typeof publicCalculateCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicCalculateCurrentCart);\nexport const estimateCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicEstimateCurrentCart> &\n typeof publicEstimateCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicEstimateCurrentCart);\nexport const addLineItemsToCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicAddLineItemsToCurrentCart> &\n typeof publicAddLineItemsToCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicAddLineItemsToCurrentCart);\nexport const removeLineItemsFromCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRemoveLineItemsFromCurrentCart> &\n typeof publicRemoveLineItemsFromCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRemoveLineItemsFromCurrentCart);\nexport const updateLineItemsInCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicUpdateLineItemsInCurrentCart> &\n typeof publicUpdateLineItemsInCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicUpdateLineItemsInCurrentCart);\nexport const addCouponToCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicAddCouponToCurrentCart> &\n typeof publicAddCouponToCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicAddCouponToCurrentCart);\nexport const removeCouponFromCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRemoveCouponFromCurrentCart> &\n typeof publicRemoveCouponFromCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRemoveCouponFromCurrentCart);\nexport const setDeliveryMethodForCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicSetDeliveryMethodForCurrentCart> &\n typeof publicSetDeliveryMethodForCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicSetDeliveryMethodForCurrentCart);\nexport const removeDeliveryMethodFromCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRemoveDeliveryMethodFromCurrentCart> &\n typeof publicRemoveDeliveryMethodFromCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRemoveDeliveryMethodFromCurrentCart);\nexport const addGiftCardToCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicAddGiftCardToCurrentCart> &\n typeof publicAddGiftCardToCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicAddGiftCardToCurrentCart);\nexport const removeGiftCardFromCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRemoveGiftCardFromCurrentCart> &\n typeof publicRemoveGiftCardFromCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRemoveGiftCardFromCurrentCart);\nexport const updateFormSubmissionsInCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicUpdateFormSubmissionsInCurrentCart> &\n typeof publicUpdateFormSubmissionsInCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicUpdateFormSubmissionsInCurrentCart);\n/** @internal */\nexport const getUpsellOptionsForCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicGetUpsellOptionsForCurrentCart> &\n typeof publicGetUpsellOptionsForCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicGetUpsellOptionsForCurrentCart);\n/**\n * Triggered when a cart is calculated.\n */\nexport const onCartCalculated: BuildEventDefinition<\n typeof publicOnCartCalculated\n> &\n typeof publicOnCartCalculated = /*#__PURE__*/ createEventModule(\n publicOnCartCalculated\n);\n/**\n * Triggered when a cart is created.\n */\nexport const onCartCreated: BuildEventDefinition<typeof publicOnCartCreated> &\n typeof publicOnCartCreated =\n /*#__PURE__*/ createEventModule(publicOnCartCreated);\n/**\n * Triggered when a cart is deleted.\n */\nexport const onCartDeleted: BuildEventDefinition<typeof publicOnCartDeleted> &\n typeof publicOnCartDeleted =\n /*#__PURE__*/ createEventModule(publicOnCartDeleted);\n/**\n * Triggered when a cart is updated.\n */\nexport const onCartUpdated: BuildEventDefinition<typeof publicOnCartUpdated> &\n typeof publicOnCartUpdated =\n /*#__PURE__*/ createEventModule(publicOnCartUpdated);\n\nexport {\n DescriptionLineType,\n DimensionsUnit,\n PaymentOptionType,\n ItemTypePreset,\n SubscriptionFrequency,\n ProductPeriodAlignment,\n FileType,\n TaxableAddressType,\n RedemptionType,\n ItemStatus,\n DiscountSourceType,\n ChannelType,\n VatType,\n WeightUnit,\n DiscountType,\n DiscountScope,\n Source,\n RuleType,\n Severity,\n NameInOther,\n NameInLineItem,\n SuggestedFix,\n ViolationScope,\n ViolationCode,\n ViolationSeverity,\n InvalidCouponReason,\n InvalidGiftCardReason,\n InvalidMembershipReason,\n V1PlatformFeeChargeType,\n BenefitType,\n ValidationsConfig,\n JurisdictionType,\n RateType,\n ManualCalculationReason,\n FallbackReason,\n PickupMethod,\n ChargeType,\n BalanceType,\n QuotaType,\n LimitedQuotaType,\n AdditionalFeeSource,\n PlatformFeeChargeType,\n WebhookIdentityType,\n} from './ecom-v2-cart-current-cart-v-2.universal.js';\nexport {\n Cart,\n V2LineItem,\n TranslatableString,\n ItemQuantityInfo,\n ItemPricingInfo,\n ConvertedMoney,\n PriceDescription,\n ItemPriceBreakdown,\n ItemSource,\n CatalogReference,\n CatalogOverrideFields,\n DescriptionLine,\n DescriptionLineValueOneOf,\n DescriptionLineDescriptionLineValueOneOf,\n DescriptionLineName,\n PlainTextValue,\n Color,\n PhysicalProperties,\n Dimensions,\n PaymentOption,\n ItemAttributes,\n Policy,\n ItemType,\n ItemTypeItemTypeDataOneOf,\n SubscriptionOptionInfo,\n SubscriptionSettings,\n FreeTrialPeriod,\n BillingSettings,\n Title,\n Description,\n SecuredMedia,\n ServiceProperties,\n ItemDeliveryConfig,\n ItemTaxConfig,\n TaxableAddress,\n TaxableAddressTaxableAddressDataOneOf,\n ItemPaymentConfig,\n V2SelectedMembership,\n V2Membership,\n V2MembershipIdentifierOneOf,\n V2ExistingMembership,\n FutureMembership,\n ExtendedFields,\n V1AdditionalFee,\n TaxDetails,\n ModifierGroup,\n ItemModifier,\n ItemDiscount,\n DiscountSource,\n Scope,\n Group,\n V2Coupon,\n CartSource,\n ExternalReference,\n CreatedBy,\n CreatedByIdOneOf,\n CustomContentReference,\n BusinessInfo,\n CustomerInfo,\n CustomerInfoIdOneOf,\n VatId,\n DeliveryInfo,\n Address,\n StreetAddress,\n AddressLocation,\n DeliveryMethod,\n TaxInfo,\n PaymentInfo,\n V2GiftCard,\n FullAddressContactDetails,\n CartSettings,\n LegacyFields,\n CustomField,\n FormInfo,\n FormIdentifier,\n CartEstimationIndicators,\n AppliedDiscount,\n AppliedDiscountDiscountSourceOneOf,\n Coupon,\n MultiCurrencyPrice,\n MerchantDiscount,\n DiscountRule,\n DiscountRuleName,\n LineItemDiscount,\n ItemCombination,\n ItemCombinationLineItem,\n CartSummary,\n LineItemSummary,\n Discount,\n V2LineItemDiscount,\n DeliverySummary,\n V2AdditionalFee,\n V2TaxSummary,\n Tax,\n LineItemTax,\n AdditionalFeeTax,\n V2PriceSummary,\n PaymentSummary,\n GiftCardSummary,\n MembershipSummary,\n MembershipSummaryMembershipIdentifierOneOf,\n SubscriptionCharges,\n Charge,\n PriceSummary,\n Price,\n V2CalculationErrors,\n V2CalculationErrorsShippingCalculationErrorOneOf,\n Details,\n DetailsKindOneOf,\n ApplicationError,\n ValidationError,\n FieldViolation,\n SystemError,\n V2CarrierErrors,\n V2CarrierError,\n Violation,\n Target,\n TargetTargetTypeOneOf,\n Other,\n LineItem,\n V2Violation,\n V2ViolationDataOneOf,\n CustomValidationErrorData,\n InvalidCouponStatusErrorData,\n InvalidCouponStatusErrorDataDetailsOneOf,\n MinLineItemQuantityNotReachedDetails,\n MinSubtotalNotReachedDetails,\n InvalidCouponCodeErrorData,\n InvalidGiftCardCodeErrorData,\n InvalidGiftCardStatusErrorData,\n LineItemsOutOfStockErrorData,\n MembersOnlyItemErrorData,\n SubtotalBelowOrderMinimumErrorData,\n InvalidMembershipStatusErrorData,\n LineItemAdded,\n CouponAdded,\n CouponRemoved,\n GiftCardAdded,\n GiftCardRemoved,\n CreateCartRequest,\n CatalogItemInput,\n MembershipInput,\n MembershipInputMembershipOneOf,\n ExistingMembershipInput,\n FutureMembershipInput,\n CustomItemInput,\n CustomItemQuantityInfo,\n CustomItemPricingInfo,\n CustomItemSource,\n CustomItemAttributes,\n CustomItemDeliveryConfig,\n CustomItemTaxConfig,\n CustomItemPaymentConfig,\n PlatformFee,\n CouponInput,\n DeliveryMethodInput,\n GiftCardInput,\n CreateCartResponse,\n ItemNotFoundInCatalogErrorData,\n LineItemIdentifier,\n LineItemIdentifierIdOneOf,\n InsufficientInventoryErrorData,\n InsufficientInventoryEntry,\n MaxLineItemsExceededErrorData,\n MaxItemModifiersExceededErrorData,\n DuplicateModifierGroupIdsErrorData,\n DuplicateItemModifierIdsErrorData,\n LineItemPriceConflictErrorData,\n FixedQuantityItemErrorData,\n InvalidMembershipPaymentOptionErrorData,\n InvalidMembershipEntry,\n LineItemNotFoundInCartErrorData,\n DeliveryMethodNotFoundErrorData,\n GetCartRequest,\n GetCartResponse,\n GetUpsellOptionsRequest,\n GetUpsellOptionsResponse,\n ItemUpsells,\n UpsellOption,\n UpsellBenefitMetadata,\n PriceDetails,\n UpdateCartRequest,\n UpdateCartResponse,\n CartAlreadyOrderedErrorData,\n DeleteCartRequest,\n DeleteCartResponse,\n RefreshCartRequest,\n RefreshCartResponse,\n EstimateCartRequest,\n EstimateCartResponse,\n CalculateCartRequest,\n CalculateCartResponse,\n CalculateCartForV1Request,\n CalculationConfig,\n CalculationOverrides,\n SelectedMemberships,\n SelectedMembership,\n CalculateCartForV1Response,\n CalculateTotalsResponse,\n CalculatedLineItem,\n LineItemPricesData,\n ItemTaxFullDetails,\n TaxRateBreakdown,\n TaxBreakdown,\n CalculatedItemModifier,\n V1PriceSummary,\n GiftCard,\n TaxSummary,\n TaxCalculationDetails,\n TaxCalculationDetailsCalculationDetailsOneOf,\n AutoTaxFallbackCalculationDetails,\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 CalculationErrors,\n CalculationErrorsShippingCalculationErrorOneOf,\n CarrierErrors,\n CarrierError,\n GiftCardCalculationError,\n MembershipOptions,\n Membership,\n MembershipName,\n MembershipPaymentCredits,\n InvalidMembership,\n ValidatedExistingMemberships,\n ExistingMembership,\n V1Membership,\n CoveredLineItem,\n ValidatedPurchasablePlans,\n PurchasablePlan,\n Benefit,\n BenefitQuotaOneOf,\n LimitedQuota,\n LineItemCoverage,\n AdditionalFee,\n PlatformFeeSummary,\n CalculatedPlatformFee,\n CartRevisionMismatchErrorData,\n GetCheckoutURLRequest,\n GetCheckoutURLResponse,\n PlaceOrderRequest,\n RedirectUrls,\n PlaceOrderResponse,\n InvalidThirdPartyCheckoutTokenErrorData,\n InvalidPriceVerificationTokenErrorData,\n ViolationWithErrorSeverityErrorData,\n ViolationsList,\n InvalidMembershipErrorData,\n InvalidPaymentStatusErrorData,\n GiftCardRedeemErrorData,\n EmptyPaymentTokenErrorData,\n InvalidCartErrorData,\n AddLineItemsRequest,\n AddLineItemsResponse,\n RemoveLineItemsRequest,\n RemoveLineItemsResponse,\n UpdateLineItemsRequest,\n LineItemUpdate,\n QuantityUpdate,\n SelectedMembershipUpdate,\n UpdateLineItemsResponse,\n EmptyLineItemUpdatesErrorData,\n DuplicateLineItemUpdatesErrorData,\n AddCouponRequest,\n AddCouponResponse,\n CouponAlreadyExistsErrorData,\n RemoveCouponRequest,\n RemoveCouponResponse,\n CouponNotFoundInCartErrorData,\n SetDeliveryMethodRequest,\n SetDeliveryMethodResponse,\n RemoveDeliveryMethodRequest,\n RemoveDeliveryMethodResponse,\n AddGiftCardRequest,\n AddGiftCardResponse,\n GiftCardAlreadyExistsErrorData,\n RemoveGiftCardRequest,\n RemoveGiftCardResponse,\n GiftCardNotFoundInCartErrorData,\n MarkCartAsCompletedRequest,\n MarkCartAsCompletedResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n HandleAsyncCheckoutCompletionRequest,\n RawHttpResponse,\n HeadersEntry,\n UpdateFormSubmissionsRequest,\n FormSubmission,\n UpdateFormSubmissionsResponse,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n CreateCurrentCartRequest,\n CreateCurrentCartResponse,\n GetCurrentCartRequest,\n GetCurrentCartResponse,\n UpdateCurrentCartRequest,\n UpdateCurrentCartResponse,\n DeleteCurrentCartRequest,\n DeleteCurrentCartResponse,\n RefreshCurrentCartRequest,\n RefreshCurrentCartResponse,\n CalculateCurrentCartRequest,\n CalculateCurrentCartResponse,\n EstimateCurrentCartRequest,\n EstimateCurrentCartResponse,\n AddLineItemsToCurrentCartRequest,\n AddLineItemsToCurrentCartResponse,\n RemoveLineItemsFromCurrentCartRequest,\n RemoveLineItemsFromCurrentCartResponse,\n UpdateLineItemsInCurrentCartRequest,\n UpdateLineItemsInCurrentCartResponse,\n AddCouponToCurrentCartRequest,\n AddCouponToCurrentCartResponse,\n RemoveCouponFromCurrentCartRequest,\n RemoveCouponFromCurrentCartResponse,\n SetDeliveryMethodForCurrentCartRequest,\n SetDeliveryMethodForCurrentCartResponse,\n RemoveDeliveryMethodFromCurrentCartRequest,\n RemoveDeliveryMethodFromCurrentCartResponse,\n AddGiftCardToCurrentCartRequest,\n AddGiftCardToCurrentCartResponse,\n RemoveGiftCardFromCurrentCartRequest,\n RemoveGiftCardFromCurrentCartResponse,\n UnmarkAsCurrentCartRequest,\n UnmarkAsCurrentCartResponse,\n UpdateFormSubmissionsInCurrentCartRequest,\n UpdateFormSubmissionsInCurrentCartResponse,\n GetUpsellOptionsForCurrentCartRequest,\n GetUpsellOptionsForCurrentCartResponse,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n CartCalculatedEnvelope,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartUpdatedEnvelope,\n CreateCurrentCartOptions,\n CalculateCurrentCartOptions,\n EstimateCurrentCartOptions,\n AddLineItemsToCurrentCartOptions,\n UpdateLineItemsInCurrentCartOptions,\n UpdateFormSubmissionsInCurrentCartOptions,\n} from './ecom-v2-cart-current-cart-v-2.universal.js';\nexport {\n DescriptionLineTypeWithLiterals,\n DimensionsUnitWithLiterals,\n PaymentOptionTypeWithLiterals,\n ItemTypePresetWithLiterals,\n SubscriptionFrequencyWithLiterals,\n ProductPeriodAlignmentWithLiterals,\n FileTypeWithLiterals,\n TaxableAddressTypeWithLiterals,\n RedemptionTypeWithLiterals,\n ItemStatusWithLiterals,\n DiscountSourceTypeWithLiterals,\n ChannelTypeWithLiterals,\n VatTypeWithLiterals,\n WeightUnitWithLiterals,\n DiscountTypeWithLiterals,\n DiscountScopeWithLiterals,\n SourceWithLiterals,\n RuleTypeWithLiterals,\n SeverityWithLiterals,\n NameInOtherWithLiterals,\n NameInLineItemWithLiterals,\n SuggestedFixWithLiterals,\n ViolationScopeWithLiterals,\n ViolationCodeWithLiterals,\n ViolationSeverityWithLiterals,\n InvalidCouponReasonWithLiterals,\n InvalidGiftCardReasonWithLiterals,\n InvalidMembershipReasonWithLiterals,\n V1PlatformFeeChargeTypeWithLiterals,\n BenefitTypeWithLiterals,\n ValidationsConfigWithLiterals,\n JurisdictionTypeWithLiterals,\n RateTypeWithLiterals,\n ManualCalculationReasonWithLiterals,\n FallbackReasonWithLiterals,\n PickupMethodWithLiterals,\n ChargeTypeWithLiterals,\n BalanceTypeWithLiterals,\n QuotaTypeWithLiterals,\n LimitedQuotaTypeWithLiterals,\n AdditionalFeeSourceWithLiterals,\n PlatformFeeChargeTypeWithLiterals,\n WebhookIdentityTypeWithLiterals,\n CreateCurrentCartApplicationErrors,\n UpdateCurrentCartApplicationErrors,\n RefreshCurrentCartApplicationErrors,\n CalculateCurrentCartApplicationErrors,\n EstimateCurrentCartApplicationErrors,\n AddLineItemsToCurrentCartApplicationErrors,\n RemoveLineItemsFromCurrentCartApplicationErrors,\n UpdateLineItemsInCurrentCartApplicationErrors,\n AddCouponToCurrentCartApplicationErrors,\n RemoveCouponFromCurrentCartApplicationErrors,\n SetDeliveryMethodForCurrentCartApplicationErrors,\n RemoveDeliveryMethodFromCurrentCartApplicationErrors,\n AddGiftCardToCurrentCartApplicationErrors,\n RemoveGiftCardFromCurrentCartApplicationErrors,\n} from './ecom-v2-cart-current-cart-v-2.universal.js';\n"],"mappings":"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","names":["addCouponToCurrentCart","addGiftCardToCurrentCart","addLineItemsToCurrentCart","calculateCurrentCart","createCurrentCart","deleteCurrentCart","estimateCurrentCart","getCurrentCart","getUpsellOptionsForCurrentCart","onCartCalculated","onCartCreated","onCartDeleted","onCartUpdated","refreshCurrentCart","removeCouponFromCurrentCart","removeDeliveryMethodFromCurrentCart","removeGiftCardFromCurrentCart","removeLineItemsFromCurrentCart","setDeliveryMethodForCurrentCart","updateCurrentCart","updateFormSubmissionsInCurrentCart","updateLineItemsInCurrentCart","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","DimensionsUnit","PaymentOptionType","ItemTypePreset","SubscriptionFrequency","ProductPeriodAlignment","FileType","TaxableAddressType","RedemptionType","ItemStatus","DiscountSourceType","ChannelType","VatType","WeightUnit","DiscountType","DiscountScope","Source","RuleType","Severity","NameInOther","NameInLineItem","SuggestedFix","ViolationScope","ViolationCode","ViolationSeverity","InvalidCouponReason","InvalidGiftCardReason","InvalidMembershipReason","V1PlatformFeeChargeType","BenefitType","ValidationsConfig","JurisdictionType","RateType","ManualCalculationReason","FallbackReason","PickupMethod","ChargeType","BalanceType","QuotaType","LimitedQuotaType","AdditionalFeeSource","PlatformFeeChargeType","WebhookIdentityType","createCurrentCart","sdkTransformError","getCurrentCart","updateCurrentCart","deleteCurrentCart","refreshCurrentCart","calculateCurrentCart","estimateCurrentCart","addLineItemsToCurrentCart","removeLineItemsFromCurrentCart","updateLineItemsInCurrentCart","addCouponToCurrentCart","removeCouponFromCurrentCart","setDeliveryMethodForCurrentCart","removeDeliveryMethodFromCurrentCart","addGiftCardToCurrentCart","removeGiftCardFromCurrentCart","updateFormSubmissionsInCurrentCart","getUpsellOptionsForCurrentCart","createCurrentCart","getCurrentCart","updateCurrentCart","deleteCurrentCart","refreshCurrentCart","calculateCurrentCart","estimateCurrentCart","addLineItemsToCurrentCart","removeLineItemsFromCurrentCart","updateLineItemsInCurrentCart","addCouponToCurrentCart","removeCouponFromCurrentCart","setDeliveryMethodForCurrentCart","removeDeliveryMethodFromCurrentCart","addGiftCardToCurrentCart","removeGiftCardFromCurrentCart","updateFormSubmissionsInCurrentCart","getUpsellOptionsForCurrentCart","import_rest_modules","createCurrentCart","getCurrentCart","updateCurrentCart","deleteCurrentCart","refreshCurrentCart","calculateCurrentCart","estimateCurrentCart","addLineItemsToCurrentCart","removeLineItemsFromCurrentCart","updateLineItemsInCurrentCart","addCouponToCurrentCart","removeCouponFromCurrentCart","setDeliveryMethodForCurrentCart","removeDeliveryMethodFromCurrentCart","addGiftCardToCurrentCart","removeGiftCardFromCurrentCart","updateFormSubmissionsInCurrentCart","getUpsellOptionsForCurrentCart","onCartCalculated","onCartCreated","onCartDeleted","onCartUpdated"]}
|
|
1
|
+
{"version":3,"sources":["../../index.ts","../../src/ecom-v2-cart-current-cart-v-2.public.ts","../../src/ecom-v2-cart-current-cart-v-2.universal.ts","../../src/ecom-v2-cart-current-cart-v-2.http.ts","../../src/ecom-v2-cart-current-cart-v-2.context.ts"],"sourcesContent":["export * from './src/ecom-v2-cart-current-cart-v-2.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 AddCouponToCurrentCartApplicationErrors,\n AddCouponToCurrentCartResponse,\n AddGiftCardToCurrentCartApplicationErrors,\n AddGiftCardToCurrentCartResponse,\n AddLineItemsToCurrentCartApplicationErrors,\n AddLineItemsToCurrentCartOptions,\n AddLineItemsToCurrentCartResponse,\n CalculateCurrentCartApplicationErrors,\n CalculateCurrentCartOptions,\n CalculateCurrentCartResponse,\n Cart,\n CartCalculatedEnvelope,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartUpdatedEnvelope,\n CouponInput,\n CreateCurrentCartApplicationErrors,\n CreateCurrentCartOptions,\n CreateCurrentCartResponse,\n DeliveryMethodInput,\n EstimateCurrentCartApplicationErrors,\n EstimateCurrentCartOptions,\n EstimateCurrentCartResponse,\n GetCurrentCartResponse,\n GetUpsellOptionsForCurrentCartResponse,\n GiftCardInput,\n RefreshCurrentCartApplicationErrors,\n RefreshCurrentCartResponse,\n RemoveCouponFromCurrentCartApplicationErrors,\n RemoveCouponFromCurrentCartResponse,\n RemoveDeliveryMethodFromCurrentCartApplicationErrors,\n RemoveDeliveryMethodFromCurrentCartResponse,\n RemoveGiftCardFromCurrentCartApplicationErrors,\n RemoveGiftCardFromCurrentCartResponse,\n RemoveLineItemsFromCurrentCartApplicationErrors,\n RemoveLineItemsFromCurrentCartResponse,\n SetDeliveryMethodForCurrentCartApplicationErrors,\n SetDeliveryMethodForCurrentCartResponse,\n UpdateCurrentCartApplicationErrors,\n UpdateCurrentCartResponse,\n UpdateFormSubmissionsInCurrentCartOptions,\n UpdateFormSubmissionsInCurrentCartResponse,\n UpdateLineItemsInCurrentCartApplicationErrors,\n UpdateLineItemsInCurrentCartOptions,\n UpdateLineItemsInCurrentCartResponse,\n addCouponToCurrentCart as universalAddCouponToCurrentCart,\n addGiftCardToCurrentCart as universalAddGiftCardToCurrentCart,\n addLineItemsToCurrentCart as universalAddLineItemsToCurrentCart,\n calculateCurrentCart as universalCalculateCurrentCart,\n createCurrentCart as universalCreateCurrentCart,\n deleteCurrentCart as universalDeleteCurrentCart,\n estimateCurrentCart as universalEstimateCurrentCart,\n getCurrentCart as universalGetCurrentCart,\n getUpsellOptionsForCurrentCart as universalGetUpsellOptionsForCurrentCart,\n refreshCurrentCart as universalRefreshCurrentCart,\n removeCouponFromCurrentCart as universalRemoveCouponFromCurrentCart,\n removeDeliveryMethodFromCurrentCart as universalRemoveDeliveryMethodFromCurrentCart,\n removeGiftCardFromCurrentCart as universalRemoveGiftCardFromCurrentCart,\n removeLineItemsFromCurrentCart as universalRemoveLineItemsFromCurrentCart,\n setDeliveryMethodForCurrentCart as universalSetDeliveryMethodForCurrentCart,\n updateCurrentCart as universalUpdateCurrentCart,\n updateFormSubmissionsInCurrentCart as universalUpdateFormSubmissionsInCurrentCart,\n updateLineItemsInCurrentCart as universalUpdateLineItemsInCurrentCart,\n} from './ecom-v2-cart-current-cart-v-2.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/ecom' };\n\nexport function createCurrentCart(\n httpClient: HttpClient\n): CreateCurrentCartSignature {\n return (\n options?: NonNullablePaths<\n CreateCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n ) =>\n universalCreateCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateCurrentCartSignature {\n /**\n * Creates the customer's current cart.\n */\n (\n options?: NonNullablePaths<\n CreateCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n ): Promise<\n NonNullablePaths<\n CreateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: CreateCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function getCurrentCart(\n httpClient: HttpClient\n): GetCurrentCartSignature {\n return () =>\n universalGetCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetCurrentCartSignature {\n /**\n * Retrieves the customer's current cart.\n */\n (): Promise<\n NonNullablePaths<\n GetCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n >\n >;\n}\n\nexport function updateCurrentCart(\n httpClient: HttpClient\n): UpdateCurrentCartSignature {\n return (cart: Cart) =>\n universalUpdateCurrentCart(\n cart,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateCurrentCartSignature {\n /**\n * Updates the customer's current cart.\n *\n * Use this endpoint to set and replace fields such as buyer note and delivery method.\n * To add or remove elements from lists (for example, line items, discounts, gift cards), use their dedicated endpoints.\n * @param - Cart to update; may be partial.\n */\n (cart: Cart): Promise<\n NonNullablePaths<\n UpdateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: UpdateCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function deleteCurrentCart(\n httpClient: HttpClient\n): DeleteCurrentCartSignature {\n return () =>\n universalDeleteCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteCurrentCartSignature {\n /**\n * Deletes the customer's current cart.\n */\n (): Promise<void>;\n}\n\nexport function refreshCurrentCart(\n httpClient: HttpClient\n): RefreshCurrentCartSignature {\n return () =>\n universalRefreshCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RefreshCurrentCartSignature {\n /**\n * Re-evaluates prices, inventory, and discounts to ensure the customer's current cart is up-to-date with the latest changes.\n */\n (): Promise<\n NonNullablePaths<\n RefreshCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RefreshCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function calculateCurrentCart(\n httpClient: HttpClient\n): CalculateCurrentCartSignature {\n return (options?: CalculateCurrentCartOptions) =>\n universalCalculateCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CalculateCurrentCartSignature {\n /**\n * Calculates the customer's current cart based on its current state (line items, discounts, delivery method, etc.)\n * and returns a detailed summary including subtotal, delivery costs, taxes, fees, and the total price.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n */\n (options?: CalculateCurrentCartOptions): Promise<\n NonNullablePaths<\n CalculateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`\n | `summary.cartId`\n | `summary.cartRevision`\n | `summary.calculationId`\n | `summary.lineItems`\n | `summary.lineItems.${number}.lineItemId`\n | `summary.lineItems.${number}.quantity`\n | `summary.lineItems.${number}.unitPrice.amount`\n | `summary.lineItems.${number}.unitPrice.convertedAmount`\n | `summary.discounts`\n | `summary.discounts.${number}.name.original`\n | `summary.discounts.${number}.source.sourceType`\n | `summary.discounts.${number}.scope`\n | `summary.deliverySummary.method.code`\n | `summary.deliverySummary.method.pickup`\n | `summary.additionalFees`\n | `summary.additionalFees.${number}.source`\n | `summary.taxSummary.taxes`\n | `summary.taxSummary.pricesIncludeTax`\n | `summary.taxSummary.lineItemTaxes`\n | `summary.taxSummary.lineItemTaxes.${number}.lineItemId`\n | `summary.taxSummary.additionalFeeTaxes`\n | `summary.taxSummary.additionalFeeTaxes.${number}.additionalFeeCode`\n | `summary.paymentSummary.giftCards`\n | `summary.paymentSummary.giftCards.${number}.giftCardId`\n | `summary.paymentSummary.memberships`\n | `summary.paymentSummary.memberships.${number}._id`\n | `summary.paymentSummary.memberships.${number}.appId`\n | `summary.paymentSummary.subscriptionCharges`\n | `summary.paymentSummary.requiresPaymentAfterGiftCard`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.code`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `summary.calculationErrors.carrierErrors.errors`\n | `summary.calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `summary.calculationErrors.orderValidationErrors`\n | `summary.spiViolations`\n | `summary.spiViolations.${number}.severity`\n | `summary.spiViolations.${number}.target.other.name`\n | `summary.spiViolations.${number}.target.lineItem.name`\n | `summary.violations`\n | `summary.violations.${number}.invalidCouponStatusData.minLineItemQuantityNotReachedDetails.requiredMinimumQuantity`\n | `summary.violations.${number}.invalidCouponStatusData.couponCode`\n | `summary.violations.${number}.invalidCouponStatusData.reason`\n | `summary.violations.${number}.invalidCouponCodeData.couponCode`\n | `summary.violations.${number}.invalidGiftCardCodeData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.reason`\n | `summary.violations.${number}.lineItemsOutOfStockData.allLineItemsOutOfStock`\n | `summary.violations.${number}.invalidMembershipStatusData.reason`\n | `summary.violations.${number}.scope`\n | `summary.violations.${number}.code`\n | `summary.violations.${number}.severity`,\n 6\n > & {\n __applicationErrorsType?: CalculateCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function estimateCurrentCart(\n httpClient: HttpClient\n): EstimateCurrentCartSignature {\n return (options?: EstimateCurrentCartOptions) =>\n universalEstimateCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface EstimateCurrentCartSignature {\n /**\n * Estimates the customer's current cart totals based on its current state and the selected\n * calculation components.\n *\n * This API provides a partial, component-based estimation of the cart and is\n * intended for preview purposes (for example, showing partial estimated totals).\n *\n * The estimation is controlled by boolean flags that indicate which components\n * should be included (delivery costs, additional fees, taxes, gift cards).\n * Components that aren't explicitly enabled are excluded from the calculation.\n *\n * This isn't a full cart calculation.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n */\n (options?: EstimateCurrentCartOptions): Promise<\n NonNullablePaths<\n EstimateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`\n | `summary.cartId`\n | `summary.cartRevision`\n | `summary.calculationId`\n | `summary.lineItems`\n | `summary.lineItems.${number}.lineItemId`\n | `summary.lineItems.${number}.quantity`\n | `summary.lineItems.${number}.unitPrice.amount`\n | `summary.lineItems.${number}.unitPrice.convertedAmount`\n | `summary.discounts`\n | `summary.discounts.${number}.name.original`\n | `summary.discounts.${number}.source.sourceType`\n | `summary.discounts.${number}.scope`\n | `summary.deliverySummary.method.code`\n | `summary.deliverySummary.method.pickup`\n | `summary.additionalFees`\n | `summary.additionalFees.${number}.source`\n | `summary.taxSummary.taxes`\n | `summary.taxSummary.pricesIncludeTax`\n | `summary.taxSummary.lineItemTaxes`\n | `summary.taxSummary.lineItemTaxes.${number}.lineItemId`\n | `summary.taxSummary.additionalFeeTaxes`\n | `summary.taxSummary.additionalFeeTaxes.${number}.additionalFeeCode`\n | `summary.paymentSummary.giftCards`\n | `summary.paymentSummary.giftCards.${number}.giftCardId`\n | `summary.paymentSummary.memberships`\n | `summary.paymentSummary.memberships.${number}._id`\n | `summary.paymentSummary.memberships.${number}.appId`\n | `summary.paymentSummary.subscriptionCharges`\n | `summary.paymentSummary.requiresPaymentAfterGiftCard`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.code`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `summary.calculationErrors.carrierErrors.errors`\n | `summary.calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `summary.calculationErrors.orderValidationErrors`\n | `summary.spiViolations`\n | `summary.spiViolations.${number}.severity`\n | `summary.spiViolations.${number}.target.other.name`\n | `summary.spiViolations.${number}.target.lineItem.name`\n | `summary.violations`\n | `summary.violations.${number}.invalidCouponStatusData.minLineItemQuantityNotReachedDetails.requiredMinimumQuantity`\n | `summary.violations.${number}.invalidCouponStatusData.couponCode`\n | `summary.violations.${number}.invalidCouponStatusData.reason`\n | `summary.violations.${number}.invalidCouponCodeData.couponCode`\n | `summary.violations.${number}.invalidGiftCardCodeData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.reason`\n | `summary.violations.${number}.lineItemsOutOfStockData.allLineItemsOutOfStock`\n | `summary.violations.${number}.invalidMembershipStatusData.reason`\n | `summary.violations.${number}.scope`\n | `summary.violations.${number}.code`\n | `summary.violations.${number}.severity`,\n 6\n > & {\n __applicationErrorsType?: EstimateCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function addLineItemsToCurrentCart(\n httpClient: HttpClient\n): AddLineItemsToCurrentCartSignature {\n return (\n options?: NonNullablePaths<\n AddLineItemsToCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n ) =>\n universalAddLineItemsToCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddLineItemsToCurrentCartSignature {\n /**\n * Adds line items to the customer's current cart.\n * If a current cart doesn't already exist, one is created.\n */\n (\n options?: NonNullablePaths<\n AddLineItemsToCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n ): Promise<\n NonNullablePaths<\n AddLineItemsToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddLineItemsToCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function removeLineItemsFromCurrentCart(\n httpClient: HttpClient\n): RemoveLineItemsFromCurrentCartSignature {\n return (lineItemIds: string[]) =>\n universalRemoveLineItemsFromCurrentCart(\n lineItemIds,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveLineItemsFromCurrentCartSignature {\n /**\n * Removes line items from the customer's current cart.\n * @param - Line item IDs to remove from the current cart.\n */\n (lineItemIds: string[]): Promise<\n NonNullablePaths<\n RemoveLineItemsFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveLineItemsFromCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function updateLineItemsInCurrentCart(\n httpClient: HttpClient\n): UpdateLineItemsInCurrentCartSignature {\n return (\n options?: NonNullablePaths<\n UpdateLineItemsInCurrentCartOptions,\n | `lineItems.${number}.lineItemId`\n | `lineItems.${number}.quantity.newQuantity`,\n 3\n >\n ) =>\n universalUpdateLineItemsInCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateLineItemsInCurrentCartSignature {\n /**\n * Updates line items in the customer's current cart.\n *\n * Use this endpoint to update line item properties such as quantity and selected membership.\n */\n (\n options?: NonNullablePaths<\n UpdateLineItemsInCurrentCartOptions,\n | `lineItems.${number}.lineItemId`\n | `lineItems.${number}.quantity.newQuantity`,\n 3\n >\n ): Promise<\n NonNullablePaths<\n UpdateLineItemsInCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: UpdateLineItemsInCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function addCouponToCurrentCart(\n httpClient: HttpClient\n): AddCouponToCurrentCartSignature {\n return (coupon: NonNullablePaths<CouponInput, `code`, 0>) =>\n universalAddCouponToCurrentCart(\n coupon,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddCouponToCurrentCartSignature {\n /**\n * Applies a coupon to the customer's current cart.\n * @param - Coupon to apply.\n *\n * Currently only one is supported.\n */\n (coupon: NonNullablePaths<CouponInput, `code`, 0>): Promise<\n NonNullablePaths<\n AddCouponToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddCouponToCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function removeCouponFromCurrentCart(\n httpClient: HttpClient\n): RemoveCouponFromCurrentCartSignature {\n return (couponId: string) =>\n universalRemoveCouponFromCurrentCart(\n couponId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveCouponFromCurrentCartSignature {\n /**\n * Removes a coupon from the customer's current cart.\n * @param - Coupon ID.\n */\n (couponId: string): Promise<\n NonNullablePaths<\n RemoveCouponFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveCouponFromCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function setDeliveryMethodForCurrentCart(\n httpClient: HttpClient\n): SetDeliveryMethodForCurrentCartSignature {\n return (deliveryMethod: NonNullablePaths<DeliveryMethodInput, `code`, 0>) =>\n universalSetDeliveryMethodForCurrentCart(\n deliveryMethod,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SetDeliveryMethodForCurrentCartSignature {\n /**\n * Sets the delivery method for the customer's current cart.\n * @param - Delivery method.\n */\n (deliveryMethod: NonNullablePaths<DeliveryMethodInput, `code`, 0>): Promise<\n NonNullablePaths<\n SetDeliveryMethodForCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: SetDeliveryMethodForCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function removeDeliveryMethodFromCurrentCart(\n httpClient: HttpClient\n): RemoveDeliveryMethodFromCurrentCartSignature {\n return () =>\n universalRemoveDeliveryMethodFromCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveDeliveryMethodFromCurrentCartSignature {\n /**\n * Removes the selected delivery method from the customer's current cart.\n */\n (): Promise<\n NonNullablePaths<\n RemoveDeliveryMethodFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveDeliveryMethodFromCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function addGiftCardToCurrentCart(\n httpClient: HttpClient\n): AddGiftCardToCurrentCartSignature {\n return (giftCard: NonNullablePaths<GiftCardInput, `code`, 0>) =>\n universalAddGiftCardToCurrentCart(\n giftCard,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface AddGiftCardToCurrentCartSignature {\n /**\n * Adds a gift card to the customer's current cart.\n *\n * Once added, the gift card's balance is used as a payment method during checkout, either partially or fully covering the cart total.\n * @param - Gift card to add.\n *\n * Currently only one is supported.\n */\n (giftCard: NonNullablePaths<GiftCardInput, `code`, 0>): Promise<\n NonNullablePaths<\n AddGiftCardToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddGiftCardToCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function removeGiftCardFromCurrentCart(\n httpClient: HttpClient\n): RemoveGiftCardFromCurrentCartSignature {\n return (giftCardId: string) =>\n universalRemoveGiftCardFromCurrentCart(\n giftCardId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RemoveGiftCardFromCurrentCartSignature {\n /**\n * Removes a gift card from the customer's current cart.\n * @param - Gift card ID.\n */\n (giftCardId: string): Promise<\n NonNullablePaths<\n RemoveGiftCardFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveGiftCardFromCurrentCartApplicationErrors;\n }\n >;\n}\n\nexport function updateFormSubmissionsInCurrentCart(\n httpClient: HttpClient\n): UpdateFormSubmissionsInCurrentCartSignature {\n return (options?: UpdateFormSubmissionsInCurrentCartOptions) =>\n universalUpdateFormSubmissionsInCurrentCart(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateFormSubmissionsInCurrentCartSignature {\n /**\n * Updates form submissions associated with the customer's current cart line items.\n *\n * Forms are defined by catalog apps and used for collecting additional information per line item (for example, personalization text or event details).\n */\n (options?: UpdateFormSubmissionsInCurrentCartOptions): Promise<\n NonNullablePaths<\n UpdateFormSubmissionsInCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n >\n >;\n}\n\n/** @internal */\nexport function getUpsellOptionsForCurrentCart(\n httpClient: HttpClient\n): GetUpsellOptionsForCurrentCartSignature {\n return () =>\n universalGetUpsellOptionsForCurrentCart(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetUpsellOptionsForCurrentCartSignature {\n /**\n * Returns the upsell options available for the cart's line items.\n */\n (): Promise<\n NonNullablePaths<\n GetUpsellOptionsForCurrentCartResponse,\n `itemsUpsells` | `itemsUpsells.${number}.lineItemId`,\n 2\n >\n >;\n}\n\nexport const onCartCalculated = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v2.cart_calculated',\n true,\n (event: CartCalculatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n {\n path: 'data.paymentSummary.subscriptionCharges.charges.cycleBillingDate',\n },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<CartCalculatedEnvelope>();\nexport const onCartCreated = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v2.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.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'entity.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'entity.lineItems.attributes.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.source.catalogOverrideFields.image' },\n { path: 'entity.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'entity.lineItems.attributes.physicalProperties.weight' },\n { path: 'entity.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'entity.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'entity.deliveryInfo.address' },\n { path: 'entity.paymentInfo.billingAddress' },\n ],\n },\n ])\n )\n)<CartCreatedEnvelope>();\nexport const onCartDeleted = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v2.cart_deleted',\n true,\n (event: CartDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'entity.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'entity.lineItems.attributes.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.source.catalogOverrideFields.image' },\n { path: 'entity.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'entity.lineItems.attributes.physicalProperties.weight' },\n { path: 'entity.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'entity.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'entity.deliveryInfo.address' },\n { path: 'entity.paymentInfo.billingAddress' },\n ],\n },\n ])\n )\n)<CartDeletedEnvelope>();\nexport const onCartUpdated = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v2.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.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'entity.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'entity.lineItems.attributes.serviceProperties.endDate' },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n {\n path: 'modifiedFields.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'modifiedFields.lineItems.attributes.serviceProperties.scheduledDate',\n },\n {\n path: 'modifiedFields.lineItems.attributes.serviceProperties.endDate',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.lineItems.source.catalogOverrideFields.image' },\n { path: 'entity.lineItems.attributes.image' },\n {\n path: 'modifiedFields.lineItems.source.catalogOverrideFields.image',\n },\n { path: 'modifiedFields.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'entity.lineItems.attributes.physicalProperties.weight' },\n { path: 'entity.tcAppliedDiscounts.merchantDiscount.percentage' },\n {\n path: 'modifiedFields.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n {\n path: 'modifiedFields.lineItems.attributes.physicalProperties.weight',\n },\n {\n path: 'modifiedFields.tcAppliedDiscounts.merchantDiscount.percentage',\n },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'entity.lineItems.attributes.url' },\n { path: 'modifiedFields.lineItems.attributes.url' },\n ],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'entity.deliveryInfo.address' },\n { path: 'entity.paymentInfo.billingAddress' },\n { path: 'modifiedFields.deliveryInfo.address' },\n { path: 'modifiedFields.paymentInfo.billingAddress' },\n ],\n },\n ])\n )\n)<CartUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n AddCouponRequest,\n AddCouponResponse,\n AddCouponToCurrentCartRequest,\n AddCouponToCurrentCartResponse,\n AddGiftCardRequest,\n AddGiftCardResponse,\n AddGiftCardToCurrentCartRequest,\n AddGiftCardToCurrentCartResponse,\n AddLineItemsRequest,\n AddLineItemsResponse,\n AddLineItemsToCurrentCartOptions,\n AddLineItemsToCurrentCartRequest,\n AddLineItemsToCurrentCartResponse,\n AdditionalFee,\n AdditionalFeeSource,\n AdditionalFeeTax,\n Address,\n AddressLocation,\n AggregatedTaxBreakdown,\n ApplicableLineItems,\n ApplicationError,\n AppliedDiscount,\n AppliedDiscountDiscountSourceOneOf,\n AutoTaxFallbackCalculationDetails,\n BalanceType,\n BaseEventMetadata,\n Benefit,\n BenefitQuotaOneOf,\n BenefitType,\n BillingSettings,\n BusinessInfo,\n CalculateCartForV1Request,\n CalculateCartForV1Response,\n CalculateCartRequest,\n CalculateCartResponse,\n CalculateCurrentCartOptions,\n CalculateCurrentCartRequest,\n CalculateCurrentCartResponse,\n CalculateTotalsResponse,\n CalculatedItemModifier,\n CalculatedLineItem,\n CalculatedPlatformFee,\n CalculationConfig,\n CalculationErrors,\n CalculationErrorsShippingCalculationErrorOneOf,\n CalculationOverrides,\n Carrier,\n CarrierError,\n CarrierErrors,\n CarrierServiceOption,\n Cart,\n CartAlreadyOrderedErrorData,\n CartCalculatedEnvelope,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartEstimationIndicators,\n CartRevisionMismatchErrorData,\n CartSettings,\n CartSource,\n CartSummary,\n CartUpdatedEnvelope,\n CatalogItemInput,\n CatalogOverrideFields,\n CatalogReference,\n ChannelType,\n Charge,\n ChargeType,\n Color,\n ConvertedMoney,\n Coupon,\n CouponAdded,\n CouponAlreadyExistsErrorData,\n CouponInput,\n CouponNotFoundInCartErrorData,\n CouponRemoved,\n CoveredLineItem,\n CreateCartRequest,\n CreateCartResponse,\n CreateCurrentCartOptions,\n CreateCurrentCartRequest,\n CreateCurrentCartResponse,\n CreatedBy,\n CreatedByIdOneOf,\n CustomContentReference,\n CustomField,\n CustomItemAttributes,\n CustomItemDeliveryConfig,\n CustomItemInput,\n CustomItemPaymentConfig,\n CustomItemPricingInfo,\n CustomItemQuantityInfo,\n CustomItemSource,\n CustomItemTaxConfig,\n CustomValidationErrorData,\n CustomerInfo,\n CustomerInfoIdOneOf,\n DeleteCartRequest,\n DeleteCartResponse,\n DeleteCurrentCartRequest,\n DeleteCurrentCartResponse,\n DeliveryAllocation,\n DeliveryInfo,\n DeliveryLogistics,\n DeliveryMethod,\n DeliveryMethodInput,\n DeliveryMethodNotFoundErrorData,\n DeliverySummary,\n DeliveryTimeSlot,\n Description,\n DescriptionLine,\n DescriptionLineDescriptionLineValueOneOf,\n DescriptionLineName,\n DescriptionLineType,\n DescriptionLineValueOneOf,\n Details,\n DetailsKindOneOf,\n Dimensions,\n DimensionsUnit,\n Discount,\n DiscountRule,\n DiscountRuleName,\n DiscountScope,\n DiscountSource,\n DiscountSourceType,\n DiscountType,\n DomainEvent,\n DomainEventBodyOneOf,\n DuplicateItemModifierIdsErrorData,\n DuplicateLineItemUpdatesErrorData,\n DuplicateModifierGroupIdsErrorData,\n Empty,\n EmptyLineItemUpdatesErrorData,\n EmptyPaymentTokenErrorData,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EstimateCartRequest,\n EstimateCartResponse,\n EstimateCurrentCartOptions,\n EstimateCurrentCartRequest,\n EstimateCurrentCartResponse,\n EventMetadata,\n ExistingMembership,\n ExistingMembershipInput,\n ExtendedFields,\n ExternalReference,\n FallbackReason,\n FieldViolation,\n FileType,\n FixedQuantityItemErrorData,\n FormIdentifier,\n FormInfo,\n FormSubmission,\n FreeTrialPeriod,\n FullAddressContactDetails,\n FutureMembership,\n FutureMembershipInput,\n GetCartRequest,\n GetCartResponse,\n GetCheckoutURLRequest,\n GetCheckoutURLResponse,\n GetCurrentCartRequest,\n GetCurrentCartResponse,\n GetUpsellOptionsForCurrentCartRequest,\n GetUpsellOptionsForCurrentCartResponse,\n GetUpsellOptionsRequest,\n GetUpsellOptionsResponse,\n GiftCard,\n GiftCardAdded,\n GiftCardAlreadyExistsErrorData,\n GiftCardCalculationError,\n GiftCardInput,\n GiftCardNotFoundInCartErrorData,\n GiftCardRedeemErrorData,\n GiftCardRemoved,\n GiftCardSummary,\n Group,\n HandleAsyncCheckoutCompletionRequest,\n HeadersEntry,\n IdentificationData,\n IdentificationDataIdOneOf,\n InsufficientInventoryEntry,\n InsufficientInventoryErrorData,\n InvalidCartErrorData,\n InvalidCouponCodeErrorData,\n InvalidCouponReason,\n InvalidCouponStatusErrorData,\n InvalidCouponStatusErrorDataDetailsOneOf,\n InvalidGiftCardCodeErrorData,\n InvalidGiftCardReason,\n InvalidGiftCardStatusErrorData,\n InvalidMembership,\n InvalidMembershipEntry,\n InvalidMembershipErrorData,\n InvalidMembershipPaymentOptionErrorData,\n InvalidMembershipReason,\n InvalidMembershipStatusErrorData,\n InvalidPaymentStatusErrorData,\n InvalidPriceVerificationTokenErrorData,\n InvalidThirdPartyCheckoutTokenErrorData,\n ItemAttributes,\n ItemCombination,\n ItemCombinationLineItem,\n ItemDeliveryConfig,\n ItemDiscount,\n ItemModifier,\n ItemNotFoundInCatalogErrorData,\n ItemPaymentConfig,\n ItemPriceBreakdown,\n ItemPricingInfo,\n ItemQuantityInfo,\n ItemSource,\n ItemStatus,\n ItemTaxConfig,\n ItemTaxFullDetails,\n ItemType,\n ItemTypeItemTypeDataOneOf,\n ItemTypePreset,\n ItemUpsells,\n JurisdictionType,\n LegacyFields,\n LimitedQuota,\n LimitedQuotaType,\n LineItem,\n LineItemAdded,\n LineItemCoverage,\n LineItemDiscount,\n LineItemIdentifier,\n LineItemIdentifierIdOneOf,\n LineItemNotFoundInCartErrorData,\n LineItemPriceConflictErrorData,\n LineItemPricesData,\n LineItemSummary,\n LineItemTax,\n LineItemUpdate,\n LineItemsOutOfStockErrorData,\n ManualCalculationReason,\n MarkCartAsCompletedRequest,\n MarkCartAsCompletedResponse,\n MaxItemModifiersExceededErrorData,\n MaxLineItemsExceededErrorData,\n MembersOnlyItemErrorData,\n Membership,\n MembershipInput,\n MembershipInputMembershipOneOf,\n MembershipName,\n MembershipOptions,\n MembershipPaymentCredits,\n MembershipSummary,\n MembershipSummaryMembershipIdentifierOneOf,\n MerchantDiscount,\n MessageEnvelope,\n MinLineItemQuantityNotReachedDetails,\n MinSubtotalNotReachedDetails,\n ModifierGroup,\n MultiCurrencyPrice,\n NameInLineItem,\n NameInOther,\n Other,\n OtherCharge,\n PaymentInfo,\n PaymentOption,\n PaymentOptionType,\n PaymentSummary,\n PhysicalProperties,\n PickupDetails,\n PickupMethod,\n PlaceOrderRequest,\n PlaceOrderResponse,\n PlainTextValue,\n PlatformFee,\n PlatformFeeChargeType,\n PlatformFeeSummary,\n Policy,\n Price,\n PriceDescription,\n PriceDetails,\n PriceSummary,\n ProductPeriodAlignment,\n PurchasablePlan,\n QuantityUpdate,\n QuotaType,\n RateType,\n RawHttpResponse,\n RedemptionType,\n RedirectUrls,\n RefreshCartRequest,\n RefreshCartResponse,\n RefreshCurrentCartRequest,\n RefreshCurrentCartResponse,\n Region,\n RemoveCouponFromCurrentCartRequest,\n RemoveCouponFromCurrentCartResponse,\n RemoveCouponRequest,\n RemoveCouponResponse,\n RemoveDeliveryMethodFromCurrentCartRequest,\n RemoveDeliveryMethodFromCurrentCartResponse,\n RemoveDeliveryMethodRequest,\n RemoveDeliveryMethodResponse,\n RemoveGiftCardFromCurrentCartRequest,\n RemoveGiftCardFromCurrentCartResponse,\n RemoveGiftCardRequest,\n RemoveGiftCardResponse,\n RemoveLineItemsFromCurrentCartRequest,\n RemoveLineItemsFromCurrentCartResponse,\n RemoveLineItemsRequest,\n RemoveLineItemsResponse,\n RestoreInfo,\n RuleType,\n Scope,\n SecuredMedia,\n SelectedCarrierServiceOption,\n SelectedCarrierServiceOptionOtherCharge,\n SelectedCarrierServiceOptionPrices,\n SelectedMembership,\n SelectedMembershipUpdate,\n SelectedMemberships,\n ServiceProperties,\n SetDeliveryMethodForCurrentCartRequest,\n SetDeliveryMethodForCurrentCartResponse,\n SetDeliveryMethodRequest,\n SetDeliveryMethodResponse,\n Severity,\n ShippingInformation,\n ShippingOption,\n ShippingPrice,\n ShippingRegion,\n Source,\n StreetAddress,\n SubscriptionCharges,\n SubscriptionFrequency,\n SubscriptionOptionInfo,\n SubscriptionSettings,\n SubtotalBelowOrderMinimumErrorData,\n SuggestedFix,\n SystemError,\n Target,\n TargetTargetTypeOneOf,\n Tax,\n TaxBreakdown,\n TaxCalculationDetails,\n TaxCalculationDetailsCalculationDetailsOneOf,\n TaxDetails,\n TaxInfo,\n TaxRateBreakdown,\n TaxSummary,\n TaxableAddress,\n TaxableAddressTaxableAddressDataOneOf,\n TaxableAddressType,\n Title,\n TranslatableString,\n UnmarkAsCurrentCartRequest,\n UnmarkAsCurrentCartResponse,\n UpdateCartRequest,\n UpdateCartResponse,\n UpdateCurrentCartRequest,\n UpdateCurrentCartResponse,\n UpdateFormSubmissionsInCurrentCartOptions,\n UpdateFormSubmissionsInCurrentCartRequest,\n UpdateFormSubmissionsInCurrentCartResponse,\n UpdateFormSubmissionsRequest,\n UpdateFormSubmissionsResponse,\n UpdateLineItemsInCurrentCartOptions,\n UpdateLineItemsInCurrentCartRequest,\n UpdateLineItemsInCurrentCartResponse,\n UpdateLineItemsRequest,\n UpdateLineItemsResponse,\n UpsellBenefitMetadata,\n UpsellOption,\n V1AdditionalFee,\n V1Membership,\n V1PlatformFeeChargeType,\n V1PriceSummary,\n V2AdditionalFee,\n V2CalculationErrors,\n V2CalculationErrorsShippingCalculationErrorOneOf,\n V2CarrierError,\n V2CarrierErrors,\n V2Coupon,\n V2ExistingMembership,\n V2GiftCard,\n V2LineItem,\n V2LineItemDiscount,\n V2Membership,\n V2MembershipIdentifierOneOf,\n V2PriceSummary,\n V2SelectedMembership,\n V2TaxSummary,\n V2Violation,\n V2ViolationDataOneOf,\n ValidatedExistingMemberships,\n ValidatedPurchasablePlans,\n ValidationError,\n ValidationsConfig,\n VatId,\n VatType,\n Violation,\n ViolationCode,\n ViolationScope,\n ViolationSeverity,\n ViolationWithErrorSeverityErrorData,\n ViolationsList,\n WebhookIdentityType,\n WeightUnit,\n} from './ecom-v2-cart-current-cart-v-2.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 ambassadorWixEcomV2Cart from './ecom-v2-cart-current-cart-v-2.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\n/**\n * A shopping cart for a customer on a Wix eCommerce site.\n *\n * A cart holds the customer's selected items, applied discounts (coupons, automatic rules),\n * delivery information, and payment details before the order is placed.\n *\n * Carts may be deleted after a period of inactivity.\n *\n * Use the [Cart Service](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/introduction) to manage carts by ID,\n * or the [Current Cart Service](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/introduction) to manage\n * the current customer's cart by session.\n */\nexport interface Cart {\n /**\n * Cart ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Date and time the Cart was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the Cart was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Revision number, which increments by 1 each time the Cart is updated.\n * @readonly\n */\n revision?: string;\n /**\n * Line items added to the Cart by the customer.\n * This list may include in-stock items and invalid or out-of-stock items.\n * @maxSize 300\n * @readonly\n */\n lineItems?: V2LineItem[];\n /**\n * The sum of all line item final prices.\n * @readonly\n */\n subtotal?: ConvertedMoney;\n /**\n * Optional message left by the customer.\n * Usually intended for the merchant and contains special instructions, requests, or clarifications related to the order.\n * @maxLength 1000\n */\n note?: string | null;\n /**\n * List of coupons added to the Cart.\n * Currently only one coupon code is supported.\n * @maxSize 1\n * @readonly\n */\n coupons?: V2Coupon[];\n /** Information about the source of the Cart, detailing the origin or context in which the Cart was created. */\n source?: CartSource;\n /** Information about the site from which the Cart's line items were added. */\n businessInfo?: BusinessInfo;\n /** Information about the customer that owns the Cart. */\n customerInfo?: CustomerInfo;\n /** Delivery-related information associated with the Cart. */\n deliveryInfo?: DeliveryInfo;\n /** Tax-related information associated with the Cart. */\n taxInfo?: TaxInfo;\n /** Payment-related information associated with the Cart. */\n paymentInfo?: PaymentInfo;\n /**\n * Whether the Cart has been placed as an Order.\n * Defaults to `false`.\n * @readonly\n */\n orderPlaced?: boolean;\n /**\n * Order ID.\n * Empty until the checkout process is completed.\n * @format GUID\n * @readonly\n */\n orderId?: string | null;\n /**\n * Persistent ID that correlates the Cart with the created Order after checkout is completed.\n * @format GUID\n * @readonly\n */\n purchaseFlowId?: string | null;\n /**\n * Additional cart settings.\n *\n * Settings can only be configured at cart creation time and can't be changed afterwards.\n * @immutable\n * @readonly\n */\n settings?: CartSettings;\n /**\n * Custom checkout URL to redirect the customer to a checkout page.\n * By default, customers are redirected to the standard Wix checkout page.\n * Clients can override this behavior by providing their own URL here.\n * If the URL contains the placeholder `{checkout_id}`, it will be replaced with the actual Cart ID.\n * @maxLength 2048\n */\n customCheckoutUrl?: string | null;\n /**\n * Custom fields.\n * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Whether this is the customer's current cart.\n * The current cart can be accessed using the identity context (for example, `visitorId` from session cookies) without an explicit cart ID.\n * @readonly\n */\n currentCart?: boolean;\n /**\n * Legacy fields for backward compatibility with Cart V1.\n * Should be used only by the Cart API proxy to populate V1 fields.\n * Used to avoid re-calculating these fields in the proxy.\n * @internal\n */\n legacyFields?: LegacyFields;\n /**\n * Forms associated with the Cart's line items.\n * @internal\n * @readonly\n * @maxSize 1000\n */\n forms?: FormInfo[];\n /**\n * Whether this is a demo cart.\n * Demo carts are created in the Wix editor for merchant preview and can't proceed to checkout.\n *\n * Default: `false`\n */\n demo?: boolean;\n /**\n * Indicators that help clients decide whether to call EstimateCart.\n * @internal\n * @readonly\n */\n estimationIndicators?: CartEstimationIndicators;\n /**\n * Applied discounts from totals calculator. Used internally for re-calculation without discounts, and by cart-v1-proxy.\n * @internal\n * @readonly\n * @maxSize 100\n */\n tcAppliedDiscounts?: AppliedDiscount[];\n}\n\nexport interface V2LineItem {\n /**\n * Unique identifier for the line item within the cart.\n * @format GUID\n */\n _id?: string;\n /** Display name for the line item. */\n name?: TranslatableString;\n /** Quantity details for the line item. */\n quantityInfo?: ItemQuantityInfo;\n /** Pricing details for the line item. */\n pricing?: ItemPricingInfo;\n /** Information about the line item's origin. */\n source?: ItemSource;\n /** Display details for the item. */\n attributes?: ItemAttributes;\n /** Delivery configuration for the line item. */\n deliveryConfig?: ItemDeliveryConfig;\n /** Tax configuration for the line item. */\n taxConfig?: ItemTaxConfig;\n /** Payment configuration for the line item. */\n paymentConfig?: ItemPaymentConfig;\n /** Inventory availability status for the line item. */\n status?: ItemStatusWithLiterals;\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 * Additional fees added to this item's calculation.\n * @internal\n * @maxSize 5\n */\n additionalFees?: V1AdditionalFee[];\n /**\n * Modifier groups added to the item.\n * @maxSize 25\n */\n modifierGroups?: ModifierGroup[];\n /**\n * Discounts applied to this line item.\n * @maxSize 100\n */\n discounts?: ItemDiscount[];\n /**\n * Whether the line item is a custom line item.\n * Custom line items don't trigger the Catalog service plugin.\n */\n customLineItem?: boolean;\n /**\n * Coupon scopes: which app and items a coupon applies to.\n * Internal to Wix; used by Bookings, Stores, and Events with the [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n * @internal\n * @maxSize 100\n */\n couponScopes?: Scope[];\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 ItemQuantityInfo {\n /**\n * Confirmed quantity to purchase.\n * The minimum of `requestedQuantity` and `availableQuantity`.\n * @min 1\n * @max 100000\n */\n confirmedQuantity?: number;\n /**\n * Quantity the customer originally requested.\n * @min 1\n * @max 100000\n */\n requestedQuantity?: number;\n /** Maximum quantity available for purchase. */\n availableQuantity?: number | null;\n /**\n * Whether the line item quantity is fixed and can't be changed.\n *\n * Default: `false`\n */\n fixedQuantity?: boolean;\n}\n\nexport interface ItemPricingInfo {\n /**\n * Final unit price after discounts.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n unitPrice?: ConvertedMoney;\n /**\n * Final total price for this item (unit price × quantity).\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n totalPrice?: ConvertedMoney;\n /**\n * Additional price description.\n * For example, when the price is `0` but you need more detail, such as \"Starts at $67\".\n */\n priceDescription?: PriceDescription;\n /** Whether the price isn't yet defined and will be updated after the order is created. */\n priceUndetermined?: boolean;\n /** Detailed breakdown of price components. */\n breakdown?: ItemPriceBreakdown;\n}\n\nexport interface ConvertedMoney {\n /**\n * Monetary amount in the original currency, as specified in `businessInfo.currencyCode`.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n amount?: string;\n /**\n * Monetary amount in the converted currency, as specified in `customerInfo.currencyCode`.\n *\n * Default: `amount`.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n * @readonly\n */\n convertedAmount?: string;\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\nexport interface ItemPriceBreakdown {\n /**\n * Full catalog price for a single item before discounts, including modifiers.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n fullPrice?: ConvertedMoney;\n /**\n * Catalog sale price for a single item, including modifiers.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n salePrice?: ConvertedMoney;\n /**\n * Total price of all modifiers for a single item.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n totalModifiersPrice?: ConvertedMoney;\n /**\n * Full catalog price for a single item without modifiers.\n * Used by Cart & Checkout V1 API proxies when converting to legacy entities.\n * @internal\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n */\n fullPriceBeforeModifiers?: string | null;\n /**\n * Catalog sale price for a single item without modifiers.\n * Stored in the site currency.\n * Used by Cart & Checkout V1 API proxies when converting to legacy entities.\n * @internal\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n */\n salePriceBeforeModifiers?: string | null;\n}\n\nexport interface ItemSource {\n /**\n * Catalog and item reference: IDs for the item and catalog, plus optional details.\n * Optional for custom line items, which don't trigger the Catalog service plugin.\n */\n catalogReference?: CatalogReference;\n /** Overriding values for catalog item properties. */\n catalogOverrideFields?: CatalogOverrideFields;\n /**\n * When `catalogReference.catalogItemId` isn't the actual catalog item ID, this field returns the true catalog item ID.\n * For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID, so this value is the service ID.\n * In most cases, this matches `catalogReference.catalogItemId`.\n * Used in membership validation.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n /**\n * ID of the app managing the inventory.\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * ID of the app providing upsells for this item.\n * @internal\n * @format GUID\n */\n upsellOptionsAppId?: string | null;\n /**\n * Line-item ID in external systems.\n * @internal\n * @minLength 1\n * @maxLength 100\n */\n externalResourceId?: string | null;\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.\n *\n * Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\n *\n * For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\n * or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).\n */\n options?: Record<string, any> | null;\n}\n\nexport interface CatalogOverrideFields {\n /** Display name for the line item. */\n name?: TranslatableString;\n /**\n * Sale price for a single item after modifiers, before discounts.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n salePrice?: string | null;\n /**\n * Full price for a single item after modifiers, before discounts.\n * @decimalValue options { gte:0, lte:999999999, maxScale:3 }\n */\n fullPrice?: string | null;\n /**\n * Description lines for the item.\n * Shown when displaying the line item to buyers.\n * @maxSize 20\n */\n descriptionLines?: DescriptionLine[];\n /** Physical properties of the item. */\n physicalProperties?: PhysicalProperties;\n /** Item image. */\n image?: string;\n /** Selected payment option for the item. */\n paymentOption?: PaymentOption;\n /**\n * Partial payment due upfront during checkout.\n * Only when `paymentOption.value` is `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 inventory.\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Whether the line item quantity is fixed and can't be changed.\n * When not set, falls back to the value from the catalog.\n * @internal\n */\n fixedQuantity?: boolean | null;\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 /**\n * Description line plain text value.\n * @internal\n * @deprecated\n */\n plainTextValue?: PlainTextValue;\n /**\n * Description line color.\n * @internal\n * @deprecated\n */\n color?: string;\n /** Description line name. */\n name?: DescriptionLineName;\n /**\n * Description line type.\n * @internal\n * @deprecated\n */\n lineType?: DescriptionLineTypeWithLiterals;\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 /**\n * Description line plain text value.\n * @internal\n * @deprecated\n */\n plainTextValue?: PlainTextValue;\n /**\n * Description line color.\n * @internal\n * @deprecated\n */\n color?: string;\n}\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 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 * Product dimensions (length, width, height of the physical product).\n * @internal\n */\n productDimensions?: Dimensions;\n /**\n * Package dimensions (length, width, height of the shipping package).\n * @internal\n */\n packageDimensions?: Dimensions;\n}\n\nexport interface Dimensions {\n /**\n * Length. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n length?: string | null;\n /**\n * Width. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n width?: string | null;\n /**\n * Height. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n height?: string | null;\n /** Unit of measurement for dimensions (length, width, height). */\n unit?: DimensionsUnitWithLiterals;\n}\n\nexport enum DimensionsUnit {\n UNKNOWN_DIMENSIONS_UNIT = 'UNKNOWN_DIMENSIONS_UNIT',\n /** Millimeters. */\n MM = 'MM',\n /** Centimeters. */\n CM = 'CM',\n /** Meters. */\n M = 'M',\n /** Inches. */\n IN = 'IN',\n /** Feet. */\n FT = 'FT',\n /** Yards. */\n YD = 'YD',\n}\n\n/** @enumType */\nexport type DimensionsUnitWithLiterals =\n | DimensionsUnit\n | 'UNKNOWN_DIMENSIONS_UNIT'\n | 'MM'\n | 'CM'\n | 'M'\n | 'IN'\n | 'FT'\n | 'YD';\n\nexport interface PaymentOption {\n /**\n * Selected payment option type for this item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n value?: PaymentOptionTypeWithLiterals;\n}\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 ItemAttributes {\n /**\n * Description lines for the item.\n * @maxSize 100\n */\n descriptionLines?: DescriptionLine[];\n /** Item image. */\n image?: string;\n /** URL of the item's page on the site. */\n url?: string;\n /**\n * Policies shown to the buyer on the checkout page.\n * @maxSize 5\n */\n policies?: Policy[];\n /** Item type: preset or custom. */\n itemType?: ItemType;\n /**\n * Physical properties of the item.\n * When relevant, includes SKU, weight, and shippability.\n */\n physicalProperties?: PhysicalProperties;\n /** Subscription option details. */\n subscriptionInfo?: SubscriptionOptionInfo;\n /**\n * Digital file identifier; relevant only for items with type `DIGITAL`.\n * @internal\n */\n digitalFile?: SecuredMedia;\n /**\n * Service properties.\n * When relevant, includes date and number of participants.\n */\n serviceProperties?: ServiceProperties;\n /**\n * Whether the item can only be purchased by site members.\n *\n * Default: `false`\n */\n membersOnly?: boolean;\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 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 * Billing configuration for recurring charges.\n * @internal\n */\n billingSettings?: BillingSettings;\n /**\n * Whether the product/service/subscription access period is aligned with the billing period.\n * @internal\n */\n productPeriodAlignment?: ProductPeriodAlignmentWithLiterals;\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 * Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.\n * @min 1\n * @max 999\n */\n interval?: number;\n}\n\nexport interface BillingSettings {\n /**\n * Day of month (1-28) to anchor recurring billing to. When set, billing recurs on this day each cycle. Does not apply to weekly subscriptions.\n * @min 1\n * @max 28\n */\n anchorDay?: number | null;\n}\n\nexport enum ProductPeriodAlignment {\n /** Billing period equals the product/service/subscription access period. */\n ALIGNED_WITH_BILLING_PERIOD = 'ALIGNED_WITH_BILLING_PERIOD',\n /** Billing period is independent of the product/service/subscription access period. */\n NOT_ALIGNED_WITH_BILLING_PERIOD = 'NOT_ALIGNED_WITH_BILLING_PERIOD',\n}\n\n/** @enumType */\nexport type ProductPeriodAlignmentWithLiterals =\n | ProductPeriodAlignment\n | 'ALIGNED_WITH_BILLING_PERIOD'\n | 'NOT_ALIGNED_WITH_BILLING_PERIOD';\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 SECURE_RAW = 'SECURE_RAW',\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 | 'SECURE_RAW';\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 ItemDeliveryConfig {\n /**\n * Delivery profile ID.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n /**\n * Optional custom fulfiller ID.\n * @format GUID\n */\n fulfillerId?: string | null;\n}\n\nexport interface ItemTaxConfig {\n /** Address used for tax calculation. */\n taxableAddress?: TaxableAddress;\n /**\n * Tax group ID for this line item.\n * @maxLength 50\n */\n taxGroupId?: string | null;\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 BUSINESS = 'BUSINESS',\n BILLING = 'BILLING',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type TaxableAddressTypeWithLiterals =\n | TaxableAddressType\n | 'BUSINESS'\n | 'BILLING'\n | 'SHIPPING';\n\nexport interface ItemPaymentConfig {\n /**\n * Whether to save the payment method on the order.\n *\n * Default: `false`\n */\n savePaymentMethod?: boolean;\n /**\n * Item payment policy that requires buyer consent to complete the purchase.\n * Displayed on the checkout page.\n * @minLength 1\n * @maxLength 2500\n */\n consentRequiredPaymentPolicy?: string | null;\n /**\n * Partial payment due upfront during checkout.\n * Only when `paymentOption` is `DEPOSIT_ONLINE`.\n */\n depositAmount?: ConvertedMoney;\n /**\n * Selected membership used as payment for this item.\n * Use with `paymentOption` `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`.\n * Can be empty when `paymentOption` is `MEMBERSHIP_OFFLINE`.\n *\n * DEPRECATED: migrate to `membership`. Removed once all clients migrate.\n * @deprecated\n * @replacedBy membership\n * @targetRemovalDate 2026-06-22\n */\n selectedMembership?: V2SelectedMembership;\n /**\n * Selected payment option type for this item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /**\n * Membership used as payment for this item. Can be an existing membership, or one\n * created from a plan in the same cart.\n *\n * Replaces `selectedMembership`.\n *\n * Use with `paymentOption` `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`.\n */\n membership?: V2Membership;\n}\n\nexport interface V2SelectedMembership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 200\n */\n _id?: string;\n /**\n * ID of the app providing this payment option.\n * @format GUID\n */\n appId?: string;\n /**\n * Display name of the selected membership.\n * @readonly\n */\n name?: TranslatableString;\n}\n\nexport interface V2Membership extends V2MembershipIdentifierOneOf {\n /** Existing, already-provisioned membership. */\n existingMembership?: V2ExistingMembership;\n /** Future membership, created after the plan is purchased. */\n futureMembership?: FutureMembership;\n /**\n * Display name of the membership. For example, \"10-class yoga pass\".\n * @readonly\n */\n name?: TranslatableString;\n /**\n * Amount deducted from the membership's balance to redeem this line item.\n * `0` when the membership's benefit is unlimited (nothing is deducted).\n * Absent when the cost hasn't been calculated yet.\n * @readonly\n */\n redemptionCost?: number | null;\n /**\n * Kind of balance `redemptionCost` is deducted from.\n * @readonly\n */\n redemptionType?: RedemptionTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface V2MembershipIdentifierOneOf {\n /** Existing, already-provisioned membership. */\n existingMembership?: V2ExistingMembership;\n /** Future membership, created after the plan is purchased. */\n futureMembership?: FutureMembership;\n}\n\nexport interface V2ExistingMembership {\n /**\n * ID of the app providing this membership payment option, for example Pricing Plans.\n * @format GUID\n */\n appId?: string;\n /**\n * ID of existing membership.\n * @minLength 1\n * @maxLength 200\n */\n membershipId?: string;\n}\n\nexport interface FutureMembership {\n /**\n * ID of the plan line item, already in the cart, whose future membership pays for this item.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * The selected unit within the plan to redeem.\n * @maxLength 200\n */\n benefitId?: string;\n}\n\nexport enum RedemptionType {\n /** Membership balance is measured in a currency-like credit value, for example points. */\n CREDITS = 'CREDITS',\n /** Membership balance is measured in discrete sessions, for example visits or classes. */\n SESSIONS = 'SESSIONS',\n}\n\n/** @enumType */\nexport type RedemptionTypeWithLiterals =\n | RedemptionType\n | 'CREDITS'\n | 'SESSIONS';\n\nexport enum ItemStatus {\n /** Item is available in the requested quantity. */\n IN_STOCK = 'IN_STOCK',\n /** Only part of the requested quantity is available. */\n PARTIALLY_IN_STOCK = 'PARTIALLY_IN_STOCK',\n /** Item is out of stock. */\n OUT_OF_STOCK = 'OUT_OF_STOCK',\n /** Item no longer exists in the catalog. */\n REMOVED_FROM_CATALOG = 'REMOVED_FROM_CATALOG',\n}\n\n/** @enumType */\nexport type ItemStatusWithLiterals =\n | ItemStatus\n | 'IN_STOCK'\n | 'PARTIALLY_IN_STOCK'\n | 'OUT_OF_STOCK'\n | 'REMOVED_FROM_CATALOG';\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 V1AdditionalFee {\n /**\n * Additional fee's unique code or ID.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /**\n * Additional fee's name.\n *\n * Max: 50 characters\n * @minLength 1\n * @maxLength 50\n */\n name?: string;\n /**\n * Total additional fees. This `price` does not include any taxes that may apply to these additional fees.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:2 }\n */\n price?: string;\n /**\n * Tax details.\n *\n * > **Note:** Tax is not calculated in the returned `price` even when `taxDetails.taxable` is `true`.\n */\n taxDetails?: TaxDetails;\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}\n\n/** Tax details. */\nexport interface TaxDetails {\n /** Whether additional fee is taxable. */\n taxable?: boolean;\n /**\n * Reserved for internal use.\n * @format GUID\n */\n taxGroupId?: string | null;\n}\n\nexport interface ModifierGroup {\n /**\n * Modifier group ID.\n * @minLength 1\n * @maxLength 36\n * @readonly\n */\n _id?: string;\n /** Modifier group name. */\n name?: TranslatableString;\n /**\n * Modifiers in this group.\n * @minSize 1\n * @maxSize 25\n */\n modifiers?: ItemModifier[];\n}\n\nexport interface ItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n * @readonly\n */\n _id?: string;\n /**\n * Modifier quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n /** Primary label for the modifier. */\n label?: TranslatableString;\n /** Extra modifier copy. */\n details?: TranslatableString;\n /** Modifier price. */\n price?: ConvertedMoney;\n}\n\nexport interface ItemDiscount {\n /** Discount display name. */\n name?: TranslatableString;\n /** Total amount taken off the item's sale price for the full line item quantity. */\n amountOff?: ConvertedMoney;\n /** Discount source (for example, coupon or automatic discount) and related identifiers. */\n source?: DiscountSource;\n}\n\nexport interface DiscountSource {\n /** Discount source type. */\n sourceType?: DiscountSourceTypeWithLiterals;\n /**\n * Coupon code that triggered the discount. Only relevant for coupon discounts.\n * @maxLength 50\n */\n couponCode?: string | null;\n /**\n * ID of the coupon that triggered the discount, if applicable. Used for V1 compatibility and analytics.\n * @internal\n * @maxLength 50\n */\n couponId?: string | null;\n /**\n * Coupon type that triggered the discount, if applicable (for example, money off or buy X get Y). Used for V1 compatibility.\n * @internal\n * @maxLength 50\n */\n couponType?: string | null;\n /**\n * ID of the automatic rule that triggered the discount, if applicable. Used for V1 compatibility and analytics.\n * @internal\n * @maxLength 50\n */\n ruleId?: string | null;\n}\n\nexport enum DiscountSourceType {\n /** Discount applied automatically by a rule. */\n AUTOMATIC_RULE = 'AUTOMATIC_RULE',\n /** Discount applied by a coupon code. */\n COUPON = 'COUPON',\n}\n\n/** @enumType */\nexport type DiscountSourceTypeWithLiterals =\n | DiscountSourceType\n | 'AUTOMATIC_RULE'\n | 'COUPON';\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 V2Coupon {\n /**\n * Coupon ID in the cart.\n * @format GUID\n */\n _id?: string;\n /**\n * Coupon code entered at checkout.\n * @minLength 1\n * @maxLength 50\n */\n code?: string;\n}\n\nexport interface CartSource {\n /** Sales channel that created the cart. */\n channelType?: ChannelTypeWithLiterals;\n /**\n * External app and resource references for this cart, used for integration and tracking across platforms.\n * @maxSize 10\n * @immutable\n * @readonly\n */\n externalReferences?: ExternalReference[];\n /**\n * Entity that created the cart.\n * @readonly\n */\n createdBy?: CreatedBy;\n /** App and component IDs for the custom checkout page content provider. */\n customContentReference?: CustomContentReference;\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 /** Stripe Agentic Checkout sales channel. */\n STRIPE_AGENTIC_CHECKOUT = 'STRIPE_AGENTIC_CHECKOUT',\n /**\n * Wix Invoices platform app\n * @documentationMaturity preview\n * @internal\n */\n WIX_INVOICES_PLATFORM = 'WIX_INVOICES_PLATFORM',\n /**\n * UCP (Universal Checkout Protocol) Agentic Checkout sales channel.\n * @documentationMaturity preview\n * @internal\n */\n UCP_AGENTIC_CHECKOUT = 'UCP_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 | 'STRIPE_AGENTIC_CHECKOUT';\n\nexport interface ExternalReference {\n /**\n * ID of the app associated with the purchase flow.\n * For example, the Wix Pay Links app ID.\n * @format GUID\n * @immutable\n */\n appId?: string;\n /**\n * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n * For example, a Wix Pay Link ID.\n * @minLength 1\n * @maxLength 100\n * @immutable\n */\n resourceId?: string | null;\n}\n\nexport interface CreatedBy extends CreatedByIdOneOf {\n /**\n * Site visitor ID when the visitor isn't a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Site member ID.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * Wix user ID when the cart was created by a Wix user on behalf of a buyer (for example, POS).\n * @format GUID\n */\n userId?: string;\n /**\n * App ID when the cart was created by an external app or Wix service.\n * @format GUID\n */\n appId?: string;\n}\n\n/** @oneof */\nexport interface CreatedByIdOneOf {\n /**\n * Site visitor ID when the visitor isn't a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Site member ID.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * Wix user ID when the cart was created by a Wix user on behalf of a buyer (for example, POS).\n * @format GUID\n */\n userId?: string;\n /**\n * App ID when the cart was created by an external app or Wix service.\n * @format GUID\n */\n appId?: string;\n}\n\nexport interface CustomContentReference {\n /**\n * App ID for the checkout content provider. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n * @format GUID\n */\n appId?: string;\n /**\n * Component ID within that app. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n * @format GUID\n */\n componentId?: string;\n}\n\nexport interface BusinessInfo {\n /**\n * Business location ID for the cart. See the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n * @format GUID\n */\n locationId?: string | null;\n /**\n * 2-letter language code in ISO 639-1 alpha-2 format. The business's default language.\n * @format LANGUAGE\n * @readonly\n */\n languageCode?: string;\n /**\n * Three-letter currency code in ISO-4217 alphabetic format. The site's base currency; it doesn't change when the [customer selects a different display currency](https://support.wix.com/en/article/multicurrency-an-overview).\n * @format CURRENCY\n * @readonly\n */\n currencyCode?: string;\n}\n\nexport interface CustomerInfo extends CustomerInfoIdOneOf {\n /**\n * Site visitor ID when the visitor isn't a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Site member ID.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * Wix user ID when the cart was created by a Wix user on behalf of a customer (for example, POS).\n * @format GUID\n * @readonly\n */\n userId?: string;\n /**\n * Whether the cart has no owner yet. The first site visitor or member to access the cart becomes its owner.\n *\n * Specify `true` when creating a cart for a customer who isn't identified yet.\n *\n * Used only when an app or a Wix user creates the cart.\n *\n * Default: `true` if no customer is identified when the cart is created, otherwise `false`.\n * @readonly\n */\n openAccess?: boolean;\n /**\n * Customer's first name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Customer's last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Customer's phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Company name.\n * @maxLength 1000\n */\n company?: string | null;\n /** Business VAT registration number. */\n vatId?: VatId;\n /**\n * Customer's email address.\n * @format EMAIL\n */\n email?: string | null;\n /**\n * Customer's contact ID. Created automatically if one doesn't exist yet. See the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).\n * @format GUID\n * @readonly\n */\n contactId?: string | null;\n /**\n * 2-letter language code in ISO 639-1 alpha-2 format. Resolved automatically from request metadata (`x-wix-linguist` header).\n * @format LANGUAGE\n * @readonly\n */\n languageCode?: string;\n /**\n * Three-letter currency code in ISO-4217 alphabetic format. [Currency the customer selects](https://support.wix.com/en/article/multicurrency-an-overview) during checkout; it's their preferred display currency and may differ from the site's default.\n * @format CURRENCY\n * @readonly\n */\n currencyCode?: string;\n}\n\n/** @oneof */\nexport interface CustomerInfoIdOneOf {\n /**\n * Site visitor ID when the visitor isn't a site member.\n * @format GUID\n * @readonly\n */\n visitorId?: string;\n /**\n * Site member ID.\n * @format GUID\n * @readonly\n */\n memberId?: string;\n /**\n * Wix user ID when the cart was created by a Wix user on behalf of a customer (for example, POS).\n * @format GUID\n * @readonly\n */\n userId?: string;\n /**\n * Whether the cart has no owner yet. The first site visitor or member to access the cart becomes its owner.\n *\n * Specify `true` when creating a cart for a customer who isn't identified yet.\n *\n * Used only when an app or a Wix user creates the cart.\n *\n * Default: `true` if no customer is identified when the cart is created, otherwise `false`.\n * @readonly\n */\n openAccess?: boolean;\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 DeliveryInfo {\n /** Delivery address. */\n address?: Address;\n /**\n * Delivery method selected by the customer.\n * @readonly\n */\n method?: DeliveryMethod;\n /**\n * Weight unit used when shipping items (for example, kg or lb).\n * @readonly\n */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * ID of the delivery address in the legacy addresses service.\n * @internal\n * @maxLength 50\n */\n addressId?: string | null;\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 * Apartment number.\n * @internal\n */\n apt?: string;\n /**\n * Optional address line 1\n * @internal\n */\n formattedAddressLine?: string | null;\n}\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\nexport interface DeliveryMethod {\n /**\n * Shipping rate code.\n * Example: `\"usps_std_overnight\"`.\n * @maxLength 100\n */\n code?: string;\n /**\n * Carrier app ID.\n * @format GUID\n */\n appId?: string | null;\n /**\n * Delivery rate title.\n * Examples: `\"USPS Standard Overnight Delivery\"`, `\"Standard\"`, `\"First-Class Package International\"`.\n */\n title?: TranslatableString;\n /** Whether this method is pickup. */\n pickup?: boolean;\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 TaxInfo {\n /**\n * Whether tax is already included in prices (line items, delivery, additional fees).\n * @readonly\n */\n pricesIncludeTax?: boolean;\n /**\n * Tax-exempt group ID applied for tax exemptions.\n * @format GUID\n */\n taxExemptGroupId?: string | null;\n}\n\nexport interface PaymentInfo {\n /**\n * Gift cards applied to the payment. Only one gift card is supported.\n * @readonly\n * @maxSize 1\n */\n giftCards?: V2GiftCard[];\n /**\n * Three-letter currency code in ISO-4217 alphabetic format.\n * Currency used to process payment. Matches `customerInfo.currencyCode` when that currency is supported for payment, otherwise falls back to `businessInfo.currencyCode`.\n * @format CURRENCY\n * @readonly\n */\n currencyCode?: string;\n /** Billing address. */\n billingAddress?: Address;\n /** Billing contact details. */\n billingContact?: FullAddressContactDetails;\n /**\n * ID of the billing address in the legacy addresses service.\n * @internal\n * @maxLength 50\n */\n addressId?: string | null;\n /**\n * ID of the site payment method type the customer selected to pay with. See the [Site Payment Method Types API](https://dev.wix.com/docs/api-reference/business-management/payments/site-payment-method-types/introduction).\n * @internal\n * @format GUID\n */\n sitePaymentMethodTypeId?: string | null;\n}\n\nexport interface V2GiftCard {\n /**\n * Unique identifier of the gift card within the cart.\n * @format GUID\n */\n _id?: string;\n /**\n * Partially masked gift card code.\n * @maxLength 50\n */\n obfuscatedCode?: string;\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, used for integration and tracking across platforms.\n * @minLength 1\n * @maxLength 50\n */\n externalId?: string | null;\n /** Amount to redeem from this gift card. */\n requestedRedeemAmount?: ConvertedMoney;\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 CartSettings {\n /** Whether adding or removing a gift card from the cart is restricted. */\n lockGiftCard?: boolean | null;\n /** Whether adding or removing a coupon code from the cart is restricted. */\n lockCouponCode?: boolean | null;\n /** Whether the policy agreement checkbox is disabled on the checkout page. */\n policyAgreementCheckboxDisabled?: boolean | null;\n /** Whether the manual payment option is disabled on the checkout page. */\n manualPaymentDisabled?: boolean | null;\n}\n\nexport interface LegacyFields {\n /**\n * The coupon discount amount.\n * @readonly\n */\n couponDiscount?: ConvertedMoney;\n /**\n * The sum of all line items after applying all discounts.\n * @readonly\n */\n subtotalAfterCouponDiscount?: ConvertedMoney;\n /**\n * Indicates that this cart was created by the Buy Now flow.\n * Used by the Cart API proxy to determine whether to produce legacy V1 domain events.\n * @readonly\n * @immutable\n */\n buyNow?: boolean;\n /**\n * Custom fields.\n * @maxSize 100\n */\n customFields?: CustomField[];\n}\n\nexport interface CustomField {\n /** Custom field value. */\n value?: any;\n /**\n * Custom field title.\n * @minLength 1\n * @maxLength 500\n */\n title?: string;\n /**\n * Translated custom field title.\n * @minLength 1\n * @maxLength 500\n */\n translatedTitle?: string | null;\n}\n\nexport interface FormInfo {\n /**\n * Identifier of the form schema definition.\n * @readonly\n */\n schemaIdentifier?: FormIdentifier;\n /**\n * Form instance ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * IDs of the line items associated with this form.\n * @format GUID\n * @readonly\n * @maxSize 300\n */\n lineItemIds?: string[];\n /**\n * Translated title of the form.\n * @maxLength 100\n * @readonly\n */\n title?: string;\n /**\n * Translated subtitles of the form.\n * @maxSize 10\n * @maxLength 100\n * @readonly\n */\n subtitles?: string[] | null;\n /**\n * Form submission ID.\n * @format GUID\n */\n formSubmissionId?: string | null;\n}\n\nexport interface FormIdentifier {\n /** @format GUID */\n formSchemaId?: string;\n /** @maxLength 100 */\n namespace?: string;\n}\n\nexport interface CartEstimationIndicators {\n /** Whether the cart may contain any additional fees. */\n hasAdditionalFees?: boolean;\n /** Whether the cart may contain any cart-level custom violations. */\n hasPreCheckoutCustomViolations?: boolean;\n}\n\nexport interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n /** Coupon details. */\n coupon?: Coupon;\n /** Merchant discount. */\n merchantDiscount?: MerchantDiscount;\n /** Discount rule */\n discountRule?: DiscountRule;\n /** Discount type. */\n discountType?: DiscountTypeWithLiterals;\n /**\n * IDs of line items the discount applies to.\n * @format GUID\n */\n lineItemIds?: string[];\n /**\n * Discount ID.\n * @internal\n * @format GUID\n */\n _id?: string | null;\n /**\n * Discount distribution.\n * Each entry contains the discount amount allocated to a specific line item.\n * Returned only when `apply_item_discounts_to_prices` is enabled.\n * @internal\n * @maxSize 300\n * @readonly\n */\n lineItemDiscounts?: LineItemDiscount[];\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?: Coupon;\n /** Merchant discount. */\n merchantDiscount?: MerchantDiscount;\n /** Discount rule */\n discountRule?: DiscountRule;\n}\n\nexport enum DiscountType {\n GLOBAL = 'GLOBAL',\n SPECIFIC_ITEMS = 'SPECIFIC_ITEMS',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n | DiscountType\n | 'GLOBAL'\n | 'SPECIFIC_ITEMS'\n | 'SHIPPING';\n\n/** Coupon */\nexport interface Coupon {\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 * Coupon type: We want it to be an enum and not a string but currently we have no time to do it so we leave it as is to be aligned with cart summary.\n * @internal\n * @deprecated\n */\n couponType?: string;\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 MerchantDiscount {\n /** Discount value. */\n amount?: MultiCurrencyPrice;\n /**\n * Discount Percentage. Will be calculated from items price before other discounts.\n * @min 0.01\n * @max 100\n */\n percentage?: number | null;\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 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 CartSummary {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /** Cart revision. */\n cartRevision?: string;\n /**\n * Unique identifier for this cart calculation.\n * @format GUID\n */\n calculationId?: string;\n /**\n * Summarized details for each line item in the cart.\n * @maxSize 300\n */\n lineItems?: LineItemSummary[];\n /**\n * Discounts applied to the cart.\n * @maxSize 100\n */\n discounts?: Discount[];\n /** Summary of delivery costs. */\n deliverySummary?: DeliverySummary;\n /**\n * Additional fees applied to the cart.\n * @maxSize 100\n */\n additionalFees?: V2AdditionalFee[];\n /** Tax calculation summary for the cart. */\n taxSummary?: V2TaxSummary;\n /** Summary of calculated price components for the cart. */\n priceSummary?: V2PriceSummary;\n /** How the customer pays for the order. */\n paymentSummary?: PaymentSummary;\n /**\n * Opaque token for the cart's calculated prices.\n *\n * Pass this token when placing an order so the prices the customer saw match checkout.\n *\n * If provided, the server validates it by recalculating the cart and comparing the pricing token. If validation fails, checkout is rejected.\n *\n * This limits unexpected price changes or tampering between cart calculation and order placement.\n *\n * Don't parse or modify the token on the client.\n * @maxLength 1024\n */\n priceVerificationToken?: string | null;\n /**\n * Errors from the calculation step.\n *\n * Deprecated. Use `violations` instead.\n * @deprecated Errors from the calculation step.\n *\n * Deprecated. Use `violations` instead.\n * @replacedBy violations\n * @targetRemovalDate 2026-08-01\n */\n calculationErrors?: V2CalculationErrors;\n /**\n * Business violations from the Validations service plugin ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/service-plugins/validations/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/validations-integration-service-plugin/introduction)).\n *\n * Deprecated. Use `violations` instead.\n * @maxSize 100\n * @deprecated Business violations from the Validations service plugin ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/service-plugins/validations/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/validations-integration-service-plugin/introduction)).\n *\n * Deprecated. Use `violations` instead.\n * @replacedBy violations\n * @targetRemovalDate 2026-08-01\n */\n spiViolations?: Violation[];\n /**\n * All business violations for the cart.\n * @maxSize 100\n */\n violations?: V2Violation[];\n}\n\nexport interface LineItemSummary {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * Line item quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Final unit price after discounts.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n unitPrice?: ConvertedMoney;\n /**\n * Line total (unit price × quantity).\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n totalPrice?: ConvertedMoney;\n}\n\nexport interface Discount {\n /** Display name of the discount. */\n name?: TranslatableString;\n /** Source of the discount; how it was applied. */\n source?: DiscountSource;\n /** Part of the cart the discount applies to. */\n scope?: DiscountScopeWithLiterals;\n /**\n * Number of subscription billing cycles this discount applies to. If unset, it applies to all cycles.\n * @min 1\n * @max 1000\n */\n subscriptionCycles?: number | null;\n /** Total amount discounted across all of this discount's benefits. */\n total?: ConvertedMoney;\n /**\n * Per-line-item discount amounts for item-level discounts.\n * @maxSize 100\n */\n lineItemDiscounts?: V2LineItemDiscount[];\n}\n\nexport enum DiscountScope {\n /** Unknown discount scope. */\n UNKNOWN_DISCOUNT_SCOPE = 'UNKNOWN_DISCOUNT_SCOPE',\n /** Discount applies to the cart subtotal. */\n CART_SUBTOTAL = 'CART_SUBTOTAL',\n /** Discount applies to a specific line item. */\n LINE_ITEM = 'LINE_ITEM',\n /** Discount applies to the delivery price. */\n DELIVERY = 'DELIVERY',\n}\n\n/** @enumType */\nexport type DiscountScopeWithLiterals =\n | DiscountScope\n | 'UNKNOWN_DISCOUNT_SCOPE'\n | 'CART_SUBTOTAL'\n | 'LINE_ITEM'\n | 'DELIVERY';\n\nexport interface V2LineItemDiscount {\n /**\n * Line item ID the discount applies to.\n * @format GUID\n */\n lineItemId?: string;\n /** Total amount discounted on this line item. */\n amountOff?: ConvertedMoney;\n}\n\nexport interface DeliverySummary {\n /** Calculated delivery method. */\n method?: DeliveryMethod;\n /**\n * Delivery price before discounts.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n price?: ConvertedMoney;\n}\n\nexport interface V2AdditionalFee {\n /**\n * Additional fee code.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /** Additional fee display name. */\n name?: TranslatableString;\n /**\n * App ID of the fee provider.\n * @minLength 1\n * @maxLength 100\n */\n providerAppId?: string | null;\n /**\n * Line items this fee applies to.\n * When empty, the fee applies to the whole cart.\n * @format GUID\n * @maxSize 100\n */\n lineItemIds?: string[];\n /**\n * Additional fee amount.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n price?: ConvertedMoney;\n /**\n * Number of subscription cycles this fee applies to.\n * When unset and the fee is tied to a subscription line item, it applies to all cycles.\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /** Where the additional fee came from. */\n source?: SourceWithLiterals;\n}\n\nexport enum Source {\n /** Unknown fee source. */\n UNKNOWN_ADDITIONAL_FEE_SOURCE = 'UNKNOWN_ADDITIONAL_FEE_SOURCE',\n /** Added by an additional fee service plugin. */\n SERVICE_PLUGIN = 'SERVICE_PLUGIN',\n /** Added on the item from the catalog or as a custom line item. */\n LINE_ITEM = 'LINE_ITEM',\n /** Added by the delivery provider. */\n DELIVERY = 'DELIVERY',\n /** Added by a Wix vertical as a platform fee. */\n PLATFORM = 'PLATFORM',\n}\n\n/** @enumType */\nexport type SourceWithLiterals =\n | Source\n | 'UNKNOWN_ADDITIONAL_FEE_SOURCE'\n | 'SERVICE_PLUGIN'\n | 'LINE_ITEM'\n | 'DELIVERY'\n | 'PLATFORM';\n\nexport interface V2TaxSummary {\n /**\n * Taxes applied to the cart.\n * Multiple entries can appear when advanced tax rates are set, or one entry for the total.\n * See [advanced tax rates](https://support.wix.com/en/article/setting-up-tax-calculation-using-the-manual-method#step-3-optional-customize-advanced-mode-settings).\n * @maxSize 100\n */\n taxes?: Tax[];\n /** Amount exempt from tax. */\n totalExempt?: ConvertedMoney;\n /**\n * Whether tax is included in prices for line items, discounts, delivery, and additional fees.\n * @readonly\n */\n pricesIncludeTax?: boolean;\n /**\n * Per line item tax amounts.\n * @maxSize 300\n */\n lineItemTaxes?: LineItemTax[];\n /** Tax on the delivery method. */\n deliveryTax?: ConvertedMoney;\n /**\n * Tax on additional fees.\n * @maxSize 100\n */\n additionalFeeTaxes?: AdditionalFeeTax[];\n}\n\nexport interface Tax {\n /** Tax name. */\n name?: TranslatableString;\n /** Amount tax is calculated on. */\n taxableAmount?: ConvertedMoney;\n /** Amount exempt from tax. */\n exemptAmount?: ConvertedMoney;\n /** Calculated tax from `taxableAmount`. */\n amount?: ConvertedMoney;\n}\n\nexport interface LineItemTax {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Tax amount for the line item. */\n tax?: ConvertedMoney;\n /**\n * Tax rate as a decimal between 0 and 1.\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n */\n rate?: string | null;\n}\n\nexport interface AdditionalFeeTax {\n /**\n * Additional fee code.\n * @minLength 1\n * @maxLength 100\n */\n additionalFeeCode?: string;\n /** Tax amount for the additional fee. */\n tax?: ConvertedMoney;\n}\n\nexport interface V2PriceSummary {\n /**\n * Total for all line items after item-level discounts.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n subtotal?: ConvertedMoney;\n /**\n * Cart subtotal discount amount, deducted from the subtotal.\n * Item-level discounts are already reflected in the subtotal.\n * Returns 0 when no cart subtotal discount is applied.\n * For details of all applied discounts (including delivery discounts), see `cartSummary.discounts`.\n * Currently, only a single coupon is supported.\n */\n discount?: ConvertedMoney;\n /**\n * Delivery price after discounts.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n delivery?: ConvertedMoney;\n /**\n * Total of additional fees.\n * Includes tax when `taxSummary.pricesIncludeTax` is true.\n */\n additionalFees?: ConvertedMoney;\n /**\n * Tax charged on top of the prices, summed across items, discounts, delivery, and fees.\n * When `taxSummary.pricesIncludeTax` is true, tax is already embedded in the prices, so this field is `0`.\n * For the full tax breakdown in either case, see `taxSummary.taxes`.\n */\n tax?: ConvertedMoney;\n /** Amount to pay. */\n total?: ConvertedMoney;\n}\n\nexport interface PaymentSummary {\n /**\n * Per-gift card deduction amounts. Only one gift card is supported today.\n * @maxSize 1\n */\n giftCards?: GiftCardSummary[];\n /**\n * Memberships charged with the order.\n * @maxSize 300\n */\n memberships?: MembershipSummary[];\n /**\n * Subscription charge details for checkout.\n * @maxSize 100\n */\n subscriptionCharges?: SubscriptionCharges[];\n /** Whether additional payment is required to create the order after gift cards. */\n requiresPaymentAfterGiftCard?: boolean;\n /** Total due after gift cards. */\n totalAfterGiftCards?: ConvertedMoney;\n /** Amount charged when the order is placed, after gift cards. */\n payNow?: ConvertedMoney;\n /** Amount collected later. */\n payLater?: ConvertedMoney;\n /** Amount charged after a free trial, often for subscriptions. */\n payAfterFreeTrial?: ConvertedMoney;\n}\n\nexport interface GiftCardSummary {\n /**\n * Gift card ID assigned by the cart.\n * @format GUID\n */\n giftCardId?: string;\n /** Amount to redeem from the gift card balance. */\n redeemAmount?: ConvertedMoney;\n}\n\nexport interface MembershipSummary\n extends MembershipSummaryMembershipIdentifierOneOf {\n /**\n * Membership the customer already owns.\n * @internal\n */\n existingMembership?: V2ExistingMembership;\n /**\n * Membership created after the plan in this cart is purchased.\n * @internal\n */\n futureMembership?: FutureMembership;\n /**\n * Membership ID.\n * Available only for a membership that already exists. A membership granted by a plan in this cart has no ID until that plan is purchased.\n * @maxLength 200\n */\n _id?: string;\n /**\n * App ID for this payment option.\n * Available only for a membership that already exists.\n * @format GUID\n */\n appId?: string;\n /**\n * Line item IDs this membership applies to.\n * @minSize 1\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n}\n\n/** @oneof */\nexport interface MembershipSummaryMembershipIdentifierOneOf {\n /**\n * Membership the customer already owns.\n * @internal\n */\n existingMembership?: V2ExistingMembership;\n /**\n * Membership created after the plan in this cart is purchased.\n * @internal\n */\n futureMembership?: FutureMembership;\n}\n\nexport interface SubscriptionCharges {\n /**\n * Line items covered by the subscription.\n * @format GUID\n * @minSize 1\n * @maxSize 300\n */\n lineItemIds?: string[];\n /**\n * Human-readable schedule and amounts for upcoming charges.\n * Localized to the buyer's language for subscription orders, or the site language if none is set.\n * @maxLength 1000\n */\n description?: string | null;\n /**\n * Scheduled charges.\n * @maxSize 50\n */\n charges?: Charge[];\n}\n\nexport interface Charge {\n /** First billing cycle for this charge. */\n cycleFrom?: number;\n /** Number of cycles this charge covers, when set. */\n cycleCount?: number | null;\n /** Billing period start. */\n cycleBillingDate?: Date | null;\n /**\n * Price breakdown for the charge. Used by PricingPlans legacy service. Can be deprecated when PP moves fully to DraftOrder.\n * @internal\n */\n chargeSummary?: PriceSummary;\n}\n\nexport interface PriceSummary {\n /** Subtotal of all line items, before discounts and before tax. */\n subtotal?: Price;\n /** Total shipping price, before discounts and before tax. */\n shipping?: Price;\n /** Total tax applied to the order. */\n tax?: Price;\n /** Total discount amount applied to the order. */\n discount?: Price;\n /**\n * Deprecated - use `total` instead.\n * @internal\n * @deprecated\n */\n totalPrice?: Price;\n /** Order's total price after discounts and tax. */\n total?: Price;\n /**\n * Order's total price including gift card.\n * @internal\n * @deprecated\n */\n totalWithGiftCard?: Price;\n /**\n * Order's total price after without gift card.\n * @internal\n * @deprecated\n */\n totalWithoutGiftCard?: Price;\n /** Total additional fees before tax. */\n totalAdditionalFees?: Price;\n}\n\nexport interface Price {\n /**\n * Amount.\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n amount?: string;\n /**\n * Amount formatted with currency symbol.\n * @readonly\n */\n formattedAmount?: string;\n}\n\nexport interface V2CalculationErrors\n extends V2CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Carrier-specific shipping errors. */\n carrierErrors?: V2CarrierErrors;\n /** Error for the selected shipping option. */\n selectedShippingOptionError?: Details;\n /** Tax calculation error. */\n taxCalculationError?: Details;\n /** Coupon calculation error. */\n couponCalculationError?: Details;\n /** Gift card calculation error. */\n giftCardCalculationError?: Details;\n /**\n * Order validation errors.\n * @maxSize 100\n */\n orderValidationErrors?: ApplicationError[];\n /**\n * Membership payment calculation issues.\n * For example, a line item must use membership payment but none is set, or the membership isn't valid.\n */\n membershipError?: Details;\n /** Discount rule calculation error. */\n discountsCalculationError?: Details;\n}\n\n/** @oneof */\nexport interface V2CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Carrier-specific shipping errors. */\n carrierErrors?: V2CarrierErrors;\n /** Error for the selected shipping option. */\n selectedShippingOptionError?: Details;\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\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 * 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 V2CarrierErrors {\n /**\n * Per-carrier errors.\n * @maxSize 100\n */\n errors?: V2CarrierError[];\n}\n\nexport interface V2CarrierError {\n /**\n * Carrier ID.\n * @format GUID\n */\n carrierId?: string;\n /** Error payload. */\n error?: Details;\n}\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?: LineItem;\n}\n\n/** @oneof */\nexport interface TargetTargetTypeOneOf {\n /** General (other) violation. */\n other?: Other;\n /** Specific line item violation. */\n lineItem?: LineItem;\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 LineItem {\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 V2Violation extends V2ViolationDataOneOf {\n /** Payload for Validations service plugin violations. */\n customValidationData?: CustomValidationErrorData;\n /** Payload when a coupon's status is invalid. */\n invalidCouponStatusData?: InvalidCouponStatusErrorData;\n /** Payload when a coupon code is invalid. */\n invalidCouponCodeData?: InvalidCouponCodeErrorData;\n /** Payload when a gift card code is invalid. */\n invalidGiftCardCodeData?: InvalidGiftCardCodeErrorData;\n /** Payload when a gift card's status is invalid. */\n invalidGiftCardStatusData?: InvalidGiftCardStatusErrorData;\n /** Payload when line items are out of stock. */\n lineItemsOutOfStockData?: LineItemsOutOfStockErrorData;\n /** Payload for members-only items. */\n membersOnlyItemData?: MembersOnlyItemErrorData;\n /** Payload when the cart's subtotal is below the minimum order subtotal. */\n subtotalBelowOrderMinimumData?: SubtotalBelowOrderMinimumErrorData;\n /** Payload when a selected membership has an invalid status. */\n invalidMembershipStatusData?: InvalidMembershipStatusErrorData;\n /** Violation scope. */\n scope?: ViolationScopeWithLiterals;\n /** Violation type code. */\n code?: ViolationCodeWithLiterals;\n /**\n * Human-readable violation message.\n * @maxLength 1000\n */\n description?: string | null;\n /** How serious the violation is; errors block placing an order. */\n severity?: ViolationSeverityWithLiterals;\n}\n\n/** @oneof */\nexport interface V2ViolationDataOneOf {\n /** Payload for Validations service plugin violations. */\n customValidationData?: CustomValidationErrorData;\n /** Payload when a coupon's status is invalid. */\n invalidCouponStatusData?: InvalidCouponStatusErrorData;\n /** Payload when a coupon code is invalid. */\n invalidCouponCodeData?: InvalidCouponCodeErrorData;\n /** Payload when a gift card code is invalid. */\n invalidGiftCardCodeData?: InvalidGiftCardCodeErrorData;\n /** Payload when a gift card's status is invalid. */\n invalidGiftCardStatusData?: InvalidGiftCardStatusErrorData;\n /** Payload when line items are out of stock. */\n lineItemsOutOfStockData?: LineItemsOutOfStockErrorData;\n /** Payload for members-only items. */\n membersOnlyItemData?: MembersOnlyItemErrorData;\n /** Payload when the cart's subtotal is below the minimum order subtotal. */\n subtotalBelowOrderMinimumData?: SubtotalBelowOrderMinimumErrorData;\n /** Payload when a selected membership has an invalid status. */\n invalidMembershipStatusData?: InvalidMembershipStatusErrorData;\n}\n\nexport enum ViolationScope {\n /** Violation applies to the cart as a whole. */\n GLOBAL = 'GLOBAL',\n /** Violation is tied to a specific line item. */\n LINE_ITEM = 'LINE_ITEM',\n /** Violation is tied to a discount. */\n DISCOUNT = 'DISCOUNT',\n /** Violation is tied to the delivery method or address. */\n DELIVERY = 'DELIVERY',\n /** Violation is tied to tax calculation. */\n TAX = 'TAX',\n /** Violation is tied to a membership payment. */\n MEMBERSHIP = 'MEMBERSHIP',\n /** Violation is tied to a gift card. */\n GIFT_CARD = 'GIFT_CARD',\n /**\n * Violation is tied to the payment method.\n * @documentationMaturity preview\n * @internal\n */\n PAYMENT = 'PAYMENT',\n}\n\n/** @enumType */\nexport type ViolationScopeWithLiterals =\n | ViolationScope\n | 'GLOBAL'\n | 'LINE_ITEM'\n | 'DISCOUNT'\n | 'DELIVERY'\n | 'TAX'\n | 'MEMBERSHIP'\n | 'GIFT_CARD';\n\nexport enum ViolationCode {\n /** A general violation not covered by more specific codes. */\n GENERAL_CODE = 'GENERAL_CODE',\n /** Custom violation (e.g., violations from Validation Service Plugin). */\n CUSTOM_VALIDATION = 'CUSTOM_VALIDATION',\n /** The cart doesn't contain any line items. */\n EMPTY_CART = 'EMPTY_CART',\n /** One or more line items are out of stock. */\n LINE_ITEMS_OUT_OF_STOCK = 'LINE_ITEMS_OUT_OF_STOCK',\n /** One or more line items can be purchased only by members and the customer isn't a member. */\n MEMBERS_ONLY_ITEM = 'MEMBERS_ONLY_ITEM',\n /** No coupon exists with the provided code. */\n INVALID_COUPON_CODE = 'INVALID_COUPON_CODE',\n /** The coupon status isn't valid for use (e.g., expired, usage limit reached, etc.). */\n INVALID_COUPON_STATUS = 'INVALID_COUPON_STATUS',\n /** A coupon discount can't be applied when purchasing a gift card. */\n CANNOT_APPLY_COUPON_DISCOUNT_WHEN_PURCHASING_GIFT_CARD = 'CANNOT_APPLY_COUPON_DISCOUNT_WHEN_PURCHASING_GIFT_CARD',\n /** The cart is missing a delivery address. */\n MISSING_DELIVERY_ADDRESS = 'MISSING_DELIVERY_ADDRESS',\n /** The cart is missing a delivery method. */\n MISSING_DELIVERY_METHOD = 'MISSING_DELIVERY_METHOD',\n /** The selected delivery method is no longer available. */\n DELIVERY_METHOD_NO_LONGER_AVAILABLE = 'DELIVERY_METHOD_NO_LONGER_AVAILABLE',\n /** The selected delivery method doesn't apply to all line items in the cart. */\n DELIVERY_METHOD_NOT_APPLIED_TO_ALL_LINE_ITEMS = 'DELIVERY_METHOD_NOT_APPLIED_TO_ALL_LINE_ITEMS',\n /** No gift card exists with the provided code. */\n INVALID_GIFT_CARD_CODE = 'INVALID_GIFT_CARD_CODE',\n /** The gift card status isn't valid for use (e.g., expired, fully redeemed, etc.). */\n INVALID_GIFT_CARD_STATUS = 'INVALID_GIFT_CARD_STATUS',\n /** Can't pay for a gift card with another gift card. */\n CANNOT_PAY_FOR_GIFT_CARD_WITH_GIFT_CARD = 'CANNOT_PAY_FOR_GIFT_CARD_WITH_GIFT_CARD',\n /** The cart's subtotal is below the minimum order subtotal. */\n SUBTOTAL_BELOW_ORDER_MINIMUM = 'SUBTOTAL_BELOW_ORDER_MINIMUM',\n /**\n * A selected membership can't be used to pay for the cart. For example, the membership has\n * insufficient funds, or it no longer applies to the line items it was selected for.\n */\n INVALID_MEMBERSHIP_STATUS = 'INVALID_MEMBERSHIP_STATUS',\n /** The address's postal code is missing or invalid. */\n INVALID_POSTAL_CODE = 'INVALID_POSTAL_CODE',\n /** The address's subdivision is missing or invalid. */\n INVALID_SUBDIVISION = 'INVALID_SUBDIVISION',\n /** A subscription item can't be purchased on a demo cart. */\n SUBSCRIPTION_ITEM_NOT_SUPPORTED_ON_DEMO_CART = 'SUBSCRIPTION_ITEM_NOT_SUPPORTED_ON_DEMO_CART',\n /** A gift card item can't be purchased on a demo cart. */\n GIFT_CARD_ITEM_NOT_SUPPORTED_ON_DEMO_CART = 'GIFT_CARD_ITEM_NOT_SUPPORTED_ON_DEMO_CART',\n /** A gift card can't be used to pay on a demo cart. */\n GIFT_CARD_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART = 'GIFT_CARD_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART',\n /** A membership can't be used to pay on a demo cart. */\n MEMBERSHIP_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART = 'MEMBERSHIP_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART',\n /**\n * The cart has no selected payment method while a payment is due.\n * @documentationMaturity preview\n * @internal\n */\n MISSING_SITE_PAYMENT_METHOD_TYPE_ID = 'MISSING_SITE_PAYMENT_METHOD_TYPE_ID',\n}\n\n/** @enumType */\nexport type ViolationCodeWithLiterals =\n | ViolationCode\n | 'GENERAL_CODE'\n | 'CUSTOM_VALIDATION'\n | 'EMPTY_CART'\n | 'LINE_ITEMS_OUT_OF_STOCK'\n | 'MEMBERS_ONLY_ITEM'\n | 'INVALID_COUPON_CODE'\n | 'INVALID_COUPON_STATUS'\n | 'CANNOT_APPLY_COUPON_DISCOUNT_WHEN_PURCHASING_GIFT_CARD'\n | 'MISSING_DELIVERY_ADDRESS'\n | 'MISSING_DELIVERY_METHOD'\n | 'DELIVERY_METHOD_NO_LONGER_AVAILABLE'\n | 'DELIVERY_METHOD_NOT_APPLIED_TO_ALL_LINE_ITEMS'\n | 'INVALID_GIFT_CARD_CODE'\n | 'INVALID_GIFT_CARD_STATUS'\n | 'CANNOT_PAY_FOR_GIFT_CARD_WITH_GIFT_CARD'\n | 'SUBTOTAL_BELOW_ORDER_MINIMUM'\n | 'INVALID_MEMBERSHIP_STATUS'\n | 'INVALID_POSTAL_CODE'\n | 'INVALID_SUBDIVISION'\n | 'SUBSCRIPTION_ITEM_NOT_SUPPORTED_ON_DEMO_CART'\n | 'GIFT_CARD_ITEM_NOT_SUPPORTED_ON_DEMO_CART'\n | 'GIFT_CARD_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART'\n | 'MEMBERSHIP_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART';\n\nexport enum ViolationSeverity {\n /** Informational or advisory violation. Doesn't block placing an order. */\n WARNING = 'WARNING',\n /** Blocking violation. Must be resolved before an order can be placed. */\n ERROR = 'ERROR',\n}\n\n/** @enumType */\nexport type ViolationSeverityWithLiterals =\n | ViolationSeverity\n | 'WARNING'\n | 'ERROR';\n\nexport interface CustomValidationErrorData {\n /** Where to show the violation on the cart or checkout page. */\n target?: Target;\n}\n\nexport interface InvalidCouponStatusErrorData\n extends InvalidCouponStatusErrorDataDetailsOneOf {\n minLineItemQuantityNotReachedDetails?: MinLineItemQuantityNotReachedDetails;\n minSubtotalNotReachedDetails?: MinSubtotalNotReachedDetails;\n /**\n * Coupon code with an invalid status.\n * @maxLength 100\n */\n couponCode?: string;\n /** Why the coupon status is invalid. */\n reason?: InvalidCouponReasonWithLiterals;\n}\n\n/** @oneof */\nexport interface InvalidCouponStatusErrorDataDetailsOneOf {\n minLineItemQuantityNotReachedDetails?: MinLineItemQuantityNotReachedDetails;\n minSubtotalNotReachedDetails?: MinSubtotalNotReachedDetails;\n}\n\nexport enum InvalidCouponReason {\n /** Unspecified status. */\n UNKNOWN_INVALID_COUPON_REASON = 'UNKNOWN_INVALID_COUPON_REASON',\n /** Coupon has expired. */\n EXPIRED = 'EXPIRED',\n /** Coupon is disabled. */\n DISABLED = 'DISABLED',\n /** Coupon isn't active yet. */\n INACTIVE = 'INACTIVE',\n /** Coupon hit its usage limit. */\n MAX_USAGE_EXCEEDED = 'MAX_USAGE_EXCEEDED',\n /** Coupon hit its per-customer usage limit. */\n MAX_USAGE_PER_CUSTOMER_EXCEEDED = 'MAX_USAGE_PER_CUSTOMER_EXCEEDED',\n /** Coupon doesn't apply to subscriptions. */\n NOT_APPLICABLE_TO_SUBSCRIPTIONS = 'NOT_APPLICABLE_TO_SUBSCRIPTIONS',\n /** Coupon doesn't apply to the cart's selected line items. */\n NOT_APPLICABLE_TO_SELECTED_LINE_ITEMS = 'NOT_APPLICABLE_TO_SELECTED_LINE_ITEMS',\n /** Coupon needs a higher line item quantity than the cart has. */\n MIN_LINE_ITEM_QUANTITY_NOT_REACHED = 'MIN_LINE_ITEM_QUANTITY_NOT_REACHED',\n /** Coupon needs a higher subtotal than the cart has. */\n MIN_SUBTOTAL_NOT_REACHED = 'MIN_SUBTOTAL_NOT_REACHED',\n}\n\n/** @enumType */\nexport type InvalidCouponReasonWithLiterals =\n | InvalidCouponReason\n | 'UNKNOWN_INVALID_COUPON_REASON'\n | 'EXPIRED'\n | 'DISABLED'\n | 'INACTIVE'\n | 'MAX_USAGE_EXCEEDED'\n | 'MAX_USAGE_PER_CUSTOMER_EXCEEDED'\n | 'NOT_APPLICABLE_TO_SUBSCRIPTIONS'\n | 'NOT_APPLICABLE_TO_SELECTED_LINE_ITEMS'\n | 'MIN_LINE_ITEM_QUANTITY_NOT_REACHED'\n | 'MIN_SUBTOTAL_NOT_REACHED';\n\nexport interface MinLineItemQuantityNotReachedDetails {\n /** Minimum line item quantity required. */\n requiredMinimumQuantity?: number;\n}\n\nexport interface MinSubtotalNotReachedDetails {\n /** Minimum subtotal required. */\n requiredMinimumSubtotal?: ConvertedMoney;\n /**\n * Original wording for the minimum subtotal rule.\n * @maxLength 100\n */\n originalDescription?: string | null;\n}\n\nexport interface InvalidCouponCodeErrorData {\n /**\n * Invalid coupon code.\n * @maxLength 100\n */\n couponCode?: string;\n}\n\nexport interface InvalidGiftCardCodeErrorData {\n /**\n * Invalid gift card code.\n * @maxLength 100\n */\n giftCardCode?: string;\n /**\n * Gift card ID. Available when the gift card was found but failed validation.\n * @format GUID\n */\n giftCardId?: string | null;\n}\n\nexport interface InvalidGiftCardStatusErrorData {\n /**\n * Gift card code with an invalid status.\n * @maxLength 100\n */\n giftCardCode?: string;\n /** Why the gift card status is invalid. */\n reason?: InvalidGiftCardReasonWithLiterals;\n /**\n * Gift card ID. Available when the gift card was found but failed validation.\n * @format GUID\n */\n giftCardId?: string | null;\n}\n\nexport enum InvalidGiftCardReason {\n /** Unspecified status. */\n UNKNOWN_INVALID_GIFT_CARD_REASON = 'UNKNOWN_INVALID_GIFT_CARD_REASON',\n /** Gift card has expired. */\n EXPIRED = 'EXPIRED',\n /** Gift card is disabled. */\n DISABLED = 'DISABLED',\n /** Gift card has no balance left. */\n EMPTY_BALANCE = 'EMPTY_BALANCE',\n}\n\n/** @enumType */\nexport type InvalidGiftCardReasonWithLiterals =\n | InvalidGiftCardReason\n | 'UNKNOWN_INVALID_GIFT_CARD_REASON'\n | 'EXPIRED'\n | 'DISABLED'\n | 'EMPTY_BALANCE';\n\nexport interface LineItemsOutOfStockErrorData {\n /**\n * Out-of-stock line item IDs.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n /** Whether every line item in the cart is out of stock. */\n allLineItemsOutOfStock?: boolean;\n}\n\nexport interface MembersOnlyItemErrorData {\n /**\n * Members-only line item IDs.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport interface SubtotalBelowOrderMinimumErrorData {\n /** Minimum subtotal required to place an order. */\n minimumOrderSubtotal?: ConvertedMoney;\n /** Amount that needs to be added to the current order to reach the minimum subtotal amount. */\n remainingAmount?: ConvertedMoney;\n}\n\nexport interface InvalidMembershipStatusErrorData {\n /**\n * Membership ID with an invalid status. Absent when the offending membership can't be identified.\n * @maxLength 200\n */\n membershipId?: string | null;\n /** Why the membership status is invalid. */\n reason?: InvalidMembershipReasonWithLiterals;\n /**\n * IDs of the line items this violation applies to.\n *\n * Available only when `reason` is `NOT_APPLICABLE_TO_LINE_ITEMS` or `LINE_ITEM_NOT_FOUND`.\n * @internal\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport enum InvalidMembershipReason {\n /** The membership can't be used, but the specific reason isn't available. */\n UNKNOWN_INVALID_MEMBERSHIP_REASON = 'UNKNOWN_INVALID_MEMBERSHIP_REASON',\n /** The membership doesn't have sufficient funds to pay for the cart. */\n INSUFFICIENT_FUNDS = 'INSUFFICIENT_FUNDS',\n /** The selected membership doesn't exist or is no longer available to the customer. */\n MEMBERSHIP_NOT_FOUND = 'MEMBERSHIP_NOT_FOUND',\n /** The membership can't be used to pay for the line items it was selected for. */\n NOT_APPLICABLE_TO_LINE_ITEMS = 'NOT_APPLICABLE_TO_LINE_ITEMS',\n /** The membership was selected for a line item that isn't in the cart. */\n LINE_ITEM_NOT_FOUND = 'LINE_ITEM_NOT_FOUND',\n}\n\n/** @enumType */\nexport type InvalidMembershipReasonWithLiterals =\n | InvalidMembershipReason\n | 'UNKNOWN_INVALID_MEMBERSHIP_REASON'\n | 'INSUFFICIENT_FUNDS'\n | 'MEMBERSHIP_NOT_FOUND'\n | 'NOT_APPLICABLE_TO_LINE_ITEMS'\n | 'LINE_ITEM_NOT_FOUND';\n\n/** Triggered when a line item is added to the cart. */\nexport interface LineItemAdded {\n /**\n * ID of the item within the catalog it belongs to.\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string | null;\n /**\n * ID of the app providing the catalog.\n * @minLength 1\n * @maxLength 36\n */\n catalogAppId?: string | null;\n /** Whether the line item is a custom line item. */\n customLineItem?: boolean;\n /**\n * ID of the app that added the line item to the cart (from the identity context).\n * @minLength 1\n * @maxLength 36\n */\n appDefId?: string | null;\n /**\n * ID of the line item in the cart.\n * @maxLength 36\n */\n lineItemId?: string | null;\n}\n\n/** Triggered when a coupon is added to the cart. */\nexport interface CouponAdded {\n /**\n * Persistent ID that correlates between the Cart and the created Order.\n * @format GUID\n */\n purchaseFlowId?: string | null;\n}\n\n/** Triggered when a coupon is removed from the cart. */\nexport interface CouponRemoved {\n /**\n * Persistent ID that correlates between the Cart and the created Order.\n * @format GUID\n */\n purchaseFlowId?: string | null;\n}\n\n/** Triggered when a gift card is added to the cart. */\nexport interface GiftCardAdded {\n /**\n * Persistent ID that correlates between the Cart and the created Order.\n * @format GUID\n */\n purchaseFlowId?: string | null;\n}\n\n/** Triggered when a gift card is removed from the cart. */\nexport interface GiftCardRemoved {\n /**\n * Persistent ID that correlates between the Cart and the created Order.\n * @format GUID\n */\n purchaseFlowId?: string | null;\n}\n\nexport interface CreateCartRequest {\n /** Cart to create. */\n cart?: Cart;\n /**\n * Catalog items to add to the cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * Custom items to add to the cart.\n * Custom line items don't trigger the Catalog service plugin.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n /**\n * Coupons to apply.\n * Currently only one is supported.\n * @maxSize 1\n */\n coupons?: CouponInput[];\n /** Delivery method to set. */\n deliveryMethod?: DeliveryMethodInput;\n /**\n * Gift cards to add.\n * @maxSize 5\n */\n giftCards?: GiftCardInput[];\n}\n\nexport interface CatalogItemInput {\n /** Reference to the catalog item. */\n catalogReference?: CatalogReference;\n /**\n * Number of catalog items the customer requested.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Selected membership used as payment for this item.\n *\n * DEPRECATED: migrate to `membershipPayment`. Removed once all clients migrate.\n * @deprecated\n * @replacedBy membership_payment\n * @targetRemovalDate 2026-06-22\n */\n selectedMembership?: V2SelectedMembership;\n /** Overriding values for catalog item properties. */\n catalogOverrideFields?: CatalogOverrideFields;\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 * ID of the app managing inventory.\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Line-item ID in external systems.\n * @internal\n * @minLength 1\n * @maxLength 100\n */\n externalResourceId?: string | null;\n /**\n * ID of the app providing upsells for this item.\n * @internal\n * @format GUID\n */\n upsellOptionsAppId?: string | null;\n /**\n * Membership used as payment for this item. Can be an existing membership, or a future one\n * created from a plan in the same cart.\n *\n * Replaces `selectedMembership`.\n *\n * Use with `paymentOption` `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`.\n */\n membershipPayment?: MembershipInput;\n}\n\nexport interface MembershipInput extends MembershipInputMembershipOneOf {\n /** Pay with an existing, already-provisioned membership. */\n existingMembership?: ExistingMembershipInput;\n /** Pay with a future membership, created once a plan in this cart is purchased. */\n futureMembership?: FutureMembershipInput;\n}\n\n/** @oneof */\nexport interface MembershipInputMembershipOneOf {\n /** Pay with an existing, already-provisioned membership. */\n existingMembership?: ExistingMembershipInput;\n /** Pay with a future membership, created once a plan in this cart is purchased. */\n futureMembership?: FutureMembershipInput;\n}\n\nexport interface ExistingMembershipInput {\n /**\n * ID of the app providing the membership, for example Pricing Plans.\n * @format GUID\n */\n appId?: string;\n /**\n * ID of the existing membership.\n * @minLength 1\n * @maxLength 200\n */\n membershipId?: string;\n}\n\nexport interface FutureMembershipInput {\n /**\n * ID of the plan line item, already in the cart, whose future membership pays for this item.\n * Add the plan line item to the cart first, then reference it by its ID.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * The selected unit within the plan to redeem.\n * @maxLength 200\n */\n benefitId?: string;\n}\n\nexport interface CustomItemInput {\n /** Display name for the line item. */\n name?: TranslatableString;\n /** Quantity details for the line item. */\n quantityInfo?: CustomItemQuantityInfo;\n /** Pricing details for the line item. */\n pricing?: CustomItemPricingInfo;\n /** Information about the line item's origin. */\n source?: CustomItemSource;\n /** Display details for the item. */\n attributes?: CustomItemAttributes;\n /** Delivery configuration for the line item. */\n deliveryConfig?: CustomItemDeliveryConfig;\n /** Tax configuration for the line item. */\n taxConfig?: CustomItemTaxConfig;\n /** Payment configuration for the line item. */\n paymentConfig?: CustomItemPaymentConfig;\n /**\n * Modifier groups added to the item.\n * @maxSize 25\n */\n modifierGroups?: ModifierGroup[];\n /**\n * Platform fee applied to the line item.\n * @internal\n */\n platformFee?: PlatformFee;\n}\n\nexport interface CustomItemQuantityInfo {\n /**\n * Quantity the customer requested.\n * @min 1\n * @max 100000\n */\n requestedQuantity?: number;\n /** Maximum quantity available for purchase. */\n availableQuantity?: number | null;\n /**\n * Whether the line item quantity is fixed and can't be changed.\n *\n * Default: `false`\n */\n fixedQuantity?: boolean;\n}\n\nexport interface CustomItemPricingInfo {\n /**\n * Sale price for a single item, without modifiers.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n price?: ConvertedMoney;\n /**\n * Full price for a single item before discounts, without modifiers.\n * Defaults to `price` when not provided.\n * Includes tax when `taxInfo.pricesIncludeTax` is true.\n */\n fullPrice?: ConvertedMoney;\n /**\n * Additional price description.\n * For example, when the price is `0` but you need more detail, such as \"Starts at $67\".\n */\n priceDescription?: PriceDescription;\n /** Whether the price isn't yet defined and will be updated after the order is created. */\n priceUndetermined?: boolean;\n}\n\nexport interface CustomItemSource {\n /**\n * Catalog and item reference: IDs for the item and catalog, plus optional details.\n * Optional for custom line items, which don't trigger the Catalog service plugin.\n */\n catalogReference?: CatalogReference;\n /**\n * When `catalogReference.catalogItemId` isn't the actual catalog item ID, this field returns the true catalog item ID.\n * For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID, so this value is the service ID.\n * In most cases, this matches `catalogReference.catalogItemId`.\n * Used in membership validation.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n /**\n * ID of the app managing inventory.\n * @format GUID\n */\n inventoryAppId?: string | null;\n}\n\nexport interface CustomItemAttributes {\n /**\n * Description lines for the item.\n * @maxSize 100\n */\n descriptionLines?: DescriptionLine[];\n /** Item image. */\n image?: string;\n /** URL of the item's page on the site. */\n url?: string;\n /** Item type: preset or custom. */\n itemType?: ItemType;\n /**\n * Physical properties of the item.\n * When relevant, includes SKU, weight, and shippability.\n */\n physicalProperties?: PhysicalProperties;\n /**\n * Digital file identifier; relevant only for items with type `DIGITAL`.\n * @internal\n */\n digitalFile?: SecuredMedia;\n /**\n * Service properties.\n * When relevant, includes date and number of participants.\n */\n serviceProperties?: ServiceProperties;\n /**\n * Whether the item can only be purchased by site members.\n *\n * Default: `false`\n */\n membersOnly?: boolean;\n /**\n * Subscription option details.\n * @internal\n */\n subscriptionInfo?: SubscriptionOptionInfo;\n}\n\nexport interface CustomItemDeliveryConfig {\n /**\n * Delivery profile ID.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n}\n\nexport interface CustomItemTaxConfig {\n /** Address used for tax calculation. */\n taxableAddress?: TaxableAddress;\n /**\n * Tax group ID for this line item.\n * @maxLength 50\n */\n taxGroupId?: string | null;\n}\n\nexport interface CustomItemPaymentConfig {\n /**\n * Partial payment due upfront during checkout.\n * Only when `paymentOption` is `DEPOSIT_ONLINE`.\n */\n depositAmount?: ConvertedMoney;\n /**\n * Selected payment option type for this item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n}\n\nexport interface PlatformFee {\n /** __Required.__ Platform fee name. */\n name?: TranslatableString;\n /** Platform fee charge type. */\n chargeType?: V1PlatformFeeChargeTypeWithLiterals;\n /**\n * Percentage rate charged as platform fee.\n *\n * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.\n * @format DECIMAL_VALUE\n * @decimalValue options { gt:0, lte:1, maxScale:4 }\n */\n percentageRate?: string;\n}\n\nexport enum V1PlatformFeeChargeType {\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 V1PlatformFeeChargeTypeWithLiterals =\n | V1PlatformFeeChargeType\n | 'PASS_ON'\n | 'ABSORBED';\n\nexport interface CouponInput {\n /**\n * Coupon code.\n * @minLength 1\n * @maxLength 50\n */\n code?: string;\n}\n\nexport interface DeliveryMethodInput {\n /**\n * Delivery method code.\n * @maxLength 100\n */\n code?: string;\n /**\n * Carrier app id.\n * @format GUID\n */\n appId?: string | null;\n}\n\nexport interface GiftCardInput {\n /**\n * Gift card code.\n * @minLength 8\n * @maxLength 20\n */\n code?: string;\n /** The amount requested to redeem from this gift card. */\n redeemAmount?: ConvertedMoney;\n}\n\nexport interface CreateCartResponse {\n /** Created cart. */\n cart?: Cart;\n}\n\nexport interface ItemNotFoundInCatalogErrorData {\n /**\n * Line items missing from the catalog.\n * @maxSize 300\n */\n invalidItems?: LineItemIdentifier[];\n}\n\nexport interface LineItemIdentifier extends LineItemIdentifierIdOneOf {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Catalog reference. */\n catalogReference?: CatalogReference;\n}\n\n/** @oneof */\nexport interface LineItemIdentifierIdOneOf {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Catalog reference. */\n catalogReference?: CatalogReference;\n}\n\nexport interface InsufficientInventoryErrorData {\n /**\n * Line items that don't have enough inventory.\n * @maxSize 300\n */\n invalidItems?: InsufficientInventoryEntry[];\n}\n\nexport interface InsufficientInventoryEntry {\n /** Line item with low stock. */\n _id?: LineItemIdentifier;\n /** Requested quantity, including what's already on the cart. */\n requestedQuantity?: number;\n /** Quantity in stock. */\n availableQuantity?: number;\n}\n\nexport interface MaxLineItemsExceededErrorData {\n /** Line item count in the request. */\n requestCount?: number;\n /** Maximum line items allowed. */\n maxCount?: number;\n}\n\nexport interface MaxItemModifiersExceededErrorData {\n /** Modifier count in the request. */\n requestCount?: number;\n /** Maximum modifiers allowed. */\n maxCount?: number;\n}\n\nexport interface DuplicateModifierGroupIdsErrorData {\n /**\n * Catalog items whose modifier group IDs collide.\n * @maxSize 300\n */\n invalidItems?: CatalogReference[];\n}\n\nexport interface DuplicateItemModifierIdsErrorData {\n /**\n * Catalog items with duplicate modifier IDs in a group.\n * @maxSize 300\n */\n invalidItems?: CatalogReference[];\n}\n\nexport interface LineItemPriceConflictErrorData {\n /**\n * Catalog items whose price no longer matches, when present.\n * @maxSize 300\n */\n invalidItems?: CatalogReference[];\n}\n\nexport interface FixedQuantityItemErrorData {\n /**\n * Line items that don't allow quantity changes.\n * @maxSize 300\n */\n invalidItems?: LineItemIdentifier[];\n}\n\nexport interface InvalidMembershipPaymentOptionErrorData {\n /**\n * Line items with invalid membership payments.\n * @maxSize 300\n */\n invalidItems?: InvalidMembershipEntry[];\n}\n\nexport interface InvalidMembershipEntry {\n /** Line item with an invalid membership payment choice. */\n invalidItemId?: LineItemIdentifier;\n /** Membership the buyer tried to use. */\n selectedMembership?: V2SelectedMembership;\n}\n\nexport interface LineItemNotFoundInCartErrorData {\n /**\n * Line item IDs that aren't in the cart.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport interface DeliveryMethodNotFoundErrorData {\n /**\n * Missing delivery method code.\n * @maxLength 100\n */\n code?: string;\n /**\n * Delivery method app ID, if applicable.\n * @maxLength 100\n */\n appId?: string | null;\n}\n\nexport interface GetCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Whether to override default cart refresh behavior.\n * If `true`, always refreshes the cart; if `false`, never refreshes; if unset, uses the default refresh logic.\n * Used by the checkout proxy for backward compatibility.\n * @internal\n */\n refreshOverride?: boolean | null;\n}\n\nexport interface GetCartResponse {\n /** Requested cart. */\n cart?: Cart;\n}\n\nexport interface GetUpsellOptionsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n}\n\nexport interface GetUpsellOptionsResponse {\n /** Upsell options available for the cart's line items. */\n itemsUpsells?: ItemUpsells[];\n}\n\nexport interface ItemUpsells {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * Upsell options available for the line item.\n * @maxSize 10\n */\n upsells?: UpsellOption[];\n}\n\n/**\n * A single upsell offer for a line item.\n * Accepting it replaces the line item's catalog reference in place, keeping the same lineItemId.\n */\nexport interface UpsellOption {\n /**\n * Upsell option ID.\n * @format GUID\n */\n _id?: string;\n /**\n * Title of the upsell option.\n * @maxLength 200\n */\n title?: string | null;\n /**\n * Description of the upsell option.\n * @maxLength 500\n */\n description?: string | null;\n /** Catalog reference of the item offered as an upsell to replace the existing one. */\n catalogReference?: CatalogReference;\n /** Metadata about the benefit of accepting this upsell option. */\n metadata?: UpsellBenefitMetadata;\n /** Price details of the upsell option. */\n priceDetails?: PriceDetails;\n}\n\nexport interface UpsellBenefitMetadata {\n /** Benefit type. */\n benefitType?: BenefitTypeWithLiterals;\n /**\n * Benefit value. For percentage benefits, this is the percentage (e.g., \"10\" for 10%). For fixed amount/price benefits, this is the amount.\n * @decimalValue options { gt:0, lte:1000000000000000, maxScale:4 }\n */\n benefitValue?: string | null;\n}\n\nexport enum BenefitType {\n /** Percentage benefit. */\n PERCENTAGE = 'PERCENTAGE',\n /** Fixed price benefit. */\n FIXED_PRICE = 'FIXED_PRICE',\n /** Fixed amount benefit. */\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n}\n\n/** @enumType */\nexport type BenefitTypeWithLiterals =\n | BenefitType\n | 'PERCENTAGE'\n | 'FIXED_PRICE'\n | 'FIXED_AMOUNT';\n\nexport interface PriceDetails {\n /** @decimalValue options { gte:0, lte:1000000000000000 } */\n price?: string;\n /** @maxLength 200 */\n description?: string | null;\n}\n\nexport interface UpdateCartRequest {\n /** Cart to update. May be partial. */\n cart?: Cart;\n /**\n * Fields to update.\n *\n * Fields that aren't included in `fieldMask.paths` are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface CartAlreadyOrderedErrorData {\n /**\n * Cart already turned into an order.\n * @format GUID\n */\n cartId?: string;\n /**\n * Matching order ID.\n * @format GUID\n */\n orderId?: string;\n}\n\nexport interface DeleteCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n}\n\nexport interface DeleteCartResponse {}\n\nexport interface RefreshCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n}\n\nexport interface RefreshCartResponse {\n /** Refreshed cart. */\n cart?: Cart;\n}\n\nexport interface EstimateCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before estimating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n /** Level of business validation to run during estimation via the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction). */\n validationConfig?: ValidationsConfigWithLiterals;\n /**\n * Whether to calculate delivery costs.\n *\n * Default: `false`.\n */\n calculateDelivery?: boolean;\n /**\n * Whether to calculate additional fees.\n *\n * Default: `false`.\n */\n calculateAdditionalFees?: boolean;\n /**\n * Whether to calculate tax.\n *\n * Default: `false`.\n */\n calculateTax?: boolean;\n /**\n * Whether to include the effect of gift card balances on the cart total.\n * Gift cards aren't redeemed; balances are reflected for estimation only.\n *\n * Default: `false`.\n */\n calculateGiftCards?: boolean;\n}\n\nexport enum ValidationsConfig {\n /** No business validations are performed. */\n SKIP_VALIDATIONS = 'SKIP_VALIDATIONS',\n /** Perform cart-level business validations as defined by the service plugin implementer. */\n PRE_CHECKOUT_VALIDATIONS = 'PRE_CHECKOUT_VALIDATIONS',\n /** Perform checkout-specific business validations as defined by the service plugin implementer. */\n CHECKOUT_VALIDATIONS = 'CHECKOUT_VALIDATIONS',\n}\n\n/** @enumType */\nexport type ValidationsConfigWithLiterals =\n | ValidationsConfig\n | 'SKIP_VALIDATIONS'\n | 'PRE_CHECKOUT_VALIDATIONS'\n | 'CHECKOUT_VALIDATIONS';\n\nexport interface EstimateCartResponse {\n /** Cart with estimated values. */\n cart?: Cart;\n /** Estimation summary. */\n summary?: CartSummary;\n}\n\nexport interface CalculateCartRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before calculating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n}\n\nexport interface CalculateCartResponse {\n /** Cart with calculated values. */\n cart?: Cart;\n /** Calculation summary. */\n summary?: CartSummary;\n}\n\nexport interface CalculateCartForV1Request {\n /**\n * ID of the Cart to calculate.\n * @format GUID\n */\n cartId?: string;\n /**\n * Specifies the level of **business validation** to perform during cart calculation,\n * by calling the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).\n */\n validationsConfig?: ValidationsConfigWithLiterals;\n /**\n * Optional custom configuration for the calculation.\n * If not provided, all price components are calculated by default.\n */\n customCalculationConfig?: CalculationConfig;\n /** Calculations overrides for backward compatibility with V1. */\n calculationOverrides?: CalculationOverrides;\n /** Cart revision that must still be current for the calculation to run. */\n expectedRevision?: string | null;\n}\n\nexport interface CalculationConfig {\n /**\n * Whether to calculate delivery costs.\n *\n * Default: `false`.\n */\n calculateDelivery?: boolean;\n /**\n * Whether to calculate additional fees.\n *\n * Default: `false`.\n */\n calculateAdditionalFees?: boolean;\n /**\n * Whether to calculate tax.\n *\n * Default: `false`.\n */\n calculateTax?: boolean;\n /**\n * Whether to include the effect of gift card balances on the cart total.\n * Gift cards aren't redeemed; balances are reflected for estimation only.\n *\n * Default: `false`.\n */\n calculateGiftCards?: boolean;\n}\n\nexport interface CalculationOverrides {\n /**\n * Delivery method.\n *\n * Pass this field only when the cart has no delivery method yet.\n */\n deliveryMethod?: DeliveryMethodInput;\n /**\n * Delivery address.\n * Used to calculate tax and shipping when applicable.\n */\n deliveryAddress?: Address;\n /**\n * Billing address.\n * Used to calculate tax when all items in the cart aren't shippable.\n */\n billingAddress?: Address;\n /** Selected membership payment options and the line items they apply to. */\n selectedMemberships?: SelectedMemberships;\n}\n\nexport interface SelectedMemberships {\n /**\n * Selected memberships.\n * @maxSize 300\n */\n memberships?: SelectedMembership[];\n}\n\nexport interface SelectedMembership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 200\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 CalculateCartForV1Response {\n /** The Cart that was calculated. */\n cart?: Cart;\n /** The calculation summary. */\n summary?: CartSummary;\n /**\n * Totals payload used for backward compatibility with legacy clients.\n * Used by the Cart and Checkout proxies.\n */\n totalsResponse?: CalculateTotalsResponse;\n}\n\nexport interface CalculateTotalsResponse {\n /** Calculate line items. */\n calculatedLineItems?: CalculatedLineItem[];\n /** Price summary. */\n priceSummary?: V1PriceSummary;\n /**\n * DEPRECATED: Use gift_cards instead.\n * @deprecated DEPRECATED: Use gift_cards instead.\n * @replacedBy gift_cards\n * @targetRemovalDate 2026-12-01\n */\n giftCard?: GiftCard;\n /** Tax summary. */\n taxSummary?: TaxSummary;\n /** Shipping information. */\n shippingInfo?: ShippingInformation;\n /**\n * Applied discounts.\n * @maxSize 320\n */\n appliedDiscounts?: AppliedDiscount[];\n /** Calculation errors. */\n calculationErrors?: CalculationErrors;\n /** Weight unit. */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * The currency the price calculations were performed in.\n * This is the business’s default currency: the base currency configured for the site, which remains constant regardless of the [customer’s currency selection](https://support.wix.com/en/article/multicurrency-an-overview).\n * When `amountCurrency` is specified on the request, this returns that value instead.\n * @format CURRENCY\n */\n currency?: string;\n /**\n * The currency the converted price calculations are in.\n * This is the currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview), which may differ from `currency`.\n * When `amountCurrency` is specified on the request, nothing is converted and this returns that value.\n * @readonly\n * @format CURRENCY\n */\n conversionCurrency?: string;\n /** Whether tax is included in price. */\n taxIncludedInPrice?: boolean;\n /**\n * Minimal amount to pay in order to place the order.\n * @readonly\n */\n payNow?: V1PriceSummary;\n /**\n * Remaining amount for the order to be fully paid.\n * @readonly\n */\n payLater?: V1PriceSummary;\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 * The rate used when converting from the site currency to the checkout currency.\n * @readonly\n * @decimalValue options { gt:0, lte:1000000000000000 }\n */\n checkoutConversionRate?: string | null;\n /**\n * The pay now total amount after all gift cards are applied.\n * @readonly\n */\n payNowTotalAfterGiftCard?: MultiCurrencyPrice;\n /**\n * The total amount after all gift cards are applied.\n * @readonly\n */\n totalAfterGiftCard?: MultiCurrencyPrice;\n /**\n * Payment for subscriptions after free trial period.\n * @readonly\n */\n payAfterFreeTrial?: V1PriceSummary;\n /**\n * Platform fee summery.\n * @internal\n */\n platformFeeSummary?: PlatformFeeSummary;\n /**\n * Details of applied gift cards.\n * @internal\n */\n giftCards?: GiftCard[];\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 /** Catalog price before any discounts, with modifiers. */\n fullPrice?: MultiCurrencyPrice;\n /** Sum of all modifiers for a single unit of the item. */\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 out of `price` 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 group ID, if specified.\n * @internal\n * @format GUID\n */\n taxGroupId?: string | null;\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 * True for items we have a tax applied on them\n * @internal\n */\n isItemTaxable?: boolean | null;\n /**\n * True if the lineAmount include tax in it.\n * @internal\n */\n isTaxIncluded?: boolean | null;\n /**\n * The calculator that calculated this line tax\n * @internal\n * @maxLength 25\n */\n calculatorName?: string | null;\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 type of tax that was calculated\n * @internal\n */\n taxType?: string | null;\n /**\n * The name of the jurisdiction in which this tax detail applies\n * @internal\n */\n jurisdiction?: string | null;\n /**\n * The type of the jurisdiction in which this tax detail applies(Country,State,County,City,Special).\n * @internal\n */\n jurisdictionType?: string | null;\n /**\n * The amount of this line item that was exempt from this authority.\n * @internal\n */\n exemptAmount?: MultiCurrencyPrice;\n /**\n * ids of the used exemptions from the TaxEstimate exemptions array.\n * @internal\n * @maxSize 1000\n */\n exemptionIds?: number[];\n /**\n * The taxable amount of this tax detail\n * @internal\n */\n taxableAmount?: MultiCurrencyPrice;\n /**\n * The Taxes/Fee component. True if the fee is applied.\n * @internal\n */\n isFee?: boolean | null;\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 V1PriceSummary {\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 * Full gift card code. Echoed from the request input for correlation.\n * @internal\n * @minLength 8\n * @maxLength 20\n */\n code?: string;\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 * Manual tax rate\n * @internal\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n * @readonly\n * @deprecated\n */\n manualTaxRate?: string;\n /**\n * Tax calculator that was active when the order was created.\n * @deprecated\n */\n calculationDetails?: TaxCalculationDetails;\n /**\n * Tax estimation id in tax service\n * @internal\n * @readonly\n */\n taxEstimationId?: string | null;\n /**\n * Average Tax Rate\n * @internal\n * @decimalValue options { gte:0, lte:1, maxScale:6 }\n * @readonly\n */\n averageTaxRate?: string | null;\n /**\n * The amount of this estimate that was exempt (for all line items).\n * @internal\n * @readonly\n */\n totalExempt?: MultiCurrencyPrice;\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 * @internal\n * @readonly\n * @maxSize 50\n */\n aggregatedTaxBreakdown?: AggregatedTaxBreakdown[];\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\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 * Expected delivery time slot (from and to time stamps representation)\n * @internal\n */\n deliveryTimeSlot?: DeliveryTimeSlot;\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 STORE_PICKUP = 'STORE_PICKUP',\n PICKUP_POINT = 'PICKUP_POINT',\n}\n\n/** @enumType */\nexport type PickupMethodWithLiterals =\n | PickupMethod\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 CalculationErrors\n extends CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Errors related to the delivery carrier. */\n carrierErrors?: CarrierErrors;\n /** Error related to the selected shipping option. */\n selectedShippingOptionError?: Details;\n /** Tax calculation error. */\n taxCalculationError?: Details;\n /** Coupon calculation error. */\n couponCalculationError?: Details;\n /**\n * DEPRECATED: Use gift_card_calculation_errors instead.\n * @deprecated DEPRECATED: Use gift_card_calculation_errors instead.\n * @replacedBy gift_card_calculation_errors\n * @targetRemovalDate 2026-12-01\n */\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 * Gift card calculation errors, one per failed card.\n * @internal\n */\n giftCardCalculationErrors?: GiftCardCalculationError[];\n}\n\n/** @oneof */\nexport interface CalculationErrorsShippingCalculationErrorOneOf {\n /** General shipping calculation error. */\n generalShippingCalculationError?: Details;\n /** Errors related to the delivery carrier. */\n carrierErrors?: CarrierErrors;\n /** Error related to the selected shipping option. */\n selectedShippingOptionError?: Details;\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 GiftCardCalculationError {\n /** Gift card code with most characters masked for security. */\n obfuscatedCode?: string;\n /** Error details. */\n error?: Details;\n /**\n * Full gift card code. Echoed from the request input for correlation.\n * @internal\n * @minLength 8\n * @maxLength 20\n */\n code?: string;\n}\n\nexport interface MembershipOptions {\n /**\n * List of payment options that can be used.\n * Populated by the legacy ListEligibleMemberships flow.\n * @maxSize 300\n * @deprecated List of payment options that can be used.\n * Populated by the legacy ListEligibleMemberships flow.\n * @replacedBy validated_existing_memberships\n * @targetRemovalDate 2026-10-01\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 * Populated by the legacy ListEligibleMemberships flow.\n * @maxSize 300\n * @deprecated List of payment options that are owned by the member, but cannot be used due to reason provided.\n * Populated by the legacy ListEligibleMemberships flow.\n * @replacedBy validated_existing_memberships\n * @targetRemovalDate 2026-10-01\n */\n invalidMemberships?: InvalidMembership[];\n /**\n * The selected membership payment options and which line items they apply to.\n * Populated by the legacy ListEligibleMemberships flow.\n * @maxSize 300\n * @deprecated The selected membership payment options and which line items they apply to.\n * Populated by the legacy ListEligibleMemberships flow.\n * @replacedBy validated_existing_memberships\n * @targetRemovalDate 2026-10-01\n */\n selectedMemberships?: SelectedMembership[];\n /**\n * Validated existing memberships selected for redemption, each with the line items it can cover.\n * Populated by the EnhanceAndValidateSelection flow.\n * @internal\n */\n validatedExistingMemberships?: ValidatedExistingMemberships;\n /**\n * Validated future plans (purchasable during this checkout) and how their benefits cover the line items.\n * Populated by the EnhanceAndValidateSelection flow.\n * @internal\n */\n validatedPurchasablePlans?: ValidatedPurchasablePlans;\n}\n\nexport interface Membership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 200\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 * Deprecated. Use `ExistingMembership.covered_line_items` to see which line items this membership covers.\n *\n * Only populated in the legacy `ListEligibleMemberships` flow, which still requires it. Empty on\n * `ListMembershipsByIds`, a by-id lookup that receives no line items to report against.\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n /** Membership's payment credits (balance information). */\n credits?: MembershipPaymentCredits;\n /** Membership expiration date. */\n expirationDate?: Date | null;\n /**\n * Deprecated. Use `offering_description`.\n * @deprecated\n * @replacedBy offering_description\n * @targetRemovalDate 2026-08-30\n */\n additionalData?: Record<string, any> | null;\n /**\n * Human-readable offering summary for display. Provider-supplied.\n * @internal\n * @maxLength 500\n */\n offeringDescription?: string | 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 * Deprecated. The new flow no longer exposes a per-item redemption cost on a membership's credits;\n * what a membership can pay for is conveyed by `ExistingMembership.covered_line_items` (per-item redemption cost).\n * @internal\n * @deprecated\n * @replacedBy ExistingMembership.covered_line_items.redemption_cost\n * @targetRemovalDate 2026-08-30\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\n/** Same shape as `ListExistingMembershipsResponse.memberships`. */\nexport interface ValidatedExistingMemberships {\n /**\n * The selected memberships, each paired with the line items it can redeem and the cost to redeem each.\n * @maxSize 300\n */\n memberships?: ExistingMembership[];\n}\n\n/**\n * A membership the member already owns, together with the input line items it can pay for.\n *\n * A membership is a single benefit granted by a plan the member has already paid for, so coverage is\n * nested here per membership (no `benefit_id` linkage is needed, unlike a plan that grants many benefits).\n */\nexport interface ExistingMembership {\n /** The membership the member owns. */\n membership?: V1Membership;\n /**\n * The input line items this membership can pay for, and the cost to redeem each.\n * @maxSize 300\n */\n coveredLineItems?: CoveredLineItem[];\n}\n\nexport interface V1Membership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 200\n */\n _id?: string;\n /** Membership name. */\n name?: MembershipName;\n /**\n * Deprecated. Use `ExistingMembership.covered_line_items` to see which line items this membership covers.\n *\n * Populate this only in the legacy `ListEligibleMemberships` flow, which still requires it and rejects a\n * membership that omits it. Leave it empty everywhere else - `ListMembershipsByIds` receives no line items\n * at all, so there is nothing to report there.\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n * @deprecated\n * @replacedBy ExistingMembership.covered_line_items.line_item_id\n * @targetRemovalDate 2026-08-30\n */\n lineItemIds?: string[];\n /** Membership's payment credits (balance information). */\n credits?: MembershipPaymentCredits;\n /** Membership expiration date. */\n expirationDate?: Date | null;\n /**\n * Deprecated. Use `offering_description` for human-readable provider data.\n * @deprecated\n * @replacedBy offering_description\n * @targetRemovalDate 2026-08-30\n */\n additionalData?: Record<string, any> | null;\n /**\n * Human-readable offering summary for display (for example price and validity text). Provider-supplied.\n * @internal\n * @maxLength 500\n */\n offeringDescription?: string | null;\n}\n\n/** A line item a membership can pay for, and the cost to redeem it. */\nexport interface CoveredLineItem {\n /**\n * The input line item this membership can cover.\n * @minLength 1\n * @maxLength 100\n */\n lineItemId?: string;\n /**\n * The amount to redeem from the membership's benefit quota (`benefit.limited_quota.remaining`) for this item.\n * Always 0 when the benefit is unlimited (nothing is decremented).\n */\n redemptionCost?: number;\n}\n\n/** Same shape as `ListPurchasablePlansResponse`. */\nexport interface ValidatedPurchasablePlans {\n /**\n * The selected plans.\n * @maxSize 300\n */\n purchasablePlans?: PurchasablePlan[];\n /**\n * How the plans' benefits cover the line items, linked to a benefit by `benefit_id`.\n * @maxSize 300\n */\n coverages?: LineItemCoverage[];\n}\n\nexport interface PurchasablePlan {\n /** Catalog and item reference for the plan that can be purchased. */\n catalogReference?: CatalogReference;\n /** Plan name. */\n name?: MembershipName;\n /**\n * Benefits the plan would grant once purchased. Multiple entries support multi-benefit plans (e.g., a bundle granting separate yoga and pilates credits).\n * @minSize 1\n * @maxSize 50\n */\n benefits?: Benefit[];\n /**\n * Human-readable offering summary for display (for example price and validity text). Provider-supplied.\n * @maxLength 500\n */\n offeringDescription?: string | null;\n /**\n * URL the buyer is redirected to in order to collect additional info required to purchase this plan.\n * @format WEB_URL\n */\n infoCollectionUrl?: string | null;\n /**\n * Plan price.\n * @decimalValue options { gte:0, maxScale:3 }\n */\n price?: string;\n /**\n * Human-readable description of the plan price (for example \"First month free, then $20/month\").\n *\n * `price` is simply the price (useful for sorting or comparison, for example), while this is a\n * descriptive, display-oriented summary of it.\n * @maxLength 500\n */\n priceDescription?: string | null;\n}\n\n/**\n * A single redeemable benefit. A purchasable plan grants one or more benefits (`PurchasablePlan.benefits`);\n * once the plan is paid, each benefit becomes its own membership (charged via `membership_id`).\n */\nexport interface Benefit extends BenefitQuotaOneOf {\n limitedQuota?: LimitedQuota;\n /**\n * Identifier for this benefit. On a `PurchasablePlan` it must be unique within the response so\n * `coverages` (`LineItemCoverage.benefit_id`) can reference it unambiguously across the plan's benefits.\n * @minLength 1\n * @maxLength 200\n */\n benefitId?: string;\n /**\n * Human-readable label for this benefit (for example, \"Manicure\" or \"Pedicure\" on multi-set punchcards).\n * @maxLength 200\n */\n label?: string | null;\n /**\n * The kind of quota this benefit grants: a countable amount drawn down on redemption (`LIMITED`),\n * or an unbounded amount that is never drawn down (`UNLIMITED`).\n */\n quotaType?: QuotaTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BenefitQuotaOneOf {\n limitedQuota?: LimitedQuota;\n}\n\nexport enum QuotaType {\n /** The benefit grants a countable quota that is drawn down on redemption. */\n LIMITED = 'LIMITED',\n /** The benefit is unlimited (unbounded) and is never drawn down. */\n UNLIMITED = 'UNLIMITED',\n}\n\n/** @enumType */\nexport type QuotaTypeWithLiterals = QuotaType | 'LIMITED' | 'UNLIMITED';\n\n/** A limited, countable redeemable amount. */\nexport interface LimitedQuota {\n /**\n * The quota's initial value.\n * @min 1\n */\n total?: number;\n /** The quota's remaining value. */\n remaining?: number;\n /** How the quota is measured. */\n limitedQuotaType?: LimitedQuotaTypeWithLiterals;\n}\n\nexport enum LimitedQuotaType {\n /** Quota is measured in discrete uses (e.g., sessions, visits). */\n PUNCH_CARD = 'PUNCH_CARD',\n /** Quota is measured in a currency-like value (e.g., points). */\n CREDIT = 'CREDIT',\n}\n\n/** @enumType */\nexport type LimitedQuotaTypeWithLiterals =\n | LimitedQuotaType\n | 'PUNCH_CARD'\n | 'CREDIT';\n\n/**\n * Maps a benefit to a line item it can cover, and at what cost, linked to a benefit by `benefit_id`.\n * One entry per (benefit, line item). Returned by `ListPurchasablePlans` (alongside `purchasable_plans`).\n * For the existing-memberships flow the equivalent mapping is `ExistingMembership.covered_line_items`,\n * which needs no `benefit_id` because a membership is a single benefit.\n */\nexport interface LineItemCoverage {\n /**\n * The benefit that covers the line item, as returned in `Benefit.benefit_id`.\n * @minLength 1\n * @maxLength 200\n */\n benefitId?: string;\n /**\n * The line item this benefit covers.\n * @minLength 1\n * @maxLength 100\n */\n lineItemId?: string;\n /**\n * The amount to redeem from the benefit's `limited_quota.remaining` value for this item.\n * Always 0 for an unlimited benefit (nothing is decremented).\n */\n redemptionCost?: number;\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 * 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 /** Address type tax was calculated against for this fee. */\n taxableAddress?: TaxableAddress;\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 PlatformFeeSummary {\n /** Total platform fee amount. */\n total?: MultiCurrencyPrice;\n /** Total platform fee passed on to the customer. */\n totalPassOn?: MultiCurrencyPrice;\n /** Total platform fee absorbed by the merchant. */\n totalAbsorbed?: MultiCurrencyPrice;\n /**\n * Calculated platform fees.\n * @maxSize 100\n */\n calculatedPlatformFees?: CalculatedPlatformFee[];\n}\n\nexport interface CalculatedPlatformFee {\n /** Platform fee name. */\n name?: TranslatableString;\n /** Platform fee amount. */\n amount?: MultiCurrencyPrice;\n /**\n * ID of the line item the platform fee applies to.\n * @format GUID\n */\n lineItemId?: string;\n /** Platform fee charge type. */\n chargeType?: PlatformFeeChargeTypeWithLiterals;\n /**\n * Percentage rate charged as platform fee.\n * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.\n * @format DECIMAL_VALUE\n * @decimalValue options { gt:0, lte:1, maxScale:4 }\n */\n percentageRate?: string;\n}\n\nexport enum PlatformFeeChargeType {\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 | 'PASS_ON'\n | 'ABSORBED';\n\nexport interface CartRevisionMismatchErrorData {\n /** Cart revision requested by the caller. */\n expectedRevision?: string;\n /** Current Cart revision. */\n currentRevision?: string;\n}\n\nexport interface GetCheckoutURLRequest {\n /**\n * ID of the Cart to calculate.\n * @format GUID\n */\n cartId?: string;\n /**\n * Checkout currency parameter to append as a query param\n * @format CURRENCY\n */\n currencyCode?: string | null;\n}\n\nexport interface GetCheckoutURLResponse {\n /**\n * The checkout URL.\n * @format WEB_URL\n */\n checkoutUrl?: string;\n}\n\nexport interface PlaceOrderRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Price verification token from `CalculateCart` response.\n * Used to verify that prices shown to the customer haven't changed before checkout completes.\n * @maxLength 3000\n */\n priceVerificationToken?: string | null;\n /**\n * Payment token.\n * @internal\n * @maxLength 100\n */\n paymentToken?: string | null;\n /**\n * URLs to use after payment completes.\n * @internal\n */\n redirectUrls?: RedirectUrls;\n /** Whether to save the payment method on the order. */\n savePaymentMethod?: boolean;\n /** Whether to authorize the payment and delay capture. */\n delayCapture?: boolean;\n /**\n * Whether the order is being placed from within a native mobile app\n * (iOS or Android) where the buyer paid via the platform's in-app\n * purchase system.\n * When true and the order contains subscription items,\n * Wix does not collect recurring renewal charges — the mobile platform's\n * in-app purchase system handles all subsequent renewal billing.\n *\n * Default: `false`\n * @internal\n */\n inAppPurchase?: boolean;\n}\n\nexport interface RedirectUrls {\n /**\n * URL to redirect to if payment is canceled (usually the checkout URL). Optional.\n * @maxLength 2000\n */\n cancelUrl?: string | null;\n /**\n * URL to redirect to if a payment error occurs (usually the checkout URL). Optional.\n * @maxLength 2000\n */\n errorUrl?: string | null;\n /**\n * URL to redirect to after successful payment. Optional. May include the `{orderId}` placeholder.\n * @maxLength 2000\n */\n successUrl?: string | null;\n /**\n * URL to redirect to if payment is pending. Optional. May include the `{orderId}` placeholder.\n * @maxLength 2000\n */\n pendingUrl?: string | null;\n}\n\nexport interface PlaceOrderResponse {\n /**\n * Order ID.\n * @format GUID\n */\n orderId?: string;\n /**\n * Payment response token.\n * @internal\n * @maxLength 1000\n */\n paymentResponseToken?: string | null;\n /**\n * Cashier payment gateway order ID when money was charged.\n * Omitted when no charge occurs (for example, a zero-total cart, a fully discounted order, or when another payment method such as a gift card covers the total).\n * @maxLength 50\n */\n paymentGatewayOrderId?: string | null;\n /** Whether an order was created from this cart and the payment completed successfully. */\n completed?: boolean;\n}\n\nexport interface InvalidThirdPartyCheckoutTokenErrorData {\n /**\n * Invalid third-party checkout token.\n * @maxLength 3000\n */\n token?: string;\n}\n\nexport interface InvalidPriceVerificationTokenErrorData {\n /**\n * Invalid price verification token.\n * @maxLength 3000\n */\n token?: string;\n}\n\nexport interface ViolationWithErrorSeverityErrorData {\n /** Violations payload. */\n violationsList?: ViolationsList;\n}\n\nexport interface ViolationsList {\n /**\n * Violations raised by Validations SPI implementers.\n * @maxSize 100\n */\n violations?: Violation[];\n}\n\nexport interface InvalidMembershipErrorData {\n /**\n * Message explaining the membership issue.\n * @maxLength 100\n */\n message?: string;\n}\n\nexport interface InvalidPaymentStatusErrorData {\n /**\n * Payment token when present.\n * @maxLength 100\n */\n paymentToken?: string | null;\n /**\n * Transaction status.\n * @maxLength 100\n */\n transactionStatus?: string;\n /**\n * Failure details when available.\n * @maxLength 100\n */\n failureDetails?: string | null;\n}\n\nexport interface GiftCardRedeemErrorData {\n /**\n * Message for the gift card redemption failure.\n * @maxLength 100\n */\n error?: string;\n}\n\nexport interface EmptyPaymentTokenErrorData {\n /**\n * Order total when the payment token was empty.\n * @maxLength 100\n */\n total?: string;\n}\n\nexport interface InvalidCartErrorData {\n /**\n * Related violations.\n * @maxSize 100\n */\n violations?: V2Violation[];\n}\n\nexport interface AddLineItemsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Catalog items to add to the cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * Custom items to add to the cart.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n}\n\nexport interface AddLineItemsResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveLineItemsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Line item IDs to remove from the 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 UpdateLineItemsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Line item updates to apply to the cart.\n * @minSize 1\n * @maxSize 300\n */\n lineItems?: LineItemUpdate[];\n}\n\nexport interface LineItemUpdate {\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Quantity update. If omitted, quantity isn't updated. */\n quantity?: QuantityUpdate;\n /**\n * Selected membership update. If omitted, membership isn't updated.\n *\n * DEPRECATED — migrate to `membership_payment`.\n * @deprecated\n * @replacedBy membership_payment\n * @targetRemovalDate 2026-06-22\n */\n selectedMembership?: SelectedMembershipUpdate;\n /**\n * New catalog reference to swap the line item to, keeping the same `lineItemId` and quantity.\n * For example, accepting an upsell. If omitted, the catalog reference isn't changed.\n * @internal\n */\n catalogReference?: CatalogReference;\n /**\n * Membership payment update. If omitted, the membership payment isn't updated.\n *\n * Specify an empty value to remove the current membership without selecting a new one.\n */\n membershipPayment?: MembershipInput;\n}\n\nexport interface QuantityUpdate {\n /**\n * New quantity for the line item.\n * @min 1\n * @max 100000\n */\n newQuantity?: number;\n}\n\nexport interface SelectedMembershipUpdate {\n /**\n * New `selectedMembership` for the line item.\n *\n * Pass an empty value to remove the current membership without selecting a new one.\n */\n newMembership?: V2SelectedMembership;\n}\n\nexport interface UpdateLineItemsResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface EmptyLineItemUpdatesErrorData {\n /**\n * Line item IDs with no update fields set.\n * @format GUID\n * @maxSize 300\n */\n lineItemIds?: string[];\n}\n\nexport interface DuplicateLineItemUpdatesErrorData {\n /**\n * Line item IDs repeated in the update request.\n * @format GUID\n * @maxSize 300\n */\n duplicateLineItemIds?: string[];\n}\n\nexport interface AddCouponRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Coupon to apply.\n *\n * Currently only one is supported.\n */\n coupon?: CouponInput;\n}\n\nexport interface AddCouponResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface CouponAlreadyExistsErrorData {\n /**\n * Coupon code already on the cart.\n * @maxLength 100\n */\n couponCode?: string;\n}\n\nexport interface RemoveCouponRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Coupon ID.\n * @format GUID\n */\n couponId?: string;\n}\n\nexport interface RemoveCouponResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface CouponNotFoundInCartErrorData {\n /**\n * Coupon ID that isn't in the cart.\n * @format GUID\n */\n couponId?: string;\n}\n\nexport interface SetDeliveryMethodRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /** Delivery method. */\n deliveryMethod?: DeliveryMethodInput;\n}\n\nexport interface SetDeliveryMethodResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveDeliveryMethodRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n}\n\nexport interface RemoveDeliveryMethodResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface AddGiftCardRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Gift card to add.\n *\n * Currently only one is supported.\n */\n giftCard?: GiftCardInput;\n}\n\nexport interface AddGiftCardResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface GiftCardAlreadyExistsErrorData {\n /**\n * Gift card code already on the cart.\n * @maxLength 100\n */\n giftCardCode?: string;\n}\n\nexport interface RemoveGiftCardRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Gift card ID.\n * @format GUID\n */\n giftCardId?: string;\n}\n\nexport interface RemoveGiftCardResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface GiftCardNotFoundInCartErrorData {\n /**\n * Gift card ID that isn't in the cart.\n * @format GUID\n */\n giftCardId?: string;\n}\n\nexport interface MarkCartAsCompletedRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Order ID created from the cart.\n * @format GUID\n */\n orderId?: string | null;\n}\n\nexport interface MarkCartAsCompletedResponse {\n /** Updated cart. */\n cart?: Cart;\n}\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 Empty {}\n\nexport interface HandleAsyncCheckoutCompletionRequest {\n /**\n * Server-signed JWT with data required to complete checkout.\n * @maxLength 4096\n */\n token?: string;\n}\n\nexport interface RawHttpResponse {\n body?: Uint8Array;\n statusCode?: number | null;\n headers?: HeadersEntry[];\n}\n\nexport interface HeadersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface UpdateFormSubmissionsRequest {\n /**\n * Cart ID.\n * @format GUID\n */\n cartId?: string;\n /**\n * Form submission data to set on the cart.\n * @minSize 1\n * @maxSize 1000\n */\n formSubmissions?: FormSubmission[];\n}\n\nexport interface FormSubmission {\n /**\n * Form instance ID.\n * @format GUID\n */\n _id?: string;\n /**\n * Form submission ID.\n * @format GUID\n */\n formSubmissionId?: string;\n}\n\nexport interface UpdateFormSubmissionsResponse {\n /** Updated cart. */\n cart?: Cart;\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 /** Details related to the account */\n accountInfo?: AccountInfo;\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 AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\nexport interface CreateCurrentCartRequest {\n /** Cart to create. */\n cart?: Cart;\n /**\n * A list of catalog items to add to the current cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * A list of custom items to add to the current cart.\n * Custom line items don't trigger the Catalog service plugin.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n /**\n * Coupons to apply.\n * Currently only one is supported.\n * @maxSize 1\n */\n coupons?: CouponInput[];\n /** Delivery method to set. */\n deliveryMethod?: DeliveryMethodInput;\n /**\n * Gift cards to add.\n * @maxSize 5\n */\n giftCards?: GiftCardInput[];\n}\n\nexport interface CreateCurrentCartResponse {\n /** The customer's current cart. */\n cart?: Cart;\n}\n\nexport interface GetCurrentCartRequest {}\n\nexport interface GetCurrentCartResponse {\n /** The customer's current cart. */\n cart?: Cart;\n}\n\nexport interface UpdateCurrentCartRequest {\n /** Cart to update; may be partial. */\n cart: Cart;\n /**\n * Set of fields to update.\n *\n * Fields that aren't included in `fieldMask.paths` are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface DeleteCurrentCartRequest {}\n\nexport interface DeleteCurrentCartResponse {}\n\nexport interface RefreshCurrentCartRequest {}\n\nexport interface RefreshCurrentCartResponse {\n /** Synchronized cart. */\n cart?: Cart;\n}\n\nexport interface CalculateCurrentCartRequest {\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before calculating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n}\n\nexport interface CalculateCurrentCartResponse {\n /** The cart that was calculated. */\n cart?: Cart;\n /** The calculation summary. */\n summary?: CartSummary;\n}\n\nexport interface EstimateCurrentCartRequest {\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before estimating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n /**\n * Specifies the level of **business validation** to perform during cart calculation,\n * by calling the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).\n */\n validationConfig?: ValidationsConfigWithLiterals;\n /**\n * Whether to calculate delivery costs.\n * Default: `false`.\n */\n calculateDelivery?: boolean;\n /**\n * Whether to calculate any additional fees.\n * Default: `false`.\n */\n calculateAdditionalFees?: boolean;\n /**\n * Whether to include tax calculation.\n * Default: `false`.\n */\n calculateTax?: boolean;\n /**\n * Whether to calculate the effect of gift card balances on the cart total.\n * Gift cards aren't redeemed - only reflected for estimation purposes.\n * Default: `false`.\n */\n calculateGiftCards?: boolean;\n}\n\nexport interface EstimateCurrentCartResponse {\n /** The cart that was calculated. */\n cart?: Cart;\n /** The calculation summary. */\n summary?: CartSummary;\n}\n\nexport interface AddLineItemsToCurrentCartRequest {\n /**\n * A list of catalog items to add to the current cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * A list of custom items to add to the current cart.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n}\n\nexport interface AddLineItemsToCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveLineItemsFromCurrentCartRequest {\n /**\n * Line item IDs to remove from the current cart.\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n lineItemIds: string[];\n}\n\nexport interface RemoveLineItemsFromCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface UpdateLineItemsInCurrentCartRequest {\n /**\n * Line item updates to apply.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: LineItemUpdate[];\n}\n\nexport interface UpdateLineItemsInCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface AddCouponToCurrentCartRequest {\n /**\n * Coupon to apply.\n *\n * Currently only one is supported.\n */\n coupon: CouponInput;\n}\n\nexport interface AddCouponToCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveCouponFromCurrentCartRequest {\n /**\n * Coupon ID.\n * @format GUID\n */\n couponId: string;\n}\n\nexport interface RemoveCouponFromCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface SetDeliveryMethodForCurrentCartRequest {\n /** Delivery method. */\n deliveryMethod: DeliveryMethodInput;\n}\n\nexport interface SetDeliveryMethodForCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveDeliveryMethodFromCurrentCartRequest {}\n\nexport interface RemoveDeliveryMethodFromCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface AddGiftCardToCurrentCartRequest {\n /**\n * Gift card to add.\n *\n * Currently only one is supported.\n */\n giftCard: GiftCardInput;\n}\n\nexport interface AddGiftCardToCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface RemoveGiftCardFromCurrentCartRequest {\n /**\n * Gift card ID.\n * @format GUID\n */\n giftCardId: string;\n}\n\nexport interface RemoveGiftCardFromCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface UnmarkAsCurrentCartRequest {}\n\nexport interface UnmarkAsCurrentCartResponse {\n /** The cart that was unmarked as the current cart, if one existed. */\n cart?: Cart;\n}\n\nexport interface UpdateFormSubmissionsInCurrentCartRequest {\n /**\n * Form submission data to set on the current cart.\n * @minSize 1\n * @maxSize 1000\n */\n formSubmissions?: FormSubmission[];\n}\n\nexport interface UpdateFormSubmissionsInCurrentCartResponse {\n /** Updated cart. */\n cart?: Cart;\n}\n\nexport interface GetUpsellOptionsForCurrentCartRequest {}\n\nexport interface GetUpsellOptionsForCurrentCartResponse {\n /** Upsell options available for the cart's line items. */\n itemsUpsells?: ItemUpsells[];\n}\n\n/** @docsIgnore */\nexport type CreateCurrentCartApplicationErrors =\n | {\n code?: 'ITEM_NOT_FOUND_IN_CATALOG';\n description?: string;\n data?: ItemNotFoundInCatalogErrorData;\n }\n | {\n code?: 'INSUFFICIENT_INVENTORY';\n description?: string;\n data?: InsufficientInventoryErrorData;\n }\n | {\n code?: 'MAX_LINE_ITEMS_EXCEEDED';\n description?: string;\n data?: MaxLineItemsExceededErrorData;\n }\n | {\n code?: 'MAX_ITEM_MODIFIERS_EXCEEDED';\n description?: string;\n data?: MaxItemModifiersExceededErrorData;\n }\n | {\n code?: 'DUPLICATE_MODIFIER_GROUP_IDS';\n description?: string;\n data?: DuplicateModifierGroupIdsErrorData;\n }\n | {\n code?: 'DUPLICATE_ITEM_MODIFIER_IDS';\n description?: string;\n data?: DuplicateItemModifierIdsErrorData;\n }\n | {\n code?: 'LINE_ITEM_PRICE_CONFLICT';\n description?: string;\n data?: LineItemPriceConflictErrorData;\n }\n | {\n code?: 'FIXED_QUANTITY_ITEM';\n description?: string;\n data?: FixedQuantityItemErrorData;\n }\n | {\n code?: 'INVALID_MEMBERSHIP_PAYMENT_OPTION';\n description?: string;\n data?: InvalidMembershipPaymentOptionErrorData;\n }\n | {\n code?: 'PLAN_LINE_ITEM_NOT_FOUND';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n }\n | {\n code?: 'INVALID_COUPON_CODE';\n description?: string;\n data?: InvalidCouponCodeErrorData;\n }\n | {\n code?: 'INVALID_COUPON_STATUS';\n description?: string;\n data?: InvalidCouponStatusErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_CODE';\n description?: string;\n data?: InvalidGiftCardCodeErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_STATUS';\n description?: string;\n data?: InvalidGiftCardStatusErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_NOT_FOUND';\n description?: string;\n data?: DeliveryMethodNotFoundErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_ADDRESS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_LINE_ITEMS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DEPOSIT_AMOUNT_GREATER_THAN_UNIT_PRICE';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type UpdateCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'BUSINESS_LOCATION_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'INVALID_ADDRESS_FORMAT';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DATA_EXTENSION_UPDATE_FAILED';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type RefreshCurrentCartApplicationErrors = {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n};\n/** @docsIgnore */\nexport type CalculateCurrentCartApplicationErrors = {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n};\n/** @docsIgnore */\nexport type EstimateCurrentCartApplicationErrors = {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n};\n/** @docsIgnore */\nexport type AddLineItemsToCurrentCartApplicationErrors =\n | {\n code?: 'ITEM_NOT_FOUND_IN_CATALOG';\n description?: string;\n data?: ItemNotFoundInCatalogErrorData;\n }\n | {\n code?: 'INSUFFICIENT_INVENTORY';\n description?: string;\n data?: InsufficientInventoryErrorData;\n }\n | {\n code?: 'MAX_LINE_ITEMS_EXCEEDED';\n description?: string;\n data?: MaxLineItemsExceededErrorData;\n }\n | {\n code?: 'MAX_ITEM_MODIFIERS_EXCEEDED';\n description?: string;\n data?: MaxItemModifiersExceededErrorData;\n }\n | {\n code?: 'DUPLICATE_MODIFIER_GROUP_IDS';\n description?: string;\n data?: DuplicateModifierGroupIdsErrorData;\n }\n | {\n code?: 'DUPLICATE_ITEM_MODIFIER_IDS';\n description?: string;\n data?: DuplicateItemModifierIdsErrorData;\n }\n | {\n code?: 'LINE_ITEM_PRICE_CONFLICT';\n description?: string;\n data?: LineItemPriceConflictErrorData;\n }\n | {\n code?: 'FIXED_QUANTITY_ITEM';\n description?: string;\n data?: FixedQuantityItemErrorData;\n }\n | {\n code?: 'INVALID_MEMBERSHIP_PAYMENT_OPTION';\n description?: string;\n data?: InvalidMembershipPaymentOptionErrorData;\n }\n | {\n code?: 'PLAN_LINE_ITEM_NOT_FOUND';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n }\n | {\n code?: 'INVALID_COUPON_CODE';\n description?: string;\n data?: InvalidCouponCodeErrorData;\n }\n | {\n code?: 'INVALID_COUPON_STATUS';\n description?: string;\n data?: InvalidCouponStatusErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_CODE';\n description?: string;\n data?: InvalidGiftCardCodeErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_STATUS';\n description?: string;\n data?: InvalidGiftCardStatusErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_NOT_FOUND';\n description?: string;\n data?: DeliveryMethodNotFoundErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_ADDRESS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_LINE_ITEMS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'NO_LINE_ITEMS_TO_ADD';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DEPOSIT_AMOUNT_GREATER_THAN_UNIT_PRICE';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'SUBSCRIPTION_WITH_ANCHOR_DAY_AND_FREE_TRIAL';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'SUBSCRIPTION_WITH_ANCHOR_DAY_AND_NON_MONTHLY_FREQUENCY';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type RemoveLineItemsFromCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'LINE_ITEM_NOT_FOUND_IN_CART';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n };\n/** @docsIgnore */\nexport type UpdateLineItemsInCurrentCartApplicationErrors =\n | {\n code?: 'EMPTY_LINE_ITEM_UPDATES';\n description?: string;\n data?: EmptyLineItemUpdatesErrorData;\n }\n | {\n code?: 'DUPLICATE_LINE_ITEM_UPDATES';\n description?: string;\n data?: DuplicateLineItemUpdatesErrorData;\n }\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'LINE_ITEM_NOT_FOUND_IN_CART';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n }\n | {\n code?: 'ITEM_NOT_FOUND_IN_CATALOG';\n description?: string;\n data?: ItemNotFoundInCatalogErrorData;\n }\n | {\n code?: 'INSUFFICIENT_INVENTORY';\n description?: string;\n data?: InsufficientInventoryErrorData;\n }\n | {\n code?: 'INVALID_MEMBERSHIP_PAYMENT_OPTION';\n description?: string;\n data?: InvalidMembershipPaymentOptionErrorData;\n }\n | {\n code?: 'PLAN_LINE_ITEM_NOT_FOUND';\n description?: string;\n data?: LineItemNotFoundInCartErrorData;\n };\n/** @docsIgnore */\nexport type AddCouponToCurrentCartApplicationErrors =\n | {\n code?: 'COUPON_ALREADY_EXISTS';\n description?: string;\n data?: CouponAlreadyExistsErrorData;\n }\n | {\n code?: 'MAX_COUPONS_PER_CART_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'COUPON_LOCKED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'INVALID_COUPON_CODE';\n description?: string;\n data?: InvalidCouponCodeErrorData;\n }\n | {\n code?: 'INVALID_COUPON_STATUS';\n description?: string;\n data?: InvalidCouponStatusErrorData;\n };\n/** @docsIgnore */\nexport type RemoveCouponFromCurrentCartApplicationErrors =\n | {\n code?: 'COUPON_NOT_FOUND_IN_CART';\n description?: string;\n data?: CouponNotFoundInCartErrorData;\n }\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'COUPON_LOCKED';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type SetDeliveryMethodForCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_NOT_FOUND';\n description?: string;\n data?: DeliveryMethodNotFoundErrorData;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_ADDRESS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'DELIVERY_METHOD_MISSING_LINE_ITEMS';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type RemoveDeliveryMethodFromCurrentCartApplicationErrors = {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n};\n/** @docsIgnore */\nexport type AddGiftCardToCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_CODE';\n description?: string;\n data?: InvalidGiftCardCodeErrorData;\n }\n | {\n code?: 'INVALID_GIFT_CARD_STATUS';\n description?: string;\n data?: InvalidGiftCardStatusErrorData;\n }\n | {\n code?: 'MAX_GIFT_CARDS_PER_CART_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'GIFT_CARD_ALREADY_EXISTS';\n description?: string;\n data?: GiftCardAlreadyExistsErrorData;\n }\n | {\n code?: 'GIFT_CARD_LOCKED';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'GIFT_CARD_PAYMENT_NOT_SUPPORTED_ON_DEMO_CART';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type RemoveGiftCardFromCurrentCartApplicationErrors =\n | {\n code?: 'CART_ALREADY_ORDERED';\n description?: string;\n data?: CartAlreadyOrderedErrorData;\n }\n | {\n code?: 'GIFT_CARD_NOT_FOUND_IN_CART';\n description?: string;\n data?: GiftCardNotFoundInCartErrorData;\n }\n | {\n code?: 'GIFT_CARD_LOCKED';\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 /** Details related to the account */\n accountInfo?: AccountInfo;\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 accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface CartCalculatedEnvelope {\n data: CartSummary;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a cart is calculated.\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.v2.cart_calculated\n * @slug calculated\n */\nexport declare function onCartCalculated(\n handler: (event: CartCalculatedEnvelope) => 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.v2.cart_created\n * @slug created\n */\nexport declare function onCartCreated(\n handler: (event: CartCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface CartDeletedEnvelope {\n entity: Cart;\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.v2.cart_deleted\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/**\n * Triggered when a cart is updated.\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.v2.cart_updated\n * @slug updated\n */\nexport declare function onCartUpdated(\n handler: (event: CartUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates the customer's current cart.\n * @public\n * @requiredField options.catalogItems.catalogReference\n * @requiredField options.catalogItems.quantity\n * @requiredField options.catalogItems.selectedMembership._id\n * @requiredField options.catalogItems.selectedMembership.appId\n * @requiredField options.customItems.attributes\n * @requiredField options.customItems.name\n * @requiredField options.customItems.pricing\n * @requiredField options.customItems.quantityInfo\n * @requiredField options.customItems.quantityInfo.requestedQuantity\n * @permissionId ecom:v2:cart:create_current_cart\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.CreateCurrentCart\n */\nexport async function createCurrentCart(\n options?: NonNullablePaths<\n CreateCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n): Promise<\n NonNullablePaths<\n CreateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: CreateCurrentCartApplicationErrors;\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 cart: options?.cart,\n catalogItems: options?.catalogItems,\n customItems: options?.customItems,\n coupons: options?.coupons,\n deliveryMethod: options?.deliveryMethod,\n giftCards: options?.giftCards,\n }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n { path: 'catalogItems.catalogOverrideFields.image' },\n { path: 'customItems.attributes.image' },\n ],\n },\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'cart.lineItems.attributes.url' },\n { path: 'customItems.attributes.url' },\n ],\n },\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV2Cart.createCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n cart: '$[0].cart',\n catalogItems: '$[0].catalogItems',\n customItems: '$[0].customItems',\n coupons: '$[0].coupons',\n deliveryMethod: '$[0].deliveryMethod',\n giftCards: '$[0].giftCards',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateCurrentCartOptions {\n /** Cart to create. */\n cart?: Cart;\n /**\n * A list of catalog items to add to the current cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * A list of custom items to add to the current cart.\n * Custom line items don't trigger the Catalog service plugin.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n /**\n * Coupons to apply.\n * Currently only one is supported.\n * @maxSize 1\n */\n coupons?: CouponInput[];\n /** Delivery method to set. */\n deliveryMethod?: DeliveryMethodInput;\n /**\n * Gift cards to add.\n * @maxSize 5\n */\n giftCards?: GiftCardInput[];\n}\n\n/**\n * Retrieves the customer's current cart.\n * @public\n * @permissionId ecom:v2:cart:get_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.GetCurrentCart\n */\nexport async function getCurrentCart(): Promise<\n NonNullablePaths<\n GetCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts = ambassadorWixEcomV2Cart.getCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates the customer's current cart.\n *\n * Use this endpoint to set and replace fields such as buyer note and delivery method.\n * To add or remove elements from lists (for example, line items, discounts, gift cards), use their dedicated endpoints.\n * @param cart - Cart to update; may be partial.\n * @public\n * @requiredField cart\n * @permissionId ecom:v2:cart:update_current_cart\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.UpdateCurrentCart\n */\nexport async function updateCurrentCart(cart: Cart): Promise<\n NonNullablePaths<\n UpdateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: UpdateCurrentCartApplicationErrors;\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({ cart: cart }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformSDKAddressToRESTAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV2Cart.updateCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { cart: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['cart']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Deletes the customer's current cart.\n * @public\n * @permissionId ecom:v2:cart:delete_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.DeleteCurrentCart\n */\nexport async function deleteCurrentCart(): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts = ambassadorWixEcomV2Cart.deleteCurrentCart(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: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Re-evaluates prices, inventory, and discounts to ensure the customer's current cart is up-to-date with the latest changes.\n * @public\n * @permissionId ecom:v2:cart:refresh_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RefreshCurrentCart\n */\nexport async function refreshCurrentCart(): Promise<\n NonNullablePaths<\n RefreshCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RefreshCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts = ambassadorWixEcomV2Cart.refreshCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Calculates the customer's current cart based on its current state (line items, discounts, delivery method, etc.)\n * and returns a detailed summary including subtotal, delivery costs, taxes, fees, and the total price.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n * @public\n * @permissionId ecom:v2:cart:calculate_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.CalculateCurrentCart\n */\nexport async function calculateCurrentCart(\n options?: CalculateCurrentCartOptions\n): Promise<\n NonNullablePaths<\n CalculateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`\n | `summary.cartId`\n | `summary.cartRevision`\n | `summary.calculationId`\n | `summary.lineItems`\n | `summary.lineItems.${number}.lineItemId`\n | `summary.lineItems.${number}.quantity`\n | `summary.lineItems.${number}.unitPrice.amount`\n | `summary.lineItems.${number}.unitPrice.convertedAmount`\n | `summary.discounts`\n | `summary.discounts.${number}.name.original`\n | `summary.discounts.${number}.source.sourceType`\n | `summary.discounts.${number}.scope`\n | `summary.deliverySummary.method.code`\n | `summary.deliverySummary.method.pickup`\n | `summary.additionalFees`\n | `summary.additionalFees.${number}.source`\n | `summary.taxSummary.taxes`\n | `summary.taxSummary.pricesIncludeTax`\n | `summary.taxSummary.lineItemTaxes`\n | `summary.taxSummary.lineItemTaxes.${number}.lineItemId`\n | `summary.taxSummary.additionalFeeTaxes`\n | `summary.taxSummary.additionalFeeTaxes.${number}.additionalFeeCode`\n | `summary.paymentSummary.giftCards`\n | `summary.paymentSummary.giftCards.${number}.giftCardId`\n | `summary.paymentSummary.memberships`\n | `summary.paymentSummary.memberships.${number}._id`\n | `summary.paymentSummary.memberships.${number}.appId`\n | `summary.paymentSummary.subscriptionCharges`\n | `summary.paymentSummary.requiresPaymentAfterGiftCard`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.code`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `summary.calculationErrors.carrierErrors.errors`\n | `summary.calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `summary.calculationErrors.orderValidationErrors`\n | `summary.spiViolations`\n | `summary.spiViolations.${number}.severity`\n | `summary.spiViolations.${number}.target.other.name`\n | `summary.spiViolations.${number}.target.lineItem.name`\n | `summary.violations`\n | `summary.violations.${number}.invalidCouponStatusData.minLineItemQuantityNotReachedDetails.requiredMinimumQuantity`\n | `summary.violations.${number}.invalidCouponStatusData.couponCode`\n | `summary.violations.${number}.invalidCouponStatusData.reason`\n | `summary.violations.${number}.invalidCouponCodeData.couponCode`\n | `summary.violations.${number}.invalidGiftCardCodeData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.reason`\n | `summary.violations.${number}.lineItemsOutOfStockData.allLineItemsOutOfStock`\n | `summary.violations.${number}.invalidMembershipStatusData.reason`\n | `summary.violations.${number}.scope`\n | `summary.violations.${number}.code`\n | `summary.violations.${number}.severity`,\n 6\n > & {\n __applicationErrorsType?: CalculateCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n refreshCart: options?.refreshCart,\n });\n\n const reqOpts = ambassadorWixEcomV2Cart.calculateCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { refreshCart: '$[0].refreshCart' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CalculateCurrentCartOptions {\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before calculating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n}\n\n/**\n * Estimates the customer's current cart totals based on its current state and the selected\n * calculation components.\n *\n * This API provides a partial, component-based estimation of the cart and is\n * intended for preview purposes (for example, showing partial estimated totals).\n *\n * The estimation is controlled by boolean flags that indicate which components\n * should be included (delivery costs, additional fees, taxes, gift cards).\n * Components that aren't explicitly enabled are excluded from the calculation.\n *\n * This isn't a full cart calculation.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n * @public\n * @permissionId ecom:v2:cart:estimate_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.EstimateCurrentCart\n */\nexport async function estimateCurrentCart(\n options?: EstimateCurrentCartOptions\n): Promise<\n NonNullablePaths<\n EstimateCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`\n | `summary.cartId`\n | `summary.cartRevision`\n | `summary.calculationId`\n | `summary.lineItems`\n | `summary.lineItems.${number}.lineItemId`\n | `summary.lineItems.${number}.quantity`\n | `summary.lineItems.${number}.unitPrice.amount`\n | `summary.lineItems.${number}.unitPrice.convertedAmount`\n | `summary.discounts`\n | `summary.discounts.${number}.name.original`\n | `summary.discounts.${number}.source.sourceType`\n | `summary.discounts.${number}.scope`\n | `summary.deliverySummary.method.code`\n | `summary.deliverySummary.method.pickup`\n | `summary.additionalFees`\n | `summary.additionalFees.${number}.source`\n | `summary.taxSummary.taxes`\n | `summary.taxSummary.pricesIncludeTax`\n | `summary.taxSummary.lineItemTaxes`\n | `summary.taxSummary.lineItemTaxes.${number}.lineItemId`\n | `summary.taxSummary.additionalFeeTaxes`\n | `summary.taxSummary.additionalFeeTaxes.${number}.additionalFeeCode`\n | `summary.paymentSummary.giftCards`\n | `summary.paymentSummary.giftCards.${number}.giftCardId`\n | `summary.paymentSummary.memberships`\n | `summary.paymentSummary.memberships.${number}._id`\n | `summary.paymentSummary.memberships.${number}.appId`\n | `summary.paymentSummary.subscriptionCharges`\n | `summary.paymentSummary.requiresPaymentAfterGiftCard`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.code`\n | `summary.calculationErrors.generalShippingCalculationError.applicationError.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n | `summary.calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n | `summary.calculationErrors.carrierErrors.errors`\n | `summary.calculationErrors.carrierErrors.errors.${number}.carrierId`\n | `summary.calculationErrors.orderValidationErrors`\n | `summary.spiViolations`\n | `summary.spiViolations.${number}.severity`\n | `summary.spiViolations.${number}.target.other.name`\n | `summary.spiViolations.${number}.target.lineItem.name`\n | `summary.violations`\n | `summary.violations.${number}.invalidCouponStatusData.minLineItemQuantityNotReachedDetails.requiredMinimumQuantity`\n | `summary.violations.${number}.invalidCouponStatusData.couponCode`\n | `summary.violations.${number}.invalidCouponStatusData.reason`\n | `summary.violations.${number}.invalidCouponCodeData.couponCode`\n | `summary.violations.${number}.invalidGiftCardCodeData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.giftCardCode`\n | `summary.violations.${number}.invalidGiftCardStatusData.reason`\n | `summary.violations.${number}.lineItemsOutOfStockData.allLineItemsOutOfStock`\n | `summary.violations.${number}.invalidMembershipStatusData.reason`\n | `summary.violations.${number}.scope`\n | `summary.violations.${number}.code`\n | `summary.violations.${number}.severity`,\n 6\n > & {\n __applicationErrorsType?: EstimateCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n refreshCart: options?.refreshCart,\n validationConfig: options?.validationConfig,\n calculateDelivery: options?.calculateDelivery,\n calculateAdditionalFees: options?.calculateAdditionalFees,\n calculateTax: options?.calculateTax,\n calculateGiftCards: options?.calculateGiftCards,\n });\n\n const reqOpts = ambassadorWixEcomV2Cart.estimateCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n refreshCart: '$[0].refreshCart',\n validationConfig: '$[0].validationConfig',\n calculateDelivery: '$[0].calculateDelivery',\n calculateAdditionalFees: '$[0].calculateAdditionalFees',\n calculateTax: '$[0].calculateTax',\n calculateGiftCards: '$[0].calculateGiftCards',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface EstimateCurrentCartOptions {\n /**\n * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before estimating the cart.\n *\n * Default: `false`.\n */\n refreshCart?: boolean;\n /**\n * Specifies the level of **business validation** to perform during cart calculation,\n * by calling the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).\n */\n validationConfig?: ValidationsConfigWithLiterals;\n /**\n * Whether to calculate delivery costs.\n * Default: `false`.\n */\n calculateDelivery?: boolean;\n /**\n * Whether to calculate any additional fees.\n * Default: `false`.\n */\n calculateAdditionalFees?: boolean;\n /**\n * Whether to include tax calculation.\n * Default: `false`.\n */\n calculateTax?: boolean;\n /**\n * Whether to calculate the effect of gift card balances on the cart total.\n * Gift cards aren't redeemed - only reflected for estimation purposes.\n * Default: `false`.\n */\n calculateGiftCards?: boolean;\n}\n\n/**\n * Adds line items to the customer's current cart.\n * If a current cart doesn't already exist, one is created.\n * @public\n * @requiredField options.catalogItems.catalogReference\n * @requiredField options.catalogItems.quantity\n * @requiredField options.catalogItems.selectedMembership._id\n * @requiredField options.catalogItems.selectedMembership.appId\n * @requiredField options.customItems.attributes\n * @requiredField options.customItems.name\n * @requiredField options.customItems.pricing\n * @requiredField options.customItems.quantityInfo\n * @requiredField options.customItems.quantityInfo.requestedQuantity\n * @permissionId ecom:v2:cart:add_line_items_to_current_cart\n * @permissionId ECOM.ADMIN_MODIFY_CARTS\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.AddLineItemsToCurrentCart\n */\nexport async function addLineItemsToCurrentCart(\n options?: NonNullablePaths<\n AddLineItemsToCurrentCartOptions,\n | `catalogItems.${number}.catalogReference`\n | `catalogItems.${number}.quantity`\n | `catalogItems.${number}.selectedMembership._id`\n | `catalogItems.${number}.selectedMembership.appId`\n | `customItems.${number}.attributes`\n | `customItems.${number}.attributes.descriptionLines.${number}.name`\n | `customItems.${number}.attributes.itemType`\n | `customItems.${number}.name`\n | `customItems.${number}.pricing`\n | `customItems.${number}.pricing.price`\n | `customItems.${number}.quantityInfo`\n | `customItems.${number}.quantityInfo.requestedQuantity`,\n 5\n >\n): Promise<\n NonNullablePaths<\n AddLineItemsToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddLineItemsToCurrentCartApplicationErrors;\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 catalogItems: options?.catalogItems,\n customItems: options?.customItems,\n }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'catalogItems.catalogOverrideFields.image' },\n { path: 'customItems.attributes.image' },\n ],\n },\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [{ path: 'customItems.attributes.url' }],\n },\n ]\n );\n\n const reqOpts = ambassadorWixEcomV2Cart.addLineItemsToCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n catalogItems: '$[0].catalogItems',\n customItems: '$[0].customItems',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface AddLineItemsToCurrentCartOptions {\n /**\n * A list of catalog items to add to the current cart.\n * @maxSize 300\n */\n catalogItems?: CatalogItemInput[];\n /**\n * A list of custom items to add to the current cart.\n * @maxSize 300\n */\n customItems?: CustomItemInput[];\n}\n\n/**\n * Removes line items from the customer's current cart.\n * @param lineItemIds - Line item IDs to remove from the current cart.\n * @public\n * @requiredField lineItemIds\n * @permissionId ecom:v2:cart:remove_line_items_from_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RemoveLineItemsFromCurrentCart\n */\nexport async function removeLineItemsFromCurrentCart(\n lineItemIds: string[]\n): Promise<\n NonNullablePaths<\n RemoveLineItemsFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveLineItemsFromCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n lineItemIds: lineItemIds,\n });\n\n const reqOpts =\n ambassadorWixEcomV2Cart.removeLineItemsFromCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { lineItemIds: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['lineItemIds']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates line items in the customer's current cart.\n *\n * Use this endpoint to update line item properties such as quantity and selected membership.\n * @public\n * @requiredField options.lineItems.lineItemId\n * @requiredField options.lineItems.quantity.newQuantity\n * @permissionId ecom:v2:cart:update_line_items_in_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.UpdateLineItemsInCurrentCart\n */\nexport async function updateLineItemsInCurrentCart(\n options?: NonNullablePaths<\n UpdateLineItemsInCurrentCartOptions,\n | `lineItems.${number}.lineItemId`\n | `lineItems.${number}.quantity.newQuantity`,\n 3\n >\n): Promise<\n NonNullablePaths<\n UpdateLineItemsInCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: UpdateLineItemsInCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n lineItems: options?.lineItems,\n });\n\n const reqOpts = ambassadorWixEcomV2Cart.updateLineItemsInCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { lineItems: '$[0].lineItems' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateLineItemsInCurrentCartOptions {\n /**\n * Line item updates to apply.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: LineItemUpdate[];\n}\n\n/**\n * Applies a coupon to the customer's current cart.\n * @param coupon - Coupon to apply.\n *\n * Currently only one is supported.\n * @public\n * @requiredField coupon\n * @requiredField coupon.code\n * @permissionId ecom:v2:cart:add_coupon_to_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.AddCouponToCurrentCart\n */\nexport async function addCouponToCurrentCart(\n coupon: NonNullablePaths<CouponInput, `code`, 0>\n): Promise<\n NonNullablePaths<\n AddCouponToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddCouponToCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ coupon: coupon });\n\n const reqOpts = ambassadorWixEcomV2Cart.addCouponToCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { coupon: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['coupon']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Removes a coupon from the customer's current cart.\n * @param couponId - Coupon ID.\n * @public\n * @requiredField couponId\n * @permissionId ecom:v2:cart:remove_coupon_from_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RemoveCouponFromCurrentCart\n */\nexport async function removeCouponFromCurrentCart(couponId: string): Promise<\n NonNullablePaths<\n RemoveCouponFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveCouponFromCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ couponId: couponId });\n\n const reqOpts = ambassadorWixEcomV2Cart.removeCouponFromCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { couponId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['couponId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets the delivery method for the customer's current cart.\n * @param deliveryMethod - Delivery method.\n * @public\n * @requiredField deliveryMethod\n * @requiredField deliveryMethod.code\n * @permissionId ecom:v2:cart:set_delivery_method_for_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.SetDeliveryMethodForCurrentCart\n */\nexport async function setDeliveryMethodForCurrentCart(\n deliveryMethod: NonNullablePaths<DeliveryMethodInput, `code`, 0>\n): Promise<\n NonNullablePaths<\n SetDeliveryMethodForCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: SetDeliveryMethodForCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n deliveryMethod: deliveryMethod,\n });\n\n const reqOpts =\n ambassadorWixEcomV2Cart.setDeliveryMethodForCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { deliveryMethod: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['deliveryMethod']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Removes the selected delivery method from the customer's current cart.\n * @public\n * @permissionId ecom:v2:cart:remove_delivery_method_from_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RemoveDeliveryMethodFromCurrentCart\n */\nexport async function removeDeliveryMethodFromCurrentCart(): Promise<\n NonNullablePaths<\n RemoveDeliveryMethodFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveDeliveryMethodFromCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixEcomV2Cart.removeDeliveryMethodFromCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Adds a gift card to the customer's current cart.\n *\n * Once added, the gift card's balance is used as a payment method during checkout, either partially or fully covering the cart total.\n * @param giftCard - Gift card to add.\n *\n * Currently only one is supported.\n * @public\n * @requiredField giftCard\n * @requiredField giftCard.code\n * @permissionId ecom:v2:cart:add_gift_card_to_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.AddGiftCardToCurrentCart\n */\nexport async function addGiftCardToCurrentCart(\n giftCard: NonNullablePaths<GiftCardInput, `code`, 0>\n): Promise<\n NonNullablePaths<\n AddGiftCardToCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: AddGiftCardToCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ giftCard: giftCard });\n\n const reqOpts = ambassadorWixEcomV2Cart.addGiftCardToCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { giftCard: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['giftCard']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Removes a gift card from the customer's current cart.\n * @param giftCardId - Gift card ID.\n * @public\n * @requiredField giftCardId\n * @permissionId ecom:v2:cart:remove_gift_card_from_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.RemoveGiftCardFromCurrentCart\n */\nexport async function removeGiftCardFromCurrentCart(\n giftCardId: string\n): Promise<\n NonNullablePaths<\n RemoveGiftCardFromCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n > & {\n __applicationErrorsType?: RemoveGiftCardFromCurrentCartApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n giftCardId: giftCardId,\n });\n\n const reqOpts =\n ambassadorWixEcomV2Cart.removeGiftCardFromCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { giftCardId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['giftCardId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates form submissions associated with the customer's current cart line items.\n *\n * Forms are defined by catalog apps and used for collecting additional information per line item (for example, personalization text or event details).\n * @public\n * @permissionId ecom:v2:cart:update_form_submissions_in_current_cart\n * @applicableIdentity APP\n * @fqn wix.ecom.cart.v2.CurrentCartService.UpdateFormSubmissionsInCurrentCart\n */\nexport async function updateFormSubmissionsInCurrentCart(\n options?: UpdateFormSubmissionsInCurrentCartOptions\n): Promise<\n NonNullablePaths<\n UpdateFormSubmissionsInCurrentCartResponse,\n | `cart._id`\n | `cart.revision`\n | `cart.lineItems`\n | `cart.lineItems.${number}._id`\n | `cart.lineItems.${number}.name.original`\n | `cart.lineItems.${number}.quantityInfo.confirmedQuantity`\n | `cart.lineItems.${number}.quantityInfo.requestedQuantity`\n | `cart.lineItems.${number}.quantityInfo.fixedQuantity`\n | `cart.lineItems.${number}.pricing.unitPrice.amount`\n | `cart.lineItems.${number}.pricing.unitPrice.convertedAmount`\n | `cart.lineItems.${number}.pricing.priceDescription.original`\n | `cart.lineItems.${number}.pricing.priceUndetermined`\n | `cart.lineItems.${number}.source.catalogReference.catalogItemId`\n | `cart.lineItems.${number}.source.catalogReference.appId`\n | `cart.lineItems.${number}.attributes.itemType.preset`\n | `cart.lineItems.${number}.attributes.itemType.custom`\n | `cart.lineItems.${number}.attributes.physicalProperties.shippable`\n | `cart.lineItems.${number}.attributes.membersOnly`\n | `cart.lineItems.${number}.taxConfig.taxableAddress.addressType`\n | `cart.lineItems.${number}.paymentConfig.savePaymentMethod`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership._id`\n | `cart.lineItems.${number}.paymentConfig.selectedMembership.appId`\n | `cart.lineItems.${number}.paymentConfig.paymentOption`\n | `cart.lineItems.${number}.paymentConfig.membership.redemptionType`\n | `cart.lineItems.${number}.status`\n | `cart.lineItems.${number}.customLineItem`\n | `cart.coupons`\n | `cart.coupons.${number}._id`\n | `cart.coupons.${number}.code`\n | `cart.source.channelType`\n | `cart.source.externalReferences`\n | `cart.source.externalReferences.${number}.appId`\n | `cart.source.createdBy.visitorId`\n | `cart.source.createdBy.memberId`\n | `cart.source.createdBy.userId`\n | `cart.source.createdBy.appId`\n | `cart.source.customContentReference.appId`\n | `cart.source.customContentReference.componentId`\n | `cart.businessInfo.languageCode`\n | `cart.businessInfo.currencyCode`\n | `cart.customerInfo.visitorId`\n | `cart.customerInfo.memberId`\n | `cart.customerInfo.userId`\n | `cart.customerInfo.openAccess`\n | `cart.customerInfo.vatId._id`\n | `cart.customerInfo.vatId.type`\n | `cart.customerInfo.languageCode`\n | `cart.customerInfo.currencyCode`\n | `cart.deliveryInfo.address.streetAddress.number`\n | `cart.deliveryInfo.address.streetAddress.name`\n | `cart.deliveryInfo.method.code`\n | `cart.deliveryInfo.method.pickup`\n | `cart.deliveryInfo.weightUnit`\n | `cart.taxInfo.pricesIncludeTax`\n | `cart.paymentInfo.giftCards`\n | `cart.paymentInfo.giftCards.${number}._id`\n | `cart.paymentInfo.giftCards.${number}.obfuscatedCode`\n | `cart.paymentInfo.giftCards.${number}.appId`\n | `cart.paymentInfo.currencyCode`\n | `cart.orderPlaced`\n | `cart.currentCart`\n | `cart.demo`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n formSubmissions: options?.formSubmissions,\n });\n\n const reqOpts =\n ambassadorWixEcomV2Cart.updateFormSubmissionsInCurrentCart(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: transformRESTImageToSDKImage,\n paths: [\n { path: 'cart.lineItems.source.catalogOverrideFields.image' },\n { path: 'cart.lineItems.attributes.image' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [{ path: 'cart.lineItems.attributes.url' }],\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: [\n { path: 'cart.deliveryInfo.address' },\n { path: 'cart.paymentInfo.billingAddress' },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { formSubmissions: '$[0].formSubmissions' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateFormSubmissionsInCurrentCartOptions {\n /**\n * Form submission data to set on the current cart.\n * @minSize 1\n * @maxSize 1000\n */\n formSubmissions?: FormSubmission[];\n}\n\n/**\n * Returns the upsell options available for the cart's line items.\n * @internal\n * @documentationMaturity preview\n * @permissionId ecom:v2:cart:currentCart:get_upsell_options_for_current_cart\n * @fqn wix.ecom.cart.v2.CurrentCartService.GetUpsellOptionsForCurrentCart\n */\nexport async function getUpsellOptionsForCurrentCart(): Promise<\n NonNullablePaths<\n GetUpsellOptionsForCurrentCartResponse,\n `itemsUpsells` | `itemsUpsells.${number}.lineItemId`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixEcomV2Cart.getUpsellOptionsForCurrentCart(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 singleArgumentUnchanged: false,\n },\n []\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 resolveWixEcomCartV2CurrentCartServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/cart-v2',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/ecom/v2/carts',\n destPath: '/v2/carts',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/cart-v2',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_current-cart-v-2';\n\n/** Creates the customer's current cart. */\nexport function createCurrentCart(payload: object): RequestOptionsFactory<any> {\n function __createCurrentCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n {\n path: 'catalogItems.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'customItems.attributes.image.urlExpirationDate' },\n { path: 'customItems.attributes.serviceProperties.scheduledDate' },\n { path: 'customItems.attributes.serviceProperties.endDate' },\n {\n path: 'customItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n {\n path: 'catalogItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'customItems.attributes.physicalProperties.weight' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.CreateCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createCurrentCart;\n}\n\n/** Retrieves the customer's current cart. */\nexport function getCurrentCart(payload: object): RequestOptionsFactory<any> {\n function __getCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'GET' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.GetCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getCurrentCart;\n}\n\n/**\n * Updates the customer's current cart.\n *\n * Use this endpoint to set and replace fields such as buyer note and delivery method.\n * To add or remove elements from lists (for example, line items, discounts, gift cards), use their dedicated endpoints.\n */\nexport function updateCurrentCart(payload: object): RequestOptionsFactory<any> {\n function __updateCurrentCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'cart.createdDate' },\n { path: 'cart.updatedDate' },\n {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.scheduledDate' },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'PATCH' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.UpdateCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateCurrentCart;\n}\n\n/** Deletes the customer's current cart. */\nexport function deleteCurrentCart(payload: object): RequestOptionsFactory<any> {\n function __deleteCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'DELETE' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.DeleteCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteCurrentCart;\n}\n\n/** Re-evaluates prices, inventory, and discounts to ensure the customer's current cart is up-to-date with the latest changes. */\nexport function refreshCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __refreshCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.RefreshCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/refresh',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __refreshCurrentCart;\n}\n\n/**\n * Calculates the customer's current cart based on its current state (line items, discounts, delivery method, etc.)\n * and returns a detailed summary including subtotal, delivery costs, taxes, fees, and the total price.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n */\nexport function calculateCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __calculateCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.CalculateCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/calculate',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n {\n path: 'summary.paymentSummary.subscriptionCharges.charges.cycleBillingDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __calculateCurrentCart;\n}\n\n/**\n * Estimates the customer's current cart totals based on its current state and the selected\n * calculation components.\n *\n * This API provides a partial, component-based estimation of the cart and is\n * intended for preview purposes (for example, showing partial estimated totals).\n *\n * The estimation is controlled by boolean flags that indicate which components\n * should be included (delivery costs, additional fees, taxes, gift cards).\n * Components that aren't explicitly enabled are excluded from the calculation.\n *\n * This isn't a full cart calculation.\n *\n * Note that line item discounts are already pre-computed and applied to the current cart.\n */\nexport function estimateCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __estimateCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.EstimateCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/estimate',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n {\n path: 'summary.paymentSummary.subscriptionCharges.charges.cycleBillingDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __estimateCurrentCart;\n}\n\n/**\n * Adds line items to the customer's current cart.\n * If a current cart doesn't already exist, one is created.\n */\nexport function addLineItemsToCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __addLineItemsToCurrentCart({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'catalogItems.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'customItems.attributes.physicalProperties.weight' },\n ],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n {\n path: 'catalogItems.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'customItems.attributes.image.urlExpirationDate' },\n { path: 'customItems.attributes.serviceProperties.scheduledDate' },\n { path: 'customItems.attributes.serviceProperties.endDate' },\n {\n path: 'customItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.AddLineItemsToCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/add-line-items',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __addLineItemsToCurrentCart;\n}\n\n/** Removes line items from the customer's current cart. */\nexport function removeLineItemsFromCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeLineItemsFromCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.RemoveLineItemsFromCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeLineItemsFromCurrentCart;\n}\n\n/**\n * Updates line items in the customer's current cart.\n *\n * Use this endpoint to update line item properties such as quantity and selected membership.\n */\nexport function updateLineItemsInCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateLineItemsInCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.UpdateLineItemsInCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/update-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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateLineItemsInCurrentCart;\n}\n\n/** Applies a coupon to the customer's current cart. */\nexport function addCouponToCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __addCouponToCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.AddCouponToCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/add-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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __addCouponToCurrentCart;\n}\n\n/** Removes a coupon from the customer's current cart. */\nexport function removeCouponFromCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeCouponFromCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.RemoveCouponFromCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeCouponFromCurrentCart;\n}\n\n/** Sets the delivery method for the customer's current cart. */\nexport function setDeliveryMethodForCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __setDeliveryMethodForCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.SetDeliveryMethodForCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/set-delivery-method',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __setDeliveryMethodForCurrentCart;\n}\n\n/** Removes the selected delivery method from the customer's current cart. */\nexport function removeDeliveryMethodFromCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeDeliveryMethodFromCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.RemoveDeliveryMethodFromCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/remove-delivery-method',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeDeliveryMethodFromCurrentCart;\n}\n\n/**\n * Adds a gift card to the customer's current cart.\n *\n * Once added, the gift card's balance is used as a payment method during checkout, either partially or fully covering the cart total.\n */\nexport function addGiftCardToCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __addGiftCardToCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn: 'wix.ecom.cart.v2.CurrentCartService.AddGiftCardToCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/add-gift-card',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __addGiftCardToCurrentCart;\n}\n\n/** Removes a gift card from the customer's current cart. */\nexport function removeGiftCardFromCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __removeGiftCardFromCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.RemoveGiftCardFromCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/remove-gift-card',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __removeGiftCardFromCurrentCart;\n}\n\n/**\n * Updates form submissions associated with the customer's current cart line items.\n *\n * Forms are defined by catalog apps and used for collecting additional information per line item (for example, personalization text or event details).\n */\nexport function updateFormSubmissionsInCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateFormSubmissionsInCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'POST' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.UpdateFormSubmissionsInCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/update-forms-submission',\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 {\n path: 'cart.lineItems.source.catalogOverrideFields.image.urlExpirationDate',\n },\n { path: 'cart.lineItems.attributes.image.urlExpirationDate' },\n {\n path: 'cart.lineItems.attributes.subscriptionInfo.subscriptionSettings.startDate',\n },\n {\n path: 'cart.lineItems.attributes.serviceProperties.scheduledDate',\n },\n { path: 'cart.lineItems.attributes.serviceProperties.endDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'cart.lineItems.source.catalogOverrideFields.physicalProperties.weight',\n },\n { path: 'cart.lineItems.attributes.physicalProperties.weight' },\n { path: 'cart.deliveryInfo.address.geocode.latitude' },\n { path: 'cart.deliveryInfo.address.geocode.longitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.latitude' },\n { path: 'cart.paymentInfo.billingAddress.geocode.longitude' },\n { path: 'cart.tcAppliedDiscounts.merchantDiscount.percentage' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateFormSubmissionsInCurrentCart;\n}\n\n/** Returns the upsell options available for the cart's line items. */\nexport function getUpsellOptionsForCurrentCart(\n payload: object\n): RequestOptionsFactory<any> {\n function __getUpsellOptionsForCurrentCart({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v2.cart',\n method: 'GET' as any,\n methodFqn:\n 'wix.ecom.cart.v2.CurrentCartService.GetUpsellOptionsForCurrentCart',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomCartV2CurrentCartServiceUrl({\n protoPath: '/v2/carts/current/upsell-options',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getUpsellOptionsForCurrentCart;\n}\n","import {\n createCurrentCart as publicCreateCurrentCart,\n getCurrentCart as publicGetCurrentCart,\n updateCurrentCart as publicUpdateCurrentCart,\n deleteCurrentCart as publicDeleteCurrentCart,\n refreshCurrentCart as publicRefreshCurrentCart,\n calculateCurrentCart as publicCalculateCurrentCart,\n estimateCurrentCart as publicEstimateCurrentCart,\n addLineItemsToCurrentCart as publicAddLineItemsToCurrentCart,\n removeLineItemsFromCurrentCart as publicRemoveLineItemsFromCurrentCart,\n updateLineItemsInCurrentCart as publicUpdateLineItemsInCurrentCart,\n addCouponToCurrentCart as publicAddCouponToCurrentCart,\n removeCouponFromCurrentCart as publicRemoveCouponFromCurrentCart,\n setDeliveryMethodForCurrentCart as publicSetDeliveryMethodForCurrentCart,\n removeDeliveryMethodFromCurrentCart as publicRemoveDeliveryMethodFromCurrentCart,\n addGiftCardToCurrentCart as publicAddGiftCardToCurrentCart,\n removeGiftCardFromCurrentCart as publicRemoveGiftCardFromCurrentCart,\n updateFormSubmissionsInCurrentCart as publicUpdateFormSubmissionsInCurrentCart,\n getUpsellOptionsForCurrentCart as publicGetUpsellOptionsForCurrentCart,\n} from './ecom-v2-cart-current-cart-v-2.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 { onCartCalculated as publicOnCartCalculated } from './ecom-v2-cart-current-cart-v-2.public.js';\nimport { onCartCreated as publicOnCartCreated } from './ecom-v2-cart-current-cart-v-2.public.js';\nimport { onCartDeleted as publicOnCartDeleted } from './ecom-v2-cart-current-cart-v-2.public.js';\nimport { onCartUpdated as publicOnCartUpdated } from './ecom-v2-cart-current-cart-v-2.public.js';\n\nexport const createCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicCreateCurrentCart> &\n typeof publicCreateCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicCreateCurrentCart);\nexport const getCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicGetCurrentCart> & typeof publicGetCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicGetCurrentCart);\nexport const updateCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicUpdateCurrentCart> &\n typeof publicUpdateCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicUpdateCurrentCart);\nexport const deleteCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicDeleteCurrentCart> &\n typeof publicDeleteCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicDeleteCurrentCart);\nexport const refreshCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRefreshCurrentCart> &\n typeof publicRefreshCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRefreshCurrentCart);\nexport const calculateCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicCalculateCurrentCart> &\n typeof publicCalculateCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicCalculateCurrentCart);\nexport const estimateCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicEstimateCurrentCart> &\n typeof publicEstimateCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicEstimateCurrentCart);\nexport const addLineItemsToCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicAddLineItemsToCurrentCart> &\n typeof publicAddLineItemsToCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicAddLineItemsToCurrentCart);\nexport const removeLineItemsFromCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRemoveLineItemsFromCurrentCart> &\n typeof publicRemoveLineItemsFromCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRemoveLineItemsFromCurrentCart);\nexport const updateLineItemsInCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicUpdateLineItemsInCurrentCart> &\n typeof publicUpdateLineItemsInCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicUpdateLineItemsInCurrentCart);\nexport const addCouponToCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicAddCouponToCurrentCart> &\n typeof publicAddCouponToCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicAddCouponToCurrentCart);\nexport const removeCouponFromCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRemoveCouponFromCurrentCart> &\n typeof publicRemoveCouponFromCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRemoveCouponFromCurrentCart);\nexport const setDeliveryMethodForCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicSetDeliveryMethodForCurrentCart> &\n typeof publicSetDeliveryMethodForCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicSetDeliveryMethodForCurrentCart);\nexport const removeDeliveryMethodFromCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRemoveDeliveryMethodFromCurrentCart> &\n typeof publicRemoveDeliveryMethodFromCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRemoveDeliveryMethodFromCurrentCart);\nexport const addGiftCardToCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicAddGiftCardToCurrentCart> &\n typeof publicAddGiftCardToCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicAddGiftCardToCurrentCart);\nexport const removeGiftCardFromCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicRemoveGiftCardFromCurrentCart> &\n typeof publicRemoveGiftCardFromCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicRemoveGiftCardFromCurrentCart);\nexport const updateFormSubmissionsInCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicUpdateFormSubmissionsInCurrentCart> &\n typeof publicUpdateFormSubmissionsInCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicUpdateFormSubmissionsInCurrentCart);\n/** @internal */\nexport const getUpsellOptionsForCurrentCart: MaybeContext<\n BuildRESTFunction<typeof publicGetUpsellOptionsForCurrentCart> &\n typeof publicGetUpsellOptionsForCurrentCart\n> = /*#__PURE__*/ createRESTModule(publicGetUpsellOptionsForCurrentCart);\n/**\n * Triggered when a cart is calculated.\n */\nexport const onCartCalculated: BuildEventDefinition<\n typeof publicOnCartCalculated\n> &\n typeof publicOnCartCalculated = /*#__PURE__*/ createEventModule(\n publicOnCartCalculated\n);\n/**\n * Triggered when a cart is created.\n */\nexport const onCartCreated: BuildEventDefinition<typeof publicOnCartCreated> &\n typeof publicOnCartCreated =\n /*#__PURE__*/ createEventModule(publicOnCartCreated);\n/**\n * Triggered when a cart is deleted.\n */\nexport const onCartDeleted: BuildEventDefinition<typeof publicOnCartDeleted> &\n typeof publicOnCartDeleted =\n /*#__PURE__*/ createEventModule(publicOnCartDeleted);\n/**\n * Triggered when a cart is updated.\n */\nexport const onCartUpdated: BuildEventDefinition<typeof publicOnCartUpdated> &\n typeof publicOnCartUpdated =\n /*#__PURE__*/ createEventModule(publicOnCartUpdated);\n\nexport {\n DescriptionLineType,\n DimensionsUnit,\n PaymentOptionType,\n ItemTypePreset,\n SubscriptionFrequency,\n ProductPeriodAlignment,\n FileType,\n TaxableAddressType,\n RedemptionType,\n ItemStatus,\n DiscountSourceType,\n ChannelType,\n VatType,\n WeightUnit,\n DiscountType,\n DiscountScope,\n Source,\n RuleType,\n Severity,\n NameInOther,\n NameInLineItem,\n SuggestedFix,\n ViolationScope,\n ViolationCode,\n ViolationSeverity,\n InvalidCouponReason,\n InvalidGiftCardReason,\n InvalidMembershipReason,\n V1PlatformFeeChargeType,\n BenefitType,\n ValidationsConfig,\n JurisdictionType,\n RateType,\n ManualCalculationReason,\n FallbackReason,\n PickupMethod,\n ChargeType,\n BalanceType,\n QuotaType,\n LimitedQuotaType,\n AdditionalFeeSource,\n PlatformFeeChargeType,\n WebhookIdentityType,\n} from './ecom-v2-cart-current-cart-v-2.universal.js';\nexport {\n Cart,\n V2LineItem,\n TranslatableString,\n ItemQuantityInfo,\n ItemPricingInfo,\n ConvertedMoney,\n PriceDescription,\n ItemPriceBreakdown,\n ItemSource,\n CatalogReference,\n CatalogOverrideFields,\n DescriptionLine,\n DescriptionLineValueOneOf,\n DescriptionLineDescriptionLineValueOneOf,\n DescriptionLineName,\n PlainTextValue,\n Color,\n PhysicalProperties,\n Dimensions,\n PaymentOption,\n ItemAttributes,\n Policy,\n ItemType,\n ItemTypeItemTypeDataOneOf,\n SubscriptionOptionInfo,\n SubscriptionSettings,\n FreeTrialPeriod,\n BillingSettings,\n Title,\n Description,\n SecuredMedia,\n ServiceProperties,\n ItemDeliveryConfig,\n ItemTaxConfig,\n TaxableAddress,\n TaxableAddressTaxableAddressDataOneOf,\n ItemPaymentConfig,\n V2SelectedMembership,\n V2Membership,\n V2MembershipIdentifierOneOf,\n V2ExistingMembership,\n FutureMembership,\n ExtendedFields,\n V1AdditionalFee,\n TaxDetails,\n ModifierGroup,\n ItemModifier,\n ItemDiscount,\n DiscountSource,\n Scope,\n Group,\n V2Coupon,\n CartSource,\n ExternalReference,\n CreatedBy,\n CreatedByIdOneOf,\n CustomContentReference,\n BusinessInfo,\n CustomerInfo,\n CustomerInfoIdOneOf,\n VatId,\n DeliveryInfo,\n Address,\n StreetAddress,\n AddressLocation,\n DeliveryMethod,\n TaxInfo,\n PaymentInfo,\n V2GiftCard,\n FullAddressContactDetails,\n CartSettings,\n LegacyFields,\n CustomField,\n FormInfo,\n FormIdentifier,\n CartEstimationIndicators,\n AppliedDiscount,\n AppliedDiscountDiscountSourceOneOf,\n Coupon,\n MultiCurrencyPrice,\n MerchantDiscount,\n DiscountRule,\n DiscountRuleName,\n LineItemDiscount,\n ItemCombination,\n ItemCombinationLineItem,\n CartSummary,\n LineItemSummary,\n Discount,\n V2LineItemDiscount,\n DeliverySummary,\n V2AdditionalFee,\n V2TaxSummary,\n Tax,\n LineItemTax,\n AdditionalFeeTax,\n V2PriceSummary,\n PaymentSummary,\n GiftCardSummary,\n MembershipSummary,\n MembershipSummaryMembershipIdentifierOneOf,\n SubscriptionCharges,\n Charge,\n PriceSummary,\n Price,\n V2CalculationErrors,\n V2CalculationErrorsShippingCalculationErrorOneOf,\n Details,\n DetailsKindOneOf,\n ApplicationError,\n ValidationError,\n FieldViolation,\n SystemError,\n V2CarrierErrors,\n V2CarrierError,\n Violation,\n Target,\n TargetTargetTypeOneOf,\n Other,\n LineItem,\n V2Violation,\n V2ViolationDataOneOf,\n CustomValidationErrorData,\n InvalidCouponStatusErrorData,\n InvalidCouponStatusErrorDataDetailsOneOf,\n MinLineItemQuantityNotReachedDetails,\n MinSubtotalNotReachedDetails,\n InvalidCouponCodeErrorData,\n InvalidGiftCardCodeErrorData,\n InvalidGiftCardStatusErrorData,\n LineItemsOutOfStockErrorData,\n MembersOnlyItemErrorData,\n SubtotalBelowOrderMinimumErrorData,\n InvalidMembershipStatusErrorData,\n LineItemAdded,\n CouponAdded,\n CouponRemoved,\n GiftCardAdded,\n GiftCardRemoved,\n CreateCartRequest,\n CatalogItemInput,\n MembershipInput,\n MembershipInputMembershipOneOf,\n ExistingMembershipInput,\n FutureMembershipInput,\n CustomItemInput,\n CustomItemQuantityInfo,\n CustomItemPricingInfo,\n CustomItemSource,\n CustomItemAttributes,\n CustomItemDeliveryConfig,\n CustomItemTaxConfig,\n CustomItemPaymentConfig,\n PlatformFee,\n CouponInput,\n DeliveryMethodInput,\n GiftCardInput,\n CreateCartResponse,\n ItemNotFoundInCatalogErrorData,\n LineItemIdentifier,\n LineItemIdentifierIdOneOf,\n InsufficientInventoryErrorData,\n InsufficientInventoryEntry,\n MaxLineItemsExceededErrorData,\n MaxItemModifiersExceededErrorData,\n DuplicateModifierGroupIdsErrorData,\n DuplicateItemModifierIdsErrorData,\n LineItemPriceConflictErrorData,\n FixedQuantityItemErrorData,\n InvalidMembershipPaymentOptionErrorData,\n InvalidMembershipEntry,\n LineItemNotFoundInCartErrorData,\n DeliveryMethodNotFoundErrorData,\n GetCartRequest,\n GetCartResponse,\n GetUpsellOptionsRequest,\n GetUpsellOptionsResponse,\n ItemUpsells,\n UpsellOption,\n UpsellBenefitMetadata,\n PriceDetails,\n UpdateCartRequest,\n UpdateCartResponse,\n CartAlreadyOrderedErrorData,\n DeleteCartRequest,\n DeleteCartResponse,\n RefreshCartRequest,\n RefreshCartResponse,\n EstimateCartRequest,\n EstimateCartResponse,\n CalculateCartRequest,\n CalculateCartResponse,\n CalculateCartForV1Request,\n CalculationConfig,\n CalculationOverrides,\n SelectedMemberships,\n SelectedMembership,\n CalculateCartForV1Response,\n CalculateTotalsResponse,\n CalculatedLineItem,\n LineItemPricesData,\n ItemTaxFullDetails,\n TaxRateBreakdown,\n TaxBreakdown,\n CalculatedItemModifier,\n V1PriceSummary,\n GiftCard,\n TaxSummary,\n TaxCalculationDetails,\n TaxCalculationDetailsCalculationDetailsOneOf,\n AutoTaxFallbackCalculationDetails,\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 CalculationErrors,\n CalculationErrorsShippingCalculationErrorOneOf,\n CarrierErrors,\n CarrierError,\n GiftCardCalculationError,\n MembershipOptions,\n Membership,\n MembershipName,\n MembershipPaymentCredits,\n InvalidMembership,\n ValidatedExistingMemberships,\n ExistingMembership,\n V1Membership,\n CoveredLineItem,\n ValidatedPurchasablePlans,\n PurchasablePlan,\n Benefit,\n BenefitQuotaOneOf,\n LimitedQuota,\n LineItemCoverage,\n AdditionalFee,\n PlatformFeeSummary,\n CalculatedPlatformFee,\n CartRevisionMismatchErrorData,\n GetCheckoutURLRequest,\n GetCheckoutURLResponse,\n PlaceOrderRequest,\n RedirectUrls,\n PlaceOrderResponse,\n InvalidThirdPartyCheckoutTokenErrorData,\n InvalidPriceVerificationTokenErrorData,\n ViolationWithErrorSeverityErrorData,\n ViolationsList,\n InvalidMembershipErrorData,\n InvalidPaymentStatusErrorData,\n GiftCardRedeemErrorData,\n EmptyPaymentTokenErrorData,\n InvalidCartErrorData,\n AddLineItemsRequest,\n AddLineItemsResponse,\n RemoveLineItemsRequest,\n RemoveLineItemsResponse,\n UpdateLineItemsRequest,\n LineItemUpdate,\n QuantityUpdate,\n SelectedMembershipUpdate,\n UpdateLineItemsResponse,\n EmptyLineItemUpdatesErrorData,\n DuplicateLineItemUpdatesErrorData,\n AddCouponRequest,\n AddCouponResponse,\n CouponAlreadyExistsErrorData,\n RemoveCouponRequest,\n RemoveCouponResponse,\n CouponNotFoundInCartErrorData,\n SetDeliveryMethodRequest,\n SetDeliveryMethodResponse,\n RemoveDeliveryMethodRequest,\n RemoveDeliveryMethodResponse,\n AddGiftCardRequest,\n AddGiftCardResponse,\n GiftCardAlreadyExistsErrorData,\n RemoveGiftCardRequest,\n RemoveGiftCardResponse,\n GiftCardNotFoundInCartErrorData,\n MarkCartAsCompletedRequest,\n MarkCartAsCompletedResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n HandleAsyncCheckoutCompletionRequest,\n RawHttpResponse,\n HeadersEntry,\n UpdateFormSubmissionsRequest,\n FormSubmission,\n UpdateFormSubmissionsResponse,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n CreateCurrentCartRequest,\n CreateCurrentCartResponse,\n GetCurrentCartRequest,\n GetCurrentCartResponse,\n UpdateCurrentCartRequest,\n UpdateCurrentCartResponse,\n DeleteCurrentCartRequest,\n DeleteCurrentCartResponse,\n RefreshCurrentCartRequest,\n RefreshCurrentCartResponse,\n CalculateCurrentCartRequest,\n CalculateCurrentCartResponse,\n EstimateCurrentCartRequest,\n EstimateCurrentCartResponse,\n AddLineItemsToCurrentCartRequest,\n AddLineItemsToCurrentCartResponse,\n RemoveLineItemsFromCurrentCartRequest,\n RemoveLineItemsFromCurrentCartResponse,\n UpdateLineItemsInCurrentCartRequest,\n UpdateLineItemsInCurrentCartResponse,\n AddCouponToCurrentCartRequest,\n AddCouponToCurrentCartResponse,\n RemoveCouponFromCurrentCartRequest,\n RemoveCouponFromCurrentCartResponse,\n SetDeliveryMethodForCurrentCartRequest,\n SetDeliveryMethodForCurrentCartResponse,\n RemoveDeliveryMethodFromCurrentCartRequest,\n RemoveDeliveryMethodFromCurrentCartResponse,\n AddGiftCardToCurrentCartRequest,\n AddGiftCardToCurrentCartResponse,\n RemoveGiftCardFromCurrentCartRequest,\n RemoveGiftCardFromCurrentCartResponse,\n UnmarkAsCurrentCartRequest,\n UnmarkAsCurrentCartResponse,\n UpdateFormSubmissionsInCurrentCartRequest,\n UpdateFormSubmissionsInCurrentCartResponse,\n GetUpsellOptionsForCurrentCartRequest,\n GetUpsellOptionsForCurrentCartResponse,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n CartCalculatedEnvelope,\n CartCreatedEnvelope,\n CartDeletedEnvelope,\n CartUpdatedEnvelope,\n CreateCurrentCartOptions,\n CalculateCurrentCartOptions,\n EstimateCurrentCartOptions,\n AddLineItemsToCurrentCartOptions,\n UpdateLineItemsInCurrentCartOptions,\n UpdateFormSubmissionsInCurrentCartOptions,\n} from './ecom-v2-cart-current-cart-v-2.universal.js';\nexport {\n DescriptionLineTypeWithLiterals,\n DimensionsUnitWithLiterals,\n PaymentOptionTypeWithLiterals,\n ItemTypePresetWithLiterals,\n SubscriptionFrequencyWithLiterals,\n ProductPeriodAlignmentWithLiterals,\n FileTypeWithLiterals,\n TaxableAddressTypeWithLiterals,\n RedemptionTypeWithLiterals,\n ItemStatusWithLiterals,\n DiscountSourceTypeWithLiterals,\n ChannelTypeWithLiterals,\n VatTypeWithLiterals,\n WeightUnitWithLiterals,\n DiscountTypeWithLiterals,\n DiscountScopeWithLiterals,\n SourceWithLiterals,\n RuleTypeWithLiterals,\n SeverityWithLiterals,\n NameInOtherWithLiterals,\n NameInLineItemWithLiterals,\n SuggestedFixWithLiterals,\n ViolationScopeWithLiterals,\n ViolationCodeWithLiterals,\n ViolationSeverityWithLiterals,\n InvalidCouponReasonWithLiterals,\n InvalidGiftCardReasonWithLiterals,\n InvalidMembershipReasonWithLiterals,\n V1PlatformFeeChargeTypeWithLiterals,\n BenefitTypeWithLiterals,\n ValidationsConfigWithLiterals,\n JurisdictionTypeWithLiterals,\n RateTypeWithLiterals,\n ManualCalculationReasonWithLiterals,\n FallbackReasonWithLiterals,\n PickupMethodWithLiterals,\n ChargeTypeWithLiterals,\n BalanceTypeWithLiterals,\n QuotaTypeWithLiterals,\n LimitedQuotaTypeWithLiterals,\n AdditionalFeeSourceWithLiterals,\n PlatformFeeChargeTypeWithLiterals,\n WebhookIdentityTypeWithLiterals,\n CreateCurrentCartApplicationErrors,\n UpdateCurrentCartApplicationErrors,\n RefreshCurrentCartApplicationErrors,\n CalculateCurrentCartApplicationErrors,\n EstimateCurrentCartApplicationErrors,\n AddLineItemsToCurrentCartApplicationErrors,\n RemoveLineItemsFromCurrentCartApplicationErrors,\n UpdateLineItemsInCurrentCartApplicationErrors,\n AddCouponToCurrentCartApplicationErrors,\n RemoveCouponFromCurrentCartApplicationErrors,\n SetDeliveryMethodForCurrentCartApplicationErrors,\n RemoveDeliveryMethodFromCurrentCartApplicationErrors,\n AddGiftCardToCurrentCartApplicationErrors,\n RemoveGiftCardFromCurrentCartApplicationErrors,\n} from './ecom-v2-cart-current-cart-v-2.universal.js';\n"],"mappings":"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","names":["addCouponToCurrentCart","addGiftCardToCurrentCart","addLineItemsToCurrentCart","calculateCurrentCart","createCurrentCart","deleteCurrentCart","estimateCurrentCart","getCurrentCart","getUpsellOptionsForCurrentCart","onCartCalculated","onCartCreated","onCartDeleted","onCartUpdated","refreshCurrentCart","removeCouponFromCurrentCart","removeDeliveryMethodFromCurrentCart","removeGiftCardFromCurrentCart","removeLineItemsFromCurrentCart","setDeliveryMethodForCurrentCart","updateCurrentCart","updateFormSubmissionsInCurrentCart","updateLineItemsInCurrentCart","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","DimensionsUnit","PaymentOptionType","ItemTypePreset","SubscriptionFrequency","ProductPeriodAlignment","FileType","TaxableAddressType","RedemptionType","ItemStatus","DiscountSourceType","ChannelType","VatType","WeightUnit","DiscountType","DiscountScope","Source","RuleType","Severity","NameInOther","NameInLineItem","SuggestedFix","ViolationScope","ViolationCode","ViolationSeverity","InvalidCouponReason","InvalidGiftCardReason","InvalidMembershipReason","V1PlatformFeeChargeType","BenefitType","ValidationsConfig","JurisdictionType","RateType","ManualCalculationReason","FallbackReason","PickupMethod","ChargeType","BalanceType","QuotaType","LimitedQuotaType","AdditionalFeeSource","PlatformFeeChargeType","WebhookIdentityType","createCurrentCart","sdkTransformError","getCurrentCart","updateCurrentCart","deleteCurrentCart","refreshCurrentCart","calculateCurrentCart","estimateCurrentCart","addLineItemsToCurrentCart","removeLineItemsFromCurrentCart","updateLineItemsInCurrentCart","addCouponToCurrentCart","removeCouponFromCurrentCart","setDeliveryMethodForCurrentCart","removeDeliveryMethodFromCurrentCart","addGiftCardToCurrentCart","removeGiftCardFromCurrentCart","updateFormSubmissionsInCurrentCart","getUpsellOptionsForCurrentCart","createCurrentCart","getCurrentCart","updateCurrentCart","deleteCurrentCart","refreshCurrentCart","calculateCurrentCart","estimateCurrentCart","addLineItemsToCurrentCart","removeLineItemsFromCurrentCart","updateLineItemsInCurrentCart","addCouponToCurrentCart","removeCouponFromCurrentCart","setDeliveryMethodForCurrentCart","removeDeliveryMethodFromCurrentCart","addGiftCardToCurrentCart","removeGiftCardFromCurrentCart","updateFormSubmissionsInCurrentCart","getUpsellOptionsForCurrentCart","import_rest_modules","createCurrentCart","getCurrentCart","updateCurrentCart","deleteCurrentCart","refreshCurrentCart","calculateCurrentCart","estimateCurrentCart","addLineItemsToCurrentCart","removeLineItemsFromCurrentCart","updateLineItemsInCurrentCart","addCouponToCurrentCart","removeCouponFromCurrentCart","setDeliveryMethodForCurrentCart","removeDeliveryMethodFromCurrentCart","addGiftCardToCurrentCart","removeGiftCardFromCurrentCart","updateFormSubmissionsInCurrentCart","getUpsellOptionsForCurrentCart","onCartCalculated","onCartCreated","onCartDeleted","onCartUpdated"]}
|