@wix/auto_sdk_ecom_current-cart-v-2 1.0.237 → 1.0.239

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1094,8 +1094,7 @@ interface Group {
1094
1094
  /**
1095
1095
  * Details of a bundle: a single line item made up of one or more catalog items.
1096
1096
  * The bundle occupies one line item, and `quantityInfo` counts bundle units rather than
1097
- * individual bundled items. The line item carries the prices for the whole bundle, and each
1098
- * bundled item's `pricing` carries that item's own prices, for its `quantity` in one bundle.
1097
+ * individual bundled items. The line item carries the prices for the whole bundle.
1099
1098
  */
1100
1099
  interface BundleInfo {
1101
1100
  /**
@@ -1138,11 +1137,6 @@ interface BundledItem {
1138
1137
  * @maxSize 25
1139
1138
  */
1140
1139
  modifierGroups?: ModifierGroup[];
1141
- /**
1142
- * Pricing details for the bundled item, for its `quantity` in a single bundle.
1143
- * Not multiplied by the line item's `quantityInfo.confirmedQuantity`.
1144
- */
1145
- pricing?: ItemPricingInfo;
1146
1140
  }
1147
1141
  interface BundledItemSource {
1148
1142
  /** Catalog and item reference of the bundled item. */
@@ -2913,711 +2907,818 @@ interface CartCompleted {
2913
2907
  /** The completed cart. */
2914
2908
  cart?: Cart;
2915
2909
  }
2916
- interface CreateCartRequest {
2917
- /** Cart to create. */
2910
+ /**
2911
+ * Triggered asynchronously after a cart mutation, once the cart has been calculated for the
2912
+ * legacy bridge. Carries the full CalculateCartForV1 output so checkout-v1-proxy maps to the
2913
+ * legacy Checkout V1 domain events without recalculating.
2914
+ *
2915
+ * Deletes aren't bridged: they need no calculation and stay on the raw cart-v2 Deleted event.
2916
+ */
2917
+ interface CartBridgeCalculated {
2918
+ /** Mutation that produced this event. */
2919
+ action?: BridgeActionWithLiterals;
2920
+ /** The updated cart checkout-v1-proxy maps from (pre-override entity, as CalculateCartForV1 returns it). */
2918
2921
  cart?: Cart;
2919
2922
  /**
2920
- * Catalog items to add to the cart.
2921
- * @maxSize 300
2923
+ * The cart as it was immediately before this mutation.
2924
+ *
2925
+ * Available only for `UPDATED` actions.
2922
2926
  */
2923
- catalogItems?: CatalogItemInput[];
2927
+ previousCart?: Cart;
2928
+ /** The calculation summary. */
2929
+ summary?: CartSummary;
2930
+ /** Totals payload used for backward compatibility with legacy clients. */
2931
+ totalsResponse?: CalculateTotalsResponse;
2924
2932
  /**
2925
- * Custom items to add to the cart.
2926
- * Custom line items don't trigger the Catalog service plugin.
2927
- * @maxSize 300
2933
+ * Business violations in the legacy model, carried for the legacy bridge.
2934
+ *
2935
+ * Deprecated. Use `summary.violations` instead.
2936
+ * @maxSize 100
2928
2937
  */
2929
- customItems?: CustomItemInput[];
2938
+ spiViolations?: Violation[];
2939
+ /** Cart revision these calculations were produced against. */
2940
+ calculatedRevision?: string;
2941
+ }
2942
+ /** The kind of mutation that produced a CartBridgeCalculated event. */
2943
+ declare enum BridgeAction {
2944
+ UNKNOWN_BRIDGE_ACTION = "UNKNOWN_BRIDGE_ACTION",
2945
+ /** A cart was created. */
2946
+ CREATED = "CREATED",
2947
+ /** A cart was updated. */
2948
+ UPDATED = "UPDATED",
2949
+ /** A cart transitioned to order-placed. */
2950
+ COMPLETED = "COMPLETED"
2951
+ }
2952
+ /** @enumType */
2953
+ type BridgeActionWithLiterals = BridgeAction | 'UNKNOWN_BRIDGE_ACTION' | 'CREATED' | 'UPDATED' | 'COMPLETED';
2954
+ interface CalculateTotalsResponse {
2955
+ /** Calculate line items. */
2956
+ calculatedLineItems?: CalculatedLineItem[];
2957
+ /** Price summary. */
2958
+ priceSummary?: V1PriceSummary;
2930
2959
  /**
2931
- * Coupons to apply.
2932
- * Currently only one is supported.
2933
- * @maxSize 1
2960
+ * DEPRECATED: Use gift_cards instead.
2961
+ * @deprecated DEPRECATED: Use gift_cards instead.
2962
+ * @replacedBy gift_cards
2963
+ * @targetRemovalDate 2026-12-01
2934
2964
  */
2935
- coupons?: CouponInput[];
2936
- /** Delivery method to set. */
2937
- deliveryMethod?: DeliveryMethodInput;
2965
+ giftCard?: GiftCard;
2966
+ /** Tax summary. */
2967
+ taxSummary?: TaxSummary;
2968
+ /** Shipping information. */
2969
+ shippingInfo?: ShippingInformation;
2938
2970
  /**
2939
- * Gift cards to add.
2940
- * @maxSize 5
2971
+ * Applied discounts.
2972
+ * @maxSize 320
2941
2973
  */
2942
- giftCards?: GiftCardInput[];
2943
- }
2944
- interface CatalogItemInput {
2945
- /** Reference to the catalog item. */
2946
- catalogReference?: CatalogReference;
2974
+ appliedDiscounts?: AppliedDiscount[];
2975
+ /** Calculation errors. */
2976
+ calculationErrors?: CalculationErrors;
2977
+ /** Weight unit. */
2978
+ weightUnit?: WeightUnitWithLiterals;
2947
2979
  /**
2948
- * Number of catalog items the customer requested.
2949
- * @min 1
2950
- * @max 100000
2980
+ * The currency the price calculations were performed in.
2981
+ * 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).
2982
+ * When `amountCurrency` is specified on the request, this returns that value instead.
2983
+ * @format CURRENCY
2951
2984
  */
2952
- quantity?: number;
2985
+ currency?: string;
2953
2986
  /**
2954
- * Selected membership used as payment for this item.
2955
- *
2956
- * DEPRECATED: migrate to `membershipPayment`. Removed once all clients migrate.
2957
- * @deprecated
2958
- * @replacedBy membership_payment
2959
- * @targetRemovalDate 2026-06-22
2987
+ * The currency the converted price calculations are in.
2988
+ * This is the currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview), which may differ from `currency`.
2989
+ * When `amountCurrency` is specified on the request, nothing is converted and this returns that value.
2990
+ * @readonly
2991
+ * @format CURRENCY
2960
2992
  */
2961
- selectedMembership?: V2SelectedMembership;
2962
- /** Overriding values for catalog item properties. */
2963
- catalogOverrideFields?: CatalogOverrideFields;
2993
+ conversionCurrency?: string;
2994
+ /** Whether tax is included in price. */
2995
+ taxIncludedInPrice?: boolean;
2964
2996
  /**
2965
- * Custom extended fields for the line item object.
2966
- *
2967
- * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the Checkout & Orders - Line Items Schema Plugin in the app dashboard before they can be accessed with API calls.
2997
+ * Minimal amount to pay in order to place the order.
2998
+ * @readonly
2968
2999
  */
2969
- extendedFields?: ExtendedFields;
3000
+ payNow?: V1PriceSummary;
2970
3001
  /**
2971
- * ID of the app managing inventory.
2972
- * @format GUID
3002
+ * Remaining amount for the order to be fully paid.
3003
+ * @readonly
2973
3004
  */
2974
- inventoryAppId?: string | null;
3005
+ payLater?: V1PriceSummary;
3006
+ /** Information about valid and invalid memberships, and which ones are selected for usage. */
3007
+ membershipOptions?: MembershipOptions;
2975
3008
  /**
2976
- * Membership used as payment for this item. Can be an existing membership, or a future one
2977
- * created from a plan in the same cart.
2978
- *
2979
- * Replaces `selectedMembership`.
2980
- *
2981
- * Use with `paymentOption` `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`.
3009
+ * Additional Fees
3010
+ * @maxSize 100
2982
3011
  */
2983
- membershipPayment?: MembershipInput;
2984
- }
2985
- interface MembershipInput extends MembershipInputMembershipOneOf {
2986
- /** Pay with an existing, already-provisioned membership. */
2987
- existingMembership?: ExistingMembershipInput;
2988
- /** Pay with a future membership, created once a plan in this cart is purchased. */
2989
- futureMembership?: FutureMembershipInput;
2990
- }
2991
- /** @oneof */
2992
- interface MembershipInputMembershipOneOf {
2993
- /** Pay with an existing, already-provisioned membership. */
2994
- existingMembership?: ExistingMembershipInput;
2995
- /** Pay with a future membership, created once a plan in this cart is purchased. */
2996
- futureMembership?: FutureMembershipInput;
2997
- }
2998
- interface ExistingMembershipInput {
3012
+ additionalFees?: AdditionalFee[];
2999
3013
  /**
3000
- * ID of the app providing the membership, for example Pricing Plans.
3001
- * @format GUID
3014
+ * The rate used when converting from the site currency to the checkout currency.
3015
+ * @readonly
3016
+ * @decimalValue options { gt:0, lte:1000000000000000 }
3002
3017
  */
3003
- appId?: string;
3018
+ checkoutConversionRate?: string | null;
3004
3019
  /**
3005
- * ID of the existing membership.
3006
- * @minLength 1
3007
- * @maxLength 200
3020
+ * The pay now total amount after all gift cards are applied.
3021
+ * @readonly
3008
3022
  */
3009
- membershipId?: string;
3010
- }
3011
- interface FutureMembershipInput {
3023
+ payNowTotalAfterGiftCard?: MultiCurrencyPrice;
3012
3024
  /**
3013
- * ID of the plan line item, already in the cart, whose future membership pays for this item.
3014
- * Add the plan line item to the cart first, then reference it by its ID.
3015
- * @format GUID
3025
+ * The total amount after all gift cards are applied.
3026
+ * @readonly
3016
3027
  */
3017
- lineItemId?: string;
3028
+ totalAfterGiftCard?: MultiCurrencyPrice;
3018
3029
  /**
3019
- * The selected unit within the plan to redeem.
3020
- * @maxLength 200
3030
+ * Payment for subscriptions after free trial period.
3031
+ * @readonly
3021
3032
  */
3022
- benefitId?: string;
3033
+ payAfterFreeTrial?: V1PriceSummary;
3023
3034
  }
3024
- interface CustomItemInput {
3025
- /** Display name for the line item. */
3026
- name?: TranslatableString;
3027
- /** Quantity details for the line item. */
3028
- quantityInfo?: CustomItemQuantityInfo;
3029
- /** Pricing details for the line item. */
3030
- pricing?: CustomItemPricingInfo;
3031
- /** Information about the line item's origin. */
3032
- source?: CustomItemSource;
3033
- /** Display details for the item. */
3034
- attributes?: CustomItemAttributes;
3035
- /** Delivery configuration for the line item. */
3036
- deliveryConfig?: CustomItemDeliveryConfig;
3037
- /** Tax configuration for the line item. */
3038
- taxConfig?: CustomItemTaxConfig;
3039
- /** Payment configuration for the line item. */
3040
- paymentConfig?: CustomItemPaymentConfig;
3035
+ interface CalculatedLineItem {
3036
+ /** Line item ID. */
3037
+ lineItemId?: string;
3038
+ /** Price breakdown for this line item. */
3039
+ pricesBreakdown?: LineItemPricesData;
3041
3040
  /**
3042
- * Modifier groups added to the item.
3043
- * @maxSize 25
3041
+ * Type of selected payment option for current item. Supported values:
3042
+ * + `"FULL_PAYMENT_ONLINE"` - The entire payment for this item will happen as part of the checkout
3043
+ * + `"FULL_PAYMENT_OFFLINE"` - The entire payment for this item will happen after the checkout
3044
+ * + `"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
3045
+ * + `"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.
3044
3046
  */
3045
- modifierGroups?: ModifierGroup[];
3047
+ paymentOption?: PaymentOptionTypeWithLiterals;
3048
+ /** tax calculation address. */
3049
+ taxableAddress?: TaxableAddress;
3046
3050
  }
3047
- interface CustomItemQuantityInfo {
3051
+ interface LineItemPricesData {
3052
+ /** Total price after discounts, tax, and modifiers. */
3053
+ totalPriceAfterTax?: MultiCurrencyPrice;
3054
+ /** Total price after discounts and modifiers, and before tax. */
3055
+ totalPriceBeforeTax?: MultiCurrencyPrice;
3056
+ /** Tax details. */
3057
+ taxDetails?: ItemTaxFullDetails;
3058
+ /** Total discount applied for the line item. */
3059
+ totalDiscount?: MultiCurrencyPrice;
3060
+ /** Catalog price after catalog-defined discount, automatic discounts, and modifiers. */
3061
+ price?: MultiCurrencyPrice;
3048
3062
  /**
3049
- * Quantity the customer requested.
3050
- * @min 1
3051
- * @max 100000
3063
+ * Item price before automatic discounts, coupons, and global discounts; after catalog-defined discounts and modifiers.
3064
+ * Defaults to `price` when not provided.
3052
3065
  */
3053
- requestedQuantity?: number;
3054
- /** Maximum quantity available for purchase. */
3055
- availableQuantity?: number | null;
3066
+ priceBeforeDiscounts?: MultiCurrencyPrice;
3067
+ /** Total line item price after catalog-defined discounts, automatic discounts, and modifiers. */
3068
+ lineItemPrice?: MultiCurrencyPrice;
3069
+ /** Catalog price before any discounts, with modifiers. */
3070
+ fullPrice?: MultiCurrencyPrice;
3071
+ /** Sum of all modifiers for a single unit of the item. */
3072
+ modifiers?: MultiCurrencyPrice;
3056
3073
  /**
3057
- * Whether the line item quantity is fixed and can't be changed.
3058
- *
3059
- * Default: `false`
3074
+ * Partial payment out of `price` to be paid upfront during the checkout.
3075
+ * Applies to catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.
3060
3076
  */
3061
- fixedQuantity?: boolean;
3077
+ depositAmount?: MultiCurrencyPrice;
3062
3078
  }
3063
- interface CustomItemPricingInfo {
3079
+ interface ItemTaxFullDetails {
3080
+ /** Amount for which tax is calculated. */
3081
+ taxableAmount?: MultiCurrencyPrice;
3064
3082
  /**
3065
- * Sale price for a single item, without modifiers.
3066
- * Includes tax when `taxInfo.pricesIncludeTax` is true.
3083
+ * Tax rate %, as a decimal point between 0 and 1.
3084
+ * @decimalValue options { gte:0, lte:1, maxScale:6 }
3067
3085
  */
3068
- price?: ConvertedMoney;
3086
+ taxRate?: string;
3087
+ /** Calculated tax, based on `taxable_amount` and `tax_rate`. */
3088
+ totalTax?: MultiCurrencyPrice;
3069
3089
  /**
3070
- * Full price for a single item before discounts, without modifiers.
3071
- * Defaults to `price` when not provided.
3072
- * Includes tax when `taxInfo.pricesIncludeTax` is true.
3090
+ * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.
3091
+ * @readonly
3092
+ * @deprecated
3073
3093
  */
3074
- fullPrice?: ConvertedMoney;
3094
+ rateBreakdown?: TaxRateBreakdown[];
3075
3095
  /**
3076
- * Additional price description.
3077
- * For example, when the price is `0` but you need more detail, such as "Starts at $67".
3096
+ * tax information for a line item.
3097
+ * @maxSize 1000
3098
+ * @readonly
3078
3099
  */
3079
- priceDescription?: PriceDescription;
3080
- /** Whether the price isn't yet defined and will be updated after the order is created. */
3081
- priceUndetermined?: boolean;
3100
+ taxBreakdown?: TaxBreakdown[];
3082
3101
  }
3083
- interface CustomItemSource {
3102
+ interface TaxRateBreakdown {
3084
3103
  /**
3085
- * Catalog and item reference: IDs for the item and catalog, plus optional details.
3086
- * Optional for custom line items, which don't trigger the Catalog service plugin.
3104
+ * Name of tax against which the calculation was performed.
3105
+ * @maxLength 100
3087
3106
  */
3088
- catalogReference?: CatalogReference;
3089
- /**
3090
- * When `catalogReference.catalogItemId` isn't the actual catalog item ID, this field returns the true catalog item ID.
3091
- * For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID, so this value is the service ID.
3092
- * In most cases, this matches `catalogReference.catalogItemId`.
3093
- * Used in membership validation.
3094
- * @minLength 1
3095
- * @maxLength 36
3096
- */
3097
- rootCatalogItemId?: string | null;
3107
+ name?: string;
3098
3108
  /**
3099
- * ID of the app managing inventory.
3100
- * @format GUID
3109
+ * Rate at which this tax detail was calculated.
3110
+ * @decimalValue options { gte:0, lte:1, maxScale:6 }
3101
3111
  */
3102
- inventoryAppId?: string | null;
3112
+ rate?: string;
3113
+ /** Amount of tax for this tax detail. */
3114
+ tax?: MultiCurrencyPrice;
3103
3115
  }
3104
- interface CustomItemAttributes {
3116
+ /**
3117
+ * TaxBreakdown represents tax information for a line item.
3118
+ * It holds the tax amount and the tax rate for each tax authority that apply on the line item.
3119
+ */
3120
+ interface TaxBreakdown {
3105
3121
  /**
3106
- * Description lines for the item.
3107
- * @maxSize 100
3122
+ * The name of the jurisdiction to which this tax detail applies. For example, "New York" or "Quebec".
3123
+ * @maxLength 200
3108
3124
  */
3109
- descriptionLines?: DescriptionLine[];
3110
- /** Item image. */
3111
- image?: string;
3112
- /** URL of the item's page on the site. */
3113
- url?: string;
3114
- /** Item type: preset or custom. */
3115
- itemType?: ItemType;
3125
+ jurisdiction?: string | null;
3126
+ /** The amount of this line item price that was considered nontaxable. (Decimal value) */
3127
+ nonTaxableAmount?: MultiCurrencyPrice;
3116
3128
  /**
3117
- * Physical properties of the item.
3118
- * When relevant, includes SKU, weight, and shippability.
3129
+ * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value)
3130
+ * @decimalValue options { gte:0, maxScale:6 }
3119
3131
  */
3120
- physicalProperties?: PhysicalProperties;
3132
+ rate?: string | null;
3133
+ /** The amount of tax estimated for this line item. (Decimal value) */
3134
+ taxAmount?: MultiCurrencyPrice;
3135
+ /** The taxable amount of this line item. */
3136
+ taxableAmount?: MultiCurrencyPrice;
3121
3137
  /**
3122
- * Service properties.
3123
- * When relevant, includes date and number of participants.
3138
+ * The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, "Sales Tax", "Income Tax", "Value Added Tax", etc.
3139
+ * @maxLength 200
3124
3140
  */
3125
- serviceProperties?: ServiceProperties;
3141
+ taxType?: string | null;
3126
3142
  /**
3127
- * Whether the item can only be purchased by site members.
3128
- *
3129
- * Default: `false`
3143
+ * The name of the tax against which this tax amount was calculated. For example, "NY State Sales Tax", "Quebec GST", etc.
3144
+ * This name should be explicit enough to allow the merchant to understand what tax was calculated.
3145
+ * @maxLength 200
3130
3146
  */
3131
- membersOnly?: boolean;
3132
- /** Subscription option details. */
3133
- subscriptionInfo?: SubscriptionOptionInfo;
3147
+ taxName?: string | null;
3148
+ /** The type of the jurisdiction in which this tax detail applies. */
3149
+ jurisdictionType?: JurisdictionTypeWithLiterals;
3134
3150
  }
3135
- interface CustomItemDeliveryConfig {
3151
+ /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */
3152
+ declare enum JurisdictionType {
3153
+ UNDEFINED = "UNDEFINED",
3154
+ COUNTRY = "COUNTRY",
3155
+ STATE = "STATE",
3156
+ COUNTY = "COUNTY",
3157
+ CITY = "CITY",
3158
+ SPECIAL = "SPECIAL"
3159
+ }
3160
+ /** @enumType */
3161
+ type JurisdictionTypeWithLiterals = JurisdictionType | 'UNDEFINED' | 'COUNTRY' | 'STATE' | 'COUNTY' | 'CITY' | 'SPECIAL';
3162
+ /**
3163
+ * Record of the cross-border repricing of a single line item, shipping option or fee on a site whose catalog prices include tax:
3164
+ * the catalog price the merchant entered, the base region's tax removed from it per unit, and the rate used.
3165
+ *
3166
+ * The totals calculator form of `com.wix.ecommerce.platform_common.api.CrossBorderPriceAdjustment`: the same fields under the same numbers,
3167
+ * with the amounts as `MultiCurrencyPrice`. This record describes how the price was reached, not the resulting amount;
3168
+ * the repriced figures are on the line, shipping option or fee that carries it.
3169
+ */
3170
+ interface CrossBorderPriceAdjustment {
3136
3171
  /**
3137
- * Delivery profile ID.
3172
+ * ID of the tax region whose tax is built into the catalog prices.
3138
3173
  * @format GUID
3174
+ * @readonly
3139
3175
  */
3140
- deliveryProfileId?: string | null;
3141
- }
3142
- interface CustomItemTaxConfig {
3143
- /** Address used for tax calculation. */
3144
- taxableAddress?: TaxableAddress;
3176
+ baseTaxRegionId?: string;
3145
3177
  /**
3146
- * Tax group ID for this line item.
3147
- * @maxLength 50
3178
+ * ID of the tax region resolved for the destination. Absent when no region matched.
3179
+ * @format GUID
3180
+ * @readonly
3148
3181
  */
3149
- taxGroupId?: string | null;
3150
- }
3151
- interface CustomItemPaymentConfig {
3182
+ destinationTaxRegionId?: string | null;
3152
3183
  /**
3153
- * Partial payment due upfront during checkout.
3154
- * Only when `paymentOption` is `DEPOSIT_ONLINE`.
3184
+ * Price per unit as entered by the merchant, with the base region's tax inside it.
3185
+ * @readonly
3155
3186
  */
3156
- depositAmount?: ConvertedMoney;
3187
+ catalogPrice?: MultiCurrencyPrice;
3157
3188
  /**
3158
- * Selected payment option type for this item.
3159
- *
3160
- * Default: `FULL_PAYMENT_ONLINE`
3189
+ * Base region's tax removed per unit. Zero when `status` is `KEPT`, `SAME_REGION`, `SAME_COUNTRY`, `NOT_APPLICABLE`, `NOT_APPLICABLE_MODIFIERS` or `CONVERTED_CURRENCY_SUBSCRIPTION`, where nothing was removed.
3190
+ * @readonly
3161
3191
  */
3162
- paymentOption?: PaymentOptionTypeWithLiterals;
3163
- }
3164
- interface PlatformFee {
3165
- /** __Required.__ Platform fee name. */
3166
- name?: TranslatableString;
3167
- /** Platform fee charge type. */
3168
- chargeType?: V1PlatformFeeChargeTypeWithLiterals;
3192
+ baseTaxAmount?: MultiCurrencyPrice;
3169
3193
  /**
3170
- * Percentage rate charged as platform fee.
3171
- *
3172
- * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.
3173
- * @format DECIMAL_VALUE
3174
- * @decimalValue options { gt:0, lte:1, maxScale:4 }
3194
+ * Outcome of the repricing for this line.
3195
+ * @readonly
3175
3196
  */
3176
- percentageRate?: string;
3177
- }
3178
- declare enum V1PlatformFeeChargeType {
3179
- /** The platform fee is passed on to the customer. */
3180
- PASS_ON = "PASS_ON",
3181
- /** The platform fee is absorbed by the merchant. */
3182
- ABSORBED = "ABSORBED"
3183
- }
3184
- /** @enumType */
3185
- type V1PlatformFeeChargeTypeWithLiterals = V1PlatformFeeChargeType | 'PASS_ON' | 'ABSORBED';
3186
- interface CouponInput {
3197
+ status?: RepriceStatusWithLiterals;
3187
3198
  /**
3188
- * Coupon code.
3189
- * @minLength 1
3190
- * @maxLength 50
3199
+ * Where the base region's rate came from. Meaningful only when a rate was applied, that is when `status` is `APPLIED`, `STRIP_ONLY` or `NO_DESTINATION_REGION`.
3200
+ * @readonly
3191
3201
  */
3192
- code?: string;
3193
- }
3194
- interface DeliveryMethodInput {
3202
+ baseRateSource?: BaseRateSourceWithLiterals;
3195
3203
  /**
3196
- * Delivery method code.
3197
- * @maxLength 100
3204
+ * Base region's rate used to remove the tax, as a decimal numeral between 0 and 1. For example, `"0.22"`. Absent when no rate was applied.
3205
+ * @format DECIMAL_VALUE
3206
+ * @decimalValue options { gte:0, maxScale:6 }
3207
+ * @readonly
3198
3208
  */
3199
- code?: string;
3209
+ baseRate?: string | null;
3200
3210
  /**
3201
- * Carrier app id.
3202
- * @format GUID
3211
+ * When the base region's rate was captured. Set only when `baseRateSource` is `AVALARA_PROBE`.
3212
+ * @readonly
3203
3213
  */
3204
- appId?: string | null;
3205
- }
3206
- interface GiftCardInput {
3214
+ baseRateCapturedDate?: Date | null;
3207
3215
  /**
3208
- * Gift card code.
3209
- * @minLength 8
3210
- * @maxLength 20
3216
+ * Whether the destination's tax is included in the repriced amount. Reserved for per-region display; not populated.
3217
+ * @readonly
3211
3218
  */
3212
- code?: string;
3213
- /** The amount requested to redeem from this gift card. */
3214
- redeemAmount?: ConvertedMoney;
3219
+ destinationTaxIncluded?: boolean | null;
3215
3220
  }
3216
- interface CreateCartResponse {
3217
- /** Created cart. */
3218
- cart?: Cart;
3221
+ /** Outcome of the repricing for one line. */
3222
+ declare enum RepriceStatus {
3223
+ /** Base tax removed and the destination's tax applied. */
3224
+ APPLIED = "APPLIED",
3225
+ /** The caller asked for the line to be left at its price. Nothing was removed. */
3226
+ KEPT = "KEPT",
3227
+ /** Base tax removed and no destination tax applied, as in a tax-exempt calculation. This is the outcome; the mode that asks for it is `CrossBorderRepricingMode.STRIP_ONLY`. */
3228
+ STRIP_ONLY = "STRIP_ONLY",
3229
+ /** The destination is the base region. Nothing was removed. */
3230
+ SAME_REGION = "SAME_REGION",
3231
+ /** The destination is in the base region's country, outside the US and Canada, so the catalog price already carries the destination's tax. Nothing was removed. */
3232
+ SAME_COUNTRY = "SAME_COUNTRY",
3233
+ /** No tax region matched the destination. Base tax removed and no destination tax applied. */
3234
+ NO_DESTINATION_REGION = "NO_DESTINATION_REGION",
3235
+ /** The calculation didn't reprice this line, for example because the feature was off or a pass failed. Nothing was removed. */
3236
+ NOT_APPLICABLE = "NOT_APPLICABLE",
3237
+ /** The line's modifiers exceed its price at the destination's rate. Nothing was removed. */
3238
+ NOT_APPLICABLE_MODIFIERS = "NOT_APPLICABLE_MODIFIERS",
3239
+ /** A subscription line in a checkout whose currency differs from the site currency. Nothing was removed. */
3240
+ CONVERTED_CURRENCY_SUBSCRIPTION = "CONVERTED_CURRENCY_SUBSCRIPTION"
3219
3241
  }
3220
- interface ItemNotFoundInCatalogErrorData {
3221
- /**
3222
- * Line items missing from the catalog.
3223
- * @maxSize 300
3224
- */
3225
- invalidItems?: LineItemIdentifier[];
3242
+ /** @enumType */
3243
+ type RepriceStatusWithLiterals = RepriceStatus | 'APPLIED' | 'KEPT' | 'STRIP_ONLY' | 'SAME_REGION' | 'SAME_COUNTRY' | 'NO_DESTINATION_REGION' | 'NOT_APPLICABLE' | 'NOT_APPLICABLE_MODIFIERS' | 'CONVERTED_CURRENCY_SUBSCRIPTION';
3244
+ /** Where the base region's rate came from. */
3245
+ declare enum BaseRateSource {
3246
+ /** The manual tax calculator computed the base tax for this calculation. */
3247
+ MANUAL_SPI = "MANUAL_SPI",
3248
+ /** The rate captured from Avalara by the embedded-rate probe. */
3249
+ AVALARA_PROBE = "AVALARA_PROBE"
3226
3250
  }
3227
- interface LineItemIdentifier extends LineItemIdentifierIdOneOf {
3251
+ /** @enumType */
3252
+ type BaseRateSourceWithLiterals = BaseRateSource | 'MANUAL_SPI' | 'AVALARA_PROBE';
3253
+ interface CalculatedItemModifier {
3228
3254
  /**
3229
- * Line item ID.
3230
- * @format GUID
3255
+ * Modifier ID.
3256
+ * @minLength 1
3257
+ * @maxLength 36
3231
3258
  */
3232
- lineItemId?: string;
3233
- /** Catalog reference. */
3234
- catalogReference?: CatalogReference;
3235
- }
3236
- /** @oneof */
3237
- interface LineItemIdentifierIdOneOf {
3259
+ _id?: string;
3238
3260
  /**
3239
- * Line item ID.
3240
- * @format GUID
3261
+ * ID of the group this modifier belongs to.
3262
+ * @minLength 1
3263
+ * @maxLength 36
3241
3264
  */
3242
- lineItemId?: string;
3243
- /** Catalog reference. */
3244
- catalogReference?: CatalogReference;
3245
- }
3246
- interface InsufficientInventoryErrorData {
3265
+ groupId?: string;
3247
3266
  /**
3248
- * Line items that don't have enough inventory.
3249
- * @maxSize 300
3267
+ * Modifier price.
3268
+ * @readonly
3250
3269
  */
3251
- invalidItems?: InsufficientInventoryEntry[];
3270
+ price?: MultiCurrencyPrice;
3252
3271
  }
3253
- interface InsufficientInventoryEntry {
3254
- /**
3255
- * Line item whose requested quantity exceeds the quantity available.
3256
- *
3257
- * Identified by `catalogReference` when the line item has one, otherwise by `lineItemId`.
3258
- * For Create Cart and Add Line Items, and their Current Cart equivalents, `lineItemId` is
3259
- * provisional: the request is rejected before the new line items are saved, so the ID doesn't
3260
- * match any line item you can retrieve.
3261
- */
3262
- _id?: LineItemIdentifier;
3263
- /** Requested quantity, including what's already on the cart. */
3264
- requestedQuantity?: number;
3272
+ interface V1PriceSummary {
3273
+ /** Subtotal of all line items, before discounts and before tax. */
3274
+ subtotal?: MultiCurrencyPrice;
3275
+ /** Total shipping price, before discounts and before tax. */
3276
+ shipping?: MultiCurrencyPrice;
3277
+ /** Total tax. */
3278
+ tax?: MultiCurrencyPrice;
3279
+ /** Total calculated discount value. */
3280
+ discount?: MultiCurrencyPrice;
3281
+ /** Total price after discounts, gift cards, and tax. */
3282
+ total?: MultiCurrencyPrice;
3283
+ /** Total additional fees price before tax. */
3284
+ additionalFees?: MultiCurrencyPrice;
3285
+ }
3286
+ interface GiftCard {
3265
3287
  /**
3266
- * Quantity available.
3267
- * For a custom line item, the value set in `quantityInfo.availableQuantity`.
3288
+ * Gift Card ID.
3289
+ * @deprecated
3268
3290
  */
3269
- availableQuantity?: number;
3270
- }
3271
- interface MaxLineItemsExceededErrorData {
3272
- /** Line item count in the request. */
3273
- requestCount?: number;
3274
- /** Maximum line items allowed. */
3275
- maxCount?: number;
3276
- }
3277
- interface MaxItemModifiersExceededErrorData {
3278
- /** Modifier count in the request. */
3279
- requestCount?: number;
3280
- /** Maximum modifiers allowed. */
3281
- maxCount?: number;
3282
- }
3283
- interface DuplicateModifierGroupIdsErrorData {
3291
+ _id?: string;
3292
+ /** Gift card obfuscated code. */
3293
+ obfuscatedCode?: string;
3294
+ /** Actual amount to be redeemed from the gift card. */
3295
+ amount?: MultiCurrencyPrice;
3284
3296
  /**
3285
- * Catalog items whose modifier group IDs collide.
3286
- * @maxSize 300
3297
+ * App ID of the gift card provider.
3298
+ * @format GUID
3287
3299
  */
3288
- invalidItems?: CatalogReference[];
3289
- }
3290
- interface DuplicateItemModifierIdsErrorData {
3300
+ appId?: string;
3291
3301
  /**
3292
- * Catalog items with duplicate modifier IDs in a group.
3293
- * @maxSize 300
3302
+ * External ID in the gift card provider's system.
3303
+ * Used for integration and tracking across different platforms.
3304
+ * @minLength 1
3305
+ * @maxLength 50
3294
3306
  */
3295
- invalidItems?: CatalogReference[];
3307
+ externalId?: string | null;
3308
+ /** Requested amount to redeem from the gift card. */
3309
+ requestedAmount?: MultiCurrencyPrice;
3296
3310
  }
3297
- interface LineItemPriceConflictErrorData {
3311
+ interface TaxSummary {
3298
3312
  /**
3299
- * Catalog items whose price no longer matches, when present.
3300
- * @maxSize 300
3313
+ * Amount for which tax is calculated, added from line items.
3314
+ * @readonly
3301
3315
  */
3302
- invalidItems?: CatalogReference[];
3303
- }
3304
- interface FixedQuantityItemErrorData {
3316
+ taxableAmount?: MultiCurrencyPrice;
3305
3317
  /**
3306
- * Line items that don't allow quantity changes.
3307
- * @maxSize 300
3318
+ * Calculated tax, added from line items.
3319
+ * @readonly
3308
3320
  */
3309
- invalidItems?: LineItemIdentifier[];
3310
- }
3311
- interface InvalidMembershipPaymentOptionErrorData {
3321
+ totalTax?: MultiCurrencyPrice;
3312
3322
  /**
3313
- * Line items with invalid membership payments.
3314
- * @maxSize 300
3323
+ * Tax calculator that was active when the order was created.
3324
+ * @deprecated
3315
3325
  */
3316
- invalidItems?: InvalidMembershipEntry[];
3326
+ calculationDetails?: TaxCalculationDetails;
3317
3327
  }
3318
- interface InvalidMembershipEntry {
3319
- /** Line item with an invalid membership payment choice. */
3320
- invalidItemId?: LineItemIdentifier;
3321
- /** Membership the buyer tried to use. */
3322
- selectedMembership?: V2SelectedMembership;
3328
+ interface TaxCalculationDetails extends TaxCalculationDetailsCalculationDetailsOneOf {
3329
+ /** Reason the manual calculation was used. */
3330
+ manualRateReason?: ManualCalculationReasonWithLiterals;
3331
+ /** Details of the fallback rate calculation. */
3332
+ autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;
3333
+ /** Rate calculation type. */
3334
+ rateType?: RateTypeWithLiterals;
3323
3335
  }
3324
- interface LineItemNotFoundInCartErrorData {
3325
- /**
3326
- * Line item IDs that aren't in the cart.
3327
- * @format GUID
3328
- * @maxSize 300
3329
- */
3330
- lineItemIds?: string[];
3336
+ /** @oneof */
3337
+ interface TaxCalculationDetailsCalculationDetailsOneOf {
3338
+ /** Reason the manual calculation was used. */
3339
+ manualRateReason?: ManualCalculationReasonWithLiterals;
3340
+ /** Details of the fallback rate calculation. */
3341
+ autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;
3331
3342
  }
3332
- interface DeliveryMethodNotFoundErrorData {
3343
+ declare enum RateType {
3344
+ /** no tax being collected for this request due to location of purchase */
3345
+ NO_TAX_COLLECTED = "NO_TAX_COLLECTED",
3346
+ /** manual rate used for calculation */
3347
+ MANUAL_RATE = "MANUAL_RATE",
3348
+ /** autotax rate used for calculation */
3349
+ AUTO_RATE = "AUTO_RATE",
3350
+ /** fallback rate used for calculation */
3351
+ FALLBACK_RATE = "FALLBACK_RATE"
3352
+ }
3353
+ /** @enumType */
3354
+ type RateTypeWithLiterals = RateType | 'NO_TAX_COLLECTED' | 'MANUAL_RATE' | 'AUTO_RATE' | 'FALLBACK_RATE';
3355
+ declare enum ManualCalculationReason {
3356
+ /** user set calculator in Business Manager to be Manual */
3357
+ GLOBAL_SETTING_TO_MANUAL = "GLOBAL_SETTING_TO_MANUAL",
3358
+ /** specific region is on manual even though Global setting is Auto-tax */
3359
+ REGION_SETTING_TO_MANUAL = "REGION_SETTING_TO_MANUAL"
3360
+ }
3361
+ /** @enumType */
3362
+ type ManualCalculationReasonWithLiterals = ManualCalculationReason | 'GLOBAL_SETTING_TO_MANUAL' | 'REGION_SETTING_TO_MANUAL';
3363
+ interface AutoTaxFallbackCalculationDetails {
3364
+ /** reason for fallback */
3365
+ fallbackReason?: FallbackReasonWithLiterals;
3366
+ /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */
3367
+ error?: ApplicationError;
3368
+ }
3369
+ declare enum FallbackReason {
3370
+ /** auto-tax failed to be calculated */
3371
+ AUTO_TAX_FAILED = "AUTO_TAX_FAILED",
3372
+ /** auto-tax was temporarily deactivated on a system-level */
3373
+ AUTO_TAX_DEACTIVATED = "AUTO_TAX_DEACTIVATED"
3374
+ }
3375
+ /** @enumType */
3376
+ type FallbackReasonWithLiterals = FallbackReason | 'AUTO_TAX_FAILED' | 'AUTO_TAX_DEACTIVATED';
3377
+ /**
3378
+ * 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.
3379
+ * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.
3380
+ */
3381
+ interface AggregatedTaxBreakdown {
3333
3382
  /**
3334
- * Missing delivery method code.
3335
- * @maxLength 100
3383
+ * The name of the tax against which this tax amount was calculated.
3384
+ * @maxLength 200
3336
3385
  */
3337
- code?: string;
3386
+ taxName?: string;
3338
3387
  /**
3339
- * Delivery method app ID, if applicable.
3340
- * @maxLength 100
3388
+ * The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws.
3389
+ * @maxLength 200
3341
3390
  */
3342
- appId?: string | null;
3343
- }
3344
- interface GetCartRequest {
3391
+ taxType?: string;
3345
3392
  /**
3346
- * Cart ID.
3347
- * @format GUID
3393
+ * The name of the jurisdiction in which this tax detail applies.
3394
+ * @maxLength 200
3348
3395
  */
3349
- cartId?: string;
3350
- }
3351
- interface GetCartResponse {
3352
- /** Requested cart. */
3353
- cart?: Cart;
3354
- }
3355
- interface GetUpsellOptionsRequest {
3396
+ jurisdiction?: string;
3397
+ /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */
3398
+ jurisdictionTypeEnum?: JurisdictionTypeWithLiterals;
3356
3399
  /**
3357
- * Cart ID.
3358
- * @format GUID
3400
+ * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value)
3401
+ * @decimalValue options { gte:0, maxScale:6 }
3359
3402
  */
3360
- cartId?: string;
3403
+ rate?: string;
3404
+ /** The sum of all the tax from line items that calculated by the tax identifiers. */
3405
+ aggregatedTaxAmount?: MultiCurrencyPrice;
3406
+ /** The sum of all the taxable amount from line items for tax identifiers. */
3407
+ aggregatedTaxableAmount?: MultiCurrencyPrice;
3361
3408
  }
3362
- interface GetUpsellOptionsResponse {
3363
- /** Upsell options available for the cart's line items. */
3364
- itemsUpsells?: ItemUpsells[];
3409
+ interface ShippingInformation {
3410
+ /** Shipping region. */
3411
+ region?: ShippingRegion;
3412
+ /** Selected shipping option. */
3413
+ selectedCarrierServiceOption?: SelectedCarrierServiceOption;
3414
+ /** All shipping options. */
3415
+ carrierServiceOptions?: CarrierServiceOption[];
3365
3416
  }
3366
- interface ItemUpsells {
3417
+ interface ShippingRegion {
3367
3418
  /**
3368
- * Line item ID.
3419
+ * Shipping region ID.
3369
3420
  * @format GUID
3421
+ * @readonly
3370
3422
  */
3371
- lineItemId?: string;
3423
+ _id?: string;
3372
3424
  /**
3373
- * Upsell options available for the line item.
3374
- * @maxSize 10
3425
+ * Shipping region name.
3426
+ * @maxLength 100
3375
3427
  */
3376
- upsells?: UpsellOption[];
3428
+ name?: string;
3377
3429
  }
3378
- /**
3379
- * A single upsell offer for a line item.
3380
- * Accepting it replaces the line item's catalog reference in place, keeping the same lineItemId.
3381
- */
3382
- interface UpsellOption {
3430
+ interface SelectedCarrierServiceOption {
3383
3431
  /**
3384
- * Upsell option ID.
3385
- * @format GUID
3432
+ * Unique identifier of selected option. For example, "usps_std_overnight".
3433
+ * @maxLength 100
3386
3434
  */
3387
- _id?: string;
3435
+ code?: string;
3388
3436
  /**
3389
- * Title of the upsell option.
3390
- * @maxLength 200
3437
+ * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).
3438
+ * For example, "Standard" or "First-Class Package International".
3439
+ * @maxLength 250
3440
+ * @readonly
3391
3441
  */
3392
- title?: string | null;
3442
+ title?: string;
3393
3443
  /**
3394
- * Description of the upsell option.
3395
- * @maxLength 500
3444
+ * Delivery logistics.
3445
+ * @readonly
3396
3446
  */
3397
- description?: string | null;
3398
- /** Catalog reference of the item offered as an upsell to replace the existing one. */
3399
- catalogReference?: CatalogReference;
3400
- /** Metadata about the benefit of accepting this upsell option. */
3401
- metadata?: UpsellBenefitMetadata;
3402
- /** Price details of the upsell option. */
3403
- priceDetails?: PriceDetails;
3404
- }
3405
- interface UpsellBenefitMetadata {
3406
- /** Benefit type. */
3407
- benefitType?: BenefitTypeWithLiterals;
3447
+ logistics?: DeliveryLogistics;
3408
3448
  /**
3409
- * Benefit value. For percentage benefits, this is the percentage (e.g., "10" for 10%). For fixed amount/price benefits, this is the amount.
3410
- * @decimalValue options { gt:0, lte:1000000000000000, maxScale:4 }
3449
+ * Shipping costs.
3450
+ * @readonly
3411
3451
  */
3412
- benefitValue?: string | null;
3413
- }
3414
- declare enum BenefitType {
3415
- /** Percentage benefit. */
3416
- PERCENTAGE = "PERCENTAGE",
3417
- /** Fixed price benefit. */
3418
- FIXED_PRICE = "FIXED_PRICE",
3419
- /** Fixed amount benefit. */
3420
- FIXED_AMOUNT = "FIXED_AMOUNT"
3421
- }
3422
- /** @enumType */
3423
- type BenefitTypeWithLiterals = BenefitType | 'PERCENTAGE' | 'FIXED_PRICE' | 'FIXED_AMOUNT';
3424
- interface PriceDetails {
3425
- /** @decimalValue options { gte:0, lte:1000000000000000 } */
3426
- price?: string;
3427
- /** @maxLength 200 */
3428
- description?: string | null;
3429
- }
3430
- interface UpdateCartRequest {
3431
- /** Cart to update. May be partial. */
3432
- cart?: Cart;
3433
- }
3434
- interface UpdateCartResponse {
3435
- /** Updated cart. */
3436
- cart?: Cart;
3437
- }
3438
- interface CartAlreadyOrderedErrorData {
3452
+ cost?: SelectedCarrierServiceOptionPrices;
3439
3453
  /**
3440
- * Cart already turned into an order.
3441
- * @format GUID
3454
+ * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)
3455
+ * @readonly
3442
3456
  */
3443
- cartId?: string;
3457
+ requestedShippingOption?: boolean;
3444
3458
  /**
3445
- * Matching order ID.
3446
- * @format GUID
3459
+ * Other charges
3460
+ * @deprecated Other charges
3461
+ * @replacedBy additional_fees
3462
+ * @targetRemovalDate 2025-10-01
3447
3463
  */
3448
- orderId?: string;
3449
- }
3450
- interface DeleteCartRequest {
3464
+ otherCharges?: SelectedCarrierServiceOptionOtherCharge[];
3451
3465
  /**
3452
- * Cart ID.
3466
+ * This carrier's unique ID
3453
3467
  * @format GUID
3454
3468
  */
3455
- cartId?: string;
3456
- }
3457
- interface DeleteCartResponse {
3458
- }
3459
- interface RefreshCartRequest {
3469
+ carrierId?: string | null;
3460
3470
  /**
3461
- * Cart ID.
3462
- * @format GUID
3471
+ * Delivery solution allocations to different delivery carriers and delivery regions
3472
+ * @maxSize 300
3463
3473
  */
3464
- cartId?: string;
3465
- }
3466
- interface RefreshCartResponse {
3467
- /** Refreshed cart. */
3468
- cart?: Cart;
3474
+ deliveryAllocations?: DeliveryAllocation[];
3475
+ /** If the delivery solution is a partial and doesn't apply to all items. */
3476
+ partial?: boolean | null;
3469
3477
  }
3470
- interface EstimateCartRequest {
3471
- /**
3472
- * Cart ID.
3473
- * @format GUID
3474
- */
3475
- cartId?: string;
3476
- /**
3477
- * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before estimating the cart.
3478
- *
3479
- * Default: `false`.
3480
- */
3481
- refreshCart?: boolean;
3482
- /** Level of business validation to run during estimation via the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction). */
3483
- validationConfig?: ValidationsConfigWithLiterals;
3478
+ interface DeliveryLogistics {
3484
3479
  /**
3485
- * Whether to calculate delivery costs.
3486
- *
3487
- * Default: `false`.
3480
+ * Expected delivery time, in free text. For example, "3-5 business days".
3481
+ * @maxLength 500
3488
3482
  */
3489
- calculateDelivery?: boolean;
3483
+ deliveryTime?: string | null;
3490
3484
  /**
3491
- * Whether to calculate additional fees.
3492
- *
3493
- * Default: `false`.
3485
+ * Instructions for caller, e.g for pickup: "Please deliver during opening hours, and please don't park in disabled parking spot".
3486
+ * @maxLength 1000
3494
3487
  */
3495
- calculateAdditionalFees?: boolean;
3488
+ instructions?: string | null;
3489
+ /** Pickup details. */
3490
+ pickupDetails?: PickupDetails;
3491
+ }
3492
+ interface PickupDetails {
3493
+ /** Pickup address. */
3494
+ address?: Address;
3496
3495
  /**
3497
- * Whether to calculate tax.
3498
- *
3499
- * Default: `false`.
3496
+ * Whether the pickup address is that of a business - this may effect tax calculation.
3497
+ * @deprecated
3500
3498
  */
3501
- calculateTax?: boolean;
3499
+ businessLocation?: boolean;
3500
+ /** Pickup method */
3501
+ pickupMethod?: PickupMethodWithLiterals;
3502
+ }
3503
+ declare enum PickupMethod {
3504
+ STORE_PICKUP = "STORE_PICKUP",
3505
+ PICKUP_POINT = "PICKUP_POINT"
3506
+ }
3507
+ /** @enumType */
3508
+ type PickupMethodWithLiterals = PickupMethod | 'STORE_PICKUP' | 'PICKUP_POINT';
3509
+ interface DeliveryTimeSlot {
3510
+ /** starting time of the delivery time slot */
3511
+ from?: Date | null;
3512
+ /** ending time of the delivery time slot */
3513
+ to?: Date | null;
3514
+ }
3515
+ interface SelectedCarrierServiceOptionPrices {
3516
+ /** Total shipping price, after discount and after tax. */
3517
+ totalPriceAfterTax?: MultiCurrencyPrice;
3518
+ /** Total price of shipping after discounts (when relevant), and before tax. */
3519
+ totalPriceBeforeTax?: MultiCurrencyPrice;
3520
+ /** Tax details. */
3521
+ taxDetails?: ItemTaxFullDetails;
3522
+ /** Shipping discount before tax. */
3523
+ totalDiscount?: MultiCurrencyPrice;
3524
+ /** Shipping price before discount and before tax. */
3525
+ price?: MultiCurrencyPrice;
3526
+ }
3527
+ interface SelectedCarrierServiceOptionOtherCharge {
3528
+ /** Type of additional cost. */
3529
+ type?: ChargeTypeWithLiterals;
3502
3530
  /**
3503
- * Whether to include the effect of gift card balances on the cart total.
3504
- * Gift cards aren't redeemed; balances are reflected for estimation only.
3505
- *
3506
- * Default: `false`.
3531
+ * Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'.
3532
+ * @maxLength 200
3507
3533
  */
3508
- calculateGiftCards?: boolean;
3534
+ details?: string | null;
3535
+ /** Price of added charge. */
3536
+ cost?: SelectedCarrierServiceOptionPrices;
3509
3537
  }
3510
- declare enum ValidationsConfig {
3511
- /** No business validations are performed. */
3512
- SKIP_VALIDATIONS = "SKIP_VALIDATIONS",
3513
- /** Perform cart-level business validations as defined by the service plugin implementer. */
3514
- PRE_CHECKOUT_VALIDATIONS = "PRE_CHECKOUT_VALIDATIONS",
3515
- /** Perform checkout-specific business validations as defined by the service plugin implementer. */
3516
- CHECKOUT_VALIDATIONS = "CHECKOUT_VALIDATIONS"
3538
+ declare enum ChargeType {
3539
+ HANDLING_FEE = "HANDLING_FEE",
3540
+ INSURANCE = "INSURANCE"
3517
3541
  }
3518
3542
  /** @enumType */
3519
- type ValidationsConfigWithLiterals = ValidationsConfig | 'SKIP_VALIDATIONS' | 'PRE_CHECKOUT_VALIDATIONS' | 'CHECKOUT_VALIDATIONS';
3520
- interface EstimateCartResponse {
3521
- /** Cart with estimated values. */
3522
- cart?: Cart;
3523
- /** Estimation summary. */
3524
- summary?: CartSummary;
3543
+ type ChargeTypeWithLiterals = ChargeType | 'HANDLING_FEE' | 'INSURANCE';
3544
+ interface DeliveryAllocation {
3545
+ /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */
3546
+ deliveryCarrier?: Carrier;
3547
+ /** The delivery region that are relevant for this delivery solution. */
3548
+ deliveryRegion?: Region;
3549
+ /** Populated if the delivery solution is a partially supplied by this carrier. */
3550
+ applicableLineItems?: ApplicableLineItems;
3525
3551
  }
3526
- interface CalculateCartRequest {
3552
+ interface Carrier {
3527
3553
  /**
3528
- * Cart ID.
3554
+ * The carrier app id
3529
3555
  * @format GUID
3530
3556
  */
3531
- cartId?: string;
3557
+ appId?: string | null;
3532
3558
  /**
3533
- * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before calculating the cart.
3534
- *
3535
- * Default: `false`.
3559
+ * Unique code that acts as an ID for a shipping rate. For example, `"usps_std_overnight"`.
3560
+ * @maxLength 250
3536
3561
  */
3537
- refreshCart?: boolean;
3538
- }
3539
- interface CalculateCartResponse {
3540
- /** Cart with calculated values. */
3541
- cart?: Cart;
3542
- /** Calculation summary. */
3543
- summary?: CartSummary;
3562
+ code?: string;
3544
3563
  }
3545
- interface CalculateCartForV1Request {
3564
+ interface Region {
3546
3565
  /**
3547
- * ID of the Cart to calculate.
3566
+ * The delivery region id.
3548
3567
  * @format GUID
3549
3568
  */
3550
- cartId?: string;
3569
+ _id?: string | null;
3551
3570
  /**
3552
- * Specifies the level of **business validation** to perform during cart calculation,
3553
- * by calling the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).
3571
+ * The delivery region name.
3572
+ * @maxLength 100
3554
3573
  */
3555
- validationsConfig?: ValidationsConfigWithLiterals;
3574
+ name?: string | null;
3575
+ }
3576
+ interface ApplicableLineItems {
3556
3577
  /**
3557
- * Optional custom configuration for the calculation.
3558
- * If not provided, all price components are calculated by default.
3578
+ * Line items that the delivery solution is for.
3579
+ * @maxSize 300
3580
+ * @minLength 1
3581
+ * @maxLength 100
3559
3582
  */
3560
- customCalculationConfig?: CalculationConfig;
3561
- /** Calculations overrides for backward compatibility with V1. */
3562
- calculationOverrides?: CalculationOverrides;
3563
- /** Cart revision that must still be current for the calculation to run. */
3564
- expectedRevision?: string | null;
3583
+ lineItemIds?: string[];
3565
3584
  }
3566
- interface CalculationConfig {
3585
+ interface CarrierServiceOption {
3567
3586
  /**
3568
- * Whether to calculate delivery costs.
3569
- *
3570
- * Default: `false`.
3587
+ * Carrier ID.
3588
+ * @format GUID
3571
3589
  */
3572
- calculateDelivery?: boolean;
3590
+ carrierId?: string;
3591
+ /** Shipping options offered by this carrier for this request. */
3592
+ shippingOptions?: ShippingOption[];
3593
+ }
3594
+ interface ShippingOption {
3573
3595
  /**
3574
- * Whether to calculate additional fees.
3575
- *
3576
- * Default: `false`.
3596
+ * Unique code of provided shipping option like "usps_std_overnight".
3597
+ * For legacy calculators this would be the UUID of the option.
3598
+ * @maxLength 100
3577
3599
  */
3578
- calculateAdditionalFees?: boolean;
3600
+ code?: string;
3579
3601
  /**
3580
- * Whether to calculate tax.
3581
- *
3582
- * Default: `false`.
3602
+ * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).
3603
+ * For example, "Standard" or "First-Class Package International".
3604
+ * @maxLength 250
3583
3605
  */
3584
- calculateTax?: boolean;
3606
+ title?: string;
3607
+ /** Delivery logistics. */
3608
+ logistics?: DeliveryLogistics;
3609
+ /** Sipping price information. */
3610
+ cost?: ShippingPrice;
3585
3611
  /**
3586
- * Whether to include the effect of gift card balances on the cart total.
3587
- * Gift cards aren't redeemed; balances are reflected for estimation only.
3588
- *
3589
- * Default: `false`.
3612
+ * Delivery solution allocations to different delivery carriers and delivery regions
3613
+ * @maxSize 300
3590
3614
  */
3591
- calculateGiftCards?: boolean;
3615
+ deliveryAllocations?: DeliveryAllocation[];
3616
+ /** If the delivery solution is a partial and doesn't apply to all items. */
3617
+ partial?: boolean | null;
3592
3618
  }
3593
- interface CalculationOverrides {
3594
- /**
3595
- * Delivery method.
3596
- *
3597
- * Pass this field only when the cart has no delivery method yet.
3619
+ interface ShippingPrice {
3620
+ /** Shipping price. */
3621
+ price?: MultiCurrencyPrice;
3622
+ /** Other costs such as insurance, handling & packaging for fragile items, etc. */
3623
+ otherCharges?: OtherCharge[];
3624
+ }
3625
+ interface OtherCharge {
3626
+ /** Type of additional cost. */
3627
+ type?: ChargeTypeWithLiterals;
3628
+ /** Price of added cost. */
3629
+ price?: MultiCurrencyPrice;
3630
+ /**
3631
+ * Description of the additional charge. For example, `"Handling fee of $5 applied for gift wrapping"`.
3632
+ * @maxLength 250
3598
3633
  */
3599
- deliveryMethod?: DeliveryMethodInput;
3634
+ details?: string | null;
3635
+ }
3636
+ interface CalculationErrors extends CalculationErrorsShippingCalculationErrorOneOf {
3637
+ /** General shipping calculation error. */
3638
+ generalShippingCalculationError?: Details;
3639
+ /** Errors related to the delivery carrier. */
3640
+ carrierErrors?: CarrierErrors;
3641
+ /** Error related to the selected shipping option. */
3642
+ selectedShippingOptionError?: Details;
3643
+ /** Tax calculation error. */
3644
+ taxCalculationError?: Details;
3645
+ /** Coupon calculation error. */
3646
+ couponCalculationError?: Details;
3600
3647
  /**
3601
- * Delivery address.
3602
- * Used to calculate tax and shipping when applicable.
3648
+ * DEPRECATED: Use gift_card_calculation_errors instead.
3649
+ * @deprecated DEPRECATED: Use gift_card_calculation_errors instead.
3650
+ * @replacedBy gift_card_calculation_errors
3651
+ * @targetRemovalDate 2026-12-01
3603
3652
  */
3604
- deliveryAddress?: Address;
3653
+ giftCardCalculationError?: Details;
3654
+ /** Order validation errors. */
3655
+ orderValidationErrors?: ApplicationError[];
3605
3656
  /**
3606
- * Billing address.
3607
- * Used to calculate tax when all items in the cart aren't shippable.
3657
+ * Membership payment methods calculation errors
3658
+ * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid
3608
3659
  */
3609
- billingAddress?: Address;
3610
- /** Selected membership payment options and the line items they apply to. */
3611
- selectedMemberships?: SelectedMemberships;
3660
+ membershipError?: Details;
3661
+ /** Discount Rule calculation error. */
3662
+ discountsCalculationError?: Details;
3612
3663
  }
3613
- interface SelectedMemberships {
3664
+ /** @oneof */
3665
+ interface CalculationErrorsShippingCalculationErrorOneOf {
3666
+ /** General shipping calculation error. */
3667
+ generalShippingCalculationError?: Details;
3668
+ /** Errors related to the delivery carrier. */
3669
+ carrierErrors?: CarrierErrors;
3670
+ /** Error related to the selected shipping option. */
3671
+ selectedShippingOptionError?: Details;
3672
+ }
3673
+ interface CarrierErrors {
3674
+ /** Carrier errors. */
3675
+ errors?: CarrierError[];
3676
+ }
3677
+ interface CarrierError {
3678
+ /** Carrier ID. */
3679
+ carrierId?: string;
3680
+ /** Error details. */
3681
+ error?: Details;
3682
+ }
3683
+ interface GiftCardCalculationError {
3684
+ /** Gift card code with most characters masked for security. */
3685
+ obfuscatedCode?: string;
3686
+ /** Error details. */
3687
+ error?: Details;
3688
+ }
3689
+ interface MembershipOptions {
3614
3690
  /**
3615
- * Selected memberships.
3691
+ * List of payment options that can be used.
3692
+ * Populated by the legacy ListEligibleMemberships flow.
3693
+ * @maxSize 300
3694
+ * @deprecated List of payment options that can be used.
3695
+ * Populated by the legacy ListEligibleMemberships flow.
3696
+ * @replacedBy validated_existing_memberships
3697
+ * @targetRemovalDate 2026-10-01
3698
+ */
3699
+ eligibleMemberships?: Membership[];
3700
+ /**
3701
+ * List of payment options that are owned by the member, but cannot be used due to reason provided.
3702
+ * Populated by the legacy ListEligibleMemberships flow.
3616
3703
  * @maxSize 300
3704
+ * @deprecated List of payment options that are owned by the member, but cannot be used due to reason provided.
3705
+ * Populated by the legacy ListEligibleMemberships flow.
3706
+ * @replacedBy validated_existing_memberships
3707
+ * @targetRemovalDate 2026-10-01
3617
3708
  */
3618
- memberships?: SelectedMembership[];
3709
+ invalidMemberships?: InvalidMembership[];
3710
+ /**
3711
+ * The selected membership payment options and which line items they apply to.
3712
+ * Populated by the legacy ListEligibleMemberships flow.
3713
+ * @maxSize 300
3714
+ * @deprecated The selected membership payment options and which line items they apply to.
3715
+ * Populated by the legacy ListEligibleMemberships flow.
3716
+ * @replacedBy validated_existing_memberships
3717
+ * @targetRemovalDate 2026-10-01
3718
+ */
3719
+ selectedMemberships?: SelectedMembership[];
3619
3720
  }
3620
- interface SelectedMembership {
3721
+ interface Membership {
3621
3722
  /**
3622
3723
  * Membership ID.
3623
3724
  * @minLength 1
@@ -3625,1332 +3726,1269 @@ interface SelectedMembership {
3625
3726
  */
3626
3727
  _id?: string;
3627
3728
  /**
3628
- * ID of the app providing this payment option.
3729
+ * ID of the application providing this payment option.
3629
3730
  * @format GUID
3630
3731
  */
3631
3732
  appId?: string;
3733
+ /** The name of this membership. */
3734
+ name?: MembershipName;
3632
3735
  /**
3633
- * IDs of the line items this membership applies to.
3634
- * @minSize 1
3736
+ * Deprecated. Use `ExistingMembership.covered_line_items` to see which line items this membership covers.
3737
+ *
3738
+ * Only populated in the legacy `ListEligibleMemberships` flow, which still requires it. Empty on
3739
+ * `ListMembershipsByIds`, a by-id lookup that receives no line items to report against.
3635
3740
  * @maxSize 300
3636
3741
  * @minLength 1
3637
3742
  * @maxLength 100
3638
3743
  */
3639
3744
  lineItemIds?: string[];
3640
- }
3641
- interface CalculateCartForV1Response {
3642
- /** The Cart that was calculated. */
3643
- cart?: Cart;
3644
- /** The calculation summary. */
3645
- summary?: CartSummary;
3646
- /**
3647
- * Totals payload used for backward compatibility with legacy clients.
3648
- * Used by the Cart and Checkout proxies.
3649
- */
3650
- totalsResponse?: CalculateTotalsResponse;
3745
+ /** Membership's payment credits (balance information). */
3746
+ credits?: MembershipPaymentCredits;
3747
+ /** Membership expiration date. */
3748
+ expirationDate?: Date | null;
3651
3749
  /**
3652
- * Violations returned by the Validations service plugin, in the legacy model.
3653
- * Used by the Cart and Checkout proxies.
3654
- * @maxSize 100
3750
+ * Deprecated. Use `offering_description`.
3751
+ * @deprecated
3752
+ * @replacedBy offering_description
3753
+ * @targetRemovalDate 2026-08-30
3655
3754
  */
3656
- spiViolations?: Violation[];
3755
+ additionalData?: Record<string, any> | null;
3657
3756
  }
3658
- interface CalculateTotalsResponse {
3659
- /** Calculate line items. */
3660
- calculatedLineItems?: CalculatedLineItem[];
3661
- /** Price summary. */
3662
- priceSummary?: V1PriceSummary;
3663
- /**
3664
- * DEPRECATED: Use gift_cards instead.
3665
- * @deprecated DEPRECATED: Use gift_cards instead.
3666
- * @replacedBy gift_cards
3667
- * @targetRemovalDate 2026-12-01
3668
- */
3669
- giftCard?: GiftCard;
3670
- /** Tax summary. */
3671
- taxSummary?: TaxSummary;
3672
- /** Shipping information. */
3673
- shippingInfo?: ShippingInformation;
3757
+ interface MembershipName {
3674
3758
  /**
3675
- * Applied discounts.
3676
- * @maxSize 320
3759
+ * Membership name in the site's original language.
3760
+ * @maxLength 100
3677
3761
  */
3678
- appliedDiscounts?: AppliedDiscount[];
3679
- /** Calculation errors. */
3680
- calculationErrors?: CalculationErrors;
3681
- /** Weight unit. */
3682
- weightUnit?: WeightUnitWithLiterals;
3762
+ original?: string;
3683
3763
  /**
3684
- * The currency the price calculations were performed in.
3685
- * 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).
3686
- * When `amountCurrency` is specified on the request, this returns that value instead.
3687
- * @format CURRENCY
3764
+ * Membership name translated into the buyer's language.
3765
+ *
3766
+ * Default: The value of `original`
3767
+ * @maxLength 100
3688
3768
  */
3689
- currency?: string;
3769
+ translated?: string | null;
3770
+ }
3771
+ interface MembershipPaymentCredits {
3690
3772
  /**
3691
- * The currency the converted price calculations are in.
3692
- * This is the currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview), which may differ from `currency`.
3693
- * When `amountCurrency` is specified on the request, nothing is converted and this returns that value.
3694
- * @readonly
3695
- * @format CURRENCY
3773
+ * Membership's initial balance.
3774
+ * @min 1
3696
3775
  */
3697
- conversionCurrency?: string;
3698
- /** Whether tax is included in price. */
3699
- taxIncludedInPrice?: boolean;
3776
+ total?: number;
3777
+ /** Membership's remaining balance. */
3778
+ remaining?: number;
3700
3779
  /**
3701
- * Minimal amount to pay in order to place the order.
3702
- * @readonly
3780
+ * How the membership's balance is measured.
3781
+ *
3782
+ * Use the same value as `Benefit.quota.limitedQuota.limitedQuotaType` for the benefit this membership came from in [List Purchasable Plans](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/memberships/memberships-service-plugin/list-purchasable-plans). This way the balance keeps the same unit before and after purchase.
3783
+ *
3784
+ * Default: `PUNCH_CARD`.
3703
3785
  */
3704
- payNow?: V1PriceSummary;
3786
+ balanceType?: BalanceTypeWithLiterals;
3787
+ }
3788
+ declare enum BalanceType {
3789
+ /** Balance is measured in discrete uses, such as sessions or visits. */
3790
+ PUNCH_CARD = "PUNCH_CARD",
3791
+ /** Balance is measured in a currency-like value, such as points. */
3792
+ CREDIT = "CREDIT"
3793
+ }
3794
+ /** @enumType */
3795
+ type BalanceTypeWithLiterals = BalanceType | 'PUNCH_CARD' | 'CREDIT';
3796
+ interface InvalidMembership {
3797
+ /** Membership details. */
3798
+ membership?: Membership;
3705
3799
  /**
3706
- * Remaining amount for the order to be fully paid.
3707
- * @readonly
3800
+ * Reason why this membership is invalid and cannot be used.
3801
+ * @minLength 1
3802
+ * @maxLength 100
3708
3803
  */
3709
- payLater?: V1PriceSummary;
3710
- /** Information about valid and invalid memberships, and which ones are selected for usage. */
3711
- membershipOptions?: MembershipOptions;
3804
+ reason?: string;
3805
+ }
3806
+ interface SelectedMembership {
3712
3807
  /**
3713
- * Additional Fees
3714
- * @maxSize 100
3808
+ * Membership ID.
3809
+ * @minLength 1
3810
+ * @maxLength 200
3715
3811
  */
3716
- additionalFees?: AdditionalFee[];
3812
+ _id?: string;
3717
3813
  /**
3718
- * The rate used when converting from the site currency to the checkout currency.
3719
- * @readonly
3720
- * @decimalValue options { gt:0, lte:1000000000000000 }
3814
+ * ID of the app providing this payment option.
3815
+ * @format GUID
3721
3816
  */
3722
- checkoutConversionRate?: string | null;
3817
+ appId?: string;
3723
3818
  /**
3724
- * The pay now total amount after all gift cards are applied.
3725
- * @readonly
3819
+ * IDs of the line items this membership applies to.
3820
+ * @minSize 1
3821
+ * @maxSize 300
3822
+ * @minLength 1
3823
+ * @maxLength 100
3726
3824
  */
3727
- payNowTotalAfterGiftCard?: MultiCurrencyPrice;
3825
+ lineItemIds?: string[];
3826
+ }
3827
+ /** The validated existing memberships. Same shape as `ListExistingMembershipsResponse.memberships`. */
3828
+ interface ValidatedExistingMemberships {
3728
3829
  /**
3729
- * The total amount after all gift cards are applied.
3730
- * @readonly
3830
+ * The selected memberships, each paired with the line items it can pay for and the cost to redeem
3831
+ * each.
3832
+ * @maxSize 300
3731
3833
  */
3732
- totalAfterGiftCard?: MultiCurrencyPrice;
3733
- /**
3734
- * Payment for subscriptions after free trial period.
3735
- * @readonly
3736
- */
3737
- payAfterFreeTrial?: V1PriceSummary;
3834
+ memberships?: ExistingMembership[];
3738
3835
  }
3739
- interface CalculatedLineItem {
3740
- /** Line item ID. */
3741
- lineItemId?: string;
3742
- /** Price breakdown for this line item. */
3743
- pricesBreakdown?: LineItemPricesData;
3836
+ /**
3837
+ * A membership the member owns, together with the given line items it can pay for.
3838
+ *
3839
+ * A membership is a single benefit granted by a plan the member has already paid for, so its coverage
3840
+ * is nested directly here. No `benefitId` link is needed, unlike a plan that grants several benefits.
3841
+ */
3842
+ interface ExistingMembership {
3843
+ /** The membership the member owns. */
3844
+ membership?: V1Membership;
3744
3845
  /**
3745
- * Type of selected payment option for current item. Supported values:
3746
- * + `"FULL_PAYMENT_ONLINE"` - The entire payment for this item will happen as part of the checkout
3747
- * + `"FULL_PAYMENT_OFFLINE"` - The entire payment for this item will happen after the checkout
3748
- * + `"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
3749
- * + `"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.
3846
+ * Line items this membership can pay for, and the cost to redeem each.
3847
+ * @maxSize 300
3750
3848
  */
3751
- paymentOption?: PaymentOptionTypeWithLiterals;
3752
- /** tax calculation address. */
3753
- taxableAddress?: TaxableAddress;
3849
+ coveredLineItems?: CoveredLineItem[];
3754
3850
  }
3755
- interface LineItemPricesData {
3756
- /** Total price after discounts, tax, and modifiers. */
3757
- totalPriceAfterTax?: MultiCurrencyPrice;
3758
- /** Total price after discounts and modifiers, and before tax. */
3759
- totalPriceBeforeTax?: MultiCurrencyPrice;
3760
- /** Tax details. */
3761
- taxDetails?: ItemTaxFullDetails;
3762
- /** Total discount applied for the line item. */
3763
- totalDiscount?: MultiCurrencyPrice;
3764
- /** Catalog price after catalog-defined discount, automatic discounts, and modifiers. */
3765
- price?: MultiCurrencyPrice;
3851
+ interface V1Membership {
3766
3852
  /**
3767
- * Item price before automatic discounts, coupons, and global discounts; after catalog-defined discounts and modifiers.
3768
- * Defaults to `price` when not provided.
3853
+ * Membership ID.
3854
+ * @minLength 1
3855
+ * @maxLength 200
3769
3856
  */
3770
- priceBeforeDiscounts?: MultiCurrencyPrice;
3771
- /** Total line item price after catalog-defined discounts, automatic discounts, and modifiers. */
3772
- lineItemPrice?: MultiCurrencyPrice;
3773
- /** Catalog price before any discounts, with modifiers. */
3774
- fullPrice?: MultiCurrencyPrice;
3775
- /** Sum of all modifiers for a single unit of the item. */
3776
- modifiers?: MultiCurrencyPrice;
3857
+ _id?: string;
3858
+ /** Membership name. */
3859
+ name?: MembershipName;
3777
3860
  /**
3778
- * Partial payment out of `price` to be paid upfront during the checkout.
3779
- * Applies to catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.
3861
+ * Deprecated. Use `ExistingMembership.coveredLineItems` to see which line items this membership
3862
+ * covers.
3863
+ *
3864
+ * Populate this only in the legacy [List Eligible Memberships](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/memberships/memberships-service-plugin/list-eligible-memberships) flow, which still requires it and rejects a membership that omits it. Leave it empty everywhere else. [List Memberships By IDs](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/memberships/memberships-service-plugin/list-memberships-by-ids) receives no line items at all, so there's nothing to report there.
3865
+ * @maxSize 300
3866
+ * @minLength 1
3867
+ * @maxLength 100
3868
+ * @deprecated
3869
+ * @replacedBy ExistingMembership.covered_line_items.line_item_id
3870
+ * @targetRemovalDate 2026-08-30
3780
3871
  */
3781
- depositAmount?: MultiCurrencyPrice;
3782
- }
3783
- interface ItemTaxFullDetails {
3784
- /** Amount for which tax is calculated. */
3785
- taxableAmount?: MultiCurrencyPrice;
3872
+ lineItemIds?: string[];
3786
3873
  /**
3787
- * Tax rate %, as a decimal point between 0 and 1.
3788
- * @decimalValue options { gte:0, lte:1, maxScale:6 }
3874
+ * Membership's balance.
3875
+ *
3876
+ * Omit this field for an unlimited membership, which has no balance to draw down. Every
3877
+ * `ExistingMembership.coveredLineItems.redemptionCost` is then `0`. Unlike a plan's benefit, a
3878
+ * membership carries no explicit unlimited marker: the absence of a balance is the marker.
3789
3879
  */
3790
- taxRate?: string;
3791
- /** Calculated tax, based on `taxable_amount` and `tax_rate`. */
3792
- totalTax?: MultiCurrencyPrice;
3880
+ credits?: MembershipPaymentCredits;
3881
+ /** Date and time the membership expires. */
3882
+ expirationDate?: Date | null;
3793
3883
  /**
3794
- * If breakdown exists, the sum of rates in the breakdown must equal `tax_rate`. Deprecated - use 'tax_breakdown' instead.
3795
- * @readonly
3884
+ * Deprecated. Use `offeringDescription` for human-readable data about the offering.
3796
3885
  * @deprecated
3886
+ * @replacedBy offering_description
3887
+ * @targetRemovalDate 2026-08-30
3797
3888
  */
3798
- rateBreakdown?: TaxRateBreakdown[];
3799
- /**
3800
- * tax information for a line item.
3801
- * @maxSize 1000
3802
- * @readonly
3803
- */
3804
- taxBreakdown?: TaxBreakdown[];
3889
+ additionalData?: Record<string, any> | null;
3805
3890
  }
3806
- interface TaxRateBreakdown {
3891
+ /** A line item a membership can pay for, and the cost to redeem it. */
3892
+ interface CoveredLineItem {
3807
3893
  /**
3808
- * Name of tax against which the calculation was performed.
3894
+ * ID of the line item this membership can pay for. Matches the `id` of one of the given line items.
3895
+ * @minLength 1
3809
3896
  * @maxLength 100
3810
3897
  */
3811
- name?: string;
3898
+ lineItemId?: string;
3812
3899
  /**
3813
- * Rate at which this tax detail was calculated.
3814
- * @decimalValue options { gte:0, lte:1, maxScale:6 }
3900
+ * Amount deducted from the membership's remaining balance (`credits.remaining`) when this line item
3901
+ * is redeemed.
3902
+ *
3903
+ * Always `0` for an unlimited membership, which is expressed by omitting `credits` and decrements
3904
+ * nothing.
3815
3905
  */
3816
- rate?: string;
3817
- /** Amount of tax for this tax detail. */
3818
- tax?: MultiCurrencyPrice;
3906
+ redemptionCost?: number;
3819
3907
  }
3820
- /**
3821
- * TaxBreakdown represents tax information for a line item.
3822
- * It holds the tax amount and the tax rate for each tax authority that apply on the line item.
3823
- */
3824
- interface TaxBreakdown {
3825
- /**
3826
- * The name of the jurisdiction to which this tax detail applies. For example, "New York" or "Quebec".
3827
- * @maxLength 200
3828
- */
3829
- jurisdiction?: string | null;
3830
- /** The amount of this line item price that was considered nontaxable. (Decimal value) */
3831
- nonTaxableAmount?: MultiCurrencyPrice;
3832
- /**
3833
- * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value)
3834
- * @decimalValue options { gte:0, maxScale:6 }
3835
- */
3836
- rate?: string | null;
3837
- /** The amount of tax estimated for this line item. (Decimal value) */
3838
- taxAmount?: MultiCurrencyPrice;
3839
- /** The taxable amount of this line item. */
3840
- taxableAmount?: MultiCurrencyPrice;
3908
+ /** The validated purchasable plans. Same shape as `ListPurchasablePlansResponse`. */
3909
+ interface ValidatedPurchasablePlans {
3841
3910
  /**
3842
- * The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, "Sales Tax", "Income Tax", "Value Added Tax", etc.
3843
- * @maxLength 200
3911
+ * The selected plans.
3912
+ * @maxSize 300
3844
3913
  */
3845
- taxType?: string | null;
3914
+ purchasablePlans?: PurchasablePlan[];
3846
3915
  /**
3847
- * The name of the tax against which this tax amount was calculated. For example, "NY State Sales Tax", "Quebec GST", etc.
3848
- * This name should be explicit enough to allow the merchant to understand what tax was calculated.
3849
- * @maxLength 200
3916
+ * How the plans' benefits cover the line items, each entry naming its benefit by `benefitId`.
3917
+ * @maxSize 300
3850
3918
  */
3851
- taxName?: string | null;
3852
- /** The type of the jurisdiction in which this tax detail applies. */
3853
- jurisdictionType?: JurisdictionTypeWithLiterals;
3854
- }
3855
- /** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */
3856
- declare enum JurisdictionType {
3857
- UNDEFINED = "UNDEFINED",
3858
- COUNTRY = "COUNTRY",
3859
- STATE = "STATE",
3860
- COUNTY = "COUNTY",
3861
- CITY = "CITY",
3862
- SPECIAL = "SPECIAL"
3919
+ coverages?: LineItemCoverage[];
3863
3920
  }
3864
- /** @enumType */
3865
- type JurisdictionTypeWithLiterals = JurisdictionType | 'UNDEFINED' | 'COUNTRY' | 'STATE' | 'COUNTY' | 'CITY' | 'SPECIAL';
3866
- /**
3867
- * Record of the cross-border repricing of a single line item, shipping option or fee on a site whose catalog prices include tax:
3868
- * the catalog price the merchant entered, the base region's tax removed from it per unit, and the rate used.
3869
- *
3870
- * The totals calculator form of `com.wix.ecommerce.platform_common.api.CrossBorderPriceAdjustment`: the same fields under the same numbers,
3871
- * with the amounts as `MultiCurrencyPrice`. This record describes how the price was reached, not the resulting amount;
3872
- * the repriced figures are on the line, shipping option or fee that carries it.
3873
- */
3874
- interface CrossBorderPriceAdjustment {
3921
+ interface PurchasablePlan {
3875
3922
  /**
3876
- * ID of the tax region whose tax is built into the catalog prices.
3877
- * @format GUID
3878
- * @readonly
3923
+ * Catalog and item reference identifying both the plan and the pricing variant.
3924
+ *
3925
+ * A purchasable plan has no ID of its own. The reference carries the plan in `catalogItemId` and
3926
+ * the chosen pricing variant in `options`, so the same plan appears once per variant with a
3927
+ * different reference each time. The plan ID alone repeats across entries; the full reference
3928
+ * doesn't.
3929
+ *
3930
+ * When the plan needs nothing further from the buyer, the reference can be added to the cart as it
3931
+ * stands. When it does, for example a plan carrying a form, a custom start date, or a buyer-chosen
3932
+ * price, the reference has to be completed with that input first. See `infoCollectionUrl`.
3879
3933
  */
3880
- baseTaxRegionId?: string;
3934
+ catalogReference?: CatalogReference;
3935
+ /** Plan name. */
3936
+ name?: MembershipName;
3881
3937
  /**
3882
- * ID of the tax region resolved for the destination. Absent when no region matched.
3883
- * @format GUID
3884
- * @readonly
3938
+ * Benefits the plan grants once purchased.
3939
+ *
3940
+ * A plan can grant several, for example a bundle granting separate yoga and pilates credits. Each
3941
+ * benefit becomes its own membership after purchase.
3942
+ * @minSize 1
3943
+ * @maxSize 50
3885
3944
  */
3886
- destinationTaxRegionId?: string | null;
3945
+ benefits?: Benefit[];
3887
3946
  /**
3888
- * Price per unit as entered by the merchant, with the base region's tax inside it.
3889
- * @readonly
3947
+ * Human-readable summary of what the plan offers, for display. For example, `8 yoga classes and 4
3948
+ * pilates classes, billed monthly`.
3949
+ *
3950
+ * Describe the offering here and the price in `priceDescription`.
3951
+ * @maxLength 500
3890
3952
  */
3891
- catalogPrice?: MultiCurrencyPrice;
3953
+ offeringDescription?: string | null;
3892
3954
  /**
3893
- * Base region's tax removed per unit. Zero when `status` is `KEPT`, `SAME_REGION`, `SAME_COUNTRY`, `NOT_APPLICABLE`, `NOT_APPLICABLE_MODIFIERS` or `CONVERTED_CURRENCY_SUBSCRIPTION`, where nothing was removed.
3894
- * @readonly
3955
+ * URL of the page that collects the extra input this plan needs before it can be purchased.
3956
+ *
3957
+ * Return it only for a plan that needs more from the buyer, such as one carrying a form, a custom
3958
+ * start date, or a buyer-chosen price. Omitting it means the plan needs nothing further, and the
3959
+ * caller builds the cart itself.
3960
+ *
3961
+ * The buyer reaches this page before any cart exists, rather than from the checkout page, and
3962
+ * there's no return trip. The page receives the caller's already-created items, then builds the
3963
+ * cart and checkout from the plan plus those items. There's no return URL, no cart ID, no
3964
+ * preserved selection, and no completion signal: the purchase reaches Wix through the ordinary
3965
+ * checkout and order flow, and the membership through Membership Ready To Be Charged.
3966
+ *
3967
+ * The page covers a single plan. Items that plan covers can be mixed with directly-paid ones, but
3968
+ * a selection spanning two plans isn't supported here.
3969
+ * @format WEB_URL
3895
3970
  */
3896
- baseTaxAmount?: MultiCurrencyPrice;
3971
+ infoCollectionUrl?: string | null;
3897
3972
  /**
3898
- * Outcome of the repricing for this line.
3899
- * @readonly
3973
+ * Plan price, in the plan's own configured currency.
3974
+ *
3975
+ * No currency accompanies the amount and none is converted, so prices from different plans aren't
3976
+ * comparable and the currency reaches the buyer only through `priceDescription`. Name the currency
3977
+ * there.
3978
+ * @decimalValue options { gte:0, maxScale:3 }
3900
3979
  */
3901
- status?: RepriceStatusWithLiterals;
3980
+ price?: string;
3902
3981
  /**
3903
- * Where the base region's rate came from. Meaningful only when a rate was applied, that is when `status` is `APPLIED`, `STRIP_ONLY` or `NO_DESTINATION_REGION`.
3904
- * @readonly
3982
+ * Human-readable summary of the plan price, for display. For example, `First month free, then
3983
+ * $20/month`.
3984
+ *
3985
+ * Use `price` for the bare amount, which is what sorting and comparison rely on, and this field for
3986
+ * pricing a buyer needs prose to understand.
3987
+ * @maxLength 500
3905
3988
  */
3906
- baseRateSource?: BaseRateSourceWithLiterals;
3907
- /**
3908
- * Base region's rate used to remove the tax, as a decimal numeral between 0 and 1. For example, `"0.22"`. Absent when no rate was applied.
3909
- * @format DECIMAL_VALUE
3910
- * @decimalValue options { gte:0, maxScale:6 }
3911
- * @readonly
3912
- */
3913
- baseRate?: string | null;
3989
+ priceDescription?: string | null;
3990
+ }
3991
+ /**
3992
+ * A single redeemable benefit granted by a plan.
3993
+ *
3994
+ * A purchasable plan grants one or more benefits in `benefits`. Once the plan is paid for, each benefit
3995
+ * becomes its own membership, charged by `membershipId`.
3996
+ */
3997
+ interface Benefit extends BenefitQuotaOneOf {
3998
+ limitedQuota?: LimitedQuota;
3914
3999
  /**
3915
- * When the base region's rate was captured. Set only when `baseRateSource` is `AVALARA_PROBE`.
3916
- * @readonly
4000
+ * Identifier for this benefit, unique within its plan.
4001
+ *
4002
+ * Not unique across the response. A plan is returned once per pricing variant, and every variant
4003
+ * repeats that plan's benefit IDs. Two different plans can also share an ID when they grant the
4004
+ * same benefit, and a coverage entry naming it is then true for both.
4005
+ *
4006
+ * Never give two different benefits the same ID. That's the one case a caller can't recover from,
4007
+ * because a cost computed for one benefit would be applied to the other.
4008
+ * @minLength 1
4009
+ * @maxLength 200
3917
4010
  */
3918
- baseRateCapturedDate?: Date | null;
4011
+ benefitId?: string;
3919
4012
  /**
3920
- * Whether the destination's tax is included in the repriced amount. Reserved for per-region display; not populated.
3921
- * @readonly
4013
+ * Human-readable label for this benefit. For example, `Manicure` or `Pedicure` on a multi-set
4014
+ * punch card.
4015
+ * @maxLength 200
3922
4016
  */
3923
- destinationTaxIncluded?: boolean | null;
4017
+ label?: string | null;
4018
+ /** Kind of quota this benefit grants. */
4019
+ quotaType?: QuotaTypeWithLiterals;
3924
4020
  }
3925
- /** Outcome of the repricing for one line. */
3926
- declare enum RepriceStatus {
3927
- /** Base tax removed and the destination's tax applied. */
3928
- APPLIED = "APPLIED",
3929
- /** The caller asked for the line to be left at its price. Nothing was removed. */
3930
- KEPT = "KEPT",
3931
- /** Base tax removed and no destination tax applied, as in a tax-exempt calculation. This is the outcome; the mode that asks for it is `CrossBorderRepricingMode.STRIP_ONLY`. */
3932
- STRIP_ONLY = "STRIP_ONLY",
3933
- /** The destination is the base region. Nothing was removed. */
3934
- SAME_REGION = "SAME_REGION",
3935
- /** The destination is in the base region's country, outside the US and Canada, so the catalog price already carries the destination's tax. Nothing was removed. */
3936
- SAME_COUNTRY = "SAME_COUNTRY",
3937
- /** No tax region matched the destination. Base tax removed and no destination tax applied. */
3938
- NO_DESTINATION_REGION = "NO_DESTINATION_REGION",
3939
- /** The calculation didn't reprice this line, for example because the feature was off or a pass failed. Nothing was removed. */
3940
- NOT_APPLICABLE = "NOT_APPLICABLE",
3941
- /** The line's modifiers exceed its price at the destination's rate. Nothing was removed. */
3942
- NOT_APPLICABLE_MODIFIERS = "NOT_APPLICABLE_MODIFIERS",
3943
- /** A subscription line in a checkout whose currency differs from the site currency. Nothing was removed. */
3944
- CONVERTED_CURRENCY_SUBSCRIPTION = "CONVERTED_CURRENCY_SUBSCRIPTION"
4021
+ /** @oneof */
4022
+ interface BenefitQuotaOneOf {
4023
+ limitedQuota?: LimitedQuota;
4024
+ }
4025
+ declare enum QuotaType {
4026
+ /** The benefit grants a countable quota that's drawn down on redemption. */
4027
+ LIMITED = "LIMITED",
4028
+ /** The benefit is unlimited and is never drawn down. */
4029
+ UNLIMITED = "UNLIMITED"
3945
4030
  }
3946
4031
  /** @enumType */
3947
- type RepriceStatusWithLiterals = RepriceStatus | 'APPLIED' | 'KEPT' | 'STRIP_ONLY' | 'SAME_REGION' | 'SAME_COUNTRY' | 'NO_DESTINATION_REGION' | 'NOT_APPLICABLE' | 'NOT_APPLICABLE_MODIFIERS' | 'CONVERTED_CURRENCY_SUBSCRIPTION';
3948
- /** Where the base region's rate came from. */
3949
- declare enum BaseRateSource {
3950
- /** The manual tax calculator computed the base tax for this calculation. */
3951
- MANUAL_SPI = "MANUAL_SPI",
3952
- /** The rate captured from Avalara by the embedded-rate probe. */
3953
- AVALARA_PROBE = "AVALARA_PROBE"
4032
+ type QuotaTypeWithLiterals = QuotaType | 'LIMITED' | 'UNLIMITED';
4033
+ /** A limited, countable redeemable amount. */
4034
+ interface LimitedQuota {
4035
+ /**
4036
+ * Quota's initial value.
4037
+ * @min 1
4038
+ */
4039
+ total?: number;
4040
+ /** Quota's remaining value. */
4041
+ remaining?: number;
4042
+ /**
4043
+ * How the quota is measured.
4044
+ *
4045
+ * The same vocabulary as `MembershipPaymentCredits.balanceType` on the existing-membership side.
4046
+ */
4047
+ limitedQuotaType?: LimitedQuotaTypeWithLiterals;
4048
+ }
4049
+ declare enum LimitedQuotaType {
4050
+ /** Quota is measured in discrete uses, such as sessions or visits. */
4051
+ PUNCH_CARD = "PUNCH_CARD",
4052
+ /** Quota is measured in a currency-like value, such as points. */
4053
+ CREDIT = "CREDIT"
3954
4054
  }
3955
4055
  /** @enumType */
3956
- type BaseRateSourceWithLiterals = BaseRateSource | 'MANUAL_SPI' | 'AVALARA_PROBE';
3957
- interface CalculatedItemModifier {
4056
+ type LimitedQuotaTypeWithLiterals = LimitedQuotaType | 'PUNCH_CARD' | 'CREDIT';
4057
+ /**
4058
+ * Maps one of a plan's benefits to a line item it can cover, and at what cost.
4059
+ *
4060
+ * One entry per benefit and line item pair, returned by [List Purchasable Plans](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/memberships/memberships-service-plugin/list-purchasable-plans) alongside `purchasablePlans`.
4061
+ *
4062
+ * An entry names a benefit and carries no plan identity, so match its `benefitId` against the
4063
+ * `benefits` of the returned plans and apply it to every entry that grants that benefit. Entries for
4064
+ * the same plan repeat it once per pricing variant, and two different plans sharing a benefit ID
4065
+ * grant the same benefit, so the entry holds for each of them. A caller that stops at the first
4066
+ * match shows nothing incorrect, but hides the other entries, which cover the item too.
4067
+ *
4068
+ * The cost is identical across a plan's variants, so there's one entry per benefit rather than one
4069
+ * per variant.
4070
+ *
4071
+ * For memberships the member already owns, the equivalent mapping is
4072
+ * `ExistingMembership.coveredLineItems`, which needs no `benefitId` because a membership is a single
4073
+ * benefit.
4074
+ */
4075
+ interface LineItemCoverage {
3958
4076
  /**
3959
- * Modifier ID.
4077
+ * ID of the benefit that covers the line item, as returned in `Benefit.benefitId`.
4078
+ *
4079
+ * Identifies a benefit within its plan, and repeats across that plan's pricing variants.
3960
4080
  * @minLength 1
3961
- * @maxLength 36
4081
+ * @maxLength 200
3962
4082
  */
3963
- _id?: string;
4083
+ benefitId?: string;
3964
4084
  /**
3965
- * ID of the group this modifier belongs to.
4085
+ * ID of the line item this benefit covers.
3966
4086
  * @minLength 1
3967
- * @maxLength 36
4087
+ * @maxLength 100
3968
4088
  */
3969
- groupId?: string;
4089
+ lineItemId?: string;
3970
4090
  /**
3971
- * Modifier price.
3972
- * @readonly
4091
+ * Amount deducted from the benefit's `limitedQuota.remaining` value when this line item is redeemed.
4092
+ *
4093
+ * Always `0` for an unlimited benefit, which decrements nothing.
3973
4094
  */
3974
- price?: MultiCurrencyPrice;
3975
- }
3976
- interface V1PriceSummary {
3977
- /** Subtotal of all line items, before discounts and before tax. */
3978
- subtotal?: MultiCurrencyPrice;
3979
- /** Total shipping price, before discounts and before tax. */
3980
- shipping?: MultiCurrencyPrice;
3981
- /** Total tax. */
3982
- tax?: MultiCurrencyPrice;
3983
- /** Total calculated discount value. */
3984
- discount?: MultiCurrencyPrice;
3985
- /** Total price after discounts, gift cards, and tax. */
3986
- total?: MultiCurrencyPrice;
3987
- /** Total additional fees price before tax. */
3988
- additionalFees?: MultiCurrencyPrice;
4095
+ redemptionCost?: number;
3989
4096
  }
3990
- interface GiftCard {
3991
- /**
3992
- * Gift Card ID.
3993
- * @deprecated
3994
- */
3995
- _id?: string;
3996
- /** Gift card obfuscated code. */
3997
- obfuscatedCode?: string;
3998
- /** Actual amount to be redeemed from the gift card. */
3999
- amount?: MultiCurrencyPrice;
4097
+ interface AdditionalFee {
4000
4098
  /**
4001
- * App ID of the gift card provider.
4002
- * @format GUID
4099
+ * Additional fee's unique code (or ID) for future processing.
4100
+ * @minLength 1
4101
+ * @maxLength 100
4003
4102
  */
4004
- appId?: string;
4103
+ code?: string | null;
4005
4104
  /**
4006
- * External ID in the gift card provider's system.
4007
- * Used for integration and tracking across different platforms.
4105
+ * Additional fee's name.
4008
4106
  * @minLength 1
4009
4107
  * @maxLength 50
4010
4108
  */
4011
- externalId?: string | null;
4012
- /** Requested amount to redeem from the gift card. */
4013
- requestedAmount?: MultiCurrencyPrice;
4014
- }
4015
- interface TaxSummary {
4109
+ name?: string;
4110
+ /** Additional fee's price. */
4111
+ price?: MultiCurrencyPrice;
4112
+ /** Tax details. */
4113
+ taxDetails?: ItemTaxFullDetails;
4016
4114
  /**
4017
- * Amount for which tax is calculated, added from line items.
4018
- * @readonly
4115
+ * Provider's app id.
4116
+ * @minLength 1
4117
+ * @maxLength 100
4019
4118
  */
4020
- taxableAmount?: MultiCurrencyPrice;
4119
+ providerAppId?: string | null;
4120
+ /** Additional fee's price before tax. */
4121
+ priceBeforeTax?: MultiCurrencyPrice;
4122
+ /** Additional fee's price after tax. */
4123
+ priceAfterTax?: MultiCurrencyPrice;
4021
4124
  /**
4022
- * Calculated tax, added from line items.
4023
- * @readonly
4125
+ * Optional - Line items associated with this additional fee.
4126
+ * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.
4127
+ * @format GUID
4024
4128
  */
4025
- totalTax?: MultiCurrencyPrice;
4129
+ lineItemIds?: string[];
4130
+ /** the source the additional fee was added from */
4131
+ source?: AdditionalFeeSourceWithLiterals;
4026
4132
  /**
4027
- * Tax calculator that was active when the order was created.
4028
- * @deprecated
4133
+ * 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).
4134
+ * @minLength 1
4135
+ * @maxLength 50
4029
4136
  */
4030
- calculationDetails?: TaxCalculationDetails;
4031
- }
4032
- interface TaxCalculationDetails extends TaxCalculationDetailsCalculationDetailsOneOf {
4033
- /** Reason the manual calculation was used. */
4034
- manualRateReason?: ManualCalculationReasonWithLiterals;
4035
- /** Details of the fallback rate calculation. */
4036
- autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;
4037
- /** Rate calculation type. */
4038
- rateType?: RateTypeWithLiterals;
4039
- }
4040
- /** @oneof */
4041
- interface TaxCalculationDetailsCalculationDetailsOneOf {
4042
- /** Reason the manual calculation was used. */
4043
- manualRateReason?: ManualCalculationReasonWithLiterals;
4044
- /** Details of the fallback rate calculation. */
4045
- autoTaxFallbackDetails?: AutoTaxFallbackCalculationDetails;
4046
- }
4047
- declare enum RateType {
4048
- /** no tax being collected for this request due to location of purchase */
4049
- NO_TAX_COLLECTED = "NO_TAX_COLLECTED",
4050
- /** manual rate used for calculation */
4051
- MANUAL_RATE = "MANUAL_RATE",
4052
- /** autotax rate used for calculation */
4053
- AUTO_RATE = "AUTO_RATE",
4054
- /** fallback rate used for calculation */
4055
- FALLBACK_RATE = "FALLBACK_RATE"
4056
- }
4057
- /** @enumType */
4058
- type RateTypeWithLiterals = RateType | 'NO_TAX_COLLECTED' | 'MANUAL_RATE' | 'AUTO_RATE' | 'FALLBACK_RATE';
4059
- declare enum ManualCalculationReason {
4060
- /** user set calculator in Business Manager to be Manual */
4061
- GLOBAL_SETTING_TO_MANUAL = "GLOBAL_SETTING_TO_MANUAL",
4062
- /** specific region is on manual even though Global setting is Auto-tax */
4063
- REGION_SETTING_TO_MANUAL = "REGION_SETTING_TO_MANUAL"
4064
- }
4065
- /** @enumType */
4066
- type ManualCalculationReasonWithLiterals = ManualCalculationReason | 'GLOBAL_SETTING_TO_MANUAL' | 'REGION_SETTING_TO_MANUAL';
4067
- interface AutoTaxFallbackCalculationDetails {
4068
- /** reason for fallback */
4069
- fallbackReason?: FallbackReasonWithLiterals;
4070
- /** invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here */
4071
- error?: ApplicationError;
4137
+ translatedName?: string | null;
4138
+ /** Address type tax was calculated against for this fee. */
4139
+ taxableAddress?: TaxableAddress;
4072
4140
  }
4073
- declare enum FallbackReason {
4074
- /** auto-tax failed to be calculated */
4075
- AUTO_TAX_FAILED = "AUTO_TAX_FAILED",
4076
- /** auto-tax was temporarily deactivated on a system-level */
4077
- AUTO_TAX_DEACTIVATED = "AUTO_TAX_DEACTIVATED"
4141
+ declare enum AdditionalFeeSource {
4142
+ UNKNOWN_ADDITIONAL_FEE_SOURCE = "UNKNOWN_ADDITIONAL_FEE_SOURCE",
4143
+ /** The additional fee was added by an additional fee service plugin */
4144
+ SERVICE_PLUGIN = "SERVICE_PLUGIN",
4145
+ /** The additional fee was added on the item either via the catalog or on custom line item */
4146
+ ITEM = "ITEM",
4147
+ /** The additional fee was added manually on the request */
4148
+ MANUAL = "MANUAL",
4149
+ /** The additional fee was added by the shipping provider */
4150
+ SHIPPING = "SHIPPING",
4151
+ /** The additional fee was added by a Wix vertical and represents a Wix platform fee */
4152
+ PLATFORM = "PLATFORM"
4078
4153
  }
4079
4154
  /** @enumType */
4080
- type FallbackReasonWithLiterals = FallbackReason | 'AUTO_TAX_FAILED' | 'AUTO_TAX_DEACTIVATED';
4081
- /**
4082
- * 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.
4083
- * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.
4084
- */
4085
- interface AggregatedTaxBreakdown {
4086
- /**
4087
- * The name of the tax against which this tax amount was calculated.
4088
- * @maxLength 200
4089
- */
4090
- taxName?: string;
4155
+ type AdditionalFeeSourceWithLiterals = AdditionalFeeSource | 'UNKNOWN_ADDITIONAL_FEE_SOURCE' | 'SERVICE_PLUGIN' | 'ITEM' | 'MANUAL' | 'SHIPPING' | 'PLATFORM';
4156
+ interface PlatformFeeSummary {
4157
+ /** Total platform fee amount. */
4158
+ total?: MultiCurrencyPrice;
4159
+ /** Total platform fee passed on to the customer. */
4160
+ totalPassOn?: MultiCurrencyPrice;
4161
+ /** Total platform fee absorbed by the merchant. */
4162
+ totalAbsorbed?: MultiCurrencyPrice;
4091
4163
  /**
4092
- * The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws.
4093
- * @maxLength 200
4164
+ * Calculated platform fees.
4165
+ * @maxSize 100
4094
4166
  */
4095
- taxType?: string;
4167
+ calculatedPlatformFees?: CalculatedPlatformFee[];
4168
+ }
4169
+ interface CalculatedPlatformFee {
4170
+ /** Platform fee name. */
4171
+ name?: TranslatableString;
4172
+ /** Platform fee amount. */
4173
+ amount?: MultiCurrencyPrice;
4096
4174
  /**
4097
- * The name of the jurisdiction in which this tax detail applies.
4098
- * @maxLength 200
4175
+ * ID of the line item the platform fee applies to.
4176
+ * @format GUID
4099
4177
  */
4100
- jurisdiction?: string;
4101
- /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */
4102
- jurisdictionTypeEnum?: JurisdictionTypeWithLiterals;
4178
+ lineItemId?: string;
4179
+ /** Platform fee charge type. */
4180
+ chargeType?: PlatformFeeChargeTypeWithLiterals;
4103
4181
  /**
4104
- * The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.000 signifies 200% tax. (Decimal value)
4105
- * @decimalValue options { gte:0, maxScale:6 }
4182
+ * Percentage rate charged as platform fee.
4183
+ * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.
4184
+ * @format DECIMAL_VALUE
4185
+ * @decimalValue options { gt:0, lte:1, maxScale:4 }
4106
4186
  */
4107
- rate?: string;
4108
- /** The sum of all the tax from line items that calculated by the tax identifiers. */
4109
- aggregatedTaxAmount?: MultiCurrencyPrice;
4110
- /** The sum of all the taxable amount from line items for tax identifiers. */
4111
- aggregatedTaxableAmount?: MultiCurrencyPrice;
4187
+ percentageRate?: string;
4112
4188
  }
4113
- interface ShippingInformation {
4114
- /** Shipping region. */
4115
- region?: ShippingRegion;
4116
- /** Selected shipping option. */
4117
- selectedCarrierServiceOption?: SelectedCarrierServiceOption;
4118
- /** All shipping options. */
4119
- carrierServiceOptions?: CarrierServiceOption[];
4189
+ declare enum PlatformFeeChargeType {
4190
+ /** The platform fee is passed on to the customer. */
4191
+ PASS_ON = "PASS_ON",
4192
+ /** The platform fee is absorbed by the merchant. */
4193
+ ABSORBED = "ABSORBED"
4120
4194
  }
4121
- interface ShippingRegion {
4195
+ /** @enumType */
4196
+ type PlatformFeeChargeTypeWithLiterals = PlatformFeeChargeType | 'PASS_ON' | 'ABSORBED';
4197
+ /** Cart-level outcome of the cross-border repricing in one calculation. The per-line records are `CrossBorderPriceAdjustment`. */
4198
+ interface CrossBorderRepricingResult {
4122
4199
  /**
4123
- * Shipping region ID.
4124
- * @format GUID
4200
+ * Whether the calculation repriced the line items for the destination's tax.
4201
+ *
4202
+ * Default: `false`
4125
4203
  * @readonly
4126
4204
  */
4127
- _id?: string;
4205
+ applied?: boolean;
4128
4206
  /**
4129
- * Shipping region name.
4130
- * @maxLength 100
4207
+ * ID of the tax region whose tax is built into the catalog prices, as used in this calculation.
4208
+ * @format GUID
4209
+ * @readonly
4131
4210
  */
4132
- name?: string;
4133
- }
4134
- interface SelectedCarrierServiceOption {
4211
+ baseTaxRegionId?: string | null;
4135
4212
  /**
4136
- * Unique identifier of selected option. For example, "usps_std_overnight".
4137
- * @maxLength 100
4213
+ * App ID of the base region's tax calculator.
4214
+ * @format GUID
4215
+ * @readonly
4138
4216
  */
4139
- code?: string;
4217
+ baseCalculatorId?: string | null;
4140
4218
  /**
4141
- * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).
4142
- * For example, "Standard" or "First-Class Package International".
4143
- * @maxLength 250
4219
+ * Why the calculation didn't reprice. Set when `applied` is `false`, or when the line items were repriced and the shipping option or the fees were not.
4144
4220
  * @readonly
4145
4221
  */
4146
- title?: string;
4222
+ reason?: CrossBorderNotApplicableReasonWithLiterals;
4147
4223
  /**
4148
- * Delivery logistics.
4224
+ * Mode the calculation ran in. `FULL` when the request set none. Callers copy it onto the order's tax info.
4149
4225
  * @readonly
4150
4226
  */
4151
- logistics?: DeliveryLogistics;
4227
+ mode?: CrossBorderRepricingModeWithLiterals;
4152
4228
  /**
4153
- * Shipping costs.
4229
+ * Request ID of the calculation, for log correlation.
4230
+ * @maxLength 100
4154
4231
  * @readonly
4155
4232
  */
4156
- cost?: SelectedCarrierServiceOptionPrices;
4233
+ requestId?: string | null;
4234
+ }
4235
+ /** Why a cross-border repricing calculation didn't reprice the lines. */
4236
+ declare enum CrossBorderNotApplicableReason {
4237
+ /** The repricing feature toggle is off. */
4238
+ FEATURE_DISABLED = "FEATURE_DISABLED",
4239
+ /** The site hasn't opted in to cross-border repricing. */
4240
+ NOT_OPTED_IN = "NOT_OPTED_IN",
4241
+ /** The site's prices no longer include tax. */
4242
+ TAX_INCLUSIVE_PRICING_OFF = "TAX_INCLUSIVE_PRICING_OFF",
4243
+ /** The base tax region doesn't exist on the site. */
4244
+ BASE_TAX_REGION_NOT_FOUND = "BASE_TAX_REGION_NOT_FOUND",
4245
+ /** The base region uses the manual calculator and has no tax mapping. */
4246
+ BASE_REGION_HAS_NO_MANUAL_MAPPING = "BASE_REGION_HAS_NO_MANUAL_MAPPING",
4247
+ /** No embedded rate is stored for one of the tax groups in the calculation. */
4248
+ EMBEDDED_RATE_MISSING = "EMBEDDED_RATE_MISSING",
4249
+ /** Removing the base tax or applying the destination's tax failed for a line item. */
4250
+ CROSS_BORDER_REPRICING_FAILED = "CROSS_BORDER_REPRICING_FAILED",
4251
+ /** The line items were repriced. Repricing the shipping option failed. */
4252
+ SHIPPING_REPRICING_FAILED = "SHIPPING_REPRICING_FAILED",
4253
+ /** The line items were repriced. Repricing the additional fees failed. */
4254
+ FEES_REPRICING_FAILED = "FEES_REPRICING_FAILED",
4255
+ /** The site's tax settings couldn't be read, so the calculation couldn't tell whether the site opted in. */
4256
+ SETTINGS_UNAVAILABLE = "SETTINGS_UNAVAILABLE"
4257
+ }
4258
+ /** @enumType */
4259
+ type CrossBorderNotApplicableReasonWithLiterals = CrossBorderNotApplicableReason | 'FEATURE_DISABLED' | 'NOT_OPTED_IN' | 'TAX_INCLUSIVE_PRICING_OFF' | 'BASE_TAX_REGION_NOT_FOUND' | 'BASE_REGION_HAS_NO_MANUAL_MAPPING' | 'EMBEDDED_RATE_MISSING' | 'CROSS_BORDER_REPRICING_FAILED' | 'SHIPPING_REPRICING_FAILED' | 'FEES_REPRICING_FAILED' | 'SETTINGS_UNAVAILABLE';
4260
+ /** How a cross-border repricing calculation is asked to run. This is the requested mode; a line's outcome is `CrossBorderPriceAdjustment.RepriceStatus`. */
4261
+ declare enum CrossBorderRepricingMode {
4262
+ /** Nothing is repriced. */
4263
+ DISABLED = "DISABLED",
4264
+ /** Base tax removed and no destination tax applied. A line repriced this way has the outcome `CrossBorderPriceAdjustment.RepriceStatus.STRIP_ONLY`. */
4265
+ STRIP_ONLY = "STRIP_ONLY",
4266
+ /** Base tax removed and the destination's tax applied. A request that sets no mode runs this way. */
4267
+ FULL = "FULL"
4268
+ }
4269
+ /** @enumType */
4270
+ type CrossBorderRepricingModeWithLiterals = CrossBorderRepricingMode | 'DISABLED' | 'STRIP_ONLY' | 'FULL';
4271
+ interface CreateCartRequest {
4272
+ /** Cart to create. */
4273
+ cart?: Cart;
4157
4274
  /**
4158
- * Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)
4159
- * @readonly
4275
+ * Catalog items to add to the cart.
4276
+ * @maxSize 300
4160
4277
  */
4161
- requestedShippingOption?: boolean;
4278
+ catalogItems?: CatalogItemInput[];
4162
4279
  /**
4163
- * Other charges
4164
- * @deprecated Other charges
4165
- * @replacedBy additional_fees
4166
- * @targetRemovalDate 2025-10-01
4280
+ * Custom items to add to the cart.
4281
+ * Custom line items don't trigger the Catalog service plugin.
4282
+ * @maxSize 300
4167
4283
  */
4168
- otherCharges?: SelectedCarrierServiceOptionOtherCharge[];
4284
+ customItems?: CustomItemInput[];
4169
4285
  /**
4170
- * This carrier's unique ID
4171
- * @format GUID
4286
+ * Coupons to apply.
4287
+ * Currently only one is supported.
4288
+ * @maxSize 1
4172
4289
  */
4173
- carrierId?: string | null;
4290
+ coupons?: CouponInput[];
4291
+ /** Delivery method to set. */
4292
+ deliveryMethod?: DeliveryMethodInput;
4174
4293
  /**
4175
- * Delivery solution allocations to different delivery carriers and delivery regions
4176
- * @maxSize 300
4294
+ * Gift cards to add.
4295
+ * @maxSize 5
4177
4296
  */
4178
- deliveryAllocations?: DeliveryAllocation[];
4179
- /** If the delivery solution is a partial and doesn't apply to all items. */
4180
- partial?: boolean | null;
4297
+ giftCards?: GiftCardInput[];
4181
4298
  }
4182
- interface DeliveryLogistics {
4299
+ interface CatalogItemInput {
4300
+ /** Reference to the catalog item. */
4301
+ catalogReference?: CatalogReference;
4183
4302
  /**
4184
- * Expected delivery time, in free text. For example, "3-5 business days".
4185
- * @maxLength 500
4303
+ * Number of catalog items the customer requested.
4304
+ * @min 1
4305
+ * @max 100000
4186
4306
  */
4187
- deliveryTime?: string | null;
4307
+ quantity?: number;
4188
4308
  /**
4189
- * Instructions for caller, e.g for pickup: "Please deliver during opening hours, and please don't park in disabled parking spot".
4190
- * @maxLength 1000
4309
+ * Selected membership used as payment for this item.
4310
+ *
4311
+ * DEPRECATED: migrate to `membershipPayment`. Removed once all clients migrate.
4312
+ * @deprecated
4313
+ * @replacedBy membership_payment
4314
+ * @targetRemovalDate 2026-06-22
4191
4315
  */
4192
- instructions?: string | null;
4193
- /** Pickup details. */
4194
- pickupDetails?: PickupDetails;
4195
- }
4196
- interface PickupDetails {
4197
- /** Pickup address. */
4198
- address?: Address;
4316
+ selectedMembership?: V2SelectedMembership;
4317
+ /** Overriding values for catalog item properties. */
4318
+ catalogOverrideFields?: CatalogOverrideFields;
4199
4319
  /**
4200
- * Whether the pickup address is that of a business - this may effect tax calculation.
4201
- * @deprecated
4320
+ * Custom extended fields for the line item object.
4321
+ *
4322
+ * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the Checkout & Orders - Line Items Schema Plugin in the app dashboard before they can be accessed with API calls.
4202
4323
  */
4203
- businessLocation?: boolean;
4204
- /** Pickup method */
4205
- pickupMethod?: PickupMethodWithLiterals;
4206
- }
4207
- declare enum PickupMethod {
4208
- STORE_PICKUP = "STORE_PICKUP",
4209
- PICKUP_POINT = "PICKUP_POINT"
4210
- }
4211
- /** @enumType */
4212
- type PickupMethodWithLiterals = PickupMethod | 'STORE_PICKUP' | 'PICKUP_POINT';
4213
- interface DeliveryTimeSlot {
4214
- /** starting time of the delivery time slot */
4215
- from?: Date | null;
4216
- /** ending time of the delivery time slot */
4217
- to?: Date | null;
4218
- }
4219
- interface SelectedCarrierServiceOptionPrices {
4220
- /** Total shipping price, after discount and after tax. */
4221
- totalPriceAfterTax?: MultiCurrencyPrice;
4222
- /** Total price of shipping after discounts (when relevant), and before tax. */
4223
- totalPriceBeforeTax?: MultiCurrencyPrice;
4224
- /** Tax details. */
4225
- taxDetails?: ItemTaxFullDetails;
4226
- /** Shipping discount before tax. */
4227
- totalDiscount?: MultiCurrencyPrice;
4228
- /** Shipping price before discount and before tax. */
4229
- price?: MultiCurrencyPrice;
4230
- }
4231
- interface SelectedCarrierServiceOptionOtherCharge {
4232
- /** Type of additional cost. */
4233
- type?: ChargeTypeWithLiterals;
4324
+ extendedFields?: ExtendedFields;
4234
4325
  /**
4235
- * Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'.
4236
- * @maxLength 200
4326
+ * ID of the app managing inventory.
4327
+ * @format GUID
4237
4328
  */
4238
- details?: string | null;
4239
- /** Price of added charge. */
4240
- cost?: SelectedCarrierServiceOptionPrices;
4329
+ inventoryAppId?: string | null;
4330
+ /**
4331
+ * Membership used as payment for this item. Can be an existing membership, or a future one
4332
+ * created from a plan in the same cart.
4333
+ *
4334
+ * Replaces `selectedMembership`.
4335
+ *
4336
+ * Use with `paymentOption` `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`.
4337
+ */
4338
+ membershipPayment?: MembershipInput;
4241
4339
  }
4242
- declare enum ChargeType {
4243
- HANDLING_FEE = "HANDLING_FEE",
4244
- INSURANCE = "INSURANCE"
4340
+ interface MembershipInput extends MembershipInputMembershipOneOf {
4341
+ /** Pay with an existing, already-provisioned membership. */
4342
+ existingMembership?: ExistingMembershipInput;
4343
+ /** Pay with a future membership, created once a plan in this cart is purchased. */
4344
+ futureMembership?: FutureMembershipInput;
4245
4345
  }
4246
- /** @enumType */
4247
- type ChargeTypeWithLiterals = ChargeType | 'HANDLING_FEE' | 'INSURANCE';
4248
- interface DeliveryAllocation {
4249
- /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */
4250
- deliveryCarrier?: Carrier;
4251
- /** The delivery region that are relevant for this delivery solution. */
4252
- deliveryRegion?: Region;
4253
- /** Populated if the delivery solution is a partially supplied by this carrier. */
4254
- applicableLineItems?: ApplicableLineItems;
4346
+ /** @oneof */
4347
+ interface MembershipInputMembershipOneOf {
4348
+ /** Pay with an existing, already-provisioned membership. */
4349
+ existingMembership?: ExistingMembershipInput;
4350
+ /** Pay with a future membership, created once a plan in this cart is purchased. */
4351
+ futureMembership?: FutureMembershipInput;
4255
4352
  }
4256
- interface Carrier {
4353
+ interface ExistingMembershipInput {
4257
4354
  /**
4258
- * The carrier app id
4355
+ * ID of the app providing the membership, for example Pricing Plans.
4259
4356
  * @format GUID
4260
4357
  */
4261
- appId?: string | null;
4358
+ appId?: string;
4262
4359
  /**
4263
- * Unique code that acts as an ID for a shipping rate. For example, `"usps_std_overnight"`.
4264
- * @maxLength 250
4360
+ * ID of the existing membership.
4361
+ * @minLength 1
4362
+ * @maxLength 200
4265
4363
  */
4266
- code?: string;
4364
+ membershipId?: string;
4267
4365
  }
4268
- interface Region {
4366
+ interface FutureMembershipInput {
4269
4367
  /**
4270
- * The delivery region id.
4368
+ * ID of the plan line item, already in the cart, whose future membership pays for this item.
4369
+ * Add the plan line item to the cart first, then reference it by its ID.
4271
4370
  * @format GUID
4272
4371
  */
4273
- _id?: string | null;
4372
+ lineItemId?: string;
4274
4373
  /**
4275
- * The delivery region name.
4276
- * @maxLength 100
4374
+ * The selected unit within the plan to redeem.
4375
+ * @maxLength 200
4277
4376
  */
4278
- name?: string | null;
4377
+ benefitId?: string;
4279
4378
  }
4280
- interface ApplicableLineItems {
4379
+ interface CustomItemInput {
4380
+ /** Display name for the line item. */
4381
+ name?: TranslatableString;
4382
+ /** Quantity details for the line item. */
4383
+ quantityInfo?: CustomItemQuantityInfo;
4384
+ /** Pricing details for the line item. */
4385
+ pricing?: CustomItemPricingInfo;
4386
+ /** Information about the line item's origin. */
4387
+ source?: CustomItemSource;
4388
+ /** Display details for the item. */
4389
+ attributes?: CustomItemAttributes;
4390
+ /** Delivery configuration for the line item. */
4391
+ deliveryConfig?: CustomItemDeliveryConfig;
4392
+ /** Tax configuration for the line item. */
4393
+ taxConfig?: CustomItemTaxConfig;
4394
+ /** Payment configuration for the line item. */
4395
+ paymentConfig?: CustomItemPaymentConfig;
4281
4396
  /**
4282
- * Line items that the delivery solution is for.
4283
- * @maxSize 300
4284
- * @minLength 1
4285
- * @maxLength 100
4397
+ * Modifier groups added to the item.
4398
+ * @maxSize 25
4286
4399
  */
4287
- lineItemIds?: string[];
4400
+ modifierGroups?: ModifierGroup[];
4288
4401
  }
4289
- interface CarrierServiceOption {
4402
+ interface CustomItemQuantityInfo {
4290
4403
  /**
4291
- * Carrier ID.
4292
- * @format GUID
4404
+ * Quantity the customer requested.
4405
+ * @min 1
4406
+ * @max 100000
4293
4407
  */
4294
- carrierId?: string;
4295
- /** Shipping options offered by this carrier for this request. */
4296
- shippingOptions?: ShippingOption[];
4408
+ requestedQuantity?: number;
4409
+ /** Maximum quantity available for purchase. */
4410
+ availableQuantity?: number | null;
4411
+ /**
4412
+ * Whether the line item quantity is fixed and can't be changed.
4413
+ *
4414
+ * Default: `false`
4415
+ */
4416
+ fixedQuantity?: boolean;
4297
4417
  }
4298
- interface ShippingOption {
4418
+ interface CustomItemPricingInfo {
4299
4419
  /**
4300
- * Unique code of provided shipping option like "usps_std_overnight".
4301
- * For legacy calculators this would be the UUID of the option.
4302
- * @maxLength 100
4420
+ * Sale price for a single item, without modifiers.
4421
+ * Includes tax when `taxInfo.pricesIncludeTax` is true.
4303
4422
  */
4304
- code?: string;
4423
+ price?: ConvertedMoney;
4305
4424
  /**
4306
- * Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).
4307
- * For example, "Standard" or "First-Class Package International".
4308
- * @maxLength 250
4425
+ * Full price for a single item before discounts, without modifiers.
4426
+ * Defaults to `price` when not provided.
4427
+ * Includes tax when `taxInfo.pricesIncludeTax` is true.
4309
4428
  */
4310
- title?: string;
4311
- /** Delivery logistics. */
4312
- logistics?: DeliveryLogistics;
4313
- /** Sipping price information. */
4314
- cost?: ShippingPrice;
4429
+ fullPrice?: ConvertedMoney;
4315
4430
  /**
4316
- * Delivery solution allocations to different delivery carriers and delivery regions
4317
- * @maxSize 300
4431
+ * Additional price description.
4432
+ * For example, when the price is `0` but you need more detail, such as "Starts at $67".
4318
4433
  */
4319
- deliveryAllocations?: DeliveryAllocation[];
4320
- /** If the delivery solution is a partial and doesn't apply to all items. */
4321
- partial?: boolean | null;
4322
- }
4323
- interface ShippingPrice {
4324
- /** Shipping price. */
4325
- price?: MultiCurrencyPrice;
4326
- /** Other costs such as insurance, handling & packaging for fragile items, etc. */
4327
- otherCharges?: OtherCharge[];
4434
+ priceDescription?: PriceDescription;
4435
+ /** Whether the price isn't yet defined and will be updated after the order is created. */
4436
+ priceUndetermined?: boolean;
4328
4437
  }
4329
- interface OtherCharge {
4330
- /** Type of additional cost. */
4331
- type?: ChargeTypeWithLiterals;
4332
- /** Price of added cost. */
4333
- price?: MultiCurrencyPrice;
4438
+ interface CustomItemSource {
4334
4439
  /**
4335
- * Description of the additional charge. For example, `"Handling fee of $5 applied for gift wrapping"`.
4336
- * @maxLength 250
4440
+ * Catalog and item reference: IDs for the item and catalog, plus optional details.
4441
+ * Optional for custom line items, which don't trigger the Catalog service plugin.
4337
4442
  */
4338
- details?: string | null;
4339
- }
4340
- interface CalculationErrors extends CalculationErrorsShippingCalculationErrorOneOf {
4341
- /** General shipping calculation error. */
4342
- generalShippingCalculationError?: Details;
4343
- /** Errors related to the delivery carrier. */
4344
- carrierErrors?: CarrierErrors;
4345
- /** Error related to the selected shipping option. */
4346
- selectedShippingOptionError?: Details;
4347
- /** Tax calculation error. */
4348
- taxCalculationError?: Details;
4349
- /** Coupon calculation error. */
4350
- couponCalculationError?: Details;
4443
+ catalogReference?: CatalogReference;
4351
4444
  /**
4352
- * DEPRECATED: Use gift_card_calculation_errors instead.
4353
- * @deprecated DEPRECATED: Use gift_card_calculation_errors instead.
4354
- * @replacedBy gift_card_calculation_errors
4355
- * @targetRemovalDate 2026-12-01
4445
+ * When `catalogReference.catalogItemId` isn't the actual catalog item ID, this field returns the true catalog item ID.
4446
+ * For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID, so this value is the service ID.
4447
+ * In most cases, this matches `catalogReference.catalogItemId`.
4448
+ * Used in membership validation.
4449
+ * @minLength 1
4450
+ * @maxLength 36
4356
4451
  */
4357
- giftCardCalculationError?: Details;
4358
- /** Order validation errors. */
4359
- orderValidationErrors?: ApplicationError[];
4452
+ rootCatalogItemId?: string | null;
4360
4453
  /**
4361
- * Membership payment methods calculation errors
4362
- * For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid
4454
+ * ID of the app managing inventory.
4455
+ * @format GUID
4363
4456
  */
4364
- membershipError?: Details;
4365
- /** Discount Rule calculation error. */
4366
- discountsCalculationError?: Details;
4367
- }
4368
- /** @oneof */
4369
- interface CalculationErrorsShippingCalculationErrorOneOf {
4370
- /** General shipping calculation error. */
4371
- generalShippingCalculationError?: Details;
4372
- /** Errors related to the delivery carrier. */
4373
- carrierErrors?: CarrierErrors;
4374
- /** Error related to the selected shipping option. */
4375
- selectedShippingOptionError?: Details;
4376
- }
4377
- interface CarrierErrors {
4378
- /** Carrier errors. */
4379
- errors?: CarrierError[];
4380
- }
4381
- interface CarrierError {
4382
- /** Carrier ID. */
4383
- carrierId?: string;
4384
- /** Error details. */
4385
- error?: Details;
4386
- }
4387
- interface GiftCardCalculationError {
4388
- /** Gift card code with most characters masked for security. */
4389
- obfuscatedCode?: string;
4390
- /** Error details. */
4391
- error?: Details;
4457
+ inventoryAppId?: string | null;
4392
4458
  }
4393
- interface MembershipOptions {
4459
+ interface CustomItemAttributes {
4394
4460
  /**
4395
- * List of payment options that can be used.
4396
- * Populated by the legacy ListEligibleMemberships flow.
4397
- * @maxSize 300
4398
- * @deprecated List of payment options that can be used.
4399
- * Populated by the legacy ListEligibleMemberships flow.
4400
- * @replacedBy validated_existing_memberships
4401
- * @targetRemovalDate 2026-10-01
4461
+ * Description lines for the item.
4462
+ * @maxSize 100
4402
4463
  */
4403
- eligibleMemberships?: Membership[];
4464
+ descriptionLines?: DescriptionLine[];
4465
+ /** Item image. */
4466
+ image?: string;
4467
+ /** URL of the item's page on the site. */
4468
+ url?: string;
4469
+ /** Item type: preset or custom. */
4470
+ itemType?: ItemType;
4404
4471
  /**
4405
- * List of payment options that are owned by the member, but cannot be used due to reason provided.
4406
- * Populated by the legacy ListEligibleMemberships flow.
4407
- * @maxSize 300
4408
- * @deprecated List of payment options that are owned by the member, but cannot be used due to reason provided.
4409
- * Populated by the legacy ListEligibleMemberships flow.
4410
- * @replacedBy validated_existing_memberships
4411
- * @targetRemovalDate 2026-10-01
4472
+ * Physical properties of the item.
4473
+ * When relevant, includes SKU, weight, and shippability.
4412
4474
  */
4413
- invalidMemberships?: InvalidMembership[];
4475
+ physicalProperties?: PhysicalProperties;
4414
4476
  /**
4415
- * The selected membership payment options and which line items they apply to.
4416
- * Populated by the legacy ListEligibleMemberships flow.
4417
- * @maxSize 300
4418
- * @deprecated The selected membership payment options and which line items they apply to.
4419
- * Populated by the legacy ListEligibleMemberships flow.
4420
- * @replacedBy validated_existing_memberships
4421
- * @targetRemovalDate 2026-10-01
4477
+ * Service properties.
4478
+ * When relevant, includes date and number of participants.
4479
+ */
4480
+ serviceProperties?: ServiceProperties;
4481
+ /**
4482
+ * Whether the item can only be purchased by site members.
4483
+ *
4484
+ * Default: `false`
4485
+ */
4486
+ membersOnly?: boolean;
4487
+ /** Subscription option details. */
4488
+ subscriptionInfo?: SubscriptionOptionInfo;
4489
+ }
4490
+ interface CustomItemDeliveryConfig {
4491
+ /**
4492
+ * Delivery profile ID.
4493
+ * @format GUID
4494
+ */
4495
+ deliveryProfileId?: string | null;
4496
+ }
4497
+ interface CustomItemTaxConfig {
4498
+ /** Address used for tax calculation. */
4499
+ taxableAddress?: TaxableAddress;
4500
+ /**
4501
+ * Tax group ID for this line item.
4502
+ * @maxLength 50
4422
4503
  */
4423
- selectedMemberships?: SelectedMembership[];
4504
+ taxGroupId?: string | null;
4424
4505
  }
4425
- interface Membership {
4506
+ interface CustomItemPaymentConfig {
4426
4507
  /**
4427
- * Membership ID.
4428
- * @minLength 1
4429
- * @maxLength 200
4508
+ * Partial payment due upfront during checkout.
4509
+ * Only when `paymentOption` is `DEPOSIT_ONLINE`.
4430
4510
  */
4431
- _id?: string;
4511
+ depositAmount?: ConvertedMoney;
4432
4512
  /**
4433
- * ID of the application providing this payment option.
4434
- * @format GUID
4513
+ * Selected payment option type for this item.
4514
+ *
4515
+ * Default: `FULL_PAYMENT_ONLINE`
4435
4516
  */
4436
- appId?: string;
4437
- /** The name of this membership. */
4438
- name?: MembershipName;
4517
+ paymentOption?: PaymentOptionTypeWithLiterals;
4518
+ }
4519
+ interface PlatformFee {
4520
+ /** __Required.__ Platform fee name. */
4521
+ name?: TranslatableString;
4522
+ /** Platform fee charge type. */
4523
+ chargeType?: V1PlatformFeeChargeTypeWithLiterals;
4439
4524
  /**
4440
- * Deprecated. Use `ExistingMembership.covered_line_items` to see which line items this membership covers.
4525
+ * Percentage rate charged as platform fee.
4441
4526
  *
4442
- * Only populated in the legacy `ListEligibleMemberships` flow, which still requires it. Empty on
4443
- * `ListMembershipsByIds`, a by-id lookup that receives no line items to report against.
4444
- * @maxSize 300
4445
- * @minLength 1
4446
- * @maxLength 100
4527
+ * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.
4528
+ * @format DECIMAL_VALUE
4529
+ * @decimalValue options { gt:0, lte:1, maxScale:4 }
4447
4530
  */
4448
- lineItemIds?: string[];
4449
- /** Membership's payment credits (balance information). */
4450
- credits?: MembershipPaymentCredits;
4451
- /** Membership expiration date. */
4452
- expirationDate?: Date | null;
4531
+ percentageRate?: string;
4532
+ }
4533
+ declare enum V1PlatformFeeChargeType {
4534
+ /** The platform fee is passed on to the customer. */
4535
+ PASS_ON = "PASS_ON",
4536
+ /** The platform fee is absorbed by the merchant. */
4537
+ ABSORBED = "ABSORBED"
4538
+ }
4539
+ /** @enumType */
4540
+ type V1PlatformFeeChargeTypeWithLiterals = V1PlatformFeeChargeType | 'PASS_ON' | 'ABSORBED';
4541
+ interface CouponInput {
4453
4542
  /**
4454
- * Deprecated. Use `offering_description`.
4455
- * @deprecated
4456
- * @replacedBy offering_description
4457
- * @targetRemovalDate 2026-08-30
4543
+ * Coupon code.
4544
+ * @minLength 1
4545
+ * @maxLength 50
4458
4546
  */
4459
- additionalData?: Record<string, any> | null;
4547
+ code?: string;
4460
4548
  }
4461
- interface MembershipName {
4549
+ interface DeliveryMethodInput {
4462
4550
  /**
4463
- * Membership name in the site's original language.
4551
+ * Delivery method code.
4464
4552
  * @maxLength 100
4465
4553
  */
4466
- original?: string;
4554
+ code?: string;
4467
4555
  /**
4468
- * Membership name translated into the buyer's language.
4469
- *
4470
- * Default: The value of `original`
4471
- * @maxLength 100
4556
+ * Carrier app id.
4557
+ * @format GUID
4472
4558
  */
4473
- translated?: string | null;
4559
+ appId?: string | null;
4474
4560
  }
4475
- interface MembershipPaymentCredits {
4561
+ interface GiftCardInput {
4476
4562
  /**
4477
- * Membership's initial balance.
4478
- * @min 1
4563
+ * Gift card code.
4564
+ * @minLength 8
4565
+ * @maxLength 20
4479
4566
  */
4480
- total?: number;
4481
- /** Membership's remaining balance. */
4482
- remaining?: number;
4567
+ code?: string;
4568
+ /** The amount requested to redeem from this gift card. */
4569
+ redeemAmount?: ConvertedMoney;
4570
+ }
4571
+ interface CreateCartResponse {
4572
+ /** Created cart. */
4573
+ cart?: Cart;
4574
+ }
4575
+ interface ItemNotFoundInCatalogErrorData {
4483
4576
  /**
4484
- * How the membership's balance is measured.
4485
- *
4486
- * Use the same value as `Benefit.quota.limitedQuota.limitedQuotaType` for the benefit this membership came from in [List Purchasable Plans](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/memberships/memberships-service-plugin/list-purchasable-plans). This way the balance keeps the same unit before and after purchase.
4487
- *
4488
- * Default: `PUNCH_CARD`.
4577
+ * Line items missing from the catalog.
4578
+ * @maxSize 300
4489
4579
  */
4490
- balanceType?: BalanceTypeWithLiterals;
4491
- }
4492
- declare enum BalanceType {
4493
- /** Balance is measured in discrete uses, such as sessions or visits. */
4494
- PUNCH_CARD = "PUNCH_CARD",
4495
- /** Balance is measured in a currency-like value, such as points. */
4496
- CREDIT = "CREDIT"
4580
+ invalidItems?: LineItemIdentifier[];
4497
4581
  }
4498
- /** @enumType */
4499
- type BalanceTypeWithLiterals = BalanceType | 'PUNCH_CARD' | 'CREDIT';
4500
- interface InvalidMembership {
4501
- /** Membership details. */
4502
- membership?: Membership;
4582
+ interface LineItemIdentifier extends LineItemIdentifierIdOneOf {
4503
4583
  /**
4504
- * Reason why this membership is invalid and cannot be used.
4505
- * @minLength 1
4506
- * @maxLength 100
4584
+ * Line item ID.
4585
+ * @format GUID
4507
4586
  */
4508
- reason?: string;
4587
+ lineItemId?: string;
4588
+ /** Catalog reference. */
4589
+ catalogReference?: CatalogReference;
4509
4590
  }
4510
- /** The validated existing memberships. Same shape as `ListExistingMembershipsResponse.memberships`. */
4511
- interface ValidatedExistingMemberships {
4591
+ /** @oneof */
4592
+ interface LineItemIdentifierIdOneOf {
4512
4593
  /**
4513
- * The selected memberships, each paired with the line items it can pay for and the cost to redeem
4514
- * each.
4515
- * @maxSize 300
4594
+ * Line item ID.
4595
+ * @format GUID
4516
4596
  */
4517
- memberships?: ExistingMembership[];
4597
+ lineItemId?: string;
4598
+ /** Catalog reference. */
4599
+ catalogReference?: CatalogReference;
4518
4600
  }
4519
- /**
4520
- * A membership the member owns, together with the given line items it can pay for.
4521
- *
4522
- * A membership is a single benefit granted by a plan the member has already paid for, so its coverage
4523
- * is nested directly here. No `benefitId` link is needed, unlike a plan that grants several benefits.
4524
- */
4525
- interface ExistingMembership {
4526
- /** The membership the member owns. */
4527
- membership?: V1Membership;
4601
+ interface InsufficientInventoryErrorData {
4528
4602
  /**
4529
- * Line items this membership can pay for, and the cost to redeem each.
4603
+ * Line items that don't have enough inventory.
4530
4604
  * @maxSize 300
4531
4605
  */
4532
- coveredLineItems?: CoveredLineItem[];
4606
+ invalidItems?: InsufficientInventoryEntry[];
4533
4607
  }
4534
- interface V1Membership {
4608
+ interface InsufficientInventoryEntry {
4535
4609
  /**
4536
- * Membership ID.
4537
- * @minLength 1
4538
- * @maxLength 200
4610
+ * Line item whose requested quantity exceeds the quantity available.
4611
+ *
4612
+ * Identified by `catalogReference` when the line item has one, otherwise by `lineItemId`.
4613
+ * For Create Cart and Add Line Items, and their Current Cart equivalents, `lineItemId` is
4614
+ * provisional: the request is rejected before the new line items are saved, so the ID doesn't
4615
+ * match any line item you can retrieve.
4539
4616
  */
4540
- _id?: string;
4541
- /** Membership name. */
4542
- name?: MembershipName;
4617
+ _id?: LineItemIdentifier;
4618
+ /** Requested quantity, including what's already on the cart. */
4619
+ requestedQuantity?: number;
4543
4620
  /**
4544
- * Deprecated. Use `ExistingMembership.coveredLineItems` to see which line items this membership
4545
- * covers.
4546
- *
4547
- * Populate this only in the legacy [List Eligible Memberships](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/memberships/memberships-service-plugin/list-eligible-memberships) flow, which still requires it and rejects a membership that omits it. Leave it empty everywhere else. [List Memberships By IDs](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/memberships/memberships-service-plugin/list-memberships-by-ids) receives no line items at all, so there's nothing to report there.
4548
- * @maxSize 300
4549
- * @minLength 1
4550
- * @maxLength 100
4551
- * @deprecated
4552
- * @replacedBy ExistingMembership.covered_line_items.line_item_id
4553
- * @targetRemovalDate 2026-08-30
4621
+ * Quantity available.
4622
+ * For a custom line item, the value set in `quantityInfo.availableQuantity`.
4554
4623
  */
4555
- lineItemIds?: string[];
4624
+ availableQuantity?: number;
4625
+ }
4626
+ interface MaxLineItemsExceededErrorData {
4627
+ /** Line item count in the request. */
4628
+ requestCount?: number;
4629
+ /** Maximum line items allowed. */
4630
+ maxCount?: number;
4631
+ }
4632
+ interface MaxItemModifiersExceededErrorData {
4633
+ /** Modifier count in the request. */
4634
+ requestCount?: number;
4635
+ /** Maximum modifiers allowed. */
4636
+ maxCount?: number;
4637
+ }
4638
+ interface DuplicateModifierGroupIdsErrorData {
4556
4639
  /**
4557
- * Membership's balance.
4558
- *
4559
- * Omit this field for an unlimited membership, which has no balance to draw down. Every
4560
- * `ExistingMembership.coveredLineItems.redemptionCost` is then `0`. Unlike a plan's benefit, a
4561
- * membership carries no explicit unlimited marker: the absence of a balance is the marker.
4640
+ * Catalog items whose modifier group IDs collide.
4641
+ * @maxSize 300
4562
4642
  */
4563
- credits?: MembershipPaymentCredits;
4564
- /** Date and time the membership expires. */
4565
- expirationDate?: Date | null;
4643
+ invalidItems?: CatalogReference[];
4644
+ }
4645
+ interface DuplicateItemModifierIdsErrorData {
4566
4646
  /**
4567
- * Deprecated. Use `offeringDescription` for human-readable data about the offering.
4568
- * @deprecated
4569
- * @replacedBy offering_description
4570
- * @targetRemovalDate 2026-08-30
4647
+ * Catalog items with duplicate modifier IDs in a group.
4648
+ * @maxSize 300
4571
4649
  */
4572
- additionalData?: Record<string, any> | null;
4650
+ invalidItems?: CatalogReference[];
4573
4651
  }
4574
- /** A line item a membership can pay for, and the cost to redeem it. */
4575
- interface CoveredLineItem {
4652
+ interface LineItemPriceConflictErrorData {
4576
4653
  /**
4577
- * ID of the line item this membership can pay for. Matches the `id` of one of the given line items.
4578
- * @minLength 1
4579
- * @maxLength 100
4654
+ * Catalog items whose price no longer matches, when present.
4655
+ * @maxSize 300
4580
4656
  */
4581
- lineItemId?: string;
4657
+ invalidItems?: CatalogReference[];
4658
+ }
4659
+ interface FixedQuantityItemErrorData {
4582
4660
  /**
4583
- * Amount deducted from the membership's remaining balance (`credits.remaining`) when this line item
4584
- * is redeemed.
4585
- *
4586
- * Always `0` for an unlimited membership, which is expressed by omitting `credits` and decrements
4587
- * nothing.
4661
+ * Line items that don't allow quantity changes.
4662
+ * @maxSize 300
4588
4663
  */
4589
- redemptionCost?: number;
4664
+ invalidItems?: LineItemIdentifier[];
4590
4665
  }
4591
- /** The validated purchasable plans. Same shape as `ListPurchasablePlansResponse`. */
4592
- interface ValidatedPurchasablePlans {
4666
+ interface InvalidMembershipPaymentOptionErrorData {
4593
4667
  /**
4594
- * The selected plans.
4668
+ * Line items with invalid membership payments.
4595
4669
  * @maxSize 300
4596
4670
  */
4597
- purchasablePlans?: PurchasablePlan[];
4671
+ invalidItems?: InvalidMembershipEntry[];
4672
+ }
4673
+ interface InvalidMembershipEntry {
4674
+ /** Line item with an invalid membership payment choice. */
4675
+ invalidItemId?: LineItemIdentifier;
4676
+ /** Membership the buyer tried to use. */
4677
+ selectedMembership?: V2SelectedMembership;
4678
+ }
4679
+ interface LineItemNotFoundInCartErrorData {
4598
4680
  /**
4599
- * How the plans' benefits cover the line items, each entry naming its benefit by `benefitId`.
4681
+ * Line item IDs that aren't in the cart.
4682
+ * @format GUID
4600
4683
  * @maxSize 300
4601
4684
  */
4602
- coverages?: LineItemCoverage[];
4685
+ lineItemIds?: string[];
4603
4686
  }
4604
- interface PurchasablePlan {
4687
+ interface DeliveryMethodNotFoundErrorData {
4605
4688
  /**
4606
- * Catalog and item reference identifying both the plan and the pricing variant.
4607
- *
4608
- * A purchasable plan has no ID of its own. The reference carries the plan in `catalogItemId` and
4609
- * the chosen pricing variant in `options`, so the same plan appears once per variant with a
4610
- * different reference each time. The plan ID alone repeats across entries; the full reference
4611
- * doesn't.
4612
- *
4613
- * When the plan needs nothing further from the buyer, the reference can be added to the cart as it
4614
- * stands. When it does, for example a plan carrying a form, a custom start date, or a buyer-chosen
4615
- * price, the reference has to be completed with that input first. See `infoCollectionUrl`.
4689
+ * Missing delivery method code.
4690
+ * @maxLength 100
4616
4691
  */
4617
- catalogReference?: CatalogReference;
4618
- /** Plan name. */
4619
- name?: MembershipName;
4692
+ code?: string;
4620
4693
  /**
4621
- * Benefits the plan grants once purchased.
4622
- *
4623
- * A plan can grant several, for example a bundle granting separate yoga and pilates credits. Each
4624
- * benefit becomes its own membership after purchase.
4625
- * @minSize 1
4626
- * @maxSize 50
4694
+ * Delivery method app ID, if applicable.
4695
+ * @maxLength 100
4627
4696
  */
4628
- benefits?: Benefit[];
4697
+ appId?: string | null;
4698
+ }
4699
+ interface GetCartRequest {
4629
4700
  /**
4630
- * Human-readable summary of what the plan offers, for display. For example, `8 yoga classes and 4
4631
- * pilates classes, billed monthly`.
4632
- *
4633
- * Describe the offering here and the price in `priceDescription`.
4634
- * @maxLength 500
4701
+ * Cart ID.
4702
+ * @format GUID
4635
4703
  */
4636
- offeringDescription?: string | null;
4704
+ cartId?: string;
4705
+ }
4706
+ interface GetCartResponse {
4707
+ /** Requested cart. */
4708
+ cart?: Cart;
4709
+ }
4710
+ interface GetUpsellOptionsRequest {
4637
4711
  /**
4638
- * URL of the page that collects the extra input this plan needs before it can be purchased.
4639
- *
4640
- * Return it only for a plan that needs more from the buyer, such as one carrying a form, a custom
4641
- * start date, or a buyer-chosen price. Omitting it means the plan needs nothing further, and the
4642
- * caller builds the cart itself.
4643
- *
4644
- * The buyer reaches this page before any cart exists, rather than from the checkout page, and
4645
- * there's no return trip. The page receives the caller's already-created items, then builds the
4646
- * cart and checkout from the plan plus those items. There's no return URL, no cart ID, no
4647
- * preserved selection, and no completion signal: the purchase reaches Wix through the ordinary
4648
- * checkout and order flow, and the membership through Membership Ready To Be Charged.
4649
- *
4650
- * The page covers a single plan. Items that plan covers can be mixed with directly-paid ones, but
4651
- * a selection spanning two plans isn't supported here.
4652
- * @format WEB_URL
4712
+ * Cart ID.
4713
+ * @format GUID
4653
4714
  */
4654
- infoCollectionUrl?: string | null;
4715
+ cartId?: string;
4716
+ }
4717
+ interface GetUpsellOptionsResponse {
4718
+ /** Upsell options available for the cart's line items. */
4719
+ itemsUpsells?: ItemUpsells[];
4720
+ }
4721
+ interface ItemUpsells {
4655
4722
  /**
4656
- * Plan price, in the plan's own configured currency.
4657
- *
4658
- * No currency accompanies the amount and none is converted, so prices from different plans aren't
4659
- * comparable and the currency reaches the buyer only through `priceDescription`. Name the currency
4660
- * there.
4661
- * @decimalValue options { gte:0, maxScale:3 }
4723
+ * Line item ID.
4724
+ * @format GUID
4662
4725
  */
4663
- price?: string;
4726
+ lineItemId?: string;
4664
4727
  /**
4665
- * Human-readable summary of the plan price, for display. For example, `First month free, then
4666
- * $20/month`.
4667
- *
4668
- * Use `price` for the bare amount, which is what sorting and comparison rely on, and this field for
4669
- * pricing a buyer needs prose to understand.
4670
- * @maxLength 500
4728
+ * Upsell options available for the line item.
4729
+ * @maxSize 10
4671
4730
  */
4672
- priceDescription?: string | null;
4731
+ upsells?: UpsellOption[];
4673
4732
  }
4674
4733
  /**
4675
- * A single redeemable benefit granted by a plan.
4676
- *
4677
- * A purchasable plan grants one or more benefits in `benefits`. Once the plan is paid for, each benefit
4678
- * becomes its own membership, charged by `membershipId`.
4734
+ * A single upsell offer for a line item.
4735
+ * Accepting it replaces the line item's catalog reference in place, keeping the same lineItemId.
4679
4736
  */
4680
- interface Benefit extends BenefitQuotaOneOf {
4681
- limitedQuota?: LimitedQuota;
4737
+ interface UpsellOption {
4682
4738
  /**
4683
- * Identifier for this benefit, unique within its plan.
4684
- *
4685
- * Not unique across the response. A plan is returned once per pricing variant, and every variant
4686
- * repeats that plan's benefit IDs. Two different plans can also share an ID when they grant the
4687
- * same benefit, and a coverage entry naming it is then true for both.
4688
- *
4689
- * Never give two different benefits the same ID. That's the one case a caller can't recover from,
4690
- * because a cost computed for one benefit would be applied to the other.
4691
- * @minLength 1
4692
- * @maxLength 200
4739
+ * Upsell option ID.
4740
+ * @format GUID
4693
4741
  */
4694
- benefitId?: string;
4742
+ _id?: string;
4695
4743
  /**
4696
- * Human-readable label for this benefit. For example, `Manicure` or `Pedicure` on a multi-set
4697
- * punch card.
4744
+ * Title of the upsell option.
4698
4745
  * @maxLength 200
4699
4746
  */
4700
- label?: string | null;
4701
- /** Kind of quota this benefit grants. */
4702
- quotaType?: QuotaTypeWithLiterals;
4747
+ title?: string | null;
4748
+ /**
4749
+ * Description of the upsell option.
4750
+ * @maxLength 500
4751
+ */
4752
+ description?: string | null;
4753
+ /** Catalog reference of the item offered as an upsell to replace the existing one. */
4754
+ catalogReference?: CatalogReference;
4755
+ /** Metadata about the benefit of accepting this upsell option. */
4756
+ metadata?: UpsellBenefitMetadata;
4757
+ /** Price details of the upsell option. */
4758
+ priceDetails?: PriceDetails;
4703
4759
  }
4704
- /** @oneof */
4705
- interface BenefitQuotaOneOf {
4706
- limitedQuota?: LimitedQuota;
4760
+ interface UpsellBenefitMetadata {
4761
+ /** Benefit type. */
4762
+ benefitType?: BenefitTypeWithLiterals;
4763
+ /**
4764
+ * Benefit value. For percentage benefits, this is the percentage (e.g., "10" for 10%). For fixed amount/price benefits, this is the amount.
4765
+ * @decimalValue options { gt:0, lte:1000000000000000, maxScale:4 }
4766
+ */
4767
+ benefitValue?: string | null;
4707
4768
  }
4708
- declare enum QuotaType {
4709
- /** The benefit grants a countable quota that's drawn down on redemption. */
4710
- LIMITED = "LIMITED",
4711
- /** The benefit is unlimited and is never drawn down. */
4712
- UNLIMITED = "UNLIMITED"
4769
+ declare enum BenefitType {
4770
+ /** Percentage benefit. */
4771
+ PERCENTAGE = "PERCENTAGE",
4772
+ /** Fixed price benefit. */
4773
+ FIXED_PRICE = "FIXED_PRICE",
4774
+ /** Fixed amount benefit. */
4775
+ FIXED_AMOUNT = "FIXED_AMOUNT"
4713
4776
  }
4714
4777
  /** @enumType */
4715
- type QuotaTypeWithLiterals = QuotaType | 'LIMITED' | 'UNLIMITED';
4716
- /** A limited, countable redeemable amount. */
4717
- interface LimitedQuota {
4778
+ type BenefitTypeWithLiterals = BenefitType | 'PERCENTAGE' | 'FIXED_PRICE' | 'FIXED_AMOUNT';
4779
+ interface PriceDetails {
4780
+ /** @decimalValue options { gte:0, lte:1000000000000000 } */
4781
+ price?: string;
4782
+ /** @maxLength 200 */
4783
+ description?: string | null;
4784
+ }
4785
+ interface UpdateCartRequest {
4786
+ /** Cart to update. May be partial. */
4787
+ cart?: Cart;
4788
+ }
4789
+ interface UpdateCartResponse {
4790
+ /** Updated cart. */
4791
+ cart?: Cart;
4792
+ }
4793
+ interface CartAlreadyOrderedErrorData {
4718
4794
  /**
4719
- * Quota's initial value.
4720
- * @min 1
4795
+ * Cart already turned into an order.
4796
+ * @format GUID
4721
4797
  */
4722
- total?: number;
4723
- /** Quota's remaining value. */
4724
- remaining?: number;
4798
+ cartId?: string;
4725
4799
  /**
4726
- * How the quota is measured.
4727
- *
4728
- * The same vocabulary as `MembershipPaymentCredits.balanceType` on the existing-membership side.
4800
+ * Matching order ID.
4801
+ * @format GUID
4729
4802
  */
4730
- limitedQuotaType?: LimitedQuotaTypeWithLiterals;
4803
+ orderId?: string;
4731
4804
  }
4732
- declare enum LimitedQuotaType {
4733
- /** Quota is measured in discrete uses, such as sessions or visits. */
4734
- PUNCH_CARD = "PUNCH_CARD",
4735
- /** Quota is measured in a currency-like value, such as points. */
4736
- CREDIT = "CREDIT"
4805
+ interface DeleteCartRequest {
4806
+ /**
4807
+ * Cart ID.
4808
+ * @format GUID
4809
+ */
4810
+ cartId?: string;
4737
4811
  }
4738
- /** @enumType */
4739
- type LimitedQuotaTypeWithLiterals = LimitedQuotaType | 'PUNCH_CARD' | 'CREDIT';
4740
- /**
4741
- * Maps one of a plan's benefits to a line item it can cover, and at what cost.
4742
- *
4743
- * One entry per benefit and line item pair, returned by [List Purchasable Plans](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/payments/memberships/memberships-service-plugin/list-purchasable-plans) alongside `purchasablePlans`.
4744
- *
4745
- * An entry names a benefit and carries no plan identity, so match its `benefitId` against the
4746
- * `benefits` of the returned plans and apply it to every entry that grants that benefit. Entries for
4747
- * the same plan repeat it once per pricing variant, and two different plans sharing a benefit ID
4748
- * grant the same benefit, so the entry holds for each of them. A caller that stops at the first
4749
- * match shows nothing incorrect, but hides the other entries, which cover the item too.
4750
- *
4751
- * The cost is identical across a plan's variants, so there's one entry per benefit rather than one
4752
- * per variant.
4753
- *
4754
- * For memberships the member already owns, the equivalent mapping is
4755
- * `ExistingMembership.coveredLineItems`, which needs no `benefitId` because a membership is a single
4756
- * benefit.
4757
- */
4758
- interface LineItemCoverage {
4812
+ interface DeleteCartResponse {
4813
+ }
4814
+ interface RefreshCartRequest {
4759
4815
  /**
4760
- * ID of the benefit that covers the line item, as returned in `Benefit.benefitId`.
4761
- *
4762
- * Identifies a benefit within its plan, and repeats across that plan's pricing variants.
4763
- * @minLength 1
4764
- * @maxLength 200
4816
+ * Cart ID.
4817
+ * @format GUID
4765
4818
  */
4766
- benefitId?: string;
4819
+ cartId?: string;
4820
+ }
4821
+ interface RefreshCartResponse {
4822
+ /** Refreshed cart. */
4823
+ cart?: Cart;
4824
+ }
4825
+ interface EstimateCartRequest {
4767
4826
  /**
4768
- * ID of the line item this benefit covers.
4769
- * @minLength 1
4770
- * @maxLength 100
4827
+ * Cart ID.
4828
+ * @format GUID
4771
4829
  */
4772
- lineItemId?: string;
4830
+ cartId?: string;
4831
+ /**
4832
+ * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before estimating the cart.
4833
+ *
4834
+ * Default: `false`.
4835
+ */
4836
+ refreshCart?: boolean;
4837
+ /** Level of business validation to run during estimation via the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction). */
4838
+ validationConfig?: ValidationsConfigWithLiterals;
4773
4839
  /**
4774
- * Amount deducted from the benefit's `limitedQuota.remaining` value when this line item is redeemed.
4840
+ * Whether to calculate delivery costs.
4775
4841
  *
4776
- * Always `0` for an unlimited benefit, which decrements nothing.
4842
+ * Default: `false`.
4777
4843
  */
4778
- redemptionCost?: number;
4779
- }
4780
- interface AdditionalFee {
4844
+ calculateDelivery?: boolean;
4781
4845
  /**
4782
- * Additional fee's unique code (or ID) for future processing.
4783
- * @minLength 1
4784
- * @maxLength 100
4846
+ * Whether to calculate additional fees.
4847
+ *
4848
+ * Default: `false`.
4785
4849
  */
4786
- code?: string | null;
4850
+ calculateAdditionalFees?: boolean;
4787
4851
  /**
4788
- * Additional fee's name.
4789
- * @minLength 1
4790
- * @maxLength 50
4852
+ * Whether to calculate tax.
4853
+ *
4854
+ * Default: `false`.
4791
4855
  */
4792
- name?: string;
4793
- /** Additional fee's price. */
4794
- price?: MultiCurrencyPrice;
4795
- /** Tax details. */
4796
- taxDetails?: ItemTaxFullDetails;
4856
+ calculateTax?: boolean;
4797
4857
  /**
4798
- * Provider's app id.
4799
- * @minLength 1
4800
- * @maxLength 100
4858
+ * Whether to include the effect of gift card balances on the cart total.
4859
+ * Gift cards aren't redeemed; balances are reflected for estimation only.
4860
+ *
4861
+ * Default: `false`.
4801
4862
  */
4802
- providerAppId?: string | null;
4803
- /** Additional fee's price before tax. */
4804
- priceBeforeTax?: MultiCurrencyPrice;
4805
- /** Additional fee's price after tax. */
4806
- priceAfterTax?: MultiCurrencyPrice;
4863
+ calculateGiftCards?: boolean;
4864
+ }
4865
+ declare enum ValidationsConfig {
4866
+ /** No business validations are performed. */
4867
+ SKIP_VALIDATIONS = "SKIP_VALIDATIONS",
4868
+ /** Perform cart-level business validations as defined by the service plugin implementer. */
4869
+ PRE_CHECKOUT_VALIDATIONS = "PRE_CHECKOUT_VALIDATIONS",
4870
+ /** Perform checkout-specific business validations as defined by the service plugin implementer. */
4871
+ CHECKOUT_VALIDATIONS = "CHECKOUT_VALIDATIONS"
4872
+ }
4873
+ /** @enumType */
4874
+ type ValidationsConfigWithLiterals = ValidationsConfig | 'SKIP_VALIDATIONS' | 'PRE_CHECKOUT_VALIDATIONS' | 'CHECKOUT_VALIDATIONS';
4875
+ interface EstimateCartResponse {
4876
+ /** Cart with estimated values. */
4877
+ cart?: Cart;
4878
+ /** Estimation summary. */
4879
+ summary?: CartSummary;
4880
+ }
4881
+ interface CalculateCartRequest {
4807
4882
  /**
4808
- * Optional - Line items associated with this additional fee.
4809
- * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.
4883
+ * Cart ID.
4810
4884
  * @format GUID
4811
4885
  */
4812
- lineItemIds?: string[];
4813
- /** the source the additional fee was added from */
4814
- source?: AdditionalFeeSourceWithLiterals;
4886
+ cartId?: string;
4815
4887
  /**
4816
- * 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).
4817
- * @minLength 1
4818
- * @maxLength 50
4888
+ * Whether to retrieve the latest item prices, discounts, and inventory data from the catalogs before calculating the cart.
4889
+ *
4890
+ * Default: `false`.
4819
4891
  */
4820
- translatedName?: string | null;
4821
- /** Address type tax was calculated against for this fee. */
4822
- taxableAddress?: TaxableAddress;
4892
+ refreshCart?: boolean;
4823
4893
  }
4824
- declare enum AdditionalFeeSource {
4825
- UNKNOWN_ADDITIONAL_FEE_SOURCE = "UNKNOWN_ADDITIONAL_FEE_SOURCE",
4826
- /** The additional fee was added by an additional fee service plugin */
4827
- SERVICE_PLUGIN = "SERVICE_PLUGIN",
4828
- /** The additional fee was added on the item either via the catalog or on custom line item */
4829
- ITEM = "ITEM",
4830
- /** The additional fee was added manually on the request */
4831
- MANUAL = "MANUAL",
4832
- /** The additional fee was added by the shipping provider */
4833
- SHIPPING = "SHIPPING",
4834
- /** The additional fee was added by a Wix vertical and represents a Wix platform fee */
4835
- PLATFORM = "PLATFORM"
4894
+ interface CalculateCartResponse {
4895
+ /** Cart with calculated values. */
4896
+ cart?: Cart;
4897
+ /** Calculation summary. */
4898
+ summary?: CartSummary;
4836
4899
  }
4837
- /** @enumType */
4838
- type AdditionalFeeSourceWithLiterals = AdditionalFeeSource | 'UNKNOWN_ADDITIONAL_FEE_SOURCE' | 'SERVICE_PLUGIN' | 'ITEM' | 'MANUAL' | 'SHIPPING' | 'PLATFORM';
4839
- interface PlatformFeeSummary {
4840
- /** Total platform fee amount. */
4841
- total?: MultiCurrencyPrice;
4842
- /** Total platform fee passed on to the customer. */
4843
- totalPassOn?: MultiCurrencyPrice;
4844
- /** Total platform fee absorbed by the merchant. */
4845
- totalAbsorbed?: MultiCurrencyPrice;
4900
+ interface CalculateCartForV1Request {
4846
4901
  /**
4847
- * Calculated platform fees.
4848
- * @maxSize 100
4902
+ * ID of the Cart to calculate.
4903
+ * @format GUID
4849
4904
  */
4850
- calculatedPlatformFees?: CalculatedPlatformFee[];
4851
- }
4852
- interface CalculatedPlatformFee {
4853
- /** Platform fee name. */
4854
- name?: TranslatableString;
4855
- /** Platform fee amount. */
4856
- amount?: MultiCurrencyPrice;
4905
+ cartId?: string;
4857
4906
  /**
4858
- * ID of the line item the platform fee applies to.
4859
- * @format GUID
4907
+ * Specifies the level of **business validation** to perform during cart calculation,
4908
+ * by calling the [Validations service plugin](https://dev.wix.com/api/rest/wix-ecommerce/validations-integration-spi/introduction).
4860
4909
  */
4861
- lineItemId?: string;
4862
- /** Platform fee charge type. */
4863
- chargeType?: PlatformFeeChargeTypeWithLiterals;
4910
+ validationsConfig?: ValidationsConfigWithLiterals;
4864
4911
  /**
4865
- * Percentage rate charged as platform fee.
4866
- * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.
4867
- * @format DECIMAL_VALUE
4868
- * @decimalValue options { gt:0, lte:1, maxScale:4 }
4912
+ * Optional custom configuration for the calculation.
4913
+ * If not provided, all price components are calculated by default.
4869
4914
  */
4870
- percentageRate?: string;
4871
- }
4872
- declare enum PlatformFeeChargeType {
4873
- /** The platform fee is passed on to the customer. */
4874
- PASS_ON = "PASS_ON",
4875
- /** The platform fee is absorbed by the merchant. */
4876
- ABSORBED = "ABSORBED"
4915
+ customCalculationConfig?: CalculationConfig;
4916
+ /** Calculations overrides for backward compatibility with V1. */
4917
+ calculationOverrides?: CalculationOverrides;
4918
+ /** Cart revision that must still be current for the calculation to run. */
4919
+ expectedRevision?: string | null;
4877
4920
  }
4878
- /** @enumType */
4879
- type PlatformFeeChargeTypeWithLiterals = PlatformFeeChargeType | 'PASS_ON' | 'ABSORBED';
4880
- /** Cart-level outcome of the cross-border repricing in one calculation. The per-line records are `CrossBorderPriceAdjustment`. */
4881
- interface CrossBorderRepricingResult {
4921
+ interface CalculationConfig {
4882
4922
  /**
4883
- * Whether the calculation repriced the line items for the destination's tax.
4923
+ * Whether to calculate delivery costs.
4884
4924
  *
4885
- * Default: `false`
4886
- * @readonly
4925
+ * Default: `false`.
4887
4926
  */
4888
- applied?: boolean;
4927
+ calculateDelivery?: boolean;
4889
4928
  /**
4890
- * ID of the tax region whose tax is built into the catalog prices, as used in this calculation.
4891
- * @format GUID
4892
- * @readonly
4929
+ * Whether to calculate additional fees.
4930
+ *
4931
+ * Default: `false`.
4893
4932
  */
4894
- baseTaxRegionId?: string | null;
4933
+ calculateAdditionalFees?: boolean;
4895
4934
  /**
4896
- * App ID of the base region's tax calculator.
4897
- * @format GUID
4898
- * @readonly
4935
+ * Whether to calculate tax.
4936
+ *
4937
+ * Default: `false`.
4899
4938
  */
4900
- baseCalculatorId?: string | null;
4939
+ calculateTax?: boolean;
4901
4940
  /**
4902
- * Why the calculation didn't reprice. Set when `applied` is `false`, or when the line items were repriced and the shipping option or the fees were not.
4903
- * @readonly
4941
+ * Whether to include the effect of gift card balances on the cart total.
4942
+ * Gift cards aren't redeemed; balances are reflected for estimation only.
4943
+ *
4944
+ * Default: `false`.
4904
4945
  */
4905
- reason?: CrossBorderNotApplicableReasonWithLiterals;
4946
+ calculateGiftCards?: boolean;
4947
+ }
4948
+ interface CalculationOverrides {
4906
4949
  /**
4907
- * Mode the calculation ran in. `FULL` when the request set none. Callers copy it onto the order's tax info.
4908
- * @readonly
4950
+ * Delivery method.
4951
+ *
4952
+ * Pass this field only when the cart has no delivery method yet.
4909
4953
  */
4910
- mode?: CrossBorderRepricingModeWithLiterals;
4954
+ deliveryMethod?: DeliveryMethodInput;
4911
4955
  /**
4912
- * Request ID of the calculation, for log correlation.
4913
- * @maxLength 100
4914
- * @readonly
4956
+ * Delivery address.
4957
+ * Used to calculate tax and shipping when applicable.
4915
4958
  */
4916
- requestId?: string | null;
4959
+ deliveryAddress?: Address;
4960
+ /**
4961
+ * Billing address.
4962
+ * Used to calculate tax when all items in the cart aren't shippable.
4963
+ */
4964
+ billingAddress?: Address;
4965
+ /** Selected membership payment options and the line items they apply to. */
4966
+ selectedMemberships?: SelectedMemberships;
4917
4967
  }
4918
- /** Why a cross-border repricing calculation didn't reprice the lines. */
4919
- declare enum CrossBorderNotApplicableReason {
4920
- /** The repricing feature toggle is off. */
4921
- FEATURE_DISABLED = "FEATURE_DISABLED",
4922
- /** The site hasn't opted in to cross-border repricing. */
4923
- NOT_OPTED_IN = "NOT_OPTED_IN",
4924
- /** The site's prices no longer include tax. */
4925
- TAX_INCLUSIVE_PRICING_OFF = "TAX_INCLUSIVE_PRICING_OFF",
4926
- /** The base tax region doesn't exist on the site. */
4927
- BASE_TAX_REGION_NOT_FOUND = "BASE_TAX_REGION_NOT_FOUND",
4928
- /** The base region uses the manual calculator and has no tax mapping. */
4929
- BASE_REGION_HAS_NO_MANUAL_MAPPING = "BASE_REGION_HAS_NO_MANUAL_MAPPING",
4930
- /** No embedded rate is stored for one of the tax groups in the calculation. */
4931
- EMBEDDED_RATE_MISSING = "EMBEDDED_RATE_MISSING",
4932
- /** Removing the base tax or applying the destination's tax failed for a line item. */
4933
- CROSS_BORDER_REPRICING_FAILED = "CROSS_BORDER_REPRICING_FAILED",
4934
- /** The line items were repriced. Repricing the shipping option failed. */
4935
- SHIPPING_REPRICING_FAILED = "SHIPPING_REPRICING_FAILED",
4936
- /** The line items were repriced. Repricing the additional fees failed. */
4937
- FEES_REPRICING_FAILED = "FEES_REPRICING_FAILED",
4938
- /** The site's tax settings couldn't be read, so the calculation couldn't tell whether the site opted in. */
4939
- SETTINGS_UNAVAILABLE = "SETTINGS_UNAVAILABLE"
4968
+ interface SelectedMemberships {
4969
+ /**
4970
+ * Selected memberships.
4971
+ * @maxSize 300
4972
+ */
4973
+ memberships?: SelectedMembership[];
4940
4974
  }
4941
- /** @enumType */
4942
- type CrossBorderNotApplicableReasonWithLiterals = CrossBorderNotApplicableReason | 'FEATURE_DISABLED' | 'NOT_OPTED_IN' | 'TAX_INCLUSIVE_PRICING_OFF' | 'BASE_TAX_REGION_NOT_FOUND' | 'BASE_REGION_HAS_NO_MANUAL_MAPPING' | 'EMBEDDED_RATE_MISSING' | 'CROSS_BORDER_REPRICING_FAILED' | 'SHIPPING_REPRICING_FAILED' | 'FEES_REPRICING_FAILED' | 'SETTINGS_UNAVAILABLE';
4943
- /** How a cross-border repricing calculation is asked to run. This is the requested mode; a line's outcome is `CrossBorderPriceAdjustment.RepriceStatus`. */
4944
- declare enum CrossBorderRepricingMode {
4945
- /** Nothing is repriced. */
4946
- DISABLED = "DISABLED",
4947
- /** Base tax removed and no destination tax applied. A line repriced this way has the outcome `CrossBorderPriceAdjustment.RepriceStatus.STRIP_ONLY`. */
4948
- STRIP_ONLY = "STRIP_ONLY",
4949
- /** Base tax removed and the destination's tax applied. A request that sets no mode runs this way. */
4950
- FULL = "FULL"
4975
+ interface CalculateCartForV1Response {
4976
+ /** The Cart that was calculated. */
4977
+ cart?: Cart;
4978
+ /** The calculation summary. */
4979
+ summary?: CartSummary;
4980
+ /**
4981
+ * Totals payload used for backward compatibility with legacy clients.
4982
+ * Used by the Cart and Checkout proxies.
4983
+ */
4984
+ totalsResponse?: CalculateTotalsResponse;
4985
+ /**
4986
+ * Violations returned by the Validations service plugin, in the legacy model.
4987
+ * Used by the Cart and Checkout proxies.
4988
+ * @maxSize 100
4989
+ */
4990
+ spiViolations?: Violation[];
4951
4991
  }
4952
- /** @enumType */
4953
- type CrossBorderRepricingModeWithLiterals = CrossBorderRepricingMode | 'DISABLED' | 'STRIP_ONLY' | 'FULL';
4954
4992
  interface CartRevisionMismatchErrorData {
4955
4993
  /** Cart revision requested by the caller. */
4956
4994
  expectedRevision?: string;
@@ -6648,4 +6686,4 @@ interface UpdateFormSubmissionsInCurrentCartOptions {
6648
6686
  formSubmissions?: FormSubmission[];
6649
6687
  }
6650
6688
 
6651
- export { type AccountInfo, type AccountInfoMetadata, type ActionEvent, type AddCouponRequest, type AddCouponResponse, type AddCouponToCurrentCartApplicationErrors, type AddCouponToCurrentCartRequest, type AddCouponToCurrentCartResponse, type AddGiftCardRequest, type AddGiftCardResponse, type AddGiftCardToCurrentCartApplicationErrors, type AddGiftCardToCurrentCartRequest, type AddGiftCardToCurrentCartResponse, type AddLineItemsRequest, type AddLineItemsResponse, type AddLineItemsToCurrentCartApplicationErrors, type AddLineItemsToCurrentCartOptions, type AddLineItemsToCurrentCartRequest, type AddLineItemsToCurrentCartResponse, type AdditionalFee, AdditionalFeeSource, type AdditionalFeeSourceWithLiterals, type AdditionalFeeTax, type Address, type AddressLocation, type AggregatedTaxBreakdown, type ApplicableLineItems, type ApplicationError, type AppliedDiscount, type AppliedDiscountDiscountSourceOneOf, type AutoTaxFallbackCalculationDetails, BalanceType, type BalanceTypeWithLiterals, type BaseEventMetadata, BaseRateSource, type BaseRateSourceWithLiterals, type Benefit, type BenefitQuotaOneOf, BenefitType, type BenefitTypeWithLiterals, type BillingSettings, type BundleInfo, type BundledItem, type BundledItemAttributes, type BundledItemSource, type BusinessInfo, type CalculateCartForV1Request, type CalculateCartForV1Response, type CalculateCartRequest, type CalculateCartResponse, type CalculateCurrentCartApplicationErrors, type CalculateCurrentCartOptions, type CalculateCurrentCartRequest, type CalculateCurrentCartResponse, type CalculateTotalsResponse, type CalculatedItemModifier, type CalculatedLineItem, type CalculatedPlatformFee, type CalculationConfig, type CalculationErrors, type CalculationErrorsShippingCalculationErrorOneOf, type CalculationOverrides, type Carrier, type CarrierError, type CarrierErrors, type CarrierServiceOption, type Cart, type CartAlreadyOrderedErrorData, type CartCalculatedEnvelope, type CartCompleted, type CartCompletedEnvelope, type CartCreatedEnvelope, type CartDeletedEnvelope, type CartEstimationIndicators, type CartRevisionMismatchErrorData, type CartSettings, type CartSource, type CartSummary, type CartUpdatedEnvelope, type CatalogItemInput, type CatalogOverrideFields, type CatalogReference, ChannelType, type ChannelTypeWithLiterals, type Charge, ChargeType, type ChargeTypeWithLiterals, type Color, type ConvertedMoney, type Coupon, type CouponAdded, type CouponAlreadyExistsErrorData, type CouponDiscountValueOneOf, type CouponInput, type CouponNotFoundInCartErrorData, type CouponRemoved, type CoveredLineItem, type CreateCartRequest, type CreateCartResponse, type CreateCurrentCartApplicationErrors, type CreateCurrentCartOptions, type CreateCurrentCartRequest, type CreateCurrentCartResponse, type CreatedBy, type CreatedByIdOneOf, CrossBorderNotApplicableReason, type CrossBorderNotApplicableReasonWithLiterals, type CrossBorderPriceAdjustment, CrossBorderRepricingMode, type CrossBorderRepricingModeWithLiterals, type CrossBorderRepricingResult, type CustomContentReference, type CustomField, type CustomItemAttributes, type CustomItemDeliveryConfig, type CustomItemInput, type CustomItemPaymentConfig, type CustomItemPricingInfo, type CustomItemQuantityInfo, type CustomItemSource, type CustomItemTaxConfig, type CustomValidationErrorData, type CustomerInfo, type CustomerInfoIdOneOf, type CyclePriceOverride, type DeleteCartRequest, type DeleteCartResponse, type DeleteCurrentCartRequest, type DeleteCurrentCartResponse, type DeliveryAllocation, type DeliveryInfo, type DeliveryLogistics, type DeliveryMethod, type DeliveryMethodInput, type DeliveryMethodNotFoundErrorData, type DeliverySummary, type DeliveryTimeSlot, type Description, type DescriptionLine, type DescriptionLineDescriptionLineValueOneOf, type DescriptionLineName, DescriptionLineType, type DescriptionLineTypeWithLiterals, type DescriptionLineValueOneOf, type Details, type DetailsKindOneOf, type Dimensions, DimensionsUnit, type DimensionsUnitWithLiterals, type Discount, type DiscountRule, type DiscountRuleDiscountValueOneOf, type DiscountRuleName, DiscountScope, type DiscountScopeWithLiterals, type DiscountSource, DiscountSourceType, type DiscountSourceTypeWithLiterals, DiscountType, type DiscountTypeWithLiterals, DiscountValueType, type DiscountValueTypeWithLiterals, type DomainEvent, type DomainEventBodyOneOf, type DuplicateItemModifierIdsErrorData, type DuplicateLineItemUpdatesErrorData, type DuplicateModifierGroupIdsErrorData, type Empty, type EmptyLineItemUpdatesErrorData, type EmptyPaymentTokenErrorData, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EstimateCartRequest, type EstimateCartResponse, type EstimateCurrentCartApplicationErrors, type EstimateCurrentCartOptions, type EstimateCurrentCartRequest, type EstimateCurrentCartResponse, type EventMetadata, type ExistingMembership, type ExistingMembershipInput, type ExtendedFields, type ExternalReference, FallbackReason, type FallbackReasonWithLiterals, type FieldViolation, FileType, type FileTypeWithLiterals, type FixedQuantityItemErrorData, type FormIdentifier, type FormInfo, type FormSubmission, type FreeTrialPeriod, type FullAddressContactDetails, type FutureMembership, type FutureMembershipInput, type GetCartRequest, type GetCartResponse, type GetCheckoutURLRequest, type GetCheckoutURLResponse, type GetCurrentCartRequest, type GetCurrentCartResponse, type GetUpsellOptionsForCurrentCartRequest, type GetUpsellOptionsForCurrentCartResponse, type GetUpsellOptionsRequest, type GetUpsellOptionsResponse, type GiftCard, type GiftCardAdded, type GiftCardAlreadyExistsErrorData, type GiftCardCalculationError, type GiftCardInput, type GiftCardNotFoundInCartErrorData, type GiftCardPaymentNotSupportedOnDemoCartErrorData, type GiftCardRedeemErrorData, type GiftCardRemoved, type GiftCardSummary, type Group, type HandleAsyncCheckoutCompletionRequest, type HeadersEntry, type IdentificationData, type IdentificationDataIdOneOf, type InsufficientInventoryEntry, type InsufficientInventoryErrorData, type InvalidCartErrorData, type InvalidCouponCodeErrorData, InvalidCouponReason, type InvalidCouponReasonWithLiterals, type InvalidCouponStatusErrorData, type InvalidCouponStatusErrorDataDetailsOneOf, type InvalidGiftCardCodeErrorData, InvalidGiftCardReason, type InvalidGiftCardReasonWithLiterals, type InvalidGiftCardStatusErrorData, type InvalidMembership, type InvalidMembershipEntry, type InvalidMembershipErrorData, type InvalidMembershipPaymentOptionErrorData, InvalidMembershipReason, type InvalidMembershipReasonWithLiterals, type InvalidMembershipStatusErrorData, type InvalidPaymentStatusErrorData, type InvalidPriceVerificationTokenErrorData, type InvalidThirdPartyCheckoutTokenErrorData, type ItemAttributes, type ItemCombination, type ItemCombinationLineItem, type ItemDeliveryConfig, type ItemDiscount, type ItemModifier, type ItemNotFoundInCatalogErrorData, type ItemPaymentConfig, type ItemPriceBreakdown, type ItemPricingInfo, type ItemQuantityInfo, type ItemSource, ItemStatus, type ItemStatusWithLiterals, type ItemTaxConfig, type ItemTaxFullDetails, type ItemType, type ItemTypeItemTypeDataOneOf, ItemTypePreset, type ItemTypePresetWithLiterals, type ItemUpsells, JurisdictionType, type JurisdictionTypeWithLiterals, type LegacyFields, type LimitedQuota, LimitedQuotaType, type LimitedQuotaTypeWithLiterals, type LineItem, type LineItemAdded, type LineItemCoverage, type LineItemDiscount, type LineItemIdentifier, type LineItemIdentifierIdOneOf, type LineItemNotFoundInCartErrorData, type LineItemPriceConflictErrorData, type LineItemPricesData, type LineItemSummary, type LineItemTax, type LineItemUpdate, type LineItemsOutOfStockErrorData, ManualCalculationReason, type ManualCalculationReasonWithLiterals, type MarkCartAsCompletedRequest, type MarkCartAsCompletedResponse, type MaxItemModifiersExceededErrorData, type MaxLineItemsExceededErrorData, type MembersOnlyItemErrorData, type Membership, type MembershipInput, type MembershipInputMembershipOneOf, type MembershipName, type MembershipOptions, type MembershipPaymentCredits, type MembershipSummary, type MembershipSummaryMembershipIdentifierOneOf, type MerchantDiscount, type MessageEnvelope, type MinLineItemQuantityNotReachedDetails, type MinSubtotalNotReachedDetails, type ModifierGroup, type MultiCurrencyPrice, NameInLineItem, type NameInLineItemWithLiterals, NameInOther, type NameInOtherWithLiterals, type Other, type OtherCharge, type PaymentInfo, type PaymentOption, PaymentOptionType, type PaymentOptionTypeWithLiterals, type PaymentSummary, type PhysicalProperties, type PickupDetails, PickupMethod, type PickupMethodWithLiterals, type PlaceOrderRequest, type PlaceOrderResponse, type PlainTextValue, type PlatformFee, PlatformFeeChargeType, type PlatformFeeChargeTypeWithLiterals, type PlatformFeeSummary, type Policy, type Price, type PriceDescription, type PriceDetails, type PriceSummary, ProductPeriodAlignment, type ProductPeriodAlignmentWithLiterals, type PurchasablePlan, type QuantityUpdate, QuotaType, type QuotaTypeWithLiterals, RateType, type RateTypeWithLiterals, type RawHttpResponse, RedemptionType, type RedemptionTypeWithLiterals, type RedirectUrls, type RefreshCartRequest, type RefreshCartResponse, type RefreshCurrentCartApplicationErrors, type RefreshCurrentCartRequest, type RefreshCurrentCartResponse, type Region, type RemoveCouponFromCurrentCartApplicationErrors, type RemoveCouponFromCurrentCartRequest, type RemoveCouponFromCurrentCartResponse, type RemoveCouponRequest, type RemoveCouponResponse, type RemoveDeliveryMethodFromCurrentCartApplicationErrors, type RemoveDeliveryMethodFromCurrentCartRequest, type RemoveDeliveryMethodFromCurrentCartResponse, type RemoveDeliveryMethodRequest, type RemoveDeliveryMethodResponse, type RemoveGiftCardFromCurrentCartApplicationErrors, type RemoveGiftCardFromCurrentCartRequest, type RemoveGiftCardFromCurrentCartResponse, type RemoveGiftCardRequest, type RemoveGiftCardResponse, type RemoveLineItemsFromCurrentCartApplicationErrors, type RemoveLineItemsFromCurrentCartRequest, type RemoveLineItemsFromCurrentCartResponse, type RemoveLineItemsRequest, type RemoveLineItemsResponse, RepriceStatus, type RepriceStatusWithLiterals, type RestoreInfo, RuleType, type RuleTypeWithLiterals, type Scope, type SecuredMedia, type SelectedCarrierServiceOption, type SelectedCarrierServiceOptionOtherCharge, type SelectedCarrierServiceOptionPrices, type SelectedMembership, type SelectedMembershipUpdate, type SelectedMemberships, type ServiceProperties, type SetDeliveryMethodForCurrentCartApplicationErrors, type SetDeliveryMethodForCurrentCartRequest, type SetDeliveryMethodForCurrentCartResponse, type SetDeliveryMethodRequest, type SetDeliveryMethodResponse, Severity, type SeverityWithLiterals, type ShippingInformation, type ShippingOption, type ShippingPrice, type ShippingRegion, Source, type SourceWithLiterals, type StreetAddress, type SubscriptionCharges, SubscriptionFrequency, type SubscriptionFrequencyWithLiterals, type SubscriptionOptionInfo, type SubscriptionSettings, type SubtotalBelowOrderMinimumErrorData, SuggestedFix, type SuggestedFixWithLiterals, type SystemError, type Target, type TargetTargetTypeOneOf, type Tax, type TaxBreakdown, type TaxCalculationDetails, type TaxCalculationDetailsCalculationDetailsOneOf, type TaxDetails, type TaxInfo, type TaxRateBreakdown, type TaxSummary, type TaxableAddress, type TaxableAddressTaxableAddressDataOneOf, TaxableAddressType, type TaxableAddressTypeWithLiterals, type Title, type TranslatableString, type UnmarkAsCurrentCartRequest, type UnmarkAsCurrentCartResponse, type UpdateCartRequest, type UpdateCartResponse, type UpdateCurrentCartApplicationErrors, type UpdateCurrentCartRequest, type UpdateCurrentCartResponse, type UpdateFormSubmissionsInCurrentCartOptions, type UpdateFormSubmissionsInCurrentCartRequest, type UpdateFormSubmissionsInCurrentCartResponse, type UpdateFormSubmissionsRequest, type UpdateFormSubmissionsResponse, type UpdateLineItemsInCurrentCartApplicationErrors, type UpdateLineItemsInCurrentCartOptions, type UpdateLineItemsInCurrentCartRequest, type UpdateLineItemsInCurrentCartResponse, type UpdateLineItemsRequest, type UpdateLineItemsResponse, type UpsellBenefitMetadata, type UpsellOption, type V1AdditionalFee, type V1Membership, V1PlatformFeeChargeType, type V1PlatformFeeChargeTypeWithLiterals, type V1PriceSummary, type V2AdditionalFee, type V2CalculationErrors, type V2CalculationErrorsShippingCalculationErrorOneOf, type V2CarrierError, type V2CarrierErrors, type V2Coupon, type V2ExistingMembership, type V2GiftCard, type V2LineItem, type V2LineItemDiscount, type V2Membership, type V2MembershipIdentifierOneOf, type V2PriceSummary, type V2SelectedMembership, type V2TaxSummary, type V2Violation, type V2ViolationDataOneOf, type ValidatedExistingMemberships, type ValidatedPurchasablePlans, type ValidationError, ValidationsConfig, type ValidationsConfigWithLiterals, type VatId, VatType, type VatTypeWithLiterals, type Violation, ViolationCode, type ViolationCodeWithLiterals, ViolationScope, type ViolationScopeWithLiterals, ViolationSeverity, type ViolationSeverityWithLiterals, type ViolationWithErrorSeverityErrorData, type ViolationsList, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, WeightUnit, type WeightUnitWithLiterals, addCouponToCurrentCart, addGiftCardToCurrentCart, addLineItemsToCurrentCart, calculateCurrentCart, createCurrentCart, deleteCurrentCart, estimateCurrentCart, getCurrentCart, onCartCalculated, onCartCompleted, onCartCreated, onCartDeleted, onCartUpdated, refreshCurrentCart, removeCouponFromCurrentCart, removeDeliveryMethodFromCurrentCart, removeGiftCardFromCurrentCart, removeLineItemsFromCurrentCart, setDeliveryMethodForCurrentCart, updateCurrentCart, updateFormSubmissionsInCurrentCart, updateLineItemsInCurrentCart };
6689
+ export { type AccountInfo, type AccountInfoMetadata, type ActionEvent, type AddCouponRequest, type AddCouponResponse, type AddCouponToCurrentCartApplicationErrors, type AddCouponToCurrentCartRequest, type AddCouponToCurrentCartResponse, type AddGiftCardRequest, type AddGiftCardResponse, type AddGiftCardToCurrentCartApplicationErrors, type AddGiftCardToCurrentCartRequest, type AddGiftCardToCurrentCartResponse, type AddLineItemsRequest, type AddLineItemsResponse, type AddLineItemsToCurrentCartApplicationErrors, type AddLineItemsToCurrentCartOptions, type AddLineItemsToCurrentCartRequest, type AddLineItemsToCurrentCartResponse, type AdditionalFee, AdditionalFeeSource, type AdditionalFeeSourceWithLiterals, type AdditionalFeeTax, type Address, type AddressLocation, type AggregatedTaxBreakdown, type ApplicableLineItems, type ApplicationError, type AppliedDiscount, type AppliedDiscountDiscountSourceOneOf, type AutoTaxFallbackCalculationDetails, BalanceType, type BalanceTypeWithLiterals, type BaseEventMetadata, BaseRateSource, type BaseRateSourceWithLiterals, type Benefit, type BenefitQuotaOneOf, BenefitType, type BenefitTypeWithLiterals, type BillingSettings, BridgeAction, type BridgeActionWithLiterals, type BundleInfo, type BundledItem, type BundledItemAttributes, type BundledItemSource, type BusinessInfo, type CalculateCartForV1Request, type CalculateCartForV1Response, type CalculateCartRequest, type CalculateCartResponse, type CalculateCurrentCartApplicationErrors, type CalculateCurrentCartOptions, type CalculateCurrentCartRequest, type CalculateCurrentCartResponse, type CalculateTotalsResponse, type CalculatedItemModifier, type CalculatedLineItem, type CalculatedPlatformFee, type CalculationConfig, type CalculationErrors, type CalculationErrorsShippingCalculationErrorOneOf, type CalculationOverrides, type Carrier, type CarrierError, type CarrierErrors, type CarrierServiceOption, type Cart, type CartAlreadyOrderedErrorData, type CartBridgeCalculated, type CartCalculatedEnvelope, type CartCompleted, type CartCompletedEnvelope, type CartCreatedEnvelope, type CartDeletedEnvelope, type CartEstimationIndicators, type CartRevisionMismatchErrorData, type CartSettings, type CartSource, type CartSummary, type CartUpdatedEnvelope, type CatalogItemInput, type CatalogOverrideFields, type CatalogReference, ChannelType, type ChannelTypeWithLiterals, type Charge, ChargeType, type ChargeTypeWithLiterals, type Color, type ConvertedMoney, type Coupon, type CouponAdded, type CouponAlreadyExistsErrorData, type CouponDiscountValueOneOf, type CouponInput, type CouponNotFoundInCartErrorData, type CouponRemoved, type CoveredLineItem, type CreateCartRequest, type CreateCartResponse, type CreateCurrentCartApplicationErrors, type CreateCurrentCartOptions, type CreateCurrentCartRequest, type CreateCurrentCartResponse, type CreatedBy, type CreatedByIdOneOf, CrossBorderNotApplicableReason, type CrossBorderNotApplicableReasonWithLiterals, type CrossBorderPriceAdjustment, CrossBorderRepricingMode, type CrossBorderRepricingModeWithLiterals, type CrossBorderRepricingResult, type CustomContentReference, type CustomField, type CustomItemAttributes, type CustomItemDeliveryConfig, type CustomItemInput, type CustomItemPaymentConfig, type CustomItemPricingInfo, type CustomItemQuantityInfo, type CustomItemSource, type CustomItemTaxConfig, type CustomValidationErrorData, type CustomerInfo, type CustomerInfoIdOneOf, type CyclePriceOverride, type DeleteCartRequest, type DeleteCartResponse, type DeleteCurrentCartRequest, type DeleteCurrentCartResponse, type DeliveryAllocation, type DeliveryInfo, type DeliveryLogistics, type DeliveryMethod, type DeliveryMethodInput, type DeliveryMethodNotFoundErrorData, type DeliverySummary, type DeliveryTimeSlot, type Description, type DescriptionLine, type DescriptionLineDescriptionLineValueOneOf, type DescriptionLineName, DescriptionLineType, type DescriptionLineTypeWithLiterals, type DescriptionLineValueOneOf, type Details, type DetailsKindOneOf, type Dimensions, DimensionsUnit, type DimensionsUnitWithLiterals, type Discount, type DiscountRule, type DiscountRuleDiscountValueOneOf, type DiscountRuleName, DiscountScope, type DiscountScopeWithLiterals, type DiscountSource, DiscountSourceType, type DiscountSourceTypeWithLiterals, DiscountType, type DiscountTypeWithLiterals, DiscountValueType, type DiscountValueTypeWithLiterals, type DomainEvent, type DomainEventBodyOneOf, type DuplicateItemModifierIdsErrorData, type DuplicateLineItemUpdatesErrorData, type DuplicateModifierGroupIdsErrorData, type Empty, type EmptyLineItemUpdatesErrorData, type EmptyPaymentTokenErrorData, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EstimateCartRequest, type EstimateCartResponse, type EstimateCurrentCartApplicationErrors, type EstimateCurrentCartOptions, type EstimateCurrentCartRequest, type EstimateCurrentCartResponse, type EventMetadata, type ExistingMembership, type ExistingMembershipInput, type ExtendedFields, type ExternalReference, FallbackReason, type FallbackReasonWithLiterals, type FieldViolation, FileType, type FileTypeWithLiterals, type FixedQuantityItemErrorData, type FormIdentifier, type FormInfo, type FormSubmission, type FreeTrialPeriod, type FullAddressContactDetails, type FutureMembership, type FutureMembershipInput, type GetCartRequest, type GetCartResponse, type GetCheckoutURLRequest, type GetCheckoutURLResponse, type GetCurrentCartRequest, type GetCurrentCartResponse, type GetUpsellOptionsForCurrentCartRequest, type GetUpsellOptionsForCurrentCartResponse, type GetUpsellOptionsRequest, type GetUpsellOptionsResponse, type GiftCard, type GiftCardAdded, type GiftCardAlreadyExistsErrorData, type GiftCardCalculationError, type GiftCardInput, type GiftCardNotFoundInCartErrorData, type GiftCardPaymentNotSupportedOnDemoCartErrorData, type GiftCardRedeemErrorData, type GiftCardRemoved, type GiftCardSummary, type Group, type HandleAsyncCheckoutCompletionRequest, type HeadersEntry, type IdentificationData, type IdentificationDataIdOneOf, type InsufficientInventoryEntry, type InsufficientInventoryErrorData, type InvalidCartErrorData, type InvalidCouponCodeErrorData, InvalidCouponReason, type InvalidCouponReasonWithLiterals, type InvalidCouponStatusErrorData, type InvalidCouponStatusErrorDataDetailsOneOf, type InvalidGiftCardCodeErrorData, InvalidGiftCardReason, type InvalidGiftCardReasonWithLiterals, type InvalidGiftCardStatusErrorData, type InvalidMembership, type InvalidMembershipEntry, type InvalidMembershipErrorData, type InvalidMembershipPaymentOptionErrorData, InvalidMembershipReason, type InvalidMembershipReasonWithLiterals, type InvalidMembershipStatusErrorData, type InvalidPaymentStatusErrorData, type InvalidPriceVerificationTokenErrorData, type InvalidThirdPartyCheckoutTokenErrorData, type ItemAttributes, type ItemCombination, type ItemCombinationLineItem, type ItemDeliveryConfig, type ItemDiscount, type ItemModifier, type ItemNotFoundInCatalogErrorData, type ItemPaymentConfig, type ItemPriceBreakdown, type ItemPricingInfo, type ItemQuantityInfo, type ItemSource, ItemStatus, type ItemStatusWithLiterals, type ItemTaxConfig, type ItemTaxFullDetails, type ItemType, type ItemTypeItemTypeDataOneOf, ItemTypePreset, type ItemTypePresetWithLiterals, type ItemUpsells, JurisdictionType, type JurisdictionTypeWithLiterals, type LegacyFields, type LimitedQuota, LimitedQuotaType, type LimitedQuotaTypeWithLiterals, type LineItem, type LineItemAdded, type LineItemCoverage, type LineItemDiscount, type LineItemIdentifier, type LineItemIdentifierIdOneOf, type LineItemNotFoundInCartErrorData, type LineItemPriceConflictErrorData, type LineItemPricesData, type LineItemSummary, type LineItemTax, type LineItemUpdate, type LineItemsOutOfStockErrorData, ManualCalculationReason, type ManualCalculationReasonWithLiterals, type MarkCartAsCompletedRequest, type MarkCartAsCompletedResponse, type MaxItemModifiersExceededErrorData, type MaxLineItemsExceededErrorData, type MembersOnlyItemErrorData, type Membership, type MembershipInput, type MembershipInputMembershipOneOf, type MembershipName, type MembershipOptions, type MembershipPaymentCredits, type MembershipSummary, type MembershipSummaryMembershipIdentifierOneOf, type MerchantDiscount, type MessageEnvelope, type MinLineItemQuantityNotReachedDetails, type MinSubtotalNotReachedDetails, type ModifierGroup, type MultiCurrencyPrice, NameInLineItem, type NameInLineItemWithLiterals, NameInOther, type NameInOtherWithLiterals, type Other, type OtherCharge, type PaymentInfo, type PaymentOption, PaymentOptionType, type PaymentOptionTypeWithLiterals, type PaymentSummary, type PhysicalProperties, type PickupDetails, PickupMethod, type PickupMethodWithLiterals, type PlaceOrderRequest, type PlaceOrderResponse, type PlainTextValue, type PlatformFee, PlatformFeeChargeType, type PlatformFeeChargeTypeWithLiterals, type PlatformFeeSummary, type Policy, type Price, type PriceDescription, type PriceDetails, type PriceSummary, ProductPeriodAlignment, type ProductPeriodAlignmentWithLiterals, type PurchasablePlan, type QuantityUpdate, QuotaType, type QuotaTypeWithLiterals, RateType, type RateTypeWithLiterals, type RawHttpResponse, RedemptionType, type RedemptionTypeWithLiterals, type RedirectUrls, type RefreshCartRequest, type RefreshCartResponse, type RefreshCurrentCartApplicationErrors, type RefreshCurrentCartRequest, type RefreshCurrentCartResponse, type Region, type RemoveCouponFromCurrentCartApplicationErrors, type RemoveCouponFromCurrentCartRequest, type RemoveCouponFromCurrentCartResponse, type RemoveCouponRequest, type RemoveCouponResponse, type RemoveDeliveryMethodFromCurrentCartApplicationErrors, type RemoveDeliveryMethodFromCurrentCartRequest, type RemoveDeliveryMethodFromCurrentCartResponse, type RemoveDeliveryMethodRequest, type RemoveDeliveryMethodResponse, type RemoveGiftCardFromCurrentCartApplicationErrors, type RemoveGiftCardFromCurrentCartRequest, type RemoveGiftCardFromCurrentCartResponse, type RemoveGiftCardRequest, type RemoveGiftCardResponse, type RemoveLineItemsFromCurrentCartApplicationErrors, type RemoveLineItemsFromCurrentCartRequest, type RemoveLineItemsFromCurrentCartResponse, type RemoveLineItemsRequest, type RemoveLineItemsResponse, RepriceStatus, type RepriceStatusWithLiterals, type RestoreInfo, RuleType, type RuleTypeWithLiterals, type Scope, type SecuredMedia, type SelectedCarrierServiceOption, type SelectedCarrierServiceOptionOtherCharge, type SelectedCarrierServiceOptionPrices, type SelectedMembership, type SelectedMembershipUpdate, type SelectedMemberships, type ServiceProperties, type SetDeliveryMethodForCurrentCartApplicationErrors, type SetDeliveryMethodForCurrentCartRequest, type SetDeliveryMethodForCurrentCartResponse, type SetDeliveryMethodRequest, type SetDeliveryMethodResponse, Severity, type SeverityWithLiterals, type ShippingInformation, type ShippingOption, type ShippingPrice, type ShippingRegion, Source, type SourceWithLiterals, type StreetAddress, type SubscriptionCharges, SubscriptionFrequency, type SubscriptionFrequencyWithLiterals, type SubscriptionOptionInfo, type SubscriptionSettings, type SubtotalBelowOrderMinimumErrorData, SuggestedFix, type SuggestedFixWithLiterals, type SystemError, type Target, type TargetTargetTypeOneOf, type Tax, type TaxBreakdown, type TaxCalculationDetails, type TaxCalculationDetailsCalculationDetailsOneOf, type TaxDetails, type TaxInfo, type TaxRateBreakdown, type TaxSummary, type TaxableAddress, type TaxableAddressTaxableAddressDataOneOf, TaxableAddressType, type TaxableAddressTypeWithLiterals, type Title, type TranslatableString, type UnmarkAsCurrentCartRequest, type UnmarkAsCurrentCartResponse, type UpdateCartRequest, type UpdateCartResponse, type UpdateCurrentCartApplicationErrors, type UpdateCurrentCartRequest, type UpdateCurrentCartResponse, type UpdateFormSubmissionsInCurrentCartOptions, type UpdateFormSubmissionsInCurrentCartRequest, type UpdateFormSubmissionsInCurrentCartResponse, type UpdateFormSubmissionsRequest, type UpdateFormSubmissionsResponse, type UpdateLineItemsInCurrentCartApplicationErrors, type UpdateLineItemsInCurrentCartOptions, type UpdateLineItemsInCurrentCartRequest, type UpdateLineItemsInCurrentCartResponse, type UpdateLineItemsRequest, type UpdateLineItemsResponse, type UpsellBenefitMetadata, type UpsellOption, type V1AdditionalFee, type V1Membership, V1PlatformFeeChargeType, type V1PlatformFeeChargeTypeWithLiterals, type V1PriceSummary, type V2AdditionalFee, type V2CalculationErrors, type V2CalculationErrorsShippingCalculationErrorOneOf, type V2CarrierError, type V2CarrierErrors, type V2Coupon, type V2ExistingMembership, type V2GiftCard, type V2LineItem, type V2LineItemDiscount, type V2Membership, type V2MembershipIdentifierOneOf, type V2PriceSummary, type V2SelectedMembership, type V2TaxSummary, type V2Violation, type V2ViolationDataOneOf, type ValidatedExistingMemberships, type ValidatedPurchasablePlans, type ValidationError, ValidationsConfig, type ValidationsConfigWithLiterals, type VatId, VatType, type VatTypeWithLiterals, type Violation, ViolationCode, type ViolationCodeWithLiterals, ViolationScope, type ViolationScopeWithLiterals, ViolationSeverity, type ViolationSeverityWithLiterals, type ViolationWithErrorSeverityErrorData, type ViolationsList, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, WeightUnit, type WeightUnitWithLiterals, addCouponToCurrentCart, addGiftCardToCurrentCart, addLineItemsToCurrentCart, calculateCurrentCart, createCurrentCart, deleteCurrentCart, estimateCurrentCart, getCurrentCart, onCartCalculated, onCartCompleted, onCartCreated, onCartDeleted, onCartUpdated, refreshCurrentCart, removeCouponFromCurrentCart, removeDeliveryMethodFromCurrentCart, removeGiftCardFromCurrentCart, removeLineItemsFromCurrentCart, setDeliveryMethodForCurrentCart, updateCurrentCart, updateFormSubmissionsInCurrentCart, updateLineItemsInCurrentCart };