{"version":3,"sources":["../../src/ecom-v1-totals-calculation-totals-calculator.universal.ts","../../src/ecom-v1-totals-calculation-totals-calculator.http.ts","../../src/ecom-v1-totals-calculation-totals-calculator.public.ts","../../src/ecom-v1-totals-calculation-totals-calculator.context.ts"],"sourcesContent":["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 ambassadorWixEcomV1TotalsCalculation from './ecom-v1-totals-calculation-totals-calculator.http.js';\nimport { transformSDKAddressToRESTAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nconst TRANSFORM_PATHS_0 = [\n  { path: 'shippingAddress' },\n  { path: 'billingAddress' },\n  { path: 'shippingOptions.shippingOptions.logistics.pickupDetails.address' },\n];\nconst TRANSFORM_PATHS_1 = [\n  {\n    path: 'shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address',\n  },\n  {\n    path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.pickupDetails.address',\n  },\n];\n\nexport interface TotalsCalculationEntity {}\n\nexport interface CalculateTotalsRequest\n  extends CalculateTotalsRequestCouponOneOf,\n    CalculateTotalsRequestGiftCardOneOf {\n  /** Coupon ID. */\n  couponId?: string | null;\n  /** Coupon code. */\n  couponCode?: string | null;\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  giftCardCode?: string | null;\n  /**\n   * Calculation ID. An identifier of the entity that you are calculating totals for, for example, cart ID or checkout ID.\n   * This value will be used in order to optimise calculations by caching.\n   * If not passed, calculation might be slower in some cases.\n   * @minLength 1\n   * @maxLength 100\n   */\n  calculationId?: string | null;\n  /**\n   * Line items for calculation.\n   * @maxSize 300\n   */\n  lineItems?: LineItem[];\n  /** Shipping address for tax and shipping calculation (if applicable). */\n  shippingAddress?: Address;\n  /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n  billingAddress?: Address;\n  /** Details about selected shipping option. */\n  selectedShippingOption?: SelectedShippingOption;\n  /**\n   * Buyer email. Used to enforce coupon [single-use per customer](https://support.wix.com/en/article/wix-stores-limiting-coupon-usage). If not passed, single coupon usage per customer will not be enforced.\n   * @format EMAIL\n   */\n  buyerEmail?: string | null;\n  /**\n   * Whether to calculate tax in the calculation request.\n   *\n   * Default: `true`\n   * @internal\n   */\n  calculateTax?: boolean | null;\n  /**\n   * Member id to use for this calculation\n   * When not provided, given that the caller is a member, its member id will be used\n   * Providing this require elevated permissions - ECOM.ADMIN_CALCULATE_TOTALS\n   */\n  memberId?: string | null;\n  /**\n   * The selected memberships and which line items they apply to\n   * When not provided, default selection will be returned\n   * You can also set it to empty selection\n   * Mutually exclusive with `membership_selection` - providing both returns an INVALID_ARGUMENT error.\n   */\n  selectedMemberships?: SelectedMemberships;\n  /**\n   * Whether to calculate shipping in the calculation request.\n   *\n   * Default: `true`\n   * @internal\n   */\n  calculateShipping?: boolean | null;\n  /** Buyer phone number. Used to get shipping rates. */\n  buyerPhone?: string | null;\n  /**\n   * Whether to calculate discount rules in the calculation request. If not passed, discount rules are being calculated.\n   * @internal\n   */\n  calculateDiscountRules?: boolean | null;\n  /**\n   * Shipping information that will be used instead of calculated shipping info.\n   * @internal\n   * @maxSize 1\n   */\n  shippingOptions?: CarrierShippingOption[];\n  /**\n   * Applied discounts that will be used instead of calculated discounts.\n   * @internal\n   * @maxSize 320\n   */\n  appliedDiscounts?: AppliedDiscount[];\n  /**\n   * Additional Fees that will be used instead of calculated additional fees\n   * @internal\n   * @maxSize 100\n   */\n  additionalFees?: AdditionalFee[];\n  /**\n   * List of data that should not be fetched by Totals calculator\n   * @internal\n   */\n  skipDataFetch?: DataFetchTypeWithLiterals[];\n  /**\n   * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n   * @format GUID\n   */\n  purchaseFlowId?: string | null;\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   * @maxSize 20\n   */\n  externalReferences?: ExternalReference[];\n  /**\n   * The business location ID to be used as the basis for some calculations.\n   * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n   * @format GUID\n   */\n  businessLocationId?: string | null;\n  /**\n   * DEPRECATED: Use `giftCards.redeemAmount` instead.\n   * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n   * @deprecated DEPRECATED: Use `giftCards.redeemAmount` instead.\n   * @replacedBy gift_cards\n   * @targetRemovalDate 2026-12-01\n   */\n  giftCardRedeemAmount?: string | null;\n  /**\n   * Buyer contact ID.\n   * @internal\n   * @format GUID\n   */\n  contactId?: string | null;\n  /** [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields). */\n  extendedFields?: ExtendedFields;\n  /**\n   * Exempt group to use for tax calculations.\n   * @internal\n   * @format GUID\n   */\n  taxExemptGroupId?: string | null;\n  /**\n   * Controls behavior when the selected shipping option is unavailable:\n   * + `true` - An alternative shipping option is automatically selected from the available options.\n   * + `false` - An alternative shipping option is not automatically selected from the available options,\n   * and a calculation error will be returned to signal that the selected option is unavailable.\n   *\n   * Default: `true`\n   * @internal\n   */\n  selectedShippingFallback?: boolean | null;\n  /**\n   * Whether SPECIFIC_ITEMS discounts are applied directly to item prices.\n   *\n   * When `true`:\n   * + SPECIFIC_ITEMS discounts reduce item `price`, which is reflected in the subtotal.\n   * + GLOBAL discounts are applied on top of the subtotal, without modifying item `price`.\n   *\n   * When `false` (current behavior):\n   * + All coupons and merchant discounts are treated as GLOBAL; item prices are unchanged.\n   *\n   * Note: SPECIFIC_ITEMS automatic discounts are already applied to item prices, regardless of this setting.\n   *\n   * Default: `false`\n   * @internal\n   */\n  applyItemDiscountsToPrices?: boolean;\n  /**\n   * Gift cards to apply.\n   * @internal\n   * @maxSize 5\n   */\n  giftCards?: GiftCardInput[];\n  /**\n   * Membership selection (existing + future) to be validated and enhanced.\n   * When set, memberships are resolved via the EnhanceAndValidateSelection SPI flow.\n   * Mutually exclusive with `selected_memberships` - providing both returns an INVALID_ARGUMENT error.\n   * @internal\n   */\n  membershipSelection?: MembershipSelection;\n  /**\n   * Currency of the provided amounts. When set, the calculation is performed and rounded in this currency.\n   *\n   * Default: The site's default currency.\n   * @internal\n   * @format CURRENCY\n   */\n  amountCurrency?: 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\n/** @oneof */\nexport interface CalculateTotalsRequestCouponOneOf {\n  /** Coupon ID. */\n  couponId?: string | null;\n  /** Coupon code. */\n  couponCode?: string | null;\n}\n\n/** @oneof */\nexport interface CalculateTotalsRequestGiftCardOneOf {\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  giftCardCode?: string | null;\n}\n\nexport interface LineItem {\n  /**\n   * Line item ID.\n   * @minLength 1\n   * @maxLength 100\n   */\n  _id?: string;\n  /**\n   * Quantity.\n   * @max 100000\n   */\n  quantity?: number | null;\n  /**\n   * Optional references to the line item's origin catalog.\n   * See [Catalog SPI](https://bo.wix.com/wix-docs/rest/ecommerce/catalog-spi/introduction) for more details.\n   * This field may be empty in the case of a custom line item.\n   * currently we only use the catalog app id to set tax=0 for specific apps.\n   */\n  catalogReference?: CatalogReference;\n  /**\n   * Product/booking/event name.\n   * @maxLength 200\n   */\n  productName?: string | null;\n  /**\n   * Catalog price.\n   * @decimalValue options { gte:0 }\n   */\n  price?: string;\n  /** Physical properties (if applicable). */\n  physicalProperties?: PhysicalProperties;\n  /**\n   * Coupon scopes - which app and items a coupon applies to.\n   * This field is internal to Wix, and should be used by Bookings, Stores and Events as used by the current [Coupons API](https://bo.wix.com/wix-docs/rest/stores/coupons/valid-scope-values).\n   * @internal\n   */\n  couponScopes?: Scope[];\n  /**\n   * Tax group ID.\n   * @internal\n   * @format GUID\n   */\n  taxGroupId?: string | null;\n  /**\n   * Shipping group ID.\n   * @internal\n   * @format GUID\n   */\n  shippingGroupId?: string | null;\n  /** Subscription settings. */\n  subscriptionSettings?: SubscriptionSettings;\n  /**\n   * Type of selected payment option for current item.\n   *\n   * Default: `FULL_PAYMENT_ONLINE`\n   */\n  paymentOption?: PaymentOptionTypeWithLiterals;\n  /** Service properties. When relevant, this contains information such as date and number of participants. */\n  serviceProperties?: ServiceProperties;\n  /**\n   * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n   * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n   * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n   * + Used in membership validation.\n   * @minLength 1\n   * @maxLength 36\n   */\n  rootCatalogItemId?: string | null;\n  /**\n   * Optional - partial amount of item's price to be paid now for checkout cases with DEPOSIT_ONLINE payment option\n   * If omitted - item's price will not be split and is expected to be paid in single installment\n   * @format DECIMAL_VALUE\n   */\n  depositAmount?: string | null;\n  /**\n   * full price of the item before all the discounts\n   * @format DECIMAL_VALUE\n   */\n  fullPrice?: string | null;\n  /**\n   * The Item's Delivery Profile Id\n   * @format GUID\n   */\n  deliveryProfileId?: string | null;\n  /** Item type. Either a preset type or custom. */\n  itemType?: ItemType;\n  /** Address to use for tax calculation purposes. */\n  taxableAddress?: TaxableAddress;\n  /**\n   * Additional Fees to be added to used for calculation.\n   * @readonly\n   * @maxSize 5\n   */\n  additionalFees?: ApiV1AdditionalFee[];\n  /**\n   * Modifier groups that were added to the item.\n   * @maxSize 25\n   */\n  modifierGroups?: ModifierGroup[];\n  /**\n   * Platform fee that should be charged for the item.\n   * @internal\n   */\n  platformFee?: PlatformFee;\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 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 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 SubscriptionSettings {\n  /** Frequency of recurring payment. Every day/week/month/year. */\n  frequency?: SubscriptionFrequencyWithLiterals;\n  /**\n   * *Optional** - Interval of recurring payment. Defaults to 1 if not provided.\n   * @internal\n   * @min 1\n   * @max 3650\n   */\n  interval?: number | null;\n  /**\n   * Whether this subscription offers a free trial period.\n   * @internal\n   */\n  freeTrial?: boolean;\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\n/** Type of selected payment option for catalog item */\nexport enum PaymentOptionType {\n  /** The entire payment for this item happens as part of the checkout. */\n  FULL_PAYMENT_ONLINE = 'FULL_PAYMENT_ONLINE',\n  /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n  FULL_PAYMENT_OFFLINE = 'FULL_PAYMENT_OFFLINE',\n  /** Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online. */\n  MEMBERSHIP = 'MEMBERSHIP',\n  /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n  DEPOSIT_ONLINE = 'DEPOSIT_ONLINE',\n  /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n  MEMBERSHIP_OFFLINE = 'MEMBERSHIP_OFFLINE',\n  /**\n   * Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.\n   * @documentationMaturity preview\n   */\n  MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER = 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n}\n\n/** @enumType */\nexport type PaymentOptionTypeWithLiterals =\n  | PaymentOptionType\n  | 'FULL_PAYMENT_ONLINE'\n  | 'FULL_PAYMENT_OFFLINE'\n  | 'MEMBERSHIP'\n  | 'DEPOSIT_ONLINE'\n  | 'MEMBERSHIP_OFFLINE'\n  | 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER';\n\nexport interface ServiceProperties {\n  /**\n   * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n   * For example, the start time of a class.\n   */\n  scheduledDate?: Date | null;\n  /**\n   * The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.\n   * @min 1\n   * @max 10000\n   */\n  numberOfParticipants?: number | null;\n  /**\n   * Date and time the service is to be ended, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n   * For example, the date and time a class will end.\n   * @internal\n   */\n  endDate?: Date | null;\n}\n\nexport interface 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 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 ApiV1AdditionalFee {\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?: V1TaxDetails;\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 V1TaxDetails {\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   */\n  _id?: string;\n  /** Modifier group name. */\n  name?: TranslatableString;\n  /**\n   * List of modifiers in this group.\n   * @minSize 1\n   * @maxSize 25\n   */\n  modifiers?: ItemModifier[];\n}\n\nexport interface TranslatableString {\n  /**\n   * __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n   *\n   * Min: 1 character.\n   * Max: 200 characters.\n   * @minLength 1\n   * @maxLength 200\n   */\n  original?: string;\n  /**\n   * String translated into the buyer's language.\n   *\n   * Min: 1 character.\n   * Max: 400 characters.\n   * Default: Same as `original`.\n   * @minLength 1\n   * @maxLength 400\n   */\n  translated?: string | null;\n}\n\nexport interface ItemModifier {\n  /**\n   * Modifier ID.\n   * @minLength 1\n   * @maxLength 36\n   */\n  _id?: string;\n  /**\n   * The quantity of this modifier.\n   * @min 1\n   * @max 100000\n   */\n  quantity?: number | null;\n  /** Primary display label for the modifier. */\n  label?: TranslatableString;\n  /** Additional details. */\n  details?: TranslatableString;\n  /**\n   * The price of the modifier.\n   * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n   */\n  price?: string | null;\n}\n\nexport interface PlatformFee {\n  /** Platform fee name. */\n  name?: TranslatableString;\n  /** Platform fee charge type. */\n  chargeType?: PlatformFeeChargeTypeWithLiterals;\n  /**\n   * Percentage rate charged as platform fee.\n   *\n   * The fee rate 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\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 SelectedShippingOption {\n  /**\n   * Carrier ID.\n   * @format GUID\n   */\n  carrierId?: string | null;\n  /**\n   * Selected shipping option code. For example, \"usps_std_overnight\".\n   * @minLength 1\n   * @maxLength 100\n   */\n  code?: string;\n}\n\nexport interface 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 CarrierShippingOption {\n  /**\n   * This carrier's unique ID\n   * @format GUID\n   */\n  carrierId?: string | null;\n  /** Shipping service 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 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 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 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 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 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 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 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 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   * Name of the additional fee. For example, \"Gift wrapping\".\n   * @minLength 1\n   * @maxLength 50\n   */\n  name?: string;\n  /**\n   * Additional fee's price\n   * @decimalValue options { gte:0, lte:1000000000000000 }\n   */\n  price?: string;\n  /**\n   * Currency\n   * @format CURRENCY\n   */\n  currency?: string;\n  /** Tax details */\n  taxDetails?: TaxDetails;\n  /**\n   * Provider's app id\n   * @minLength 1\n   * @maxLength 100\n   */\n  providerAppId?: string | null;\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  /**\n   * The translated name of the additional fee. The translation language is determined by the `languages` field in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n   * @minLength 1\n   * @maxLength 50\n   */\n  translatedName?: string | null;\n}\n\n/** Tax Details. */\nexport interface TaxDetails {\n  /** Indication if additional fee is taxable or not */\n  taxable?: boolean;\n  /**\n   * Optional tax group ID to use when calculating tax for this additional fee\n   * @format GUID\n   */\n  taxGroupId?: string | null;\n  /** Address type to calculate tax against for this fee. */\n  taxableAddress?: TaxableAddress;\n}\n\nexport enum DataFetchType {\n  SHIPPING = 'SHIPPING',\n  DISCOUNT = 'DISCOUNT',\n  ADDITIONAL_FEES = 'ADDITIONAL_FEES',\n  ORDER_VALIDATION = 'ORDER_VALIDATION',\n}\n\n/** @enumType */\nexport type DataFetchTypeWithLiterals =\n  | DataFetchType\n  | 'SHIPPING'\n  | 'DISCOUNT'\n  | 'ADDITIONAL_FEES'\n  | 'ORDER_VALIDATION';\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 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 GiftCardInput {\n  /**\n   * Gift card code.\n   * @minLength 8\n   * @maxLength 20\n   */\n  code?: string;\n  /**\n   * Amount to redeem from this gift card. When not provided, the full available balance is redeemed up to the order total.\n   * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n   */\n  redeemAmount?: string | null;\n}\n\n/**\n * Buyer's membership selection (existing + future) to validate and enhance\n * via the EnhanceAndValidateSelection SPI flow.\n */\nexport interface MembershipSelection {\n  /**\n   * Existing memberships the buyer selected to redeem.\n   * @maxSize 300\n   */\n  existingMemberships?: ExistingMembershipSelection[];\n  /**\n   * Future memberships the buyer intends to purchase.\n   * @maxSize 300\n   */\n  futureMemberships?: FutureMembershipSelection[];\n}\n\nexport interface ExistingMembershipSelection {\n  /**\n   * ID of the app providing this membership.\n   * @format GUID\n   */\n  appId?: string;\n  /**\n   * Membership ID.\n   * @minLength 1\n   * @maxLength 100\n   */\n  membershipId?: string;\n  /**\n   * IDs of the request line items to redeem against this membership.\n   * @minSize 1\n   * @maxSize 300\n   * @minLength 1\n   * @maxLength 100\n   */\n  lineItemIds?: string[];\n}\n\nexport interface FutureMembershipSelection {\n  /** Catalog reference of the plan to be purchased. */\n  catalogReference?: CatalogReference;\n  /**\n   * ID of the benefit the line items will be redeemed against.\n   * @maxLength 200\n   */\n  benefitId?: string;\n  /**\n   * IDs of the request line items to cover with this future membership.\n   * @maxSize 300\n   * @minLength 1\n   * @maxLength 100\n   */\n  lineItemIds?: string[];\n}\n\nexport interface CalculateTotalsResponse {\n  /** Calculate line items. */\n  calculatedLineItems?: CalculatedLineItem[];\n  /** Price summary. */\n  priceSummary?: PriceSummary;\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?: PriceSummary;\n  /**\n   * Remaining amount for the order to be fully paid.\n   * @readonly\n   */\n  payLater?: PriceSummary;\n  /** Information about valid and invalid memberships, and which ones are selected for usage. */\n  membershipOptions?: MembershipOptions;\n  /**\n   * Additional Fees\n   * @maxSize 100\n   */\n  additionalFees?: V1AdditionalFee[];\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?: PriceSummary;\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 PriceSummary {\n  /** Subtotal of all line items, before discounts and before tax. */\n  subtotal?: MultiCurrencyPrice;\n  /** Total shipping price, before discounts and before tax. */\n  shipping?: MultiCurrencyPrice;\n  /** Total tax. */\n  tax?: MultiCurrencyPrice;\n  /** Total calculated discount value. */\n  discount?: MultiCurrencyPrice;\n  /** Total price after discounts, gift cards, and tax. */\n  total?: MultiCurrencyPrice;\n  /** Total additional fees price before tax. */\n  additionalFees?: MultiCurrencyPrice;\n}\n\nexport interface GiftCard {\n  /**\n   * Gift Card ID.\n   * @deprecated\n   */\n  _id?: string;\n  /** Gift card obfuscated code. */\n  obfuscatedCode?: string;\n  /** Actual amount to be redeemed from the gift card. */\n  amount?: MultiCurrencyPrice;\n  /**\n   * App ID of the gift card provider.\n   * @format GUID\n   */\n  appId?: string;\n  /**\n   * External ID in the gift card provider's system.\n   * Used for integration and tracking across different platforms.\n   * @minLength 1\n   * @maxLength 50\n   */\n  externalId?: string | null;\n  /** Requested amount to redeem from the gift card. */\n  requestedAmount?: MultiCurrencyPrice;\n  /**\n   * 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\nexport interface ApplicationError {\n  /** Error code. */\n  code?: string;\n  /** Description of the error. */\n  description?: string;\n  /** Data related to the error. */\n  data?: Record<string, any> | null;\n}\n\n/**\n * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n */\nexport interface AggregatedTaxBreakdown {\n  /**\n   * The name of the tax against which this tax amount was calculated.\n   * @maxLength 200\n   */\n  taxName?: string;\n  /**\n   * The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws.\n   * @maxLength 200\n   */\n  taxType?: string;\n  /**\n   * The name of the jurisdiction in which this tax detail applies.\n   * @maxLength 200\n   */\n  jurisdiction?: string;\n  /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n  jurisdictionTypeEnum?: JurisdictionTypeWithLiterals;\n  /**\n   * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value)\n   * @decimalValue options { gte:0, maxScale:6 }\n   */\n  rate?: string;\n  /** The sum of all the tax from line items that calculated by the tax identifiers. */\n  aggregatedTaxAmount?: MultiCurrencyPrice;\n  /** The sum of all the taxable amount from line items for tax identifiers. */\n  aggregatedTaxableAmount?: MultiCurrencyPrice;\n  /**\n   * The aggregated exempt amount from all line items for tax identifiers.\n   * @internal\n   */\n  aggregatedExemptAmount?: MultiCurrencyPrice;\n}\n\nexport interface ShippingInformation {\n  /** Shipping region. */\n  region?: ShippingRegion;\n  /** Selected shipping option. */\n  selectedCarrierServiceOption?: SelectedCarrierServiceOption;\n  /** All shipping options. */\n  carrierServiceOptions?: CarrierServiceOption[];\n}\n\nexport interface ShippingRegion {\n  /**\n   * Shipping region ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string;\n  /**\n   * Shipping region name.\n   * @maxLength 100\n   */\n  name?: string;\n}\n\nexport interface SelectedCarrierServiceOption {\n  /**\n   * Unique identifier of selected option. For example, \"usps_std_overnight\".\n   * @maxLength 100\n   */\n  code?: string;\n  /**\n   * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\n   * For example, \"Standard\" or \"First-Class Package International\".\n   * @maxLength 250\n   * @readonly\n   */\n  title?: string;\n  /**\n   * Delivery logistics.\n   * @readonly\n   */\n  logistics?: DeliveryLogistics;\n  /**\n   * Shipping costs.\n   * @readonly\n   */\n  cost?: SelectedCarrierServiceOptionPrices;\n  /**\n   * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)\n   * @readonly\n   */\n  requestedShippingOption?: boolean;\n  /**\n   * Other charges\n   * @deprecated Other charges\n   * @replacedBy additional_fees\n   * @targetRemovalDate 2025-10-01\n   */\n  otherCharges?: SelectedCarrierServiceOptionOtherCharge[];\n  /**\n   * This carrier's unique ID\n   * @format GUID\n   */\n  carrierId?: string | null;\n  /**\n   * Delivery solution allocations to different delivery carriers and delivery regions\n   * @maxSize 300\n   */\n  deliveryAllocations?: DeliveryAllocation[];\n  /** If the delivery solution is a partial and doesn't apply to all items. */\n  partial?: boolean | null;\n}\n\nexport interface 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 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 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 Details extends DetailsKindOneOf {\n  applicationError?: ApplicationError;\n  validationError?: ValidationError;\n  systemError?: SystemError;\n  /**\n   * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n   * @deprecated\n   */\n  tracing?: Record<string, string>;\n}\n\n/** @oneof */\nexport interface DetailsKindOneOf {\n  applicationError?: ApplicationError;\n  validationError?: ValidationError;\n  systemError?: SystemError;\n}\n\n/**\n * example result:\n * {\n * \"fieldViolations\": [\n * {\n * \"field\": \"fieldA\",\n * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n * \"violatedRule\": \"OTHER\",\n * \"ruleName\": \"INVALID_NOTE\",\n * \"data\": {\n * \"value\": \"FI\"\n * }\n * },\n * {\n * \"field\": \"fieldB\",\n * \"description\": \"field value out of range. supported range: [0-20]\",\n * \"violatedRule\": \"MAX\",\n * \"data\": {\n * \"threshold\": 20\n * }\n * },\n * {\n * \"field\": \"fieldC\",\n * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n * \"violatedRule\": \"FORMAT\",\n * \"data\": {\n * \"type\": \"PHONE\"\n * }\n * }\n * ]\n * }\n */\nexport interface ValidationError {\n  fieldViolations?: FieldViolation[];\n}\n\nexport enum RuleType {\n  VALIDATION = 'VALIDATION',\n  OTHER = 'OTHER',\n  MAX = 'MAX',\n  MIN = 'MIN',\n  MAX_LENGTH = 'MAX_LENGTH',\n  MIN_LENGTH = 'MIN_LENGTH',\n  MAX_SIZE = 'MAX_SIZE',\n  MIN_SIZE = 'MIN_SIZE',\n  FORMAT = 'FORMAT',\n  DECIMAL_LTE = 'DECIMAL_LTE',\n  DECIMAL_GTE = 'DECIMAL_GTE',\n  DECIMAL_LT = 'DECIMAL_LT',\n  DECIMAL_GT = 'DECIMAL_GT',\n  DECIMAL_MAX_SCALE = 'DECIMAL_MAX_SCALE',\n  INVALID_ENUM_VALUE = 'INVALID_ENUM_VALUE',\n  REQUIRED_FIELD = 'REQUIRED_FIELD',\n  FIELD_NOT_ALLOWED = 'FIELD_NOT_ALLOWED',\n  ONE_OF_ALIGNMENT = 'ONE_OF_ALIGNMENT',\n  EXACT_LENGTH = 'EXACT_LENGTH',\n  EXACT_SIZE = 'EXACT_SIZE',\n  REQUIRED_ONE_OF_FIELD = 'REQUIRED_ONE_OF_FIELD',\n}\n\n/** @enumType */\nexport type RuleTypeWithLiterals =\n  | RuleType\n  | 'VALIDATION'\n  | 'OTHER'\n  | 'MAX'\n  | 'MIN'\n  | 'MAX_LENGTH'\n  | 'MIN_LENGTH'\n  | 'MAX_SIZE'\n  | 'MIN_SIZE'\n  | 'FORMAT'\n  | 'DECIMAL_LTE'\n  | 'DECIMAL_GTE'\n  | 'DECIMAL_LT'\n  | 'DECIMAL_GT'\n  | 'DECIMAL_MAX_SCALE'\n  | 'INVALID_ENUM_VALUE'\n  | 'REQUIRED_FIELD'\n  | 'FIELD_NOT_ALLOWED'\n  | 'ONE_OF_ALIGNMENT'\n  | 'EXACT_LENGTH'\n  | 'EXACT_SIZE'\n  | 'REQUIRED_ONE_OF_FIELD';\n\nexport interface FieldViolation {\n  field?: string;\n  description?: string;\n  violatedRule?: RuleTypeWithLiterals;\n  /** applicable when violated_rule=OTHER */\n  ruleName?: string | null;\n  data?: Record<string, any> | null;\n}\n\nexport interface SystemError {\n  /** Error code. */\n  errorCode?: string | null;\n}\n\nexport interface CarrierErrors {\n  /** Carrier errors. */\n  errors?: CarrierError[];\n}\n\nexport interface CarrierError {\n  /** Carrier ID. */\n  carrierId?: string;\n  /** Error details. */\n  error?: Details;\n}\n\nexport interface 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 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 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 V1AdditionalFee {\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\n/**\n * Returns a totals calculation for specified line items.\n * @public\n * @documentationMaturity preview\n * @requiredField options.lineItems._id\n * @requiredField options.lineItems.price\n * @requiredField options.lineItems.quantity\n * @requiredField options.selectedMemberships.memberships._id\n * @requiredField options.selectedMemberships.memberships.appId\n * @requiredField options.selectedMemberships.memberships.lineItemIds\n * @requiredField options.selectedShippingOption.code\n * @permissionId ECOM.CALCULATE_TOTALS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.totals_calculator.v1.TotalsCalculator.CalculateTotals\n */\nexport async function calculateTotals(\n  options?: NonNullablePaths<\n    CalculateTotalsOptions,\n    | `lineItems.${number}._id`\n    | `lineItems.${number}.price`\n    | `lineItems.${number}.quantity`\n    | `selectedMemberships.memberships.${number}._id`\n    | `selectedMemberships.memberships.${number}.appId`\n    | `selectedMemberships.memberships.${number}.lineItemIds`\n    | `selectedShippingOption.code`,\n    3\n  >\n): Promise<\n  NonNullablePaths<\n    CalculateTotalsResponse,\n    | `calculatedLineItems`\n    | `calculatedLineItems.${number}.lineItemId`\n    | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.amount`\n    | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.convertedAmount`\n    | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedAmount`\n    | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedConvertedAmount`\n    | `calculatedLineItems.${number}.pricesBreakdown.taxDetails.taxRate`\n    | `calculatedLineItems.${number}.paymentOption`\n    | `calculatedLineItems.${number}.taxableAddress.addressType`\n    | `priceSummary.subtotal.amount`\n    | `priceSummary.subtotal.convertedAmount`\n    | `priceSummary.subtotal.formattedAmount`\n    | `priceSummary.subtotal.formattedConvertedAmount`\n    | `giftCard._id`\n    | `giftCard.obfuscatedCode`\n    | `giftCard.amount.amount`\n    | `giftCard.amount.convertedAmount`\n    | `giftCard.amount.formattedAmount`\n    | `giftCard.amount.formattedConvertedAmount`\n    | `giftCard.appId`\n    | `taxSummary.taxableAmount.amount`\n    | `taxSummary.taxableAmount.convertedAmount`\n    | `taxSummary.taxableAmount.formattedAmount`\n    | `taxSummary.taxableAmount.formattedConvertedAmount`\n    | `taxSummary.calculationDetails.manualRateReason`\n    | `taxSummary.calculationDetails.autoTaxFallbackDetails.fallbackReason`\n    | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.code`\n    | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.description`\n    | `taxSummary.calculationDetails.rateType`\n    | `shippingInfo.region._id`\n    | `shippingInfo.region.name`\n    | `shippingInfo.selectedCarrierServiceOption.code`\n    | `shippingInfo.selectedCarrierServiceOption.title`\n    | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.number`\n    | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.name`\n    | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.businessLocation`\n    | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.pickupMethod`\n    | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.amount`\n    | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.convertedAmount`\n    | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedAmount`\n    | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedConvertedAmount`\n    | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxRate`\n    | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown`\n    | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.name`\n    | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.rate`\n    | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown`\n    | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown.${number}.jurisdictionType`\n    | `shippingInfo.selectedCarrierServiceOption.requestedShippingOption`\n    | `shippingInfo.selectedCarrierServiceOption.otherCharges`\n    | `shippingInfo.selectedCarrierServiceOption.otherCharges.${number}.type`\n    | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations`\n    | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations.${number}.deliveryCarrier.code`\n    | `shippingInfo.carrierServiceOptions`\n    | `shippingInfo.carrierServiceOptions.${number}.carrierId`\n    | `appliedDiscounts`\n    | `appliedDiscounts.${number}.coupon._id`\n    | `appliedDiscounts.${number}.coupon.code`\n    | `appliedDiscounts.${number}.coupon.amount.amount`\n    | `appliedDiscounts.${number}.coupon.amount.convertedAmount`\n    | `appliedDiscounts.${number}.coupon.amount.formattedAmount`\n    | `appliedDiscounts.${number}.coupon.amount.formattedConvertedAmount`\n    | `appliedDiscounts.${number}.coupon.name`\n    | `appliedDiscounts.${number}.discountRule._id`\n    | `appliedDiscounts.${number}.discountRule.name.original`\n    | `appliedDiscounts.${number}.discountType`\n    | `calculationErrors.generalShippingCalculationError.applicationError.code`\n    | `calculationErrors.generalShippingCalculationError.applicationError.description`\n    | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n    | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n    | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n    | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n    | `calculationErrors.carrierErrors.errors`\n    | `calculationErrors.carrierErrors.errors.${number}.carrierId`\n    | `calculationErrors.orderValidationErrors`\n    | `weightUnit`\n    | `currency`\n    | `conversionCurrency`\n    | `taxIncludedInPrice`\n    | `payNow.subtotal.amount`\n    | `payNow.subtotal.convertedAmount`\n    | `payNow.subtotal.formattedAmount`\n    | `payNow.subtotal.formattedConvertedAmount`\n    | `payLater.subtotal.amount`\n    | `payLater.subtotal.convertedAmount`\n    | `payLater.subtotal.formattedAmount`\n    | `payLater.subtotal.formattedConvertedAmount`\n    | `membershipOptions.eligibleMemberships`\n    | `membershipOptions.eligibleMemberships.${number}._id`\n    | `membershipOptions.eligibleMemberships.${number}.appId`\n    | `membershipOptions.eligibleMemberships.${number}.name.original`\n    | `membershipOptions.eligibleMemberships.${number}.credits.total`\n    | `membershipOptions.eligibleMemberships.${number}.credits.remaining`\n    | `membershipOptions.invalidMemberships`\n    | `membershipOptions.invalidMemberships.${number}.reason`\n    | `membershipOptions.selectedMemberships`\n    | `membershipOptions.selectedMemberships.${number}._id`\n    | `membershipOptions.selectedMemberships.${number}.appId`\n    | `additionalFees`\n    | `additionalFees.${number}.name`\n    | `additionalFees.${number}.price.amount`\n    | `additionalFees.${number}.price.convertedAmount`\n    | `additionalFees.${number}.price.formattedAmount`\n    | `additionalFees.${number}.price.formattedConvertedAmount`\n    | `additionalFees.${number}.taxDetails.taxRate`\n    | `additionalFees.${number}.source`\n    | `additionalFees.${number}.taxableAddress.addressType`\n    | `payNowTotalAfterGiftCard.amount`\n    | `payNowTotalAfterGiftCard.convertedAmount`\n    | `payNowTotalAfterGiftCard.formattedAmount`\n    | `payNowTotalAfterGiftCard.formattedConvertedAmount`\n    | `totalAfterGiftCard.amount`\n    | `totalAfterGiftCard.convertedAmount`\n    | `totalAfterGiftCard.formattedAmount`\n    | `totalAfterGiftCard.formattedConvertedAmount`\n    | `payAfterFreeTrial.subtotal.amount`\n    | `payAfterFreeTrial.subtotal.convertedAmount`\n    | `payAfterFreeTrial.subtotal.formattedAmount`\n    | `payAfterFreeTrial.subtotal.formattedConvertedAmount`,\n    6\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = transformPaths(\n    renameKeysFromSDKRequestToRESTRequest({\n      calculationId: options?.calculationId,\n      lineItems: options?.lineItems,\n      shippingAddress: options?.shippingAddress,\n      billingAddress: options?.billingAddress,\n      selectedShippingOption: options?.selectedShippingOption,\n      couponId: options?.couponId,\n      couponCode: options?.couponCode,\n      giftCardCode: options?.giftCardCode,\n      buyerEmail: options?.buyerEmail,\n      memberId: options?.memberId,\n      selectedMemberships: options?.selectedMemberships,\n      buyerPhone: options?.buyerPhone,\n      purchaseFlowId: options?.purchaseFlowId,\n      externalReferences: options?.externalReferences,\n      businessLocationId: options?.businessLocationId,\n      giftCardRedeemAmount: options?.giftCardRedeemAmount,\n      contactId: options?.contactId,\n      extendedFields: options?.extendedFields,\n      taxExemptGroupId: options?.taxExemptGroupId,\n      applyItemDiscountsToPrices: options?.applyItemDiscountsToPrices,\n      giftCards: options?.giftCards,\n      membershipSelection: options?.membershipSelection,\n      sitePaymentMethodTypeId: options?.sitePaymentMethodTypeId,\n    }),\n    [\n      {\n        transformFn: transformSDKAddressToRESTAddress,\n        paths: TRANSFORM_PATHS_0,\n      },\n    ]\n  );\n\n  const reqOpts = ambassadorWixEcomV1TotalsCalculation.calculateTotals(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: transformRESTAddressToSDKAddress,\n          paths: TRANSFORM_PATHS_1,\n        },\n      ])\n    )!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          calculationId: '$[0].calculationId',\n          lineItems: '$[0].lineItems',\n          shippingAddress: '$[0].shippingAddress',\n          billingAddress: '$[0].billingAddress',\n          selectedShippingOption: '$[0].selectedShippingOption',\n          couponId: '$[0].couponId',\n          couponCode: '$[0].couponCode',\n          giftCardCode: '$[0].giftCardCode',\n          buyerEmail: '$[0].buyerEmail',\n          memberId: '$[0].memberId',\n          selectedMemberships: '$[0].selectedMemberships',\n          buyerPhone: '$[0].buyerPhone',\n          purchaseFlowId: '$[0].purchaseFlowId',\n          externalReferences: '$[0].externalReferences',\n          businessLocationId: '$[0].businessLocationId',\n          giftCardRedeemAmount: '$[0].giftCardRedeemAmount',\n          contactId: '$[0].contactId',\n          extendedFields: '$[0].extendedFields',\n          taxExemptGroupId: '$[0].taxExemptGroupId',\n          applyItemDiscountsToPrices: '$[0].applyItemDiscountsToPrices',\n          giftCards: '$[0].giftCards',\n          membershipSelection: '$[0].membershipSelection',\n          sitePaymentMethodTypeId: '$[0].sitePaymentMethodTypeId',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface CalculateTotalsOptions\n  extends CalculateTotalsOptionsCouponOneOf,\n    CalculateTotalsOptionsGiftCardOneOf {\n  /**\n   * Calculation ID. An identifier of the entity that you are calculating totals for, for example, cart ID or checkout ID.\n   * This value will be used in order to optimise calculations by caching.\n   * If not passed, calculation might be slower in some cases.\n   * @minLength 1\n   * @maxLength 100\n   */\n  calculationId?: string | null;\n  /**\n   * Line items for calculation.\n   * @maxSize 300\n   */\n  lineItems?: LineItem[];\n  /** Shipping address for tax and shipping calculation (if applicable). */\n  shippingAddress?: Address;\n  /** Billing address. Used for calculating tax if all the items in the cart are not shippable. */\n  billingAddress?: Address;\n  /** Details about selected shipping option. */\n  selectedShippingOption?: SelectedShippingOption;\n  /** Coupon ID. */\n  couponId?: string | null;\n  /** Coupon code. */\n  couponCode?: string | null;\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  giftCardCode?: string | null;\n  /**\n   * Buyer email. Used to enforce coupon [single-use per customer](https://support.wix.com/en/article/wix-stores-limiting-coupon-usage). If not passed, single coupon usage per customer will not be enforced.\n   * @format EMAIL\n   */\n  buyerEmail?: string | null;\n  /**\n   * Member id to use for this calculation\n   * When not provided, given that the caller is a member, its member id will be used\n   * Providing this require elevated permissions - ECOM.ADMIN_CALCULATE_TOTALS\n   */\n  memberId?: string | null;\n  /**\n   * The selected memberships and which line items they apply to\n   * When not provided, default selection will be returned\n   * You can also set it to empty selection\n   * Mutually exclusive with `membership_selection` - providing both returns an INVALID_ARGUMENT error.\n   */\n  selectedMemberships?: SelectedMemberships;\n  /** Buyer phone number. Used to get shipping rates. */\n  buyerPhone?: string | null;\n  /**\n   * Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.\n   * @format GUID\n   */\n  purchaseFlowId?: string | null;\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   * @maxSize 20\n   */\n  externalReferences?: ExternalReference[];\n  /**\n   * The business location ID to be used as the basis for some calculations.\n   * Learn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n   * @format GUID\n   */\n  businessLocationId?: string | null;\n  /**\n   * DEPRECATED: Use `giftCards.redeemAmount` instead.\n   * @decimalValue options { gte:0, lte:1000000000000000, maxScale:3 }\n   * @deprecated DEPRECATED: Use `giftCards.redeemAmount` instead.\n   * @replacedBy gift_cards\n   * @targetRemovalDate 2026-12-01\n   */\n  giftCardRedeemAmount?: string | null;\n  /**\n   * Buyer contact ID.\n   * @internal\n   * @format GUID\n   */\n  contactId?: string | null;\n  /** [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields). */\n  extendedFields?: ExtendedFields;\n  /**\n   * Exempt group to use for tax calculations.\n   * @internal\n   * @format GUID\n   */\n  taxExemptGroupId?: string | null;\n  /**\n   * Whether SPECIFIC_ITEMS discounts are applied directly to item prices.\n   *\n   * When `true`:\n   * + SPECIFIC_ITEMS discounts reduce item `price`, which is reflected in the subtotal.\n   * + GLOBAL discounts are applied on top of the subtotal, without modifying item `price`.\n   *\n   * When `false` (current behavior):\n   * + All coupons and merchant discounts are treated as GLOBAL; item prices are unchanged.\n   *\n   * Note: SPECIFIC_ITEMS automatic discounts are already applied to item prices, regardless of this setting.\n   *\n   * Default: `false`\n   * @internal\n   */\n  applyItemDiscountsToPrices?: boolean;\n  /**\n   * Gift cards to apply.\n   * @internal\n   * @maxSize 5\n   */\n  giftCards?: GiftCardInput[];\n  /**\n   * Membership selection (existing + future) to be validated and enhanced.\n   * When set, memberships are resolved via the EnhanceAndValidateSelection SPI flow.\n   * Mutually exclusive with `selected_memberships` - providing both returns an INVALID_ARGUMENT error.\n   * @internal\n   */\n  membershipSelection?: MembershipSelection;\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\n/** @oneof */\nexport interface CalculateTotalsOptionsCouponOneOf {\n  /** Coupon ID. */\n  couponId?: string | null;\n  /** Coupon code. */\n  couponCode?: string | null;\n}\n\n/** @oneof */\nexport interface CalculateTotalsOptionsGiftCardOneOf {\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  giftCardCode?: string | null;\n}\n","import { 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 { 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\nconst TRANSFORM_PATHS_0 = [\n  { path: 'lineItems.physicalProperties.weight' },\n  { path: 'shippingAddress.geocode.latitude' },\n  { path: 'shippingAddress.geocode.longitude' },\n  { path: 'billingAddress.geocode.latitude' },\n  { path: 'billingAddress.geocode.longitude' },\n  {\n    path: 'shippingOptions.shippingOptions.logistics.pickupDetails.address.geocode.latitude',\n  },\n  {\n    path: 'shippingOptions.shippingOptions.logistics.pickupDetails.address.geocode.longitude',\n  },\n  { path: 'appliedDiscounts.merchantDiscount.percentage' },\n];\nconst TRANSFORM_PATHS_1 = [\n  { path: 'lineItems.serviceProperties.scheduledDate' },\n  { path: 'lineItems.serviceProperties.endDate' },\n  { path: 'shippingOptions.shippingOptions.logistics.deliveryTimeSlot.from' },\n  { path: 'shippingOptions.shippingOptions.logistics.deliveryTimeSlot.to' },\n];\nconst TRANSFORM_PATHS_2 = [\n  {\n    path: 'shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.geocode.latitude',\n  },\n  {\n    path: 'shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.geocode.longitude',\n  },\n  {\n    path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.pickupDetails.address.geocode.latitude',\n  },\n  {\n    path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.pickupDetails.address.geocode.longitude',\n  },\n  { path: 'appliedDiscounts.merchantDiscount.percentage' },\n];\nconst TRANSFORM_PATHS_3 = [\n  {\n    path: 'shippingInfo.selectedCarrierServiceOption.logistics.deliveryTimeSlot.from',\n  },\n  {\n    path: 'shippingInfo.selectedCarrierServiceOption.logistics.deliveryTimeSlot.to',\n  },\n  {\n    path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.deliveryTimeSlot.from',\n  },\n  {\n    path: 'shippingInfo.carrierServiceOptions.shippingOptions.logistics.deliveryTimeSlot.to',\n  },\n  { path: 'membershipOptions.eligibleMemberships.expirationDate' },\n  { path: 'membershipOptions.invalidMemberships.membership.expirationDate' },\n  {\n    path: 'membershipOptions.validatedExistingMemberships.memberships.membership.expirationDate',\n  },\n];\n\nfunction resolveComWixEcomTotalsCalculatorV1TotalsCalculatorUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'bo._base_domain_': [\n      {\n        srcPath: '/totals-calculator',\n        destPath: '',\n      },\n    ],\n    'wixbo.ai': [\n      {\n        srcPath: '/totals-calculator',\n        destPath: '',\n      },\n    ],\n    'wix-bo.com': [\n      {\n        srcPath: '/totals-calculator',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/ecom/v1/calculate-totals',\n        destPath: '/v1/calculate-totals',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/totals-calculator',\n        destPath: '',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/totals-calculator',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_totals-calculator';\n\n/** Returns a totals calculation for specified line items. */\nexport function calculateTotals(payload: object): RequestOptionsFactory<any> {\n  function __calculateTotals({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: TRANSFORM_PATHS_0,\n      },\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: TRANSFORM_PATHS_1,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.ecom.v1.totals_calculation',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wix.ecom.totals_calculator.v1.TotalsCalculator.CalculateTotals',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixEcomTotalsCalculatorV1TotalsCalculatorUrl({\n        protoPath: '/v1/calculate-totals',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: TRANSFORM_PATHS_2,\n          },\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_3,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __calculateTotals;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n  CalculateTotalsOptions,\n  CalculateTotalsResponse,\n  calculateTotals as universalCalculateTotals,\n} from './ecom-v1-totals-calculation-totals-calculator.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/ecom' };\n\nexport function calculateTotals(\n  httpClient: HttpClient\n): CalculateTotalsSignature {\n  return (\n    options?: NonNullablePaths<\n      CalculateTotalsOptions,\n      | `lineItems.${number}._id`\n      | `lineItems.${number}.price`\n      | `lineItems.${number}.quantity`\n      | `selectedMemberships.memberships.${number}._id`\n      | `selectedMemberships.memberships.${number}.appId`\n      | `selectedMemberships.memberships.${number}.lineItemIds`\n      | `selectedShippingOption.code`,\n      3\n    >\n  ) =>\n    universalCalculateTotals(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CalculateTotalsSignature {\n  /**\n   * Returns a totals calculation for specified line items.\n   */\n  (\n    options?: NonNullablePaths<\n      CalculateTotalsOptions,\n      | `lineItems.${number}._id`\n      | `lineItems.${number}.price`\n      | `lineItems.${number}.quantity`\n      | `selectedMemberships.memberships.${number}._id`\n      | `selectedMemberships.memberships.${number}.appId`\n      | `selectedMemberships.memberships.${number}.lineItemIds`\n      | `selectedShippingOption.code`,\n      3\n    >\n  ): Promise<\n    NonNullablePaths<\n      CalculateTotalsResponse,\n      | `calculatedLineItems`\n      | `calculatedLineItems.${number}.lineItemId`\n      | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.amount`\n      | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.convertedAmount`\n      | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedAmount`\n      | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedConvertedAmount`\n      | `calculatedLineItems.${number}.pricesBreakdown.taxDetails.taxRate`\n      | `calculatedLineItems.${number}.paymentOption`\n      | `calculatedLineItems.${number}.taxableAddress.addressType`\n      | `priceSummary.subtotal.amount`\n      | `priceSummary.subtotal.convertedAmount`\n      | `priceSummary.subtotal.formattedAmount`\n      | `priceSummary.subtotal.formattedConvertedAmount`\n      | `giftCard._id`\n      | `giftCard.obfuscatedCode`\n      | `giftCard.amount.amount`\n      | `giftCard.amount.convertedAmount`\n      | `giftCard.amount.formattedAmount`\n      | `giftCard.amount.formattedConvertedAmount`\n      | `giftCard.appId`\n      | `taxSummary.taxableAmount.amount`\n      | `taxSummary.taxableAmount.convertedAmount`\n      | `taxSummary.taxableAmount.formattedAmount`\n      | `taxSummary.taxableAmount.formattedConvertedAmount`\n      | `taxSummary.calculationDetails.manualRateReason`\n      | `taxSummary.calculationDetails.autoTaxFallbackDetails.fallbackReason`\n      | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.code`\n      | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.description`\n      | `taxSummary.calculationDetails.rateType`\n      | `shippingInfo.region._id`\n      | `shippingInfo.region.name`\n      | `shippingInfo.selectedCarrierServiceOption.code`\n      | `shippingInfo.selectedCarrierServiceOption.title`\n      | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.number`\n      | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.name`\n      | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.businessLocation`\n      | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.pickupMethod`\n      | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.amount`\n      | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.convertedAmount`\n      | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedAmount`\n      | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedConvertedAmount`\n      | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxRate`\n      | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown`\n      | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.name`\n      | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.rate`\n      | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown`\n      | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown.${number}.jurisdictionType`\n      | `shippingInfo.selectedCarrierServiceOption.requestedShippingOption`\n      | `shippingInfo.selectedCarrierServiceOption.otherCharges`\n      | `shippingInfo.selectedCarrierServiceOption.otherCharges.${number}.type`\n      | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations`\n      | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations.${number}.deliveryCarrier.code`\n      | `shippingInfo.carrierServiceOptions`\n      | `shippingInfo.carrierServiceOptions.${number}.carrierId`\n      | `appliedDiscounts`\n      | `appliedDiscounts.${number}.coupon._id`\n      | `appliedDiscounts.${number}.coupon.code`\n      | `appliedDiscounts.${number}.coupon.amount.amount`\n      | `appliedDiscounts.${number}.coupon.amount.convertedAmount`\n      | `appliedDiscounts.${number}.coupon.amount.formattedAmount`\n      | `appliedDiscounts.${number}.coupon.amount.formattedConvertedAmount`\n      | `appliedDiscounts.${number}.coupon.name`\n      | `appliedDiscounts.${number}.discountRule._id`\n      | `appliedDiscounts.${number}.discountRule.name.original`\n      | `appliedDiscounts.${number}.discountType`\n      | `calculationErrors.generalShippingCalculationError.applicationError.code`\n      | `calculationErrors.generalShippingCalculationError.applicationError.description`\n      | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations`\n      | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field`\n      | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description`\n      | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule`\n      | `calculationErrors.carrierErrors.errors`\n      | `calculationErrors.carrierErrors.errors.${number}.carrierId`\n      | `calculationErrors.orderValidationErrors`\n      | `weightUnit`\n      | `currency`\n      | `conversionCurrency`\n      | `taxIncludedInPrice`\n      | `payNow.subtotal.amount`\n      | `payNow.subtotal.convertedAmount`\n      | `payNow.subtotal.formattedAmount`\n      | `payNow.subtotal.formattedConvertedAmount`\n      | `payLater.subtotal.amount`\n      | `payLater.subtotal.convertedAmount`\n      | `payLater.subtotal.formattedAmount`\n      | `payLater.subtotal.formattedConvertedAmount`\n      | `membershipOptions.eligibleMemberships`\n      | `membershipOptions.eligibleMemberships.${number}._id`\n      | `membershipOptions.eligibleMemberships.${number}.appId`\n      | `membershipOptions.eligibleMemberships.${number}.name.original`\n      | `membershipOptions.eligibleMemberships.${number}.credits.total`\n      | `membershipOptions.eligibleMemberships.${number}.credits.remaining`\n      | `membershipOptions.invalidMemberships`\n      | `membershipOptions.invalidMemberships.${number}.reason`\n      | `membershipOptions.selectedMemberships`\n      | `membershipOptions.selectedMemberships.${number}._id`\n      | `membershipOptions.selectedMemberships.${number}.appId`\n      | `additionalFees`\n      | `additionalFees.${number}.name`\n      | `additionalFees.${number}.price.amount`\n      | `additionalFees.${number}.price.convertedAmount`\n      | `additionalFees.${number}.price.formattedAmount`\n      | `additionalFees.${number}.price.formattedConvertedAmount`\n      | `additionalFees.${number}.taxDetails.taxRate`\n      | `additionalFees.${number}.source`\n      | `additionalFees.${number}.taxableAddress.addressType`\n      | `payNowTotalAfterGiftCard.amount`\n      | `payNowTotalAfterGiftCard.convertedAmount`\n      | `payNowTotalAfterGiftCard.formattedAmount`\n      | `payNowTotalAfterGiftCard.formattedConvertedAmount`\n      | `totalAfterGiftCard.amount`\n      | `totalAfterGiftCard.convertedAmount`\n      | `totalAfterGiftCard.formattedAmount`\n      | `totalAfterGiftCard.formattedConvertedAmount`\n      | `payAfterFreeTrial.subtotal.amount`\n      | `payAfterFreeTrial.subtotal.convertedAmount`\n      | `payAfterFreeTrial.subtotal.formattedAmount`\n      | `payAfterFreeTrial.subtotal.formattedConvertedAmount`,\n      6\n    >\n  >;\n}\n\nexport {\n  AdditionalFee,\n  AdditionalFeeSource,\n  Address,\n  AddressLocation,\n  AggregatedTaxBreakdown,\n  ApiV1AdditionalFee,\n  ApplicableLineItems,\n  ApplicationError,\n  AppliedDiscount,\n  AppliedDiscountDiscountSourceOneOf,\n  AutoTaxFallbackCalculationDetails,\n  BalanceType,\n  Benefit,\n  BenefitQuotaOneOf,\n  CalculateTotalsOptions,\n  CalculateTotalsOptionsCouponOneOf,\n  CalculateTotalsOptionsGiftCardOneOf,\n  CalculateTotalsRequest,\n  CalculateTotalsRequestCouponOneOf,\n  CalculateTotalsRequestGiftCardOneOf,\n  CalculateTotalsResponse,\n  CalculatedItemModifier,\n  CalculatedLineItem,\n  CalculatedPlatformFee,\n  CalculationErrors,\n  CalculationErrorsShippingCalculationErrorOneOf,\n  Carrier,\n  CarrierError,\n  CarrierErrors,\n  CarrierServiceOption,\n  CarrierShippingOption,\n  CatalogReference,\n  ChargeType,\n  Coupon,\n  CoveredLineItem,\n  DataFetchType,\n  DeliveryAllocation,\n  DeliveryLogistics,\n  DeliveryTimeSlot,\n  Details,\n  DetailsKindOneOf,\n  Dimensions,\n  DimensionsUnit,\n  DiscountRule,\n  DiscountRuleName,\n  DiscountType,\n  ExistingMembership,\n  ExistingMembershipSelection,\n  ExtendedFields,\n  ExternalReference,\n  FallbackReason,\n  FieldViolation,\n  FutureMembershipSelection,\n  GiftCard,\n  GiftCardCalculationError,\n  GiftCardInput,\n  Group,\n  InvalidMembership,\n  ItemCombination,\n  ItemCombinationLineItem,\n  ItemModifier,\n  ItemTaxFullDetails,\n  ItemType,\n  ItemTypeItemTypeDataOneOf,\n  ItemTypePreset,\n  JurisdictionType,\n  LimitedQuota,\n  LimitedQuotaType,\n  LineItem,\n  LineItemCoverage,\n  LineItemDiscount,\n  LineItemPricesData,\n  ManualCalculationReason,\n  Membership,\n  MembershipName,\n  MembershipOptions,\n  MembershipPaymentCredits,\n  MembershipSelection,\n  MerchantDiscount,\n  ModifierGroup,\n  MultiCurrencyPrice,\n  OtherCharge,\n  PaymentOptionType,\n  PhysicalProperties,\n  PickupDetails,\n  PickupMethod,\n  PlatformFee,\n  PlatformFeeChargeType,\n  PlatformFeeSummary,\n  PriceSummary,\n  PurchasablePlan,\n  QuotaType,\n  RateType,\n  Region,\n  RuleType,\n  Scope,\n  SelectedCarrierServiceOption,\n  SelectedCarrierServiceOptionOtherCharge,\n  SelectedCarrierServiceOptionPrices,\n  SelectedMembership,\n  SelectedMemberships,\n  SelectedShippingOption,\n  ServiceProperties,\n  ShippingInformation,\n  ShippingOption,\n  ShippingPrice,\n  ShippingRegion,\n  StreetAddress,\n  SubscriptionFrequency,\n  SubscriptionSettings,\n  SystemError,\n  TaxBreakdown,\n  TaxCalculationDetails,\n  TaxCalculationDetailsCalculationDetailsOneOf,\n  TaxDetails,\n  TaxRateBreakdown,\n  TaxSummary,\n  TaxableAddress,\n  TaxableAddressTaxableAddressDataOneOf,\n  TaxableAddressType,\n  TotalsCalculationEntity,\n  TranslatableString,\n  V1AdditionalFee,\n  V1Membership,\n  V1TaxDetails,\n  ValidatedExistingMemberships,\n  ValidatedPurchasablePlans,\n  ValidationError,\n  WeightUnit,\n} from './ecom-v1-totals-calculation-totals-calculator.universal.js';\n","import { calculateTotals as publicCalculateTotals } from './ecom-v1-totals-calculation-totals-calculator.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const calculateTotals: MaybeContext<\n  BuildRESTFunction<typeof publicCalculateTotals> & typeof publicCalculateTotals\n> = /*#__PURE__*/ createRESTModule(publicCalculateTotals);\n\nexport {\n  DimensionsUnit,\n  SubscriptionFrequency,\n  PaymentOptionType,\n  ItemTypePreset,\n  TaxableAddressType,\n  PlatformFeeChargeType,\n  PickupMethod,\n  ChargeType,\n  DiscountType,\n  DataFetchType,\n  JurisdictionType,\n  RateType,\n  ManualCalculationReason,\n  FallbackReason,\n  RuleType,\n  WeightUnit,\n  BalanceType,\n  QuotaType,\n  LimitedQuotaType,\n  AdditionalFeeSource,\n} from './ecom-v1-totals-calculation-totals-calculator.universal.js';\nexport {\n  TotalsCalculationEntity,\n  CalculateTotalsRequest,\n  CalculateTotalsRequestCouponOneOf,\n  CalculateTotalsRequestGiftCardOneOf,\n  LineItem,\n  CatalogReference,\n  PhysicalProperties,\n  Dimensions,\n  Scope,\n  Group,\n  SubscriptionSettings,\n  ServiceProperties,\n  ItemType,\n  ItemTypeItemTypeDataOneOf,\n  TaxableAddress,\n  TaxableAddressTaxableAddressDataOneOf,\n  ApiV1AdditionalFee,\n  V1TaxDetails,\n  ModifierGroup,\n  TranslatableString,\n  ItemModifier,\n  PlatformFee,\n  Address,\n  StreetAddress,\n  AddressLocation,\n  SelectedShippingOption,\n  SelectedMemberships,\n  SelectedMembership,\n  CarrierShippingOption,\n  ShippingOption,\n  DeliveryLogistics,\n  PickupDetails,\n  DeliveryTimeSlot,\n  ShippingPrice,\n  MultiCurrencyPrice,\n  OtherCharge,\n  DeliveryAllocation,\n  Carrier,\n  Region,\n  ApplicableLineItems,\n  AppliedDiscount,\n  AppliedDiscountDiscountSourceOneOf,\n  Coupon,\n  MerchantDiscount,\n  DiscountRule,\n  DiscountRuleName,\n  LineItemDiscount,\n  ItemCombination,\n  ItemCombinationLineItem,\n  AdditionalFee,\n  TaxDetails,\n  ExternalReference,\n  ExtendedFields,\n  GiftCardInput,\n  MembershipSelection,\n  ExistingMembershipSelection,\n  FutureMembershipSelection,\n  CalculateTotalsResponse,\n  CalculatedLineItem,\n  LineItemPricesData,\n  ItemTaxFullDetails,\n  TaxRateBreakdown,\n  TaxBreakdown,\n  CalculatedItemModifier,\n  PriceSummary,\n  GiftCard,\n  TaxSummary,\n  TaxCalculationDetails,\n  TaxCalculationDetailsCalculationDetailsOneOf,\n  AutoTaxFallbackCalculationDetails,\n  ApplicationError,\n  AggregatedTaxBreakdown,\n  ShippingInformation,\n  ShippingRegion,\n  SelectedCarrierServiceOption,\n  SelectedCarrierServiceOptionPrices,\n  SelectedCarrierServiceOptionOtherCharge,\n  CarrierServiceOption,\n  CalculationErrors,\n  CalculationErrorsShippingCalculationErrorOneOf,\n  Details,\n  DetailsKindOneOf,\n  ValidationError,\n  FieldViolation,\n  SystemError,\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  V1AdditionalFee,\n  PlatformFeeSummary,\n  CalculatedPlatformFee,\n  CalculateTotalsOptions,\n  CalculateTotalsOptionsCouponOneOf,\n  CalculateTotalsOptionsGiftCardOneOf,\n} from './ecom-v1-totals-calculation-totals-calculator.universal.js';\nexport {\n  DimensionsUnitWithLiterals,\n  SubscriptionFrequencyWithLiterals,\n  PaymentOptionTypeWithLiterals,\n  ItemTypePresetWithLiterals,\n  TaxableAddressTypeWithLiterals,\n  PlatformFeeChargeTypeWithLiterals,\n  PickupMethodWithLiterals,\n  ChargeTypeWithLiterals,\n  DiscountTypeWithLiterals,\n  DataFetchTypeWithLiterals,\n  JurisdictionTypeWithLiterals,\n  RateTypeWithLiterals,\n  ManualCalculationReasonWithLiterals,\n  FallbackReasonWithLiterals,\n  RuleTypeWithLiterals,\n  WeightUnitWithLiterals,\n  BalanceTypeWithLiterals,\n  QuotaTypeWithLiterals,\n  LimitedQuotaTypeWithLiterals,\n  AdditionalFeeSourceWithLiterals,\n} from './ecom-v1-totals-calculation-totals-calculator.universal.js';\n"],"mappings":"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","names":["payload","transformPaths","TRANSFORM_PATHS_0","TRANSFORM_PATHS_1","DimensionsUnit","SubscriptionFrequency","PaymentOptionType","ItemTypePreset","TaxableAddressType","PlatformFeeChargeType","PickupMethod","ChargeType","DiscountType","DataFetchType","JurisdictionType","RateType","ManualCalculationReason","FallbackReason","RuleType","WeightUnit","BalanceType","QuotaType","LimitedQuotaType","AdditionalFeeSource","calculateTotals","calculateTotals","calculateTotals"]}