@wix/auto_sdk_ecom_subscription-contracts 1.0.144 → 1.0.146

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ecom-subscription-contracts-v1-subscription-contract-subscription-contracts.universal.ts","../../src/ecom-subscription-contracts-v1-subscription-contract-subscription-contracts.http.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixEcomSubscriptionContractsV1SubscriptionContract from './ecom-subscription-contracts-v1-subscription-contract-subscription-contracts.http.js';\n// @ts-ignore\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nconst TRANSFORM_PATHS_0 = [{ path: 'subscriptionContract.lineItems.image' }];\nconst TRANSFORM_PATHS_1 = [\n { path: 'subscriptionContract.billingInfo.address' },\n {\n path: 'subscriptionContract.shippingInfo.logistics.shippingDestination.address',\n },\n { path: 'subscriptionContract.shippingInfo.logistics.pickupDetails.address' },\n { path: 'subscriptionContract.recipientInfo.address' },\n];\nconst TRANSFORM_PATHS_2 = [{ path: 'subscriptionContracts.lineItems.image' }];\nconst TRANSFORM_PATHS_3 = [\n { path: 'subscriptionContracts.billingInfo.address' },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.shippingDestination.address',\n },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.pickupDetails.address',\n },\n { path: 'subscriptionContracts.recipientInfo.address' },\n];\n\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/**\n * A SubscriptionContract is a ...\n * You can ...\n * Read more about SubscriptionContracts\n * in this [article](<LINK_TO_KB_ARTICLE>).\n */\nexport interface SubscriptionContract {\n /**\n * SubscriptionContract ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the SubscriptionContract is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the SubscriptionContract.\n *\n * Ignored when creating a SubscriptionOrderContract.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the subscription contract was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the subscription contract was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Corresponding billing subscription id\n * @internal\n * @format GUID\n */\n billingSubscriptionId?: string | null;\n /**\n * Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.\n * @maxLength 500\n * @deprecated Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.\n * @replacedBy subscription_description\n * @targetRemovalDate 2025-10-01\n */\n description?: string | null;\n /**\n * Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.\n * @internal\n */\n subscriptionDescription?: V1SubscriptionDescription;\n /** Subscription detailed information. */\n subscriptionSettings?: V1SubscriptionSettings;\n /**\n * Order line items.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: OrderLineItem[];\n /** Buyer information. */\n buyerInfo?: BuyerInfo;\n /**\n * Language for communication with the buyer. Defaults to the site language.\n * For a site that supports multiple languages, this is the language the buyer selected.\n * @maxLength 10\n */\n buyerLanguage?: string | null;\n /** Weight measurement unit - defaults to site's weight unit. */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.\n * @format CURRENCY\n * @immutable\n */\n currency?: string | null;\n /** Multi-currency information of the subscription. conversionRate may reflect updated exchange rate on created order per recurring cycle. */\n currencyConversionDetails?: CurrencyConversionDetails;\n /**\n * Whether tax is included in line item prices.\n *\n * Default: `false`\n * @immutable\n */\n taxIncludedInPrices?: boolean;\n /**\n * Order price summary.\n * @readonly\n */\n priceSummary?: PriceSummary;\n /** Summary of platform fees for this subscription contract, including totals by charge type and a breakdown of individual fees. */\n platformFeeSummary?: PlatformFeeSummary;\n /** Billing address and contact details. */\n billingInfo?: AddressWithContact;\n /** Shipping info and selected shipping option details. */\n shippingInfo?: ShippingInformation;\n /**\n * Tax information.\n * @internal\n * @readonly\n */\n taxInfo?: OrderTaxInfo;\n /**\n * Applied discounts.\n * @maxSize 100\n */\n appliedDiscounts?: AppliedDiscount[];\n /** Information about the sales channel that submitted this order. */\n channelInfo?: ChannelInfo;\n /**\n * Custom fields.\n * @maxSize 100\n */\n customFields?: CustomField[];\n /**\n * Order recipient address and contact details.\n *\n * This field may differ from the address in `shippingInfo.logistics` when:\n * + The chosen shipping option is pickup point or store pickup.\n * + No shipping option is selected.\n */\n recipientInfo?: AddressWithContact;\n /**\n * Custom field data for the subscription contract object.\n *\n * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Subscription option title. For example, `\"Monthly coffee Subscription\"`.\n * @maxLength 150\n * @deprecated Subscription option title. For example, `\"Monthly coffee Subscription\"`.\n * @replacedBy subscription_title\n * @targetRemovalDate 2025-10-01\n */\n title?: string | null;\n /**\n * Subscription title. For example, `\"Monthly coffee Subscription\"`.\n * @internal\n */\n subscriptionTitle?: V1SubscriptionTitle;\n /**\n * Additional fees applied to subscription contract.\n * @maxSize 100\n */\n additionalFees?: AdditionalFee[];\n /**\n * Order Location\n * @internal\n */\n businessLocation?: Location;\n /**\n * Contract-level settings and allowed actions.\n * @internal\n */\n settings?: SubscriptionContractSettings;\n /**\n * Activities recorded on this contract (e.g. draft commits, status changes).\n * @readonly\n * @maxSize 500\n */\n activities?: SubscriptionContractActivity[];\n}\n\nexport interface V1SubscriptionDescription {\n /**\n * Subscription option description.\n * @maxLength 500\n */\n original?: string;\n /**\n * Translated subscription option description.\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface V1SubscriptionSettings {\n /** Frequency of recurring payment. */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /** Whether subscription is renewed automatically at the end of each period. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`.\n * @min 1\n */\n billingCycles?: number | null;\n /** Whether to allow the customer to cancel the subscription. */\n enableCustomerCancellation?: boolean;\n /** Period until first cycle starts. If None => no free trial */\n freeTrialPeriod?: V1FreeTrialPeriod;\n /**\n * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n * @internal\n */\n startDate?: Date | null;\n /**\n * Billing configuration for recurring charges.\n * @internal\n */\n billingSettings?: V1BillingSettings;\n /**\n * Whether the product/service/subscription access period is aligned with the billing period.\n * @internal\n */\n productPeriodAlignment?: SubscriptionSettingsProductPeriodAlignmentWithLiterals;\n /**\n * Cycle price overrides of the subscription's line items, by line item ID. A line item with no\n * entry is charged its regular price on every billing cycle.\n * @internal\n * @maxSize 100\n */\n lineItemCyclePriceOverrides?: LineItemCyclePriceOverrides[];\n}\n\nexport enum SubscriptionFrequency {\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\nexport interface V1FreeTrialPeriod {\n /** Frequency of period. Values: DAY, WEEK, MONTH, YEAR */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.\n * @min 1\n * @max 3650\n */\n interval?: number;\n}\n\nexport interface V1BillingSettings {\n /**\n * Day of month (1-28) to anchor recurring billing to. When set, billing recurs on this day each cycle. Does not apply to weekly subscriptions.\n * @min 1\n * @max 28\n */\n anchorDay?: number | null;\n}\n\nexport enum SubscriptionSettingsProductPeriodAlignment {\n /** Billing period equals the product/service/subscription access period. */\n ALIGNED_WITH_BILLING_PERIOD = 'ALIGNED_WITH_BILLING_PERIOD',\n /** Billing period is independent of the product/service/subscription access period. */\n NOT_ALIGNED_WITH_BILLING_PERIOD = 'NOT_ALIGNED_WITH_BILLING_PERIOD',\n}\n\n/** @enumType */\nexport type SubscriptionSettingsProductPeriodAlignmentWithLiterals =\n | SubscriptionSettingsProductPeriodAlignment\n | 'ALIGNED_WITH_BILLING_PERIOD'\n | 'NOT_ALIGNED_WITH_BILLING_PERIOD';\n\nexport interface LineItemCyclePriceOverrides {\n /**\n * ID of the line item.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * Unit prices for specified billing cycles of the line item, in the contract's currency. Cycles\n * that no entry covers are charged the line item's regular price.\n * @maxSize 1\n */\n cyclePriceOverrides?: V1CyclePriceOverride[];\n}\n\nexport interface V1CyclePriceOverride {\n /**\n * __Required.__ First billing cycle the price applies to. The first paid cycle of the\n * subscription is `1`. A free trial period, if any, is cycle `0`.\n * @min 1\n * @max 1\n */\n cycleFrom?: number;\n /**\n * __Required.__ Number of consecutive billing cycles the price applies to, starting at `cycleFrom`.\n * @min 1\n * @max 1\n */\n numberOfCycles?: number | null;\n /**\n * __Required.__ Unit price for the cycles this entry covers, in the item's currency.\n * Can be higher than, lower than, or equal to the item's `price`.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:4 }\n */\n price?: string;\n}\n\nexport interface OrderLineItem {\n /**\n * Line item ID.\n * @immutable\n */\n _id?: string;\n /**\n * Item name.\n *\n * + Stores - `product.name`\n * + Bookings - `service.info.name`\n * + Events - `ticket.name`\n */\n productName?: ProductName;\n /** References to the line item's origin catalog. Empty for custom line items. */\n catalogReference?: CatalogReference;\n /**\n * Line item quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Total discount for this line item's entire quantity.\n * @readonly\n */\n totalDiscount?: Price;\n /**\n * Line item description lines. Used for display purposes for the cart, checkout and order.\n * @maxSize 20\n */\n descriptionLines?: DescriptionLine[];\n /** Line item image. */\n image?: string;\n /** Physical properties of the item. When relevant, contains information such as SKU and item weight. */\n physicalProperties?: PhysicalProperties;\n /** Item type. Either a preset type or custom. */\n itemType?: ItemType;\n /**\n * Fulfiller ID. Field is empty when the line item is self-fulfilled.\n * To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/list-fulfillments-for-single-order).\n * @format GUID\n */\n fulfillerId?: string | null;\n /**\n * Number of items that were refunded.\n * @max 100000\n */\n refundQuantity?: number | null;\n /**\n * Number of items restocked.\n *\n * For a per-location breakdown, see `restockLocations`.\n * @max 100000\n */\n restockQuantity?: number | null;\n /**\n * Per-location restock breakdown.\n *\n * Populated when items are restocked to specific locations.\n * The sum of all `quantity` values equals `restockQuantity`.\n * Empty when no location-specific restock was performed.\n * @internal\n * @maxSize 5\n * @readonly\n */\n restockLocations?: RestockLocation[];\n /** Line item price after line item discounts for display purposes. */\n price?: Price;\n /**\n * Line item price before line item discounts for display purposes. Defaults to `price` when not provided.\n * @readonly\n */\n priceBeforeDiscounts?: Price;\n /**\n * Line item price per unit before line item discounts and before tax.\n * @internal\n * @readonly\n */\n priceBeforeDiscountsAndTax?: Price;\n /**\n * Total price after discounts, and before tax.\n * @readonly\n */\n totalPriceBeforeTax?: Price;\n /**\n * Total price after all discounts and tax.\n * @readonly\n */\n totalPriceAfterTax?: Price;\n /**\n * Type of selected payment option for current item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /**\n * Deprecated. Use `taxInfo` instead.\n * This field will be removed on September 30, 2024.\n * Tax details for this line item.\n * @deprecated Deprecated. Use `taxInfo` instead.\n * This field will be removed on September 30, 2024.\n * Tax details for this line item.\n * @replacedBy tax_info\n * @targetRemovalDate 2024-09-30\n */\n taxDetails?: ItemTaxFullDetails;\n /** Represents all the relevant tax details for a specific line item. */\n taxInfo?: LineItemTaxInfo;\n /** Digital file identifier, relevant only for items with type DIGITAL. */\n digitalFile?: DigitalFile;\n /** Subscription info. */\n subscriptionInfo?: SubscriptionInfo;\n /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n priceDescription?: PriceDescription;\n /**\n * Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `\"DEPOSIT_ONLINE\"`.\n * @readonly\n */\n depositAmount?: Price;\n /**\n * The item's delivery profile ID.\n * @internal\n * @format GUID\n */\n deliveryProfileId?: string | null;\n /**\n * @internal\n * @format GUID\n */\n shippingGroupId?: string | null;\n /**\n * Line item locations.\n *\n * The location's total quantity must not exceed the line item quantity.\n * @maxSize 5\n */\n locations?: LocationAndQuantity[];\n /** Total price **after** catalog discounts and line item discounts. */\n lineItemPrice?: Price;\n /**\n * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n * @internal\n * @readonly\n * @immutable\n */\n customLineItem?: boolean | null;\n /**\n * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n * @internal\n * @minLength 1\n * @maxLength 36\n * @readonly\n */\n rootCatalogItemId?: string | null;\n /** Address used for tax calculation. */\n taxableAddress?: TaxableAddress;\n /**\n * ID of the app managing the inventory.\n * @internal\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Whether the price is not yet defined, and will be updated after the order is created.\n *\n * Default: `false`\n */\n priceUndetermined?: boolean;\n /**\n * Whether the line item quantity is fixed and cannot be changed.\n *\n * Default: `false`\n */\n fixedQuantity?: boolean;\n /**\n * Decimal-quantity metadata. Set when the line represents a\n * non-integer purchase (e.g. 2.75 m² of fake grass).\n *\n * When set, the line item must have `fixedQuantity` = true and be set with `quantity` = 1.\n * The decimal value lives in `decimalQuantity.value`.\n */\n decimalQuantity?: DecimalQuantity;\n /**\n * Custom extended fields for the line item object.\n *\n * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Modifier groups that were added to the item.\n * @readonly\n * @maxSize 10\n */\n modifierGroups?: ModifierGroup[];\n /**\n * Line item ID in external systems.\n * @internal\n * @minLength 1\n * @maxLength 100\n * @immutable\n */\n externalLineItemId?: string | null;\n /**\n * Service properties. When relevant, this contains information such as the date and number of participants.\n * @internal\n * @readonly\n */\n serviceProperties?: ServiceProperties;\n}\n\nexport interface ProductName {\n /**\n * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n *\n * Min: 1 character.\n * Max: 200 characters.\n * @minLength 1\n * @maxLength 200\n */\n original?: string;\n /**\n * Item name translated into the buyer's language.\n *\n * Min: 1 character.\n * Max: 400 characters.\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 400\n */\n translated?: string | null;\n}\n\n/** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\nexport interface CatalogReference {\n /**\n * ID of the item within the catalog it belongs to.\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string;\n /**\n * ID of the app providing the catalog.\n *\n * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n *\n * For items from Wix catalogs, the following values always apply:\n * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n * @minLength 1\n */\n appId?: string;\n /**\n * Additional item details in `key:value` pairs.\n *\n * Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\n *\n * For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\n * or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).\n */\n options?: Record<string, any> | null;\n}\n\nexport interface Price {\n /**\n * Amount.\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n amount?: string;\n /**\n * Amount formatted with currency symbol.\n * @readonly\n */\n formattedAmount?: string;\n}\n\nexport interface DescriptionLine\n extends DescriptionLineValueOneOf,\n DescriptionLineDescriptionLineValueOneOf {\n /** Description line plain text value. */\n plainText?: PlainTextValue;\n /** Description line color value. */\n colorInfo?: Color;\n /**\n * Description line plain text value.\n * @internal\n * @deprecated\n */\n plainTextValue?: PlainTextValue;\n /**\n * Description line color.\n * @internal\n * @deprecated\n */\n color?: string;\n /** Description line name. */\n name?: DescriptionLineName;\n /**\n * Description line type.\n * @internal\n * @deprecated\n */\n lineType?: DescriptionLineTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DescriptionLineValueOneOf {\n /** Description line plain text value. */\n plainText?: PlainTextValue;\n /** Description line color value. */\n colorInfo?: Color;\n}\n\n/** @oneof */\nexport interface DescriptionLineDescriptionLineValueOneOf {\n /**\n * Description line plain text value.\n * @internal\n * @deprecated\n */\n plainTextValue?: PlainTextValue;\n /**\n * Description line color.\n * @internal\n * @deprecated\n */\n color?: string;\n}\n\nexport interface DescriptionLineName {\n /**\n * Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 100\n */\n original?: string;\n /**\n * Description line name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 200\n */\n translated?: string | null;\n}\n\nexport interface PlainTextValue {\n /**\n * Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 600\n */\n original?: string;\n /**\n * Description line plain text value translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 600\n */\n translated?: string | null;\n}\n\nexport interface Color {\n /**\n * Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 500\n */\n original?: string;\n /**\n * Description line color name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 500\n */\n translated?: string | null;\n /** HEX or RGB color code for display. */\n code?: string | null;\n}\n\nexport enum DescriptionLineType {\n /** Unrecognized type. */\n UNRECOGNISED = 'UNRECOGNISED',\n /** Plain text type. */\n PLAIN_TEXT = 'PLAIN_TEXT',\n /** Color type. */\n COLOR = 'COLOR',\n}\n\n/** @enumType */\nexport type DescriptionLineTypeWithLiterals =\n | DescriptionLineType\n | 'UNRECOGNISED'\n | 'PLAIN_TEXT'\n | 'COLOR';\n\nexport interface FocalPoint {\n /** X-coordinate of the focal point. */\n x?: number;\n /** Y-coordinate of the focal point. */\n y?: number;\n /** crop by height */\n height?: number | null;\n /** crop by width */\n width?: number | null;\n}\n\nexport interface PhysicalProperties {\n /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n weight?: number | null;\n /**\n * Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).\n * @maxLength 40\n */\n sku?: string | null;\n /** Whether this line item is shippable. */\n shippable?: boolean;\n /**\n * Product dimensions (length, width, height of the physical product).\n * @internal\n */\n productDimensions?: Dimensions;\n /**\n * Package dimensions (length, width, height of the shipping package).\n * @internal\n */\n packageDimensions?: Dimensions;\n}\n\nexport interface Dimensions {\n /**\n * Length. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n length?: string | null;\n /**\n * Width. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n width?: string | null;\n /**\n * Height. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n height?: string | null;\n /** Unit of measurement for dimensions (length, width, height). */\n unit?: DimensionsUnitWithLiterals;\n}\n\nexport enum DimensionsUnit {\n UNKNOWN_DIMENSIONS_UNIT = 'UNKNOWN_DIMENSIONS_UNIT',\n /** Millimeters. */\n MM = 'MM',\n /** Centimeters. */\n CM = 'CM',\n /** Meters. */\n M = 'M',\n /** Inches. */\n IN = 'IN',\n /** Feet. */\n FT = 'FT',\n /** Yards. */\n YD = 'YD',\n}\n\n/** @enumType */\nexport type DimensionsUnitWithLiterals =\n | DimensionsUnit\n | 'UNKNOWN_DIMENSIONS_UNIT'\n | 'MM'\n | 'CM'\n | 'M'\n | 'IN'\n | 'FT'\n | 'YD';\n\nexport interface ItemType extends ItemTypeItemTypeDataOneOf {\n /** Preset item type. */\n preset?: ItemTypePresetWithLiterals;\n /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n custom?: string;\n}\n\n/** @oneof */\nexport interface ItemTypeItemTypeDataOneOf {\n /** Preset item type. */\n preset?: ItemTypePresetWithLiterals;\n /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n custom?: string;\n}\n\nexport enum ItemTypePreset {\n UNRECOGNISED = 'UNRECOGNISED',\n PHYSICAL = 'PHYSICAL',\n DIGITAL = 'DIGITAL',\n GIFT_CARD = 'GIFT_CARD',\n SERVICE = 'SERVICE',\n /** @documentationMaturity preview\n * @internal\n */\n BUNDLE = 'BUNDLE',\n}\n\n/** @enumType */\nexport type ItemTypePresetWithLiterals =\n | ItemTypePreset\n | 'UNRECOGNISED'\n | 'PHYSICAL'\n | 'DIGITAL'\n | 'GIFT_CARD'\n | 'SERVICE';\n\n/** Quantity of items restocked at a specific location. */\nexport interface RestockLocation {\n /**\n * ID of the location where items were restocked.\n * @format GUID\n */\n locationId?: string;\n /**\n * Number of items restocked at this location.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n}\n\n/** Type of selected payment option for catalog item */\nexport enum PaymentOptionType {\n /** The entire payment for this item happens as part of the checkout. */\n FULL_PAYMENT_ONLINE = 'FULL_PAYMENT_ONLINE',\n /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n FULL_PAYMENT_OFFLINE = 'FULL_PAYMENT_OFFLINE',\n /** Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online. */\n MEMBERSHIP = 'MEMBERSHIP',\n /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n DEPOSIT_ONLINE = 'DEPOSIT_ONLINE',\n /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n MEMBERSHIP_OFFLINE = 'MEMBERSHIP_OFFLINE',\n /**\n * Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.\n * @documentationMaturity preview\n */\n MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER = 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n}\n\n/** @enumType */\nexport type PaymentOptionTypeWithLiterals =\n | PaymentOptionType\n | 'FULL_PAYMENT_ONLINE'\n | 'FULL_PAYMENT_OFFLINE'\n | 'MEMBERSHIP'\n | 'DEPOSIT_ONLINE'\n | 'MEMBERSHIP_OFFLINE'\n | 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER';\n\nexport interface ItemTaxFullDetails {\n /** Taxable amount of this line item. */\n taxableAmount?: Price;\n /**\n * ID of the item's tax group, if specified.\n * @internal\n * @format GUID\n */\n taxGroupId?: string | null;\n /**\n * Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`.\n * @decimalValue options { gte:0, maxScale:6 }\n */\n taxRate?: string;\n /** The calculated tax, based on the `taxableAmount` and `taxRate`. */\n totalTax?: Price;\n /**\n * Amount that was exempt from tax calculations.\n * @internal\n */\n exemptAmount?: Price;\n}\n\nexport interface LineItemTaxInfo {\n /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n taxAmount?: Price;\n /** Amount for which tax is calculated. */\n taxableAmount?: Price;\n /**\n * Tax rate %, as a decimal point.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, maxScale:6 }\n */\n taxRate?: string | null;\n /**\n * Tax group ID.\n * @format GUID\n */\n taxGroupId?: string | null;\n /** Indicates whether the price already includes tax. */\n taxIncludedInPrice?: boolean;\n /**\n * Tax information for a line item.\n * @maxSize 7\n */\n taxBreakdown?: LineItemTaxBreakdown[];\n /**\n * Amount of the line item price that was exempt from tax.\n * @internal\n */\n exemptAmount?: Price;\n}\n\n/**\n * TaxBreakdown represents tax information for a line item.\n * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n */\nexport interface LineItemTaxBreakdown {\n /**\n * Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\".\n * @maxLength 200\n */\n jurisdiction?: string | null;\n /**\n * Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, maxScale:6 }\n */\n rate?: string | null;\n /** Amount of tax calculated for this line item. */\n taxAmount?: Price;\n /**\n * The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.\n * @maxLength 200\n */\n taxType?: string | null;\n /**\n * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n * @maxLength 200\n */\n taxName?: string | null;\n /** Type of jurisdiction that taxes were calculated for. */\n jurisdictionType?: JurisdictionTypeWithLiterals;\n /** Non-taxable amount of the line item price. */\n nonTaxableAmount?: Price;\n /** Taxable amount of the line item price. */\n taxableAmount?: Price;\n /**\n * Amount of the line item price that was exempt from this authority.\n * @internal\n */\n exemptAmount?: Price;\n}\n\n/** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\nexport enum JurisdictionType {\n UNDEFINED = 'UNDEFINED',\n COUNTRY = 'COUNTRY',\n STATE = 'STATE',\n COUNTY = 'COUNTY',\n CITY = 'CITY',\n SPECIAL = 'SPECIAL',\n}\n\n/** @enumType */\nexport type JurisdictionTypeWithLiterals =\n | JurisdictionType\n | 'UNDEFINED'\n | 'COUNTRY'\n | 'STATE'\n | 'COUNTY'\n | 'CITY'\n | 'SPECIAL';\n\nexport interface DigitalFile {\n /**\n * ID of the secure file in media.\n * @minLength 1\n * @maxLength 100\n */\n fileId?: string;\n /**\n * Link will exist after the digital links have been generated on the order.\n * @format WEB_URL\n * @minLength 1\n * @maxLength 2000\n */\n link?: string | null;\n /**\n * Link expiration time and date.\n * @readonly\n */\n expirationDate?: Date | null;\n}\n\nexport interface SubscriptionInfo {\n /**\n * Subscription ID.\n * @format GUID\n */\n _id?: string | null;\n /** Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be `3`. */\n cycleNumber?: number;\n /**\n * Subscription option title. For example, `\"Monthly coffee Subscription\"`.\n * @maxLength 150\n * @deprecated Subscription option title. For example, `\"Monthly coffee Subscription\"`.\n * @replacedBy title\n * @targetRemovalDate 2025-10-01\n */\n subscriptionOptionTitle?: string;\n /**\n * Subscription title. For example, `\"Monthly coffee Subscription\"`.\n * @internal\n */\n title?: SubscriptionTitle;\n /**\n * Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.\n * @maxLength 500\n * @deprecated Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.\n * @replacedBy description\n * @targetRemovalDate 2025-10-01\n */\n subscriptionOptionDescription?: string | null;\n /**\n * Subscription description. For example, `\"1kg of selected coffee, once a month\"`.\n * @internal\n */\n description?: SubscriptionDescription;\n /** Subscription detailed information. */\n subscriptionSettings?: SubscriptionSettings;\n /**\n * Description of the charges that will be applied for subscription.\n * @maxLength 1000\n */\n chargesDescription?: string | null;\n /**\n * Details of the billing adjustment applied to the current subscription cycle due to a shift in the subscription’s billing date.\n * @internal\n */\n billingAdjustment?: BillingAdjustment;\n /**\n * Regular price and cycle price of the billing cycle this order covers, when a cycle price\n * override set a different price for that cycle. Absent when the cycle is charged the regular price.\n * @internal\n */\n cyclePriceOverride?: CyclePriceOverride;\n}\n\nexport interface SubscriptionTitle {\n /**\n * Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 150\n */\n original?: string;\n /**\n * Subscription option name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 150\n */\n translated?: string | null;\n}\n\nexport interface SubscriptionDescription {\n /**\n * Subscription option description.\n * @maxLength 500\n */\n original?: string;\n /**\n * Translated subscription option description.\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface SubscriptionSettings {\n /** Frequency of recurring payment. */\n frequency?: V2SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /** Whether subscription is renewed automatically at the end of each period. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`.\n * @min 1\n */\n billingCycles?: number | null;\n /** Whether to allow the customer to cancel the subscription. */\n enableCustomerCancellation?: boolean;\n /** Period until first cycle starts. If None => no free trial */\n freeTrialPeriod?: FreeTrialPeriod;\n /**\n * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n * @internal\n */\n startDate?: Date | null;\n /**\n * Billing configuration for recurring charges.\n * @internal\n */\n billingSettings?: BillingSettings;\n /**\n * Whether the product/service/subscription access period is aligned with the billing period.\n * @internal\n */\n productPeriodAlignment?: ProductPeriodAlignmentWithLiterals;\n}\n\n/** Frequency unit of recurring payment */\nexport enum V2SubscriptionFrequency {\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type V2SubscriptionFrequencyWithLiterals =\n | V2SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\nexport interface FreeTrialPeriod {\n /** Frequency of period. Values: DAY, WEEK, MONTH, YEAR */\n frequency?: V2SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.\n * @min 1\n * @max 3650\n */\n interval?: number;\n}\n\nexport interface BillingSettings {\n /**\n * Day of month (1-28) to anchor recurring billing to. When set, billing recurs on this day each cycle. Does not apply to weekly subscriptions.\n * @min 1\n * @max 28\n */\n anchorDay?: number | null;\n}\n\nexport enum ProductPeriodAlignment {\n /** Billing period equals the product/service/subscription access period. */\n ALIGNED_WITH_BILLING_PERIOD = 'ALIGNED_WITH_BILLING_PERIOD',\n /** Billing period is independent of the product/service/subscription access period. */\n NOT_ALIGNED_WITH_BILLING_PERIOD = 'NOT_ALIGNED_WITH_BILLING_PERIOD',\n}\n\n/** @enumType */\nexport type ProductPeriodAlignmentWithLiterals =\n | ProductPeriodAlignment\n | 'ALIGNED_WITH_BILLING_PERIOD'\n | 'NOT_ALIGNED_WITH_BILLING_PERIOD';\n\nexport interface BillingAdjustment {\n /** The type of adjustment. */\n type?: AdjustmentTypeWithLiterals;\n /** Summary of the prorated adjustment amount. */\n priceSummary?: BillingAdjustmentPriceSummary;\n}\n\nexport enum AdjustmentType {\n /** Adjustment increases the total amount due to changes like covering extra billing days. Typically results in an additional fee. */\n EXTRA_CHARGE = 'EXTRA_CHARGE',\n /** Adjustment reduces the total amount due to changes like covering fewer billing days. Typically results in a credit or discount. */\n CREDIT = 'CREDIT',\n}\n\n/** @enumType */\nexport type AdjustmentTypeWithLiterals =\n | AdjustmentType\n | 'EXTRA_CHARGE'\n | 'CREDIT';\n\nexport interface BillingAdjustmentPriceSummary {\n /** Subtotal of adjustment, before tax. */\n subtotal?: Price;\n /** Tax on adjustment. */\n tax?: Price;\n /** Total price after tax. */\n total?: Price;\n}\n\n/**\n * Cycle price override as applied to a single billing cycle: the regular price and the price the\n * override set for that cycle.\n */\nexport interface CyclePriceOverride {\n /**\n * Billing cycle this order covers. `1` for the order created at checkout.\n * Same value as `subscriptionInfo.cycleNumber`.\n * @min 1\n * @max 999\n */\n cycle?: number;\n /** Regular (recurring) unit price of the line item. */\n basePrice?: Price;\n /** Unit price the cycle price override set for this cycle, before line item discounts (coupons). */\n overriddenPrice?: Price;\n}\n\nexport interface PriceDescription {\n /**\n * __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 100\n */\n original?: string;\n /**\n * Price description translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 100\n */\n translated?: string | null;\n}\n\nexport interface LocationAndQuantity {\n /**\n * Location id in the associated owner app.\n * @format GUID\n */\n _id?: string;\n /**\n * Location owner app, if not provided then the site business info locations will be used.\n * @format GUID\n * @deprecated Location owner app, if not provided then the site business info locations will be used.\n * @targetRemovalDate 2025-03-01\n */\n appId?: string | null;\n /**\n * Quantity for specific location.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Location name.\n * @maxLength 500\n * @readonly\n */\n name?: string | null;\n}\n\nexport interface TaxableAddress extends TaxableAddressTaxableAddressDataOneOf {\n /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n addressType?: TaxableAddressTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface TaxableAddressTaxableAddressDataOneOf {\n /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n addressType?: TaxableAddressTypeWithLiterals;\n}\n\nexport enum TaxableAddressType {\n BUSINESS = 'BUSINESS',\n BILLING = 'BILLING',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type TaxableAddressTypeWithLiterals =\n | TaxableAddressType\n | 'BUSINESS'\n | 'BILLING'\n | 'SHIPPING';\n\n/**\n * Decimal-quantity metadata for a line item.\n *\n * Set on a line item that represents a non-integer-quantity purchase\n * (e.g. \"2.75 square meters of fake grass\", \"1.5 kg of sugar\",\n * \"0.75 hours of consultation\"). When set, the line item must have\n * `fixedQuantity` = true.\n *\n * The decimal value lives in `value`. When `decimalQuantity` is set,\n * consumers read the human-readable quantity from `value` rather\n * than from `lineItem.quantity`.\n */\nexport interface DecimalQuantity extends DecimalQuantityUnitOneOf {\n /** Unit the value is expressed in, selected from the standard `measurementUnit` enum. */\n measurementUnit?: MeasurementUnitWithLiterals;\n /**\n * Free-form unit name for standard units not in the\n * `measurementUnit` enum (e.g. \"hour\", \"minute\", \"session\").\n * @minLength 1\n * @maxLength 50\n */\n otherUnit?: string;\n /**\n * The decimal quantity the buyer / merchant entered.\n *\n * String-encoded decimal. The exact value is preserved — no\n * rounding, no conversion to an integer.\n *\n * Examples: \"2.75\", \"1.5\", \"0.75\".\n * @decimalValue options { gt:0, lte:1000000000000000, maxScale:4 }\n */\n value?: string;\n /**\n * Human-readable, pre-formatted display string for the quantity. For example, \"2.75 square meters of fake grass\".\n * Always set alongside `value`; use this directly for display rather than composing your own string from `value` and `unit`.\n */\n description?: TranslatableString;\n}\n\n/** @oneof */\nexport interface DecimalQuantityUnitOneOf {\n /** Unit the value is expressed in, selected from the standard `measurementUnit` enum. */\n measurementUnit?: MeasurementUnitWithLiterals;\n /**\n * Free-form unit name for standard units not in the\n * `measurementUnit` enum (e.g. \"hour\", \"minute\", \"session\").\n * @minLength 1\n * @maxLength 50\n */\n otherUnit?: string;\n}\n\nexport interface TranslatableString {\n /**\n * __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n *\n * Min: 1 character.\n * Max: 200 characters.\n * @minLength 1\n * @maxLength 200\n */\n original?: string;\n /**\n * String translated into the buyer's language.\n *\n * Min: 1 character.\n * Max: 400 characters.\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 400\n */\n translated?: string | null;\n}\n\nexport enum MeasurementUnit {\n UNSPECIFIED = 'UNSPECIFIED',\n ML = 'ML',\n CL = 'CL',\n L = 'L',\n CBM = 'CBM',\n MG = 'MG',\n G = 'G',\n KG = 'KG',\n MM = 'MM',\n CM = 'CM',\n M = 'M',\n SQM = 'SQM',\n OZ = 'OZ',\n LB = 'LB',\n FLOZ = 'FLOZ',\n PT = 'PT',\n QT = 'QT',\n GAL = 'GAL',\n IN = 'IN',\n FT = 'FT',\n YD = 'YD',\n SQFT = 'SQFT',\n}\n\n/** @enumType */\nexport type MeasurementUnitWithLiterals =\n | MeasurementUnit\n | 'UNSPECIFIED'\n | 'ML'\n | 'CL'\n | 'L'\n | 'CBM'\n | 'MG'\n | 'G'\n | 'KG'\n | 'MM'\n | 'CM'\n | 'M'\n | 'SQM'\n | 'OZ'\n | 'LB'\n | 'FLOZ'\n | 'PT'\n | 'QT'\n | 'GAL'\n | 'IN'\n | 'FT'\n | 'YD'\n | 'SQFT';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface ModifierGroup {\n /**\n * Modifier group ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /** Modifier group name. */\n name?: TranslatableString;\n /**\n * List of modifiers in this group.\n * @minSize 1\n * @maxSize 10\n */\n modifiers?: ItemModifier[];\n}\n\nexport interface ItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /**\n * The quantity of this modifier.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n /** Primary display label for the modifier. */\n label?: TranslatableString;\n /** Additional details. */\n details?: TranslatableString;\n /** The price of the modifier. */\n price?: Price;\n}\n\nexport interface ServiceProperties {\n /**\n * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * For example, the start time of a class.\n */\n scheduledDate?: Date | null;\n /**\n * The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.\n * @min 1\n * @max 10000\n */\n numberOfParticipants?: number | null;\n /**\n * Date and time the service is to be ended, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * For example, the date and time a class will end.\n * @internal\n */\n endDate?: Date | null;\n}\n\n/** Buyer information. */\nexport interface BuyerInfo extends BuyerInfoIdOneOf {\n /**\n * Visitor ID. Returned when the buyer isn't a logged-in site member.\n * @format GUID\n */\n visitorId?: string;\n /**\n * Member ID. Returned when the buyer is a logged-in site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * Contact ID. Automatically created if one doesn't exist. For more information, see [Contacts API](https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts/contact-v4/introduction).\n * @format GUID\n */\n contactId?: string | null;\n /**\n * Buyer's email address.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/** @oneof */\nexport interface BuyerInfoIdOneOf {\n /**\n * Visitor ID. Returned when the buyer isn't a logged-in site member.\n * @format GUID\n */\n visitorId?: string;\n /**\n * Member ID. Returned when the buyer is a logged-in site member.\n * @format GUID\n */\n memberId?: string;\n}\n\nexport enum WeightUnit {\n /** Weight unit can't be classified due to an error. */\n UNSPECIFIED_WEIGHT_UNIT = 'UNSPECIFIED_WEIGHT_UNIT',\n /** Kilograms. */\n KG = 'KG',\n /** Pounds. */\n LB = 'LB',\n}\n\n/** @enumType */\nexport type WeightUnitWithLiterals =\n | WeightUnit\n | 'UNSPECIFIED_WEIGHT_UNIT'\n | 'KG'\n | 'LB';\n\nexport interface CurrencyConversionDetails {\n /**\n * Currency used for the pricing of this order, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.\n *\n * This currency is used to calculate the pricing before conversion to the buyer's payment currency.\n * @readonly\n * @immutable\n * @format CURRENCY\n */\n originalCurrency?: string | null;\n /**\n * The rate used for converting the original currency to the currency used for payment.\n *\n * Returned only when a single rate produced every amount on the order.\n * This is the case for an order converted once at checkout.\n * @readonly\n * @decimalValue options { gt:0, lte:1000000000000000 }\n */\n conversionRate?: string | null;\n}\n\nexport interface PriceSummary {\n /** Subtotal of all line items, before discounts and before tax. */\n subtotal?: Price;\n /** Total shipping price, before discounts and before tax. */\n shipping?: Price;\n /** Total tax applied to the order. */\n tax?: Price;\n /** Total discount amount applied to the order. */\n discount?: Price;\n /**\n * Deprecated - use `total` instead.\n * @internal\n * @deprecated\n */\n totalPrice?: Price;\n /** Order's total price after discounts and tax. */\n total?: Price;\n /**\n * Order's total price including gift card.\n * @internal\n * @deprecated\n */\n totalWithGiftCard?: Price;\n /**\n * Order's total price after without gift card.\n * @internal\n * @deprecated\n */\n totalWithoutGiftCard?: Price;\n /** Total additional fees before tax. */\n totalAdditionalFees?: Price;\n}\n\nexport interface PlatformFeeSummary {\n /** Total sum of all platform fees. */\n total?: Price;\n /** Total amount of platform fees with `PASS_ON` charge type. */\n totalPassOn?: Price;\n /** Total amount of platform fees with `ABSORBED` charge type. */\n totalAbsorbed?: Price;\n /**\n * Specific information about each platform fee.\n * @maxSize 300\n */\n fees?: PlatformFee[];\n}\n\nexport interface PlatformFee {\n /** Platform fee name. */\n name?: TranslatableString;\n /** Platform fee amount. */\n amount?: Price;\n /**\n * ID of the line item the platform fee applies to.\n * @format GUID\n */\n lineItemId?: string;\n /** Platform fee charge type. */\n chargeType?: ChargeTypeWithLiterals;\n /**\n * Percentage rate charged as platform fee.\n * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.\n * @format DECIMAL_VALUE\n * @decimalValue options { gt:0, lte:1, maxScale:4 }\n */\n percentageRate?: string;\n}\n\nexport enum ChargeType {\n /**\n * Platform fee passed on to buyer.\n *\n * This type increases the order total, and is visible to the buyer and merchant as an additional fee.\n */\n PASS_ON = 'PASS_ON',\n /**\n * Platform fee absorbed by merchant.\n *\n * This type does not increase the order total, and is only visible to the merchant.\n */\n ABSORBED = 'ABSORBED',\n}\n\n/** @enumType */\nexport type ChargeTypeWithLiterals = ChargeType | 'PASS_ON' | 'ABSORBED';\n\n/** Billing Info and shipping details */\nexport interface AddressWithContact {\n /** Address. */\n address?: Address;\n /** Contact details. */\n contactDetails?: FullAddressContactDetails;\n}\n\n/** Physical address */\nexport interface Address {\n /**\n * Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.\n * @format COUNTRY\n */\n country?: string | null;\n /**\n * Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.\n * @maxLength 50\n */\n subdivision?: string | null;\n /**\n * City name.\n * @maxLength 50\n */\n city?: string | null;\n /**\n * Postal or zip code.\n * @maxLength 50\n */\n postalCode?: string | null;\n /** Street address. */\n streetAddress?: StreetAddress;\n /**\n * Main address line (usually street name and number).\n * @maxLength 150\n */\n addressLine1?: string | null;\n /**\n * Free text providing more detailed address info. Usually contains apt, suite, floor.\n * @maxLength 100\n */\n addressLine2?: string | null;\n /** Geocode object containing latitude and longitude coordinates. */\n location?: AddressLocation;\n /**\n * Country's full name.\n * @readonly\n */\n countryFullname?: string | null;\n /**\n * Subdivision full-name.\n * @readonly\n */\n subdivisionFullname?: string | null;\n}\n\nexport interface StreetAddress {\n /** Street number. */\n number?: string;\n /** Street name. */\n name?: string;\n /**\n * Apartment number.\n * @internal\n */\n apt?: string;\n /**\n * Optional address line 1\n * @internal\n */\n formattedAddressLine?: string | null;\n}\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\n/** Full contact details for an address */\nexport interface FullAddressContactDetails {\n /**\n * First name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Company name.\n * @maxLength 1000\n */\n company?: string | null;\n /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n vatId?: VatId;\n}\n\nexport interface VatId {\n /** Customer's tax ID. */\n _id?: string;\n /**\n * Tax type.\n *\n * Supported values:\n * + `CPF`: for individual tax payers\n * + `CNPJ`: for corporations\n */\n type?: VatTypeWithLiterals;\n}\n\n/** tax info types */\nexport enum VatType {\n UNSPECIFIED = 'UNSPECIFIED',\n /** CPF - for individual tax payers. */\n CPF = 'CPF',\n /** CNPJ - for corporations */\n CNPJ = 'CNPJ',\n}\n\n/** @enumType */\nexport type VatTypeWithLiterals = VatType | 'UNSPECIFIED' | 'CPF' | 'CNPJ';\n\nexport interface ShippingInformation {\n /**\n * App Def Id of external provider which was a source of shipping info\n * @minLength 1\n * @maxLength 100\n */\n carrierId?: string | null;\n /**\n * Unique code (or ID) of selected shipping option. For example, `\"usps_std_overnight\"`.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /**\n * Shipping option title.\n * For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"` or `\"First-Class Package International\"`.\n * @maxLength 250\n */\n title?: string;\n /** Shipping logistics. */\n logistics?: DeliveryLogistics;\n /** Shipping costs. */\n cost?: ShippingPrice;\n /** Shipping region. */\n region?: ShippingRegion;\n}\n\nexport interface DeliveryLogistics extends DeliveryLogisticsAddressOneOf {\n /** Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address. */\n shippingDestination?: AddressWithContact;\n /** Pickup details for store pickup or pickup point orders. */\n pickupDetails?: PickupDetails;\n /**\n * Expected delivery time in free text. For example, `\"3-5 business days\"`.\n * @maxLength 500\n */\n deliveryTime?: string | null;\n /**\n * Instructions for the carrier. For example, `\"Please knock on the door. If unanswered, please call contact number.\"`.\n * @maxLength 1000\n */\n instructions?: string | null;\n /**\n * Deprecated - Latest expected delivery date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * @deprecated\n */\n deliverByDate?: Date | null;\n /** Expected delivery time slot with start and end times. */\n deliveryTimeSlot?: DeliveryTimeSlot;\n}\n\n/** @oneof */\nexport interface DeliveryLogisticsAddressOneOf {\n /** Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address. */\n shippingDestination?: AddressWithContact;\n /** Pickup details for store pickup or pickup point orders. */\n pickupDetails?: PickupDetails;\n}\n\nexport interface PickupDetails {\n /** Pickup address. */\n address?: PickupAddress;\n /** Pickup method */\n pickupMethod?: PickupMethodWithLiterals;\n}\n\n/** Physical address */\nexport interface PickupAddress {\n /**\n * Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.\n * @format COUNTRY\n */\n country?: string | null;\n /**\n * Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.\n * @maxLength 50\n */\n subdivision?: string | null;\n /**\n * City name.\n * @maxLength 1000\n */\n city?: string | null;\n /**\n * Postal or zip code.\n * @maxLength 1000\n */\n postalCode?: string | null;\n /** Street address object, with number, name, and apartment number in separate fields. */\n streetAddress?: StreetAddress;\n /**\n * Main address line (usually street name and number).\n * @maxLength 1000\n */\n addressLine1?: string | null;\n /**\n * Free text providing more detailed address info. Usually contains apt, suite, floor.\n * @maxLength 1000\n */\n addressLine2?: string | null;\n /**\n * Country's full name.\n * @readonly\n */\n countryFullname?: string | null;\n /**\n * Subdivision full-name.\n * @readonly\n */\n subdivisionFullname?: string | null;\n /** @internal */\n location?: AddressLocation;\n}\n\nexport enum PickupMethod {\n STORE_PICKUP = 'STORE_PICKUP',\n PICKUP_POINT = 'PICKUP_POINT',\n}\n\n/** @enumType */\nexport type PickupMethodWithLiterals =\n | PickupMethod\n | 'STORE_PICKUP'\n | 'PICKUP_POINT';\n\nexport interface DeliveryTimeSlot {\n /** Delivery slot starting time. */\n from?: Date | null;\n /** Delivery slot ending time. */\n to?: Date | null;\n}\n\nexport interface ShippingPrice {\n /** Shipping price for display purposes. */\n price?: Price;\n /**\n * Total price of shipping after discounts (when relevant), and before tax.\n * @readonly\n */\n totalPriceBeforeTax?: Price;\n /**\n * Shipping price after all discounts (if any exist), and after tax.\n * @readonly\n */\n totalPriceAfterTax?: Price;\n /**\n * Tax details.\n * @deprecated Tax details.\n * @replacedBy tax_info\n * @targetRemovalDate 2026-03-30\n */\n taxDetails?: ItemTaxFullDetails;\n /** Represents all the relevant tax details for a shipping. */\n taxInfo?: LineItemTaxInfo;\n /**\n * Shipping discount before tax.\n * @readonly\n */\n discount?: Price;\n}\n\nexport interface ShippingRegion {\n /**\n * Name of shipping region. For example, `\"Metropolitan London\"`, or `\"Outer Melbourne suburbs\"`.\n * @maxLength 100\n */\n name?: string | null;\n}\n\nexport interface OrderTaxInfo {\n /** Calculated tax, added from line items. */\n totalTax?: Price;\n /**\n * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n * @maxSize 50\n */\n taxBreakdown?: OrderTaxBreakdown[];\n /**\n * Manual tax rate\n * @internal\n * @decimalValue options { gte:0 }\n * @readonly\n */\n manualTaxRate?: string | null;\n /**\n * Whether the order is exempt from tax calculations.\n *\n * Default: `false`\n * @readonly\n */\n taxExempt?: boolean | null;\n /**\n * The total amount that was exempt from tax calculations.\n * @internal\n * @readonly\n */\n totalExempt?: Price;\n}\n\n/**\n * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n */\nexport interface OrderTaxBreakdown {\n /**\n * The name of the tax against which this tax amount was calculated.\n * @maxLength 200\n */\n taxName?: string;\n /**\n * The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws.\n * @maxLength 200\n */\n taxType?: string;\n /**\n * The name of the jurisdiction in which this tax detail applies.\n * @maxLength 200\n */\n jurisdiction?: string;\n /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n jurisdictionType?: JurisdictionTypeWithLiterals;\n /**\n * The rate at which this tax detail was calculated.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, maxScale:6 }\n */\n rate?: string;\n /** The sum of all the tax from line items that calculated by the tax identifiers. */\n aggregatedTaxAmount?: Price;\n /**\n * The sum of all the taxable amount from line items for tax identifiers.\n * @internal\n */\n aggregatedTaxableAmount?: Price;\n /**\n * The aggregated exempt amount from all line items for tax identifiers.\n * @internal\n */\n aggregatedExemptAmount?: Price;\n}\n\nexport interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n /** Coupon applied by the customer. */\n coupon?: Coupon;\n /** Discount applied manually by the merchant. */\n merchantDiscount?: MerchantDiscount;\n /** Automatic discount applied by the system based on configured discount rules. */\n discountRule?: DiscountRule;\n discountType?: DiscountTypeWithLiterals;\n /**\n * __Deprecated.__ Use `lineItemDiscounts` instead.\n *\n * IDs of line items the discount applies to.\n * @format GUID\n * @maxSize 300\n * @deprecated __Deprecated.__ Use `lineItemDiscounts` instead.\n *\n * IDs of line items the discount applies to.\n * @replacedBy line_item_discounts\n * @targetRemovalDate 2024-10-30\n */\n lineItemIds?: string[];\n /**\n * Discount ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Line items the discount applies to, including the discount amount for each.\n * @maxSize 300\n */\n lineItemDiscounts?: LineItemDiscount[];\n /**\n * Number of subscription billing cycles the discount applies to.\n * If None and discount is linked to subscription line item, it applies to all cycles.\n * @internal\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /**\n * A list of item combinations for this applied discount.\n * Each entry represents a unique combination of line items that triggered\n * or received this discount, along with how many times that combination was applied together.\n * Relevant ONLY for BXGY and Quantity-based promotions.\n * In BXGY the combination will contain the \"X\" items with discount amount of 0.\n * @internal\n * @maxSize 1000\n */\n itemCombinations?: ItemCombination[];\n}\n\n/** @oneof */\nexport interface AppliedDiscountDiscountSourceOneOf {\n /** Coupon applied by the customer. */\n coupon?: Coupon;\n /** Discount applied manually by the merchant. */\n merchantDiscount?: MerchantDiscount;\n /** Automatic discount applied by the system based on configured discount rules. */\n discountRule?: DiscountRule;\n}\n\n/** Type of discount. */\nexport enum DiscountType {\n /** Discount applies to the entire order. */\n GLOBAL = 'GLOBAL',\n /** Discount applies to specific items. */\n SPECIFIC_ITEMS = 'SPECIFIC_ITEMS',\n /** Discount applies to shipping. For example, free shipping. */\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n | DiscountType\n | 'GLOBAL'\n | 'SPECIFIC_ITEMS'\n | 'SHIPPING';\n\n/** Coupon */\nexport interface Coupon {\n /** Coupon ID. */\n _id?: string;\n /** Coupon code. */\n code?: string;\n /** Coupon name. */\n name?: string;\n /** Coupon value. */\n amount?: Price;\n}\n\n/** Discount applied manually by the merchant through the dashboard. */\nexport interface MerchantDiscount\n extends MerchantDiscountMerchantDiscountReasonOneOf {\n /** Predefined discount reason. */\n discountReason?: DiscountReasonWithLiterals;\n /**\n * Custom discount description as free text.\n * @maxLength 200\n */\n description?: string | null;\n /** Discount amount. */\n amount?: Price;\n /**\n * Discount as a percentage of the original price. For example, `10.5` for a 10.5% discount.\n * @internal\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0.01, lte:100, maxScale:2 }\n */\n percentage?: string | null;\n /**\n * Discount name.\n * @internal\n * @maxLength 200\n */\n name?: string | null;\n}\n\n/** @oneof */\nexport interface MerchantDiscountMerchantDiscountReasonOneOf {\n /** Predefined discount reason. */\n discountReason?: DiscountReasonWithLiterals;\n /**\n * Custom discount description as free text.\n * @maxLength 200\n */\n description?: string | null;\n}\n\n/** Predefined reason for the discount. */\nexport enum DiscountReason {\n /** Unknown discount reason. */\n UNSPECIFIED = 'UNSPECIFIED',\n /** Balance adjustment resulting from an item exchange. */\n EXCHANGED_ITEMS = 'EXCHANGED_ITEMS',\n /** Proportional discount for a shortened subscription billing cycle. Applied when a subscription's billing date is moved earlier, reducing the cycle length. */\n BILLING_ADJUSTMENT = 'BILLING_ADJUSTMENT',\n}\n\n/** @enumType */\nexport type DiscountReasonWithLiterals =\n | DiscountReason\n | 'UNSPECIFIED'\n | 'EXCHANGED_ITEMS'\n | 'BILLING_ADJUSTMENT';\n\nexport interface DiscountRule {\n /**\n * Discount rule ID\n * @format GUID\n */\n _id?: string;\n /** Discount rule name */\n name?: DiscountRuleName;\n /** Discount value. */\n amount?: Price;\n}\n\nexport interface DiscountRuleName {\n /**\n * Original discount rule name (in site's default language).\n * @minLength 1\n * @maxLength 256\n */\n original?: string;\n /**\n * Translated discount rule name according to buyer language. Defaults to `original` when not provided.\n * @minLength 1\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface LineItemDiscount {\n /**\n * Line item ID.\n * @format GUID\n */\n _id?: string;\n /** Total discount amount for this line item. */\n totalDiscount?: Price;\n}\n\nexport interface ItemCombination {\n /**\n * The number of times this exact combination of items (with the specified quantities) was applied together in the order.\n * @min 1\n * @max 100000\n */\n count?: number;\n /**\n * Line items that participated together in this combination.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: ItemCombinationLineItem[];\n}\n\nexport interface ItemCombinationLineItem {\n /**\n * The unique ID of the line item to which this discount applies.\n * @format GUID\n */\n lineItemId?: string;\n /** Total discount amount for all units (quantity) of this line item in this combination. */\n discountAmount?: Price;\n /**\n * Number of units from this line item that participated in a single combination.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n}\n\nexport interface ChannelInfo {\n /**\n * Sales channel that submitted the order.\n *\n * When creating an order via the API to record an external order, use the channel type that matches the original source. If no matching type exists, use `OTHER_PLATFORM`.\n */\n type?: ChannelTypeWithLiterals;\n /**\n * Reference to an order ID from an external system. Relevant when recording orders from external platforms.\n * @maxLength 100\n */\n externalOrderId?: string | null;\n /**\n * URL to the order in the external system. Relevant when recording orders from external platforms.\n * @maxLength 300\n */\n externalOrderUrl?: string | null;\n}\n\nexport enum ChannelType {\n /** Unspecified sales channel. This value is not supported. */\n UNSPECIFIED = 'UNSPECIFIED',\n /** A web client. */\n WEB = 'WEB',\n /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n POS = 'POS',\n /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n EBAY = 'EBAY',\n /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n AMAZON = 'AMAZON',\n /** Other sales platform. */\n OTHER_PLATFORM = 'OTHER_PLATFORM',\n /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n WIX_APP_STORE = 'WIX_APP_STORE',\n /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n WIX_INVOICES = 'WIX_INVOICES',\n /** Wix merchant backoffice. */\n BACKOFFICE_MERCHANT = 'BACKOFFICE_MERCHANT',\n /** Wish sales channel. */\n WISH = 'WISH',\n /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n CLASS_PASS = 'CLASS_PASS',\n /** Global-E sales channel. */\n GLOBAL_E = 'GLOBAL_E',\n /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n FACEBOOK = 'FACEBOOK',\n /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n ETSY = 'ETSY',\n /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n TIKTOK = 'TIKTOK',\n /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n FAIRE_COM = 'FAIRE_COM',\n /** PayPal Agentic Checkout sales channel. */\n PAYPAL_AGENTIC_CHECKOUT = 'PAYPAL_AGENTIC_CHECKOUT',\n /** Stripe Agentic Checkout sales channel. */\n STRIPE_AGENTIC_CHECKOUT = 'STRIPE_AGENTIC_CHECKOUT',\n /**\n * Wix Invoices platform app\n * @documentationMaturity preview\n * @internal\n */\n WIX_INVOICES_PLATFORM = 'WIX_INVOICES_PLATFORM',\n /**\n * UCP (Universal Checkout Protocol) Agentic Checkout sales channel.\n * @documentationMaturity preview\n * @internal\n */\n UCP_AGENTIC_CHECKOUT = 'UCP_AGENTIC_CHECKOUT',\n /**\n * Meta Agentic Checkout sales channel.\n * @documentationMaturity preview\n * @internal\n */\n META_AGENTIC_CHECKOUT = 'META_AGENTIC_CHECKOUT',\n /**\n * Google Agentic Checkout sales channel.\n * @documentationMaturity preview\n * @internal\n */\n GOOGLE_AGENTIC_CHECKOUT = 'GOOGLE_AGENTIC_CHECKOUT',\n}\n\n/** @enumType */\nexport type ChannelTypeWithLiterals =\n | ChannelType\n | 'UNSPECIFIED'\n | 'WEB'\n | 'POS'\n | 'EBAY'\n | 'AMAZON'\n | 'OTHER_PLATFORM'\n | 'WIX_APP_STORE'\n | 'WIX_INVOICES'\n | 'BACKOFFICE_MERCHANT'\n | 'WISH'\n | 'CLASS_PASS'\n | 'GLOBAL_E'\n | 'FACEBOOK'\n | 'ETSY'\n | 'TIKTOK'\n | 'FAIRE_COM'\n | 'PAYPAL_AGENTIC_CHECKOUT'\n | 'STRIPE_AGENTIC_CHECKOUT';\n\nexport interface CustomField {\n /** Custom field value. */\n value?: any;\n /**\n * Custom field title.\n * @minLength 1\n * @maxLength 500\n */\n title?: string;\n /**\n * Translated custom field title.\n * @minLength 1\n * @maxLength 500\n */\n translatedTitle?: string | null;\n}\n\nexport interface V1SubscriptionTitle {\n /**\n * Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 150\n */\n original?: string;\n /**\n * Subscription option name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 150\n */\n translated?: string | null;\n}\n\nexport interface AdditionalFee {\n /**\n * Additional fee's unique code for future processing.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /**\n * Name of additional fee.\n * @minLength 1\n * @maxLength 50\n */\n name?: string;\n /** Additional fee's price. */\n price?: Price;\n /**\n * Tax details.\n * @deprecated Tax details.\n * @replacedBy tax_info\n * @targetRemovalDate 2026-03-30\n */\n taxDetails?: ItemTaxFullDetails;\n /** Represents all the relevant tax details for additional fee. */\n taxInfo?: LineItemTaxInfo;\n /**\n * SPI implementer's `appId`.\n * @format GUID\n */\n providerAppId?: string | null;\n /** Additional fee's price before tax. */\n priceBeforeTax?: Price;\n /** Additional fee's price after tax. */\n priceAfterTax?: Price;\n /**\n * Additional fee's id.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Optional - Line items associated with this additional fee.\n * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n * @format GUID\n */\n lineItemIds?: string[];\n /**\n * Number of subscription billing cycles the additional fee applies to.\n * If None and additional fee is linked to subscription line item, it applies to all cycles.\n * @internal\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /** Specifies the entity that added the additional fee. */\n source?: AdditionalFeeSourceWithLiterals;\n /** Address type tax was calculated against for this fee. */\n taxableAddress?: TaxableAddress;\n}\n\nexport enum AdditionalFeeSource {\n /** The additional fee was added by an additional fee service plugin. */\n SERVICE_PLUGIN = 'SERVICE_PLUGIN',\n /** The additional fee was added to the item by a catalog or custom line item. */\n ITEM = 'ITEM',\n /** The additional fee was added manually on request. */\n MANUAL = 'MANUAL',\n /** The additional fee was added by the shipping provider. */\n SHIPPING = 'SHIPPING',\n /** The additional fee was added by the Wix eCommerce platform. */\n PLATFORM = 'PLATFORM',\n}\n\n/** @enumType */\nexport type AdditionalFeeSourceWithLiterals =\n | AdditionalFeeSource\n | 'SERVICE_PLUGIN'\n | 'ITEM'\n | 'MANUAL'\n | 'SHIPPING'\n | 'PLATFORM';\n\nexport interface Location {\n /**\n * Location ID.\n * Learn more about the [Wix Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n * @format GUID\n */\n _id?: string;\n /**\n * Location name.\n * @minLength 1\n * @maxLength 500\n * @readonly\n */\n name?: string;\n}\n\nexport interface SubscriptionContractSettings {\n /** Indicates which coupon calculation model was used when creating this contract. */\n specificItemsCouponBehavior?: SpecificItemsCouponBehaviorWithLiterals;\n}\n\nexport enum SpecificItemsCouponBehavior {\n /** Coupon calculation behavior was not specified. */\n UNDEFINED_COUPON_BEHAVIOR = 'UNDEFINED_COUPON_BEHAVIOR',\n /** Item subtotal includes coupon discount. */\n ITEM_SUBTOTAL_INCLUDES_DISCOUNT = 'ITEM_SUBTOTAL_INCLUDES_DISCOUNT',\n /**\n * Legacy flow.\n * Discount is applied as to specific items after subtotal calculation.\n */\n LEGACY_ITEM_SUBTOTAL_DOES_NOT_INCLUDE_DISCOUNT = 'LEGACY_ITEM_SUBTOTAL_DOES_NOT_INCLUDE_DISCOUNT',\n}\n\n/** @enumType */\nexport type SpecificItemsCouponBehaviorWithLiterals =\n | SpecificItemsCouponBehavior\n | 'UNDEFINED_COUPON_BEHAVIOR'\n | 'ITEM_SUBTOTAL_INCLUDES_DISCOUNT'\n | 'LEGACY_ITEM_SUBTOTAL_DOES_NOT_INCLUDE_DISCOUNT';\n\nexport interface SubscriptionContractActivity\n extends SubscriptionContractActivityTargetOneOf,\n SubscriptionContractActivityContentOneOf {\n /** Scopes the draft to the contract level, applying to all future cycles. */\n contractTarget?: ContractTarget;\n /** Changes committed from a DraftSubscriptionContract. */\n changesApplied?: ChangesAppliedActivity;\n /**\n * Activity ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * When the activity occurred.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Identity of the draft order's initiator.\n * @readonly\n */\n author?: ActivityAuthor;\n /** Activity type. */\n activityType?: ActivityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface SubscriptionContractActivityTargetOneOf {\n /** Scopes the draft to the contract level, applying to all future cycles. */\n contractTarget?: ContractTarget;\n}\n\n/** @oneof */\nexport interface SubscriptionContractActivityContentOneOf {\n /** Changes committed from a DraftSubscriptionContract. */\n changesApplied?: ChangesAppliedActivity;\n}\n\n/** Scopes the draft to the contract level, applying to all future cycles. */\nexport interface ContractTarget {\n /** Cycle number of the next billing cycle (1-based). Set by the caller; returned by the server on read. */\n nextCycleNumber?: number | null;\n}\n\nexport interface ActivityAuthor extends ActivityAuthorValueOneOf {\n /**\n * User ID. When the draft order was created by a Wix user.\n * @format GUID\n */\n userId?: string;\n /**\n * App ID. When the draft order was created by an app.\n * @format GUID\n */\n appId?: string;\n}\n\n/** @oneof */\nexport interface ActivityAuthorValueOneOf {\n /**\n * User ID. When the draft order was created by a Wix user.\n * @format GUID\n */\n userId?: string;\n /**\n * App ID. When the draft order was created by an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport interface ChangesAppliedActivity\n extends ChangesAppliedActivityTargetOneOf {\n /** Scopes the draft to the contract level, applying to all future cycles. */\n contractTarget?: ContractTarget;\n /**\n * ID of the DraftSubscriptionContract that was committed.\n * @format GUID\n */\n draftSubscriptionContractId?: string;\n /**\n * Individual typed changes applied.\n * @maxSize 100\n */\n changes?: ContractChange[];\n /**\n * Reason for the edit, provided by the merchant (optional).\n * @maxLength 200\n */\n reason?: string | null;\n}\n\n/** @oneof */\nexport interface ChangesAppliedActivityTargetOneOf {\n /** Scopes the draft to the contract level, applying to all future cycles. */\n contractTarget?: ContractTarget;\n}\n\nexport interface ContractChange extends ContractChangeValueOneOf {\n /** Line item was modified. */\n lineItemChanged?: LineItemChanges;\n /** Line item was added to the contract. */\n lineItemAdded?: ManagedLineItem;\n /** Line item was removed from the contract. */\n lineItemRemoved?: ManagedLineItem;\n /** Discount was added to the contract. */\n discountAdded?: ManagedDiscount;\n /** Discount was removed from the contract. */\n discountRemoved?: ManagedDiscount;\n /** Additional fee was added to the contract. */\n additionalFeeAdded?: ManagedAdditionalFee;\n /** Additional fee was removed from the contract. */\n additionalFeeRemoved?: ManagedAdditionalFee;\n /** Total price changed. */\n totalPriceChanged?: TotalPriceChange;\n}\n\n/** @oneof */\nexport interface ContractChangeValueOneOf {\n /** Line item was modified. */\n lineItemChanged?: LineItemChanges;\n /** Line item was added to the contract. */\n lineItemAdded?: ManagedLineItem;\n /** Line item was removed from the contract. */\n lineItemRemoved?: ManagedLineItem;\n /** Discount was added to the contract. */\n discountAdded?: ManagedDiscount;\n /** Discount was removed from the contract. */\n discountRemoved?: ManagedDiscount;\n /** Additional fee was added to the contract. */\n additionalFeeAdded?: ManagedAdditionalFee;\n /** Additional fee was removed from the contract. */\n additionalFeeRemoved?: ManagedAdditionalFee;\n /** Total price changed. */\n totalPriceChanged?: TotalPriceChange;\n}\n\nexport interface LineItemChanges {\n /**\n * Line item ID.\n * @format GUID\n */\n _id?: string;\n /** Item name after change. */\n name?: ProductName;\n /** Item quantity change. */\n quantity?: LineItemQuantityChange;\n}\n\nexport enum LineItemQuantityChangeType {\n QUANTITY_INCREASED = 'QUANTITY_INCREASED',\n QUANTITY_DECREASED = 'QUANTITY_DECREASED',\n}\n\n/** @enumType */\nexport type LineItemQuantityChangeTypeWithLiterals =\n | LineItemQuantityChangeType\n | 'QUANTITY_INCREASED'\n | 'QUANTITY_DECREASED';\n\nexport interface LineItemQuantityChange {\n /**\n * Original item quantity before the change.\n * @max 1000000\n */\n originalQuantity?: number;\n /**\n * New item quantity after the change.\n * @max 1000000\n */\n newQuantity?: number;\n /**\n * Difference between new and original quantities.\n * @min 1\n * @max 1000000\n */\n diff?: number;\n /** Direction of the quantity change. */\n deltaType?: LineItemQuantityChangeTypeWithLiterals;\n}\n\nexport interface ManagedLineItem {\n /**\n * Line item ID.\n * @format GUID\n */\n _id?: string;\n /** Item name. */\n name?: ProductName;\n /**\n * Added or removed item quantity.\n * @min 1\n * @max 1000000\n */\n quantity?: number;\n}\n\nexport interface ManagedDiscount {\n /**\n * Discount ID.\n * @format GUID\n */\n _id?: string;\n /** Discount name. */\n name?: TranslatedValue;\n /** Discount amount. */\n totalAmount?: Price;\n}\n\nexport interface TranslatedValue {\n /**\n * Value in site default language.\n * @minLength 1\n */\n original?: string;\n /**\n * Translated value.\n * @minLength 1\n */\n translated?: string | null;\n}\n\nexport interface ManagedAdditionalFee {\n /**\n * Additional fee ID.\n * @format GUID\n */\n _id?: string;\n /** Additional fee name. */\n name?: TranslatedValue;\n /** Additional fee amount. */\n totalAmount?: Price;\n}\n\nexport interface TotalPriceChange {\n /** Total price before the commit. */\n originalTotal?: Price;\n /** Total price after the commit. */\n newTotal?: Price;\n}\n\nexport enum ActivityType {\n UNKNOWN_ACTIVITY_TYPE = 'UNKNOWN_ACTIVITY_TYPE',\n CHANGES_APPLIED = 'CHANGES_APPLIED',\n}\n\n/** @enumType */\nexport type ActivityTypeWithLiterals =\n | ActivityType\n | 'UNKNOWN_ACTIVITY_TYPE'\n | 'CHANGES_APPLIED';\n\n/** Triggered when a subscription contract has been canceled before its designated end date. */\nexport interface SubscriptionContractCanceled {\n /** The subscription contract that was canceled. */\n subscriptionContract?: SubscriptionContract;\n /** Who initiated the cancellation. */\n initiator?: ActionInitiatorWithLiterals;\n /**\n * Reason for cancellation.\n * @maxLength 500\n */\n reason?: string | null;\n}\n\nexport enum ActionInitiator {\n UNKNOWN_ACTION_INITIATOR = 'UNKNOWN_ACTION_INITIATOR',\n BUSINESS = 'BUSINESS',\n CUSTOMER = 'CUSTOMER',\n SYSTEM = 'SYSTEM',\n PAYMENT_FAILURE = 'PAYMENT_FAILURE',\n}\n\n/** @enumType */\nexport type ActionInitiatorWithLiterals =\n | ActionInitiator\n | 'UNKNOWN_ACTION_INITIATOR'\n | 'BUSINESS'\n | 'CUSTOMER'\n | 'SYSTEM'\n | 'PAYMENT_FAILURE';\n\n/** Triggered when a subscription contract has expired after completing all billing cycles. */\nexport interface SubscriptionContractExpired {\n /** The subscription contract that expired. */\n subscriptionContract?: SubscriptionContract;\n}\n\n/**\n * ACTION event payload emitted after a successful commit.\n * Carries the full delta — downstream consumers (email notifications, activity feed)\n * subscribe to this event and have all details inline without fetching the draft.\n */\nexport interface SubscriptionContractChangesCommitted {\n /** Updated SubscriptionContract after commit. */\n subscriptionContract?: SubscriptionContract;\n /**\n * ID of the DraftSubscriptionContract that triggered this commit.\n * @format GUID\n */\n draftSubscriptionContractId?: string;\n /** The actual delta applied. */\n changes?: SubscriptionContractDiffs;\n /**\n * Date and time the changes were committed.\n * @readonly\n */\n commitDate?: Date | null;\n /** Side-effects requested by the caller when the changes were committed. */\n commitSettings?: SubscriptionCommitSettings;\n /**\n * Reason for the edit, provided by the merchant.\n * @maxLength 200\n */\n reason?: string | null;\n /** Price summary of the contract after the commit. */\n priceSummary?: PriceSummary;\n}\n\nexport interface SubscriptionContractDiffs {\n /**\n * Per-item deltas: added, changed, or removed line items.\n * @maxSize 100\n */\n lineItems?: LineItemDelta[];\n /**\n * Per-discount deltas.\n * @maxSize 100\n */\n appliedDiscounts?: AppliedDiscountDelta[];\n /**\n * Per-fee deltas.\n * @maxSize 100\n */\n additionalFees?: AdditionalFeeDelta[];\n /** Updated price summary (overwrites existing). */\n priceSummary?: PriceSummary;\n /** Updated tax info (overwrites existing). */\n taxInfo?: OrderTaxInfo;\n}\n\nexport interface LineItemDelta extends LineItemDeltaDeltaDetailsOneOf {\n changed?: ItemChangedDetails;\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Full line item content (absent for removed items). */\n lineItem?: OrderLineItem;\n /** Type of change applied to this line item. */\n changeType?: ChangeTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface LineItemDeltaDeltaDetailsOneOf {\n changed?: ItemChangedDetails;\n}\n\n/** the catalog reference options before the change. */\nexport interface CatalogReferenceOptionsBeforeChange {\n /** the catalog reference options. Absent when the line item had no options. */\n options?: Record<string, any> | null;\n}\n\n/** the product name before the change. */\nexport interface ProductNameBeforeChange {\n /** the product name. Absent when the line item had no product name. */\n productName?: ProductName;\n}\n\n/** the description lines before the change. */\nexport interface DescriptionLinesBeforeChange {\n /**\n * the description lines. Empty when the line item had no description lines.\n * @maxSize 20\n */\n descriptionLines?: DescriptionLine[];\n}\n\n/** the image before the change. */\nexport interface ImageBeforeChange {\n /** the image. Absent when the line item had no image. */\n image?: string;\n}\n\n/** the physical properties before the change. */\nexport interface PhysicalPropertiesBeforeChange {\n /** the physical properties. Absent when the line item had no physical properties. */\n physicalProperties?: PhysicalProperties;\n}\n\n/** the item type before the change. */\nexport interface ItemTypeBeforeChange {\n /** the item type. Absent when the line item had no item type. */\n itemType?: ItemType;\n}\n\n/** the fulfiller ID before the change. */\nexport interface FulfillerIdBeforeChange {\n /**\n * the fulfiller ID. Absent when the line item had no fulfiller.\n * @format GUID\n */\n fulfillerId?: string | null;\n}\n\n/** the digital file before the change. */\nexport interface DigitalFileBeforeChange {\n /** the digital file. Absent when the line item had no digital file. */\n digitalFile?: DigitalFile;\n}\n\n/** the price description before the change. */\nexport interface PriceDescriptionBeforeChange {\n /** the price description. Absent when the line item had no price description. */\n priceDescription?: PriceDescription;\n}\n\n/** the delivery profile ID before the change. */\nexport interface DeliveryProfileIdBeforeChange {\n /**\n * the delivery profile ID. Absent when the line item had no delivery profile.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n}\n\n/** the shipping group ID before the change. */\nexport interface ShippingGroupIdBeforeChange {\n /**\n * the shipping group ID. Absent when the line item had no shipping group.\n * @format GUID\n */\n shippingGroupId?: string | null;\n}\n\n/** the tax info before the change. */\nexport interface TaxInfoBeforeChange {\n /** the tax info. Absent when the line item had no tax info. */\n taxInfo?: LineItemTaxInfo;\n}\n\n/** the inventory app ID before the change. */\nexport interface InventoryAppIdBeforeChange {\n /**\n * the inventory app ID. Absent when the line item had no inventory app.\n * @format GUID\n */\n inventoryAppId?: string | null;\n}\n\n/** the root catalog item ID before the change. */\nexport interface RootCatalogItemIdBeforeChange {\n /**\n * the root catalog item ID. Absent when the line item had no root catalog item.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n}\n\n/** the modifier groups before the change. */\nexport interface ModifierGroupsBeforeChange {\n /**\n * the modifier groups. Empty when the line item had no modifier groups.\n * @maxSize 10\n */\n modifierGroups?: ModifierGroup[];\n}\n\n/** the price undetermined flag before the change. */\nexport interface PriceUndeterminedBeforeChange {\n /** whether the price of the line item was undetermined. */\n priceUndetermined?: boolean;\n}\n\n/** Describes the type of change applied to an element. */\nexport enum ChangeType {\n UNKNOWN_CHANGE_TYPE = 'UNKNOWN_CHANGE_TYPE',\n /** Element was added (absent in the original contract). */\n ADDED = 'ADDED',\n /** Element was modified from the original contract. */\n CHANGED = 'CHANGED',\n /** Element was removed from the contract. */\n REMOVED = 'REMOVED',\n}\n\n/** @enumType */\nexport type ChangeTypeWithLiterals =\n | ChangeType\n | 'UNKNOWN_CHANGE_TYPE'\n | 'ADDED'\n | 'CHANGED'\n | 'REMOVED';\n\nexport interface ItemChangedDetails {\n /**\n * The quantity before the change.\n * @min 1\n * @max 1000000\n */\n quantityBeforeChange?: number | null;\n /** The price before the change. */\n priceBeforeChange?: Price;\n /** the catalog reference options before the change. Set only when the catalog reference options changed. */\n catalogReferenceOptionsBeforeChange?: CatalogReferenceOptionsBeforeChange;\n /** the product name before the change. Set only when the product name changed. */\n productNameBeforeChange?: ProductNameBeforeChange;\n /** the description lines before the change. Set only when the description lines changed. */\n descriptionLinesBeforeChange?: DescriptionLinesBeforeChange;\n /** the image before the change. Set only when the image changed. */\n imageBeforeChange?: ImageBeforeChange;\n /** the physical properties before the change. Set only when the physical properties changed. */\n physicalPropertiesBeforeChange?: PhysicalPropertiesBeforeChange;\n /** the item type before the change. Set only when the item type changed. */\n itemTypeBeforeChange?: ItemTypeBeforeChange;\n /** the fulfiller ID before the change. Set only when the fulfiller ID changed. */\n fulfillerIdBeforeChange?: FulfillerIdBeforeChange;\n /** the digital file before the change. Set only when the digital file changed. */\n digitalFileBeforeChange?: DigitalFileBeforeChange;\n /** the price description before the change. Set only when the price description changed. */\n priceDescriptionBeforeChange?: PriceDescriptionBeforeChange;\n /**\n * the delivery profile ID before the change. Set only when the delivery profile ID changed.\n * @internal\n */\n deliveryProfileIdBeforeChange?: DeliveryProfileIdBeforeChange;\n /**\n * the shipping group ID before the change. Set only when the shipping group ID changed.\n * @internal\n */\n shippingGroupIdBeforeChange?: ShippingGroupIdBeforeChange;\n /** the tax info before the change. Set only when the tax group changed. */\n taxInfoBeforeChange?: TaxInfoBeforeChange;\n /** the inventory app ID before the change. Set only when the inventory app ID changed. */\n inventoryAppIdBeforeChange?: InventoryAppIdBeforeChange;\n /**\n * the root catalog item ID before the change. Set only when the root catalog item ID changed.\n * @internal\n */\n rootCatalogItemIdBeforeChange?: RootCatalogItemIdBeforeChange;\n /** the modifier groups before the change. Set only when the modifier groups changed. */\n modifierGroupsBeforeChange?: ModifierGroupsBeforeChange;\n /** the price undetermined flag before the change. Set only when the price undetermined flag changed. */\n priceUndeterminedBeforeChange?: PriceUndeterminedBeforeChange;\n}\n\nexport interface AppliedDiscountDelta\n extends AppliedDiscountDeltaDeltaDetailsOneOf {\n /** Discount content after the change. */\n changed?: AppliedDiscount;\n added?: AppliedDiscount;\n /**\n * Discount ID.\n * @format GUID\n */\n discountId?: string;\n /** Type of change applied to this discount. */\n changeType?: ChangeTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface AppliedDiscountDeltaDeltaDetailsOneOf {\n /** Discount content after the change. */\n changed?: AppliedDiscount;\n added?: AppliedDiscount;\n}\n\nexport interface AdditionalFeeDelta\n extends AdditionalFeeDeltaDeltaDetailsOneOf {\n /** Additional fee content after the change. */\n changed?: AdditionalFee;\n added?: AdditionalFee;\n /**\n * Additional fee ID.\n * @format GUID\n */\n additionalFeeId?: string;\n /** Type of change applied to this additional fee. */\n changeType?: ChangeTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface AdditionalFeeDeltaDeltaDetailsOneOf {\n /** Additional fee content after the change. */\n changed?: AdditionalFee;\n added?: AdditionalFee;\n}\n\nexport interface SubscriptionCommitSettings {\n /** If false, do not send notifications to buyer. Default is true. */\n sendNotificationsToBuyer?: boolean | null;\n /** If false, do not send notifications to business. Default is true. */\n sendNotificationsToBusiness?: boolean | null;\n}\n\n/** Triggered when a subscription contract's next charge is coming up. */\nexport interface SubscriptionContractChargeUpcoming {\n /** The subscription contract that is about to be charged. */\n subscriptionContract?: SubscriptionContract;\n /** When the upcoming charge is expected. */\n chargeDate?: Date | null;\n /**\n * Whether the upcoming charge is the subscription contract's last billing cycle.\n * False when it isn't, or when that can't be determined.\n */\n finalCycle?: boolean | null;\n /**\n * Unique ID of this notification, the same on every redelivery. Use it to drop duplicates.\n * If the charge date moves, a new notification with a new ID is sent, so it identifies the notification, not the charge.\n * @format GUID\n */\n notificationId?: string | null;\n}\n\nexport interface CreateSubscriptionContractRequest {\n /** SubscriptionContract to be created. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface CreateSubscriptionContractResponse {\n /** The created SubscriptionContract. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface GetSubscriptionContractRequest {\n /**\n * ID of the SubscriptionContract to retrieve.\n * @format GUID\n */\n subscriptionContractId: string;\n}\n\nexport interface GetSubscriptionContractResponse {\n /** The requested SubscriptionContract. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface UpdateSubscriptionContractRequest {\n /** SubscriptionContract to be updated, may be partial. */\n subscriptionContract?: SubscriptionContract;\n /**\n * Set of fields to update.\n *\n * Fields that aren't included in `fieldMask.paths` are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateSubscriptionContractResponse {\n /** Updated SubscriptionContract. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface QuerySubscriptionContractsRequest {\n /** WQL expression. */\n query?: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n * Learn more about the [filter format](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n * Learn more about the [sort format](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QuerySubscriptionContractsResponse {\n /** List of SubscriptionContracts. */\n subscriptionContracts?: SubscriptionContract[];\n /** Paging metadata */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface BulkCreateSubscriptionContractsRequest {\n /**\n * List of SubscriptionContracts to create.\n * @minSize 1\n * @maxSize 100\n */\n subscriptionContracts?: SubscriptionContract[];\n /**\n * Whether to return the full subscription contract entities in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\nexport interface BulkCreateSubscriptionContractsResponse {\n /**\n * Results of the contract created operation.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkSubscriptionContractResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkSubscriptionContractResult {\n /** Metadata about a single update operation. */\n itemMetadata?: ItemMetadata;\n /**\n * Created subscription contract.\n *\n * Only present if `returnEntity` was `true`.\n */\n item?: SubscriptionContract;\n}\n\nexport interface ItemMetadata {\n /**\n * Item ID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed.\n * @format GUID\n */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action for this item was successful. When `false`, the `error` field is returned. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface BulkUpdateSubscriptionContractsRequest {\n /**\n * List of SubscriptionContracts to update.\n * @minSize 1\n * @maxSize 100\n */\n subscriptionContracts?: MaskedSubscriptionContract[];\n /**\n * Whether to return the full subscription contract entities in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\nexport interface MaskedSubscriptionContract {\n /** Subscription contract to be updated. */\n subscriptionContract?: SubscriptionContract;\n /**\n * Field mask of fields to update.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface BulkUpdateSubscriptionContractsResponse {\n /**\n * Results of the contract updated operation.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkSubscriptionContractResult[];\n /** Metadata about the bulk operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface CommitSubscriptionContractChangesRequest {\n /**\n * ID of the SubscriptionContract to update.\n * @format GUID\n */\n subscriptionContractId?: string;\n /**\n * ID of the originating DraftSubscriptionContract (for traceability).\n * @format GUID\n */\n draftSubscriptionContractId?: string;\n /** Delta changes to apply. */\n changes?: SubscriptionContractDiffs;\n /**\n * Reason for the edit, provided by the merchant (optional).\n * @maxLength 200\n */\n reason?: string | null;\n /** Side-effects to happen after contract is updated */\n settings?: SubscriptionCommitSettings;\n /** Price summary of the contract after the commit. */\n priceSummary?: PriceSummary;\n}\n\nexport interface CommitSubscriptionContractChangesResponse {\n /** Updated SubscriptionContract. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface SubscriptionContractCreatedEnvelope {\n entity: SubscriptionContract;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @webhook\n * @eventType wix.ecom.subscription_contracts.v1.subscription_contract_created\n * @slug created\n * @documentationMaturity preview\n */\nexport declare function onSubscriptionContractCreated(\n handler: (event: SubscriptionContractCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubscriptionContractDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @webhook\n * @eventType wix.ecom.subscription_contracts.v1.subscription_contract_deleted\n * @slug deleted\n * @documentationMaturity preview\n */\nexport declare function onSubscriptionContractDeleted(\n handler: (event: SubscriptionContractDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubscriptionContractUpdatedEnvelope {\n entity: SubscriptionContract;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/** @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @webhook\n * @eventType wix.ecom.subscription_contracts.v1.subscription_contract_updated\n * @slug updated\n * @documentationMaturity preview\n */\nexport declare function onSubscriptionContractUpdated(\n handler: (event: SubscriptionContractUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Retrieves a SubscriptionContract.\n * @param subscriptionContractId - ID of the SubscriptionContract to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField subscriptionContractId\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @applicableIdentity APP\n * @returns The requested SubscriptionContract.\n * @fqn wix.ecom.subscription_contracts.v1.SubscriptionContracts.GetSubscriptionContract\n */\nexport async function getSubscriptionContract(\n subscriptionContractId: string\n): Promise<\n NonNullablePaths<\n SubscriptionContract,\n | `subscriptionSettings.frequency`\n | `subscriptionSettings.autoRenewal`\n | `subscriptionSettings.enableCustomerCancellation`\n | `subscriptionSettings.freeTrialPeriod.frequency`\n | `subscriptionSettings.freeTrialPeriod.interval`\n | `lineItems`\n | `lineItems.${number}._id`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.totalDiscount.amount`\n | `lineItems.${number}.totalDiscount.formattedAmount`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.taxDetails.taxRate`\n | `lineItems.${number}.taxInfo.taxIncludedInPrice`\n | `lineItems.${number}.digitalFile.fileId`\n | `lineItems.${number}.subscriptionInfo.cycleNumber`\n | `lineItems.${number}.subscriptionInfo.subscriptionOptionTitle`\n | `lineItems.${number}.subscriptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.decimalQuantity.measurementUnit`\n | `lineItems.${number}.decimalQuantity.otherUnit`\n | `lineItems.${number}.decimalQuantity.value`\n | `lineItems.${number}.decimalQuantity.description.original`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `weightUnit`\n | `taxIncludedInPrices`\n | `platformFeeSummary.fees`\n | `platformFeeSummary.fees.${number}.lineItemId`\n | `platformFeeSummary.fees.${number}.chargeType`\n | `platformFeeSummary.fees.${number}.percentageRate`\n | `billingInfo.address.streetAddress.number`\n | `billingInfo.address.streetAddress.name`\n | `billingInfo.contactDetails.vatId._id`\n | `billingInfo.contactDetails.vatId.type`\n | `shippingInfo.title`\n | `shippingInfo.logistics.pickupDetails.pickupMethod`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `appliedDiscounts.${number}.coupon.name`\n | `appliedDiscounts.${number}.merchantDiscount.discountReason`\n | `appliedDiscounts.${number}.discountRule._id`\n | `appliedDiscounts.${number}.discountRule.name.original`\n | `appliedDiscounts.${number}.discountType`\n | `channelInfo.type`\n | `customFields`\n | `customFields.${number}.title`\n | `additionalFees`\n | `additionalFees.${number}.name`\n | `additionalFees.${number}._id`\n | `additionalFees.${number}.source`\n | `activities`\n | `activities.${number}.changesApplied.draftSubscriptionContractId`\n | `activities.${number}._id`\n | `activities.${number}.author.userId`\n | `activities.${number}.author.appId`\n | `activities.${number}.activityType`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n subscriptionContractId: subscriptionContractId,\n });\n\n const reqOpts =\n ambassadorWixEcomSubscriptionContractsV1SubscriptionContract.getSubscriptionContract(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: TRANSFORM_PATHS_0,\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: TRANSFORM_PATHS_1,\n },\n ])\n )?.subscriptionContract!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { subscriptionContractId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['subscriptionContractId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of SubscriptionContracts, given the provided [paging, filtering, and sorting][1].\n *\n * Up to 300 SubscriptionContracts can be returned per request.\n *\n * To learn how to query SubscriptionContracts, see [API Query Language][2].\n *\n * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n * @public\n * @documentationMaturity preview\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @applicableIdentity APP\n * @fqn wix.ecom.subscription_contracts.v1.SubscriptionContracts.QuerySubscriptionContracts\n */\nexport function querySubscriptionContracts(): SubscriptionContractsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n SubscriptionContract,\n 'CURSOR',\n QuerySubscriptionContractsRequest,\n QuerySubscriptionContractsResponse\n >({\n func: async (payload: QuerySubscriptionContractsRequest) => {\n const reqOpts =\n ambassadorWixEcomSubscriptionContractsV1SubscriptionContract.querySubscriptionContracts(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QuerySubscriptionContractsRequest['query']) => {\n const args = [query, {}] as [\n QuerySubscriptionContractsRequest['query'],\n {}\n ];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({\n data,\n }: HttpResponse<QuerySubscriptionContractsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: TRANSFORM_PATHS_2,\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: TRANSFORM_PATHS_3,\n },\n ])\n );\n\n return {\n items: transformedData?.subscriptionContracts,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface SubscriptionContractsQueryResult extends QueryCursorResult {\n items: SubscriptionContract[];\n query: SubscriptionContractsQueryBuilder;\n next: () => Promise<SubscriptionContractsQueryResult>;\n prev: () => Promise<SubscriptionContractsQueryResult>;\n}\n\nexport interface SubscriptionContractsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: string\n ) => SubscriptionContractsQueryBuilder;\n /** @documentationMaturity preview */\n in: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: boolean\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<'_id' | 'buyerInfo.contactId'>\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<'_id' | 'buyerInfo.contactId'>\n ) => SubscriptionContractsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => SubscriptionContractsQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => SubscriptionContractsQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<SubscriptionContractsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.ecom.subscription_contracts.v1.SubscriptionContracts.QuerySubscriptionContracts\n * @requiredField query\n */\nexport async function typedQuerySubscriptionContracts(\n query: SubscriptionContractQuery\n): Promise<\n NonNullablePaths<\n QuerySubscriptionContractsResponse,\n | `subscriptionContracts`\n | `subscriptionContracts.${number}.subscriptionSettings.frequency`\n | `subscriptionContracts.${number}.subscriptionSettings.autoRenewal`\n | `subscriptionContracts.${number}.subscriptionSettings.enableCustomerCancellation`\n | `subscriptionContracts.${number}.subscriptionSettings.freeTrialPeriod.frequency`\n | `subscriptionContracts.${number}.subscriptionSettings.freeTrialPeriod.interval`\n | `subscriptionContracts.${number}.buyerInfo.visitorId`\n | `subscriptionContracts.${number}.buyerInfo.memberId`\n | `subscriptionContracts.${number}.weightUnit`\n | `subscriptionContracts.${number}.taxIncludedInPrices`\n | `subscriptionContracts.${number}.shippingInfo.title`\n | `subscriptionContracts.${number}.channelInfo.type`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ query: query });\n\n const reqOpts =\n ambassadorWixEcomSubscriptionContractsV1SubscriptionContract.querySubscriptionContracts(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: TRANSFORM_PATHS_2,\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: TRANSFORM_PATHS_3,\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SubscriptionContractQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: ['_id', 'buyerInfo.contactId'];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n SubscriptionContract,\n SubscriptionContractQuerySpec\n>;\nexport type SubscriptionContractQuery = {\n /** \n Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object in the following format:\n `\"filter\" : {\n \"fieldName1\": \"value1\",\n \"fieldName2\":{\"$operator\":\"value2\"}\n }`\n Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n Learn more about the [filter format](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section). \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n Learn more about the [sort format](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). \n @maxSize: 5 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\nexport const utils = {\n query: /*#__PURE__*/ createQueryUtils<\n SubscriptionContract,\n SubscriptionContractQuerySpec,\n SubscriptionContractQuery\n >(),\n};\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'subscriptionContract.createdDate' },\n { path: 'subscriptionContract.updatedDate' },\n { path: 'subscriptionContract.subscriptionSettings.startDate' },\n { path: 'subscriptionContract.lineItems.image.urlExpirationDate' },\n { path: 'subscriptionContract.lineItems.digitalFile.expirationDate' },\n {\n path: 'subscriptionContract.lineItems.subscriptionInfo.subscriptionSettings.startDate',\n },\n { path: 'subscriptionContract.lineItems.serviceProperties.scheduledDate' },\n { path: 'subscriptionContract.lineItems.serviceProperties.endDate' },\n { path: 'subscriptionContract.shippingInfo.logistics.deliverByDate' },\n { path: 'subscriptionContract.shippingInfo.logistics.deliveryTimeSlot.from' },\n { path: 'subscriptionContract.shippingInfo.logistics.deliveryTimeSlot.to' },\n { path: 'subscriptionContract.activities.createdDate' },\n];\nconst TRANSFORM_PATHS_1 = [\n { path: 'subscriptionContract.lineItems.image.focalPoint.x' },\n { path: 'subscriptionContract.lineItems.image.focalPoint.y' },\n { path: 'subscriptionContract.lineItems.physicalProperties.weight' },\n { path: 'subscriptionContract.billingInfo.address.geocode.latitude' },\n { path: 'subscriptionContract.billingInfo.address.geocode.longitude' },\n {\n path: 'subscriptionContract.shippingInfo.logistics.shippingDestination.address.geocode.latitude',\n },\n {\n path: 'subscriptionContract.shippingInfo.logistics.shippingDestination.address.geocode.longitude',\n },\n {\n path: 'subscriptionContract.shippingInfo.logistics.pickupDetails.address.geocode.latitude',\n },\n {\n path: 'subscriptionContract.shippingInfo.logistics.pickupDetails.address.geocode.longitude',\n },\n { path: 'subscriptionContract.recipientInfo.address.geocode.latitude' },\n { path: 'subscriptionContract.recipientInfo.address.geocode.longitude' },\n];\nconst TRANSFORM_PATHS_2 = [\n { path: 'subscriptionContracts.createdDate' },\n { path: 'subscriptionContracts.updatedDate' },\n { path: 'subscriptionContracts.subscriptionSettings.startDate' },\n { path: 'subscriptionContracts.lineItems.image.urlExpirationDate' },\n { path: 'subscriptionContracts.lineItems.digitalFile.expirationDate' },\n {\n path: 'subscriptionContracts.lineItems.subscriptionInfo.subscriptionSettings.startDate',\n },\n { path: 'subscriptionContracts.lineItems.serviceProperties.scheduledDate' },\n { path: 'subscriptionContracts.lineItems.serviceProperties.endDate' },\n { path: 'subscriptionContracts.shippingInfo.logistics.deliverByDate' },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.deliveryTimeSlot.from',\n },\n { path: 'subscriptionContracts.shippingInfo.logistics.deliveryTimeSlot.to' },\n { path: 'subscriptionContracts.activities.createdDate' },\n];\nconst TRANSFORM_PATHS_3 = [\n { path: 'subscriptionContracts.lineItems.image.focalPoint.x' },\n { path: 'subscriptionContracts.lineItems.image.focalPoint.y' },\n { path: 'subscriptionContracts.lineItems.physicalProperties.weight' },\n { path: 'subscriptionContracts.billingInfo.address.geocode.latitude' },\n { path: 'subscriptionContracts.billingInfo.address.geocode.longitude' },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.shippingDestination.address.geocode.latitude',\n },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.shippingDestination.address.geocode.longitude',\n },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.pickupDetails.address.geocode.latitude',\n },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.pickupDetails.address.geocode.longitude',\n },\n { path: 'subscriptionContracts.recipientInfo.address.geocode.latitude' },\n { path: 'subscriptionContracts.recipientInfo.address.geocode.longitude' },\n];\n\nfunction resolveWixEcomSubscriptionContractsV1SubscriptionContractsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/ecom/subscription-contracts/v1/subscription-contracts',\n destPath: '/v1/subscription-contracts',\n },\n {\n srcPath: '/ecom/subscription-contracts/v1/bulk/subscription-contracts',\n destPath: '/v1/bulk/subscription-contracts',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/ecom/subscription-contracts/v1/subscription-contracts',\n destPath: '/v1/subscription-contracts',\n },\n {\n srcPath: '/ecom/subscription-contracts/v1/bulk/subscription-contracts',\n destPath: '/v1/bulk/subscription-contracts',\n },\n ],\n _: [\n {\n srcPath: '/ecom/subscription-contracts/v1/subscription-contracts',\n destPath: '/v1/subscription-contracts',\n },\n {\n srcPath: '/ecom/subscription-contracts/v1/bulk/subscription-contracts',\n destPath: '/v1/bulk/subscription-contracts',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/ecom/subscription-contracts/v1/subscription-contracts',\n destPath: '/v1/subscription-contracts',\n },\n {\n srcPath: '/ecom/subscription-contracts/v1/bulk/subscription-contracts',\n destPath: '/v1/bulk/subscription-contracts',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_subscription-contracts';\n\n/** Retrieves a SubscriptionContract. */\nexport function getSubscriptionContract(\n payload: object\n): RequestOptionsFactory<any> {\n function __getSubscriptionContract({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.subscription_contracts.v1.subscription_contract',\n method: 'GET' as any,\n methodFqn:\n 'wix.ecom.subscription_contracts.v1.SubscriptionContracts.GetSubscriptionContract',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomSubscriptionContractsV1SubscriptionContractsUrl({\n protoPath: '/v1/subscription-contracts/{subscriptionContractId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getSubscriptionContract;\n}\n\n/**\n * Retrieves a list of SubscriptionContracts, given the provided [paging, filtering, and sorting][1].\n *\n * Up to 300 SubscriptionContracts can be returned per request.\n *\n * To learn how to query SubscriptionContracts, see [API Query Language][2].\n *\n * [1]: https://dev.wix.com/api/rest/getting-started/sorting-and-paging\n * [2]: https://dev.wix.com/api/rest/getting-started/api-query-language\n */\nexport function querySubscriptionContracts(\n payload: object\n): RequestOptionsFactory<any> {\n function __querySubscriptionContracts({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.subscription_contracts.v1.subscription_contract',\n method: 'GET' as any,\n methodFqn:\n 'wix.ecom.subscription_contracts.v1.SubscriptionContracts.QuerySubscriptionContracts',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomSubscriptionContractsV1SubscriptionContractsUrl({\n protoPath: '/v1/subscription-contracts/query',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload, true),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_2,\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: TRANSFORM_PATHS_3,\n },\n ]),\n fallback: [\n {\n method: 'POST' as any,\n url: resolveWixEcomSubscriptionContractsV1SubscriptionContractsUrl({\n protoPath: '/v1/subscription-contracts/query',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __querySubscriptionContracts;\n}\n"],"mappings":"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","names":["payload","transformPaths","TRANSFORM_PATHS_0","TRANSFORM_PATHS_1","TRANSFORM_PATHS_2","TRANSFORM_PATHS_3","SubscriptionFrequency","SubscriptionSettingsProductPeriodAlignment","DescriptionLineType","DimensionsUnit","ItemTypePreset","PaymentOptionType","JurisdictionType","V2SubscriptionFrequency","ProductPeriodAlignment","AdjustmentType","TaxableAddressType","MeasurementUnit","WeightUnit","ChargeType","VatType","PickupMethod","DiscountType","DiscountReason","ChannelType","AdditionalFeeSource","SpecificItemsCouponBehavior","LineItemQuantityChangeType","ActivityType","ActionInitiator","ChangeType","SortOrder","WebhookIdentityType","getSubscriptionContract","querySubscriptionContracts"]}
1
+ {"version":3,"sources":["../../src/ecom-subscription-contracts-v1-subscription-contract-subscription-contracts.universal.ts","../../src/ecom-subscription-contracts-v1-subscription-contract-subscription-contracts.http.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixEcomSubscriptionContractsV1SubscriptionContract from './ecom-subscription-contracts-v1-subscription-contract-subscription-contracts.http.js';\n// @ts-ignore\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nconst TRANSFORM_PATHS_0 = [{ path: 'subscriptionContract.lineItems.image' }];\nconst TRANSFORM_PATHS_1 = [\n { path: 'subscriptionContract.billingInfo.address' },\n {\n path: 'subscriptionContract.shippingInfo.logistics.shippingDestination.address',\n },\n { path: 'subscriptionContract.shippingInfo.logistics.pickupDetails.address' },\n { path: 'subscriptionContract.recipientInfo.address' },\n];\nconst TRANSFORM_PATHS_2 = [{ path: 'subscriptionContracts.lineItems.image' }];\nconst TRANSFORM_PATHS_3 = [\n { path: 'subscriptionContracts.billingInfo.address' },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.shippingDestination.address',\n },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.pickupDetails.address',\n },\n { path: 'subscriptionContracts.recipientInfo.address' },\n];\n\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/**\n * A subscription contract holds the terms of a buyer's subscription: the items, prices, billing frequency, and buyer, billing, and shipping details agreed on at checkout, or as later changed through draft subscription contracts.\n *\n * A subscription contract is created when a buyer checks out with a subscription item. Each billing cycle, an order is created from the contract's current content. The order's `lineItems.subscriptionInfo.id` holds the contract ID, and `lineItems.subscriptionInfo.cycleNumber` holds the billing cycle the order is for.\n *\n * To change a subscription contract, create a draft subscription contract, edit it, and commit it.\n */\nexport interface SubscriptionContract {\n /**\n * Subscription contract ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the subscription contract is updated.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the subscription contract was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the subscription contract was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Corresponding billing subscription id\n * @internal\n * @format GUID\n */\n billingSubscriptionId?: string | null;\n /**\n * Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.\n * @maxLength 500\n * @deprecated Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.\n * @replacedBy subscription_description\n * @targetRemovalDate 2025-10-01\n */\n description?: string | null;\n /**\n * Subscription description, in the site's default language and translated into the buyer's language. For example, `\"1kg of selected coffee, once a month\"`.\n *\n * For a subscription contract with more than one line item, holds a general name for the subscription.\n */\n subscriptionDescription?: V1SubscriptionDescription;\n /** Subscription terms, such as the billing frequency, the number of billing cycles, and whether the subscription renews automatically. */\n subscriptionSettings?: V1SubscriptionSettings;\n /**\n * Subscription line items. The order for each billing cycle is created with these line items.\n *\n * In a subscription contract:\n * + `lineItems.subscriptionInfo.id` is the subscription contract's own ID.\n * + `lineItems.subscriptionInfo.cycleNumber` is always `0`. The billing cycle is set on the line items of each cycle's order.\n * + `subscriptionInfo.title` and `subscriptionInfo.description` hold the subscription contract's title and description, not the line item's own subscription option.\n * + `refundQuantity`, `restockQuantity`, and `depositAmount` aren't updated after the line item is added. Refunds, restocks, and fulfillment are recorded on each billing cycle's order.\n * + `extendedFields` and `decimalQuantity` aren't returned.\n * + When coupons were included in item prices at checkout, `price` is the price before coupons, and the coupons are in `appliedDiscounts`.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: OrderLineItem[];\n /** Buyer information. */\n buyerInfo?: BuyerInfo;\n /**\n * Language for communication with the buyer. For a site that supports multiple languages, this is the language the buyer selected.\n *\n * Default: Site language\n * @maxLength 10\n */\n buyerLanguage?: string | null;\n /**\n * Weight measurement unit.\n *\n * Default: Site's weight unit\n */\n weightUnit?: WeightUnitWithLiterals;\n /**\n * Currency used for the subscription contract's pricing, as a three-letter currency code in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) alphabetic format.\n * @format CURRENCY\n * @immutable\n */\n currency?: string | null;\n /** Multi-currency details for a subscription paid in a currency other than the site's currency. */\n currencyConversionDetails?: CurrencyConversionDetails;\n /**\n * Whether tax is included in line item prices.\n *\n * Default: `false`\n * @immutable\n */\n taxIncludedInPrices?: boolean;\n /**\n * Price summary of a single billing cycle.\n * @readonly\n */\n priceSummary?: PriceSummary;\n /**\n * Summary of platform fees calculated at checkout, including totals by charge type and a breakdown of individual fees.\n *\n * Not updated when draft changes are committed. Each billing cycle's order holds the platform fees for that cycle.\n */\n platformFeeSummary?: PlatformFeeSummary;\n /** Billing address and contact details. */\n billingInfo?: AddressWithContact;\n /** Shipping information and selected shipping option details. */\n shippingInfo?: ShippingInformation;\n /**\n * Tax information.\n * @internal\n * @readonly\n */\n taxInfo?: OrderTaxInfo;\n /**\n * Discounts applied to the subscription contract.\n * @maxSize 100\n */\n appliedDiscounts?: AppliedDiscount[];\n /** Information about the sales channel the subscription was purchased through. */\n channelInfo?: ChannelInfo;\n /**\n * Custom fields.\n * @maxSize 100\n */\n customFields?: CustomField[];\n /**\n * Recipient address and contact details.\n *\n * This field may differ from the address in `shippingInfo.logistics` when:\n * + The chosen shipping option is pickup point or store pickup.\n * + No shipping option is selected.\n */\n recipientInfo?: AddressWithContact;\n /**\n * Custom field data for the subscription contract object.\n *\n * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Subscription option title. For example, `\"Monthly coffee Subscription\"`.\n * @maxLength 150\n * @deprecated Subscription option title. For example, `\"Monthly coffee Subscription\"`.\n * @replacedBy subscription_title\n * @targetRemovalDate 2025-10-01\n */\n title?: string | null;\n /**\n * Subscription title, in the site's default language and translated into the buyer's language. For example, `\"Monthly coffee subscription\"`.\n *\n * For a subscription contract with more than one line item, holds a general name for the subscription.\n */\n subscriptionTitle?: V1SubscriptionTitle;\n /**\n * Additional fees applied to the subscription contract.\n * @maxSize 100\n */\n additionalFees?: AdditionalFee[];\n /**\n * Order Location\n * @internal\n */\n businessLocation?: Location;\n /**\n * Contract-level settings and allowed actions.\n * @internal\n */\n settings?: SubscriptionContractSettings;\n /**\n * Record of changes made to the subscription contract after checkout.\n * @internal\n * @readonly\n * @maxSize 500\n */\n activities?: SubscriptionContractActivity[];\n}\n\nexport interface V1SubscriptionDescription {\n /**\n * Subscription description in the site's default language.\n * @maxLength 500\n */\n original?: string;\n /**\n * Subscription description translated into the buyer's language.\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface V1SubscriptionSettings {\n /** Frequency unit of the billing cycle. */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /** Whether the subscription renews automatically at the end of each billing cycle. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before the subscription ends.\n * @min 1\n */\n billingCycles?: number | null;\n /** Whether the buyer can cancel the subscription. */\n enableCustomerCancellation?: boolean;\n /**\n * Free trial period before the first billing cycle starts.\n *\n * Returned only when the subscription has a free trial.\n */\n freeTrialPeriod?: V1FreeTrialPeriod;\n /**\n * Date and time the subscription starts. The first charge is made on this date, or when the free trial ends.\n * @internal\n */\n startDate?: Date | null;\n /**\n * Billing configuration for recurring charges.\n * @internal\n */\n billingSettings?: V1BillingSettings;\n /**\n * Whether the product/service/subscription access period is aligned with the billing period.\n * @internal\n */\n productPeriodAlignment?: SubscriptionSettingsProductPeriodAlignmentWithLiterals;\n /**\n * Cycle price overrides of the subscription's line items, by line item ID. A line item with no\n * entry is charged its regular price on every billing cycle.\n * @internal\n * @maxSize 100\n */\n lineItemCyclePriceOverrides?: LineItemCyclePriceOverrides[];\n}\n\nexport enum SubscriptionFrequency {\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\nexport interface V1FreeTrialPeriod {\n /** Frequency unit of the free trial period. */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.\n * @min 1\n * @max 3650\n */\n interval?: number;\n}\n\nexport interface V1BillingSettings {\n /**\n * Day of month (1-28) to anchor recurring billing to. When set, billing recurs on this day each cycle. Does not apply to weekly subscriptions.\n * @min 1\n * @max 28\n */\n anchorDay?: number | null;\n}\n\nexport enum SubscriptionSettingsProductPeriodAlignment {\n /** Billing period equals the product/service/subscription access period. */\n ALIGNED_WITH_BILLING_PERIOD = 'ALIGNED_WITH_BILLING_PERIOD',\n /** Billing period is independent of the product/service/subscription access period. */\n NOT_ALIGNED_WITH_BILLING_PERIOD = 'NOT_ALIGNED_WITH_BILLING_PERIOD',\n}\n\n/** @enumType */\nexport type SubscriptionSettingsProductPeriodAlignmentWithLiterals =\n | SubscriptionSettingsProductPeriodAlignment\n | 'ALIGNED_WITH_BILLING_PERIOD'\n | 'NOT_ALIGNED_WITH_BILLING_PERIOD';\n\nexport interface LineItemCyclePriceOverrides {\n /**\n * ID of the line item.\n * @format GUID\n */\n lineItemId?: string;\n /**\n * Unit prices for specified billing cycles of the line item, in the contract's currency. Cycles\n * that no entry covers are charged the line item's regular price.\n * @maxSize 1\n */\n cyclePriceOverrides?: V1CyclePriceOverride[];\n}\n\nexport interface V1CyclePriceOverride {\n /**\n * __Required.__ First billing cycle the price applies to. The first paid cycle of the\n * subscription is `1`. A free trial period, if any, is cycle `0`.\n * @min 1\n * @max 1\n */\n cycleFrom?: number;\n /**\n * __Required.__ Number of consecutive billing cycles the price applies to, starting at `cycleFrom`.\n * @min 1\n * @max 1\n */\n numberOfCycles?: number | null;\n /**\n * __Required.__ Unit price for the cycles this entry covers, in the item's currency.\n * Can be higher than, lower than, or equal to the item's `price`.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:4 }\n */\n price?: string;\n}\n\nexport interface OrderLineItem {\n /**\n * Line item ID.\n * @immutable\n */\n _id?: string;\n /**\n * Item name.\n *\n * + Stores - `product.name`\n * + Bookings - `service.info.name`\n * + Events - `ticket.name`\n */\n productName?: ProductName;\n /** References to the line item's origin catalog. Empty for custom line items. */\n catalogReference?: CatalogReference;\n /**\n * Line item quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Total discount for this line item's entire quantity.\n * @readonly\n */\n totalDiscount?: Price;\n /**\n * Line item description lines. Used for display purposes for the cart, checkout and order.\n * @maxSize 20\n */\n descriptionLines?: DescriptionLine[];\n /** Line item image. */\n image?: string;\n /** Physical properties of the item. When relevant, contains information such as SKU and item weight. */\n physicalProperties?: PhysicalProperties;\n /** Item type. Either a preset type or custom. */\n itemType?: ItemType;\n /**\n * Fulfiller ID. Field is empty when the line item is self-fulfilled.\n * To get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/list-fulfillments-for-single-order).\n * @format GUID\n */\n fulfillerId?: string | null;\n /**\n * Number of items that were refunded.\n * @max 100000\n */\n refundQuantity?: number | null;\n /**\n * Number of items restocked.\n *\n * For a per-location breakdown, see `restockLocations`.\n * @max 100000\n */\n restockQuantity?: number | null;\n /**\n * Per-location restock breakdown.\n *\n * Populated when items are restocked to specific locations.\n * The sum of all `quantity` values equals `restockQuantity`.\n * Empty when no location-specific restock was performed.\n * @internal\n * @maxSize 5\n * @readonly\n */\n restockLocations?: RestockLocation[];\n /** Line item price after line item discounts for display purposes. */\n price?: Price;\n /**\n * Line item price before line item discounts for display purposes. Defaults to `price` when not provided.\n * @readonly\n */\n priceBeforeDiscounts?: Price;\n /**\n * Line item price per unit before line item discounts and before tax.\n * @internal\n * @readonly\n */\n priceBeforeDiscountsAndTax?: Price;\n /**\n * Total price after discounts, and before tax.\n * @readonly\n */\n totalPriceBeforeTax?: Price;\n /**\n * Total price after all discounts and tax.\n * @readonly\n */\n totalPriceAfterTax?: Price;\n /**\n * Type of selected payment option for current item.\n *\n * Default: `FULL_PAYMENT_ONLINE`\n */\n paymentOption?: PaymentOptionTypeWithLiterals;\n /**\n * Deprecated. Use `taxInfo` instead.\n * This field will be removed on September 30, 2024.\n * Tax details for this line item.\n * @deprecated Deprecated. Use `taxInfo` instead.\n * This field will be removed on September 30, 2024.\n * Tax details for this line item.\n * @replacedBy tax_info\n * @targetRemovalDate 2024-09-30\n */\n taxDetails?: ItemTaxFullDetails;\n /** Represents all the relevant tax details for a specific line item. */\n taxInfo?: LineItemTaxInfo;\n /** Digital file identifier, relevant only for items with type DIGITAL. */\n digitalFile?: DigitalFile;\n /** Subscription info. */\n subscriptionInfo?: SubscriptionInfo;\n /** Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\". */\n priceDescription?: PriceDescription;\n /**\n * Item's price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `\"DEPOSIT_ONLINE\"`.\n * @readonly\n */\n depositAmount?: Price;\n /**\n * The item's delivery profile ID.\n * @internal\n * @format GUID\n */\n deliveryProfileId?: string | null;\n /**\n * @internal\n * @format GUID\n */\n shippingGroupId?: string | null;\n /**\n * Line item locations.\n *\n * The location's total quantity must not exceed the line item quantity.\n * @maxSize 5\n */\n locations?: LocationAndQuantity[];\n /** Total price **after** catalog discounts and line item discounts. */\n lineItemPrice?: Price;\n /**\n * Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\n * @internal\n * @readonly\n * @immutable\n */\n customLineItem?: boolean | null;\n /**\n * In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\n * + For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\n * + In most cases, this field has the same value as `catalogReference.catalogItemId`.\n * @internal\n * @minLength 1\n * @maxLength 36\n * @readonly\n */\n rootCatalogItemId?: string | null;\n /** Address used for tax calculation. */\n taxableAddress?: TaxableAddress;\n /**\n * ID of the app managing the inventory.\n * @internal\n * @format GUID\n */\n inventoryAppId?: string | null;\n /**\n * Whether the price is not yet defined, and will be updated after the order is created.\n *\n * Default: `false`\n */\n priceUndetermined?: boolean;\n /**\n * Whether the line item quantity is fixed and cannot be changed.\n *\n * Default: `false`\n */\n fixedQuantity?: boolean;\n /**\n * Decimal-quantity metadata. Set when the line represents a\n * non-integer purchase (e.g. 2.75 m² of fake grass).\n *\n * When set, the line item must have `fixedQuantity` = true and be set with `quantity` = 1.\n * The decimal value lives in `decimalQuantity.value`.\n */\n decimalQuantity?: DecimalQuantity;\n /**\n * Custom extended fields for the line item object.\n *\n * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Modifier groups that were added to the item.\n * @readonly\n * @maxSize 10\n */\n modifierGroups?: ModifierGroup[];\n /**\n * Line item ID in external systems.\n * @internal\n * @minLength 1\n * @maxLength 100\n * @immutable\n */\n externalLineItemId?: string | null;\n /**\n * Service properties. When relevant, this contains information such as the date and number of participants.\n * @internal\n * @readonly\n */\n serviceProperties?: ServiceProperties;\n /**\n * Cross-border repricing record of this line item on a site whose catalog prices include tax: the catalog price, the base region's tax removed from it and the rate used.\n * @internal\n * @readonly\n */\n crossBorderAdjustment?: CrossBorderPriceAdjustment;\n}\n\nexport interface ProductName {\n /**\n * __Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n *\n * Min: 1 character.\n * Max: 200 characters.\n * @minLength 1\n * @maxLength 200\n */\n original?: string;\n /**\n * Item name translated into the buyer's language.\n *\n * Min: 1 character.\n * Max: 400 characters.\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 400\n */\n translated?: string | null;\n}\n\n/** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\nexport interface CatalogReference {\n /**\n * ID of the item within the catalog it belongs to.\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string;\n /**\n * ID of the app providing the catalog.\n *\n * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n *\n * For items from Wix catalogs, the following values always apply:\n * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n * @minLength 1\n */\n appId?: string;\n /**\n * Additional item details in `key:value` pairs.\n *\n * Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\n *\n * For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\n * or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).\n */\n options?: Record<string, any> | null;\n}\n\nexport interface Price {\n /**\n * Amount.\n * @decimalValue options { gte:0, lte:1000000000000000 }\n */\n amount?: string;\n /**\n * Amount formatted with currency symbol.\n * @readonly\n */\n formattedAmount?: string;\n}\n\nexport interface DescriptionLine\n extends DescriptionLineValueOneOf,\n DescriptionLineDescriptionLineValueOneOf {\n /** Description line plain text value. */\n plainText?: PlainTextValue;\n /** Description line color value. */\n colorInfo?: Color;\n /**\n * Description line plain text value.\n * @internal\n * @deprecated\n */\n plainTextValue?: PlainTextValue;\n /**\n * Description line color.\n * @internal\n * @deprecated\n */\n color?: string;\n /** Description line name. */\n name?: DescriptionLineName;\n /**\n * Description line type.\n * @internal\n * @deprecated\n */\n lineType?: DescriptionLineTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DescriptionLineValueOneOf {\n /** Description line plain text value. */\n plainText?: PlainTextValue;\n /** Description line color value. */\n colorInfo?: Color;\n}\n\n/** @oneof */\nexport interface DescriptionLineDescriptionLineValueOneOf {\n /**\n * Description line plain text value.\n * @internal\n * @deprecated\n */\n plainTextValue?: PlainTextValue;\n /**\n * Description line color.\n * @internal\n * @deprecated\n */\n color?: string;\n}\n\nexport interface DescriptionLineName {\n /**\n * Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 100\n */\n original?: string;\n /**\n * Description line name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 200\n */\n translated?: string | null;\n}\n\nexport interface PlainTextValue {\n /**\n * Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 600\n */\n original?: string;\n /**\n * Description line plain text value translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 600\n */\n translated?: string | null;\n}\n\nexport interface Color {\n /**\n * Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @maxLength 500\n */\n original?: string;\n /**\n * Description line color name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @maxLength 500\n */\n translated?: string | null;\n /** HEX or RGB color code for display. */\n code?: string | null;\n}\n\nexport enum DescriptionLineType {\n /** Unrecognized type. */\n UNRECOGNISED = 'UNRECOGNISED',\n /** Plain text type. */\n PLAIN_TEXT = 'PLAIN_TEXT',\n /** Color type. */\n COLOR = 'COLOR',\n}\n\n/** @enumType */\nexport type DescriptionLineTypeWithLiterals =\n | DescriptionLineType\n | 'UNRECOGNISED'\n | 'PLAIN_TEXT'\n | 'COLOR';\n\nexport interface FocalPoint {\n /** X-coordinate of the focal point. */\n x?: number;\n /** Y-coordinate of the focal point. */\n y?: number;\n /** crop by height */\n height?: number | null;\n /** crop by width */\n width?: number | null;\n}\n\nexport interface PhysicalProperties {\n /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n weight?: number | null;\n /**\n * Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).\n * @maxLength 40\n */\n sku?: string | null;\n /** Whether this line item is shippable. */\n shippable?: boolean;\n /**\n * Product dimensions (length, width, height of the physical product).\n * @internal\n */\n productDimensions?: Dimensions;\n /**\n * Package dimensions (length, width, height of the shipping package).\n * @internal\n */\n packageDimensions?: Dimensions;\n}\n\nexport interface Dimensions {\n /**\n * Length. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n length?: string | null;\n /**\n * Width. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n width?: string | null;\n /**\n * Height. Measurement unit is handled at the system level (metric/imperial).\n * @decimalValue options { gte:0, lte:999999999, maxScale:6 }\n */\n height?: string | null;\n /** Unit of measurement for dimensions (length, width, height). */\n unit?: DimensionsUnitWithLiterals;\n}\n\nexport enum DimensionsUnit {\n UNKNOWN_DIMENSIONS_UNIT = 'UNKNOWN_DIMENSIONS_UNIT',\n /** Millimeters. */\n MM = 'MM',\n /** Centimeters. */\n CM = 'CM',\n /** Meters. */\n M = 'M',\n /** Inches. */\n IN = 'IN',\n /** Feet. */\n FT = 'FT',\n /** Yards. */\n YD = 'YD',\n}\n\n/** @enumType */\nexport type DimensionsUnitWithLiterals =\n | DimensionsUnit\n | 'UNKNOWN_DIMENSIONS_UNIT'\n | 'MM'\n | 'CM'\n | 'M'\n | 'IN'\n | 'FT'\n | 'YD';\n\nexport interface ItemType extends ItemTypeItemTypeDataOneOf {\n /** Preset item type. */\n preset?: ItemTypePresetWithLiterals;\n /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n custom?: string;\n}\n\n/** @oneof */\nexport interface ItemTypeItemTypeDataOneOf {\n /** Preset item type. */\n preset?: ItemTypePresetWithLiterals;\n /** Custom item type. When none of the preset types are suitable, specifies the custom type. */\n custom?: string;\n}\n\nexport enum ItemTypePreset {\n UNRECOGNISED = 'UNRECOGNISED',\n PHYSICAL = 'PHYSICAL',\n DIGITAL = 'DIGITAL',\n GIFT_CARD = 'GIFT_CARD',\n SERVICE = 'SERVICE',\n /** @documentationMaturity preview\n * @internal\n */\n BUNDLE = 'BUNDLE',\n}\n\n/** @enumType */\nexport type ItemTypePresetWithLiterals =\n | ItemTypePreset\n | 'UNRECOGNISED'\n | 'PHYSICAL'\n | 'DIGITAL'\n | 'GIFT_CARD'\n | 'SERVICE';\n\n/** Quantity of items restocked at a specific location. */\nexport interface RestockLocation {\n /**\n * ID of the location where items were restocked.\n * @format GUID\n */\n locationId?: string;\n /**\n * Number of items restocked at this location.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n}\n\n/** Type of selected payment option for catalog item */\nexport enum PaymentOptionType {\n /** The entire payment for this item happens as part of the checkout. */\n FULL_PAYMENT_ONLINE = 'FULL_PAYMENT_ONLINE',\n /** The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods. */\n FULL_PAYMENT_OFFLINE = 'FULL_PAYMENT_OFFLINE',\n /** Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online. */\n MEMBERSHIP = 'MEMBERSHIP',\n /** Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`. */\n DEPOSIT_ONLINE = 'DEPOSIT_ONLINE',\n /** Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`. */\n MEMBERSHIP_OFFLINE = 'MEMBERSHIP_OFFLINE',\n /**\n * Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.\n * @documentationMaturity preview\n */\n MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER = 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n}\n\n/** @enumType */\nexport type PaymentOptionTypeWithLiterals =\n | PaymentOptionType\n | 'FULL_PAYMENT_ONLINE'\n | 'FULL_PAYMENT_OFFLINE'\n | 'MEMBERSHIP'\n | 'DEPOSIT_ONLINE'\n | 'MEMBERSHIP_OFFLINE'\n | 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER';\n\nexport interface ItemTaxFullDetails {\n /** Taxable amount of this line item. */\n taxableAmount?: Price;\n /**\n * ID of the item's tax group, if specified.\n * @internal\n * @format GUID\n */\n taxGroupId?: string | null;\n /**\n * Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`.\n * @decimalValue options { gte:0, maxScale:6 }\n */\n taxRate?: string;\n /** The calculated tax, based on the `taxableAmount` and `taxRate`. */\n totalTax?: Price;\n /**\n * Amount that was exempt from tax calculations.\n * @internal\n */\n exemptAmount?: Price;\n}\n\nexport interface LineItemTaxInfo {\n /** Calculated tax, based on `taxable_amount` and `tax_rate`. */\n taxAmount?: Price;\n /** Amount for which tax is calculated. */\n taxableAmount?: Price;\n /**\n * Tax rate %, as a decimal point.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, maxScale:6 }\n */\n taxRate?: string | null;\n /**\n * Tax group ID.\n * @format GUID\n */\n taxGroupId?: string | null;\n /** Indicates whether the price already includes tax. */\n taxIncludedInPrice?: boolean;\n /**\n * Tax information for a line item.\n * @maxSize 7\n */\n taxBreakdown?: LineItemTaxBreakdown[];\n /**\n * Amount of the line item price that was exempt from tax.\n * @internal\n */\n exemptAmount?: Price;\n}\n\n/**\n * TaxBreakdown represents tax information for a line item.\n * It holds the tax amount and the tax rate for each tax authority that apply on the line item.\n */\nexport interface LineItemTaxBreakdown {\n /**\n * Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\".\n * @maxLength 200\n */\n jurisdiction?: string | null;\n /**\n * Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, maxScale:6 }\n */\n rate?: string | null;\n /** Amount of tax calculated for this line item. */\n taxAmount?: Price;\n /**\n * The type of tax that was calculated. Depends on the jurisdiction's tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.\n * @maxLength 200\n */\n taxType?: string | null;\n /**\n * The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\n * This name should be explicit enough to allow the merchant to understand what tax was calculated.\n * @maxLength 200\n */\n taxName?: string | null;\n /** Type of jurisdiction that taxes were calculated for. */\n jurisdictionType?: JurisdictionTypeWithLiterals;\n /** Non-taxable amount of the line item price. */\n nonTaxableAmount?: Price;\n /** Taxable amount of the line item price. */\n taxableAmount?: Price;\n /**\n * Amount of the line item price that was exempt from this authority.\n * @internal\n */\n exemptAmount?: Price;\n}\n\n/** JurisdictionType represents the type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\nexport enum JurisdictionType {\n UNDEFINED = 'UNDEFINED',\n COUNTRY = 'COUNTRY',\n STATE = 'STATE',\n COUNTY = 'COUNTY',\n CITY = 'CITY',\n SPECIAL = 'SPECIAL',\n}\n\n/** @enumType */\nexport type JurisdictionTypeWithLiterals =\n | JurisdictionType\n | 'UNDEFINED'\n | 'COUNTRY'\n | 'STATE'\n | 'COUNTY'\n | 'CITY'\n | 'SPECIAL';\n\nexport interface DigitalFile {\n /**\n * ID of the secure file in media.\n * @minLength 1\n * @maxLength 100\n */\n fileId?: string;\n /**\n * Link will exist after the digital links have been generated on the order.\n * @format WEB_URL\n * @minLength 1\n * @maxLength 2000\n */\n link?: string | null;\n /**\n * Link expiration time and date.\n * @readonly\n */\n expirationDate?: Date | null;\n}\n\nexport interface SubscriptionInfo {\n /**\n * Subscription ID.\n * @format GUID\n */\n _id?: string | null;\n /** Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be `3`. */\n cycleNumber?: number;\n /**\n * Subscription option title. For example, `\"Monthly coffee Subscription\"`.\n * @maxLength 150\n * @deprecated Subscription option title. For example, `\"Monthly coffee Subscription\"`.\n * @replacedBy title\n * @targetRemovalDate 2025-10-01\n */\n subscriptionOptionTitle?: string;\n /**\n * Subscription title. For example, `\"Monthly coffee Subscription\"`.\n * @internal\n */\n title?: SubscriptionTitle;\n /**\n * Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.\n * @maxLength 500\n * @deprecated Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.\n * @replacedBy description\n * @targetRemovalDate 2025-10-01\n */\n subscriptionOptionDescription?: string | null;\n /**\n * Subscription description. For example, `\"1kg of selected coffee, once a month\"`.\n * @internal\n */\n description?: SubscriptionDescription;\n /** Subscription detailed information. */\n subscriptionSettings?: SubscriptionSettings;\n /**\n * Description of the charges that will be applied for subscription.\n * @maxLength 1000\n */\n chargesDescription?: string | null;\n /**\n * Details of the billing adjustment applied to the current subscription cycle due to a shift in the subscription’s billing date.\n * @internal\n */\n billingAdjustment?: BillingAdjustment;\n /**\n * Regular price and cycle price of the billing cycle this order covers, when a cycle price\n * override set a different price for that cycle. Absent when the cycle is charged the regular price.\n * @internal\n */\n cyclePriceOverride?: CyclePriceOverride;\n}\n\nexport interface SubscriptionTitle {\n /**\n * Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 150\n */\n original?: string;\n /**\n * Subscription option name translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 150\n */\n translated?: string | null;\n}\n\nexport interface SubscriptionDescription {\n /**\n * Subscription option description.\n * @maxLength 500\n */\n original?: string;\n /**\n * Translated subscription option description.\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface SubscriptionSettings {\n /** Frequency of recurring payment. */\n frequency?: V2SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /** Whether subscription is renewed automatically at the end of each period. */\n autoRenewal?: boolean;\n /**\n * Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`.\n * @min 1\n */\n billingCycles?: number | null;\n /** Whether to allow the customer to cancel the subscription. */\n enableCustomerCancellation?: boolean;\n /** Period until first cycle starts. If None => no free trial */\n freeTrialPeriod?: FreeTrialPeriod;\n /**\n * The date the subscription will start. The subscription will be charged either now or according to freeTrialDays.\n * @internal\n */\n startDate?: Date | null;\n /**\n * Billing configuration for recurring charges.\n * @internal\n */\n billingSettings?: BillingSettings;\n /**\n * Whether the product/service/subscription access period is aligned with the billing period.\n * @internal\n */\n productPeriodAlignment?: ProductPeriodAlignmentWithLiterals;\n}\n\n/** Frequency unit of recurring payment */\nexport enum V2SubscriptionFrequency {\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type V2SubscriptionFrequencyWithLiterals =\n | V2SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\nexport interface FreeTrialPeriod {\n /** Frequency of period. Values: DAY, WEEK, MONTH, YEAR */\n frequency?: V2SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.\n * @min 1\n * @max 3650\n */\n interval?: number;\n}\n\nexport interface BillingSettings {\n /**\n * Day of month (1-28) to anchor recurring billing to. When set, billing recurs on this day each cycle. Does not apply to weekly subscriptions.\n * @min 1\n * @max 28\n */\n anchorDay?: number | null;\n}\n\nexport enum ProductPeriodAlignment {\n /** Billing period equals the product/service/subscription access period. */\n ALIGNED_WITH_BILLING_PERIOD = 'ALIGNED_WITH_BILLING_PERIOD',\n /** Billing period is independent of the product/service/subscription access period. */\n NOT_ALIGNED_WITH_BILLING_PERIOD = 'NOT_ALIGNED_WITH_BILLING_PERIOD',\n}\n\n/** @enumType */\nexport type ProductPeriodAlignmentWithLiterals =\n | ProductPeriodAlignment\n | 'ALIGNED_WITH_BILLING_PERIOD'\n | 'NOT_ALIGNED_WITH_BILLING_PERIOD';\n\nexport interface BillingAdjustment {\n /** The type of adjustment. */\n type?: AdjustmentTypeWithLiterals;\n /** Summary of the prorated adjustment amount. */\n priceSummary?: BillingAdjustmentPriceSummary;\n}\n\nexport enum AdjustmentType {\n /** Adjustment increases the total amount due to changes like covering extra billing days. Typically results in an additional fee. */\n EXTRA_CHARGE = 'EXTRA_CHARGE',\n /** Adjustment reduces the total amount due to changes like covering fewer billing days. Typically results in a credit or discount. */\n CREDIT = 'CREDIT',\n}\n\n/** @enumType */\nexport type AdjustmentTypeWithLiterals =\n | AdjustmentType\n | 'EXTRA_CHARGE'\n | 'CREDIT';\n\nexport interface BillingAdjustmentPriceSummary {\n /** Subtotal of adjustment, before tax. */\n subtotal?: Price;\n /** Tax on adjustment. */\n tax?: Price;\n /** Total price after tax. */\n total?: Price;\n}\n\n/**\n * Cycle price override as applied to a single billing cycle: the regular price and the price the\n * override set for that cycle.\n */\nexport interface CyclePriceOverride {\n /**\n * Billing cycle this order covers. `1` for the order created at checkout.\n * Same value as `subscriptionInfo.cycleNumber`.\n * @min 1\n * @max 999\n */\n cycle?: number;\n /** Regular (recurring) unit price of the line item. */\n basePrice?: Price;\n /** Unit price the cycle price override set for this cycle, before line item discounts (coupons). */\n overriddenPrice?: Price;\n}\n\nexport interface PriceDescription {\n /**\n * __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 100\n */\n original?: string;\n /**\n * Price description translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 100\n */\n translated?: string | null;\n}\n\nexport interface LocationAndQuantity {\n /**\n * Location id in the associated owner app.\n * @format GUID\n */\n _id?: string;\n /**\n * Location owner app, if not provided then the site business info locations will be used.\n * @format GUID\n * @deprecated Location owner app, if not provided then the site business info locations will be used.\n * @targetRemovalDate 2025-03-01\n */\n appId?: string | null;\n /**\n * Quantity for specific location.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n /**\n * Location name.\n * @maxLength 500\n * @readonly\n */\n name?: string | null;\n}\n\nexport interface TaxableAddress extends TaxableAddressTaxableAddressDataOneOf {\n /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n addressType?: TaxableAddressTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface TaxableAddressTaxableAddressDataOneOf {\n /** taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly. */\n addressType?: TaxableAddressTypeWithLiterals;\n}\n\nexport enum TaxableAddressType {\n BUSINESS = 'BUSINESS',\n BILLING = 'BILLING',\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type TaxableAddressTypeWithLiterals =\n | TaxableAddressType\n | 'BUSINESS'\n | 'BILLING'\n | 'SHIPPING';\n\n/**\n * Decimal-quantity metadata for a line item.\n *\n * Set on a line item that represents a non-integer-quantity purchase\n * (e.g. \"2.75 square meters of fake grass\", \"1.5 kg of sugar\",\n * \"0.75 hours of consultation\"). When set, the line item must have\n * `fixedQuantity` = true.\n *\n * The decimal value lives in `value`. When `decimalQuantity` is set,\n * consumers read the human-readable quantity from `value` rather\n * than from `lineItem.quantity`.\n */\nexport interface DecimalQuantity extends DecimalQuantityUnitOneOf {\n /** Unit the value is expressed in, selected from the standard `measurementUnit` enum. */\n measurementUnit?: MeasurementUnitWithLiterals;\n /**\n * Free-form unit name for standard units not in the\n * `measurementUnit` enum (e.g. \"hour\", \"minute\", \"session\").\n * @minLength 1\n * @maxLength 50\n */\n otherUnit?: string;\n /**\n * The decimal quantity the buyer / merchant entered.\n *\n * String-encoded decimal. The exact value is preserved — no\n * rounding, no conversion to an integer.\n *\n * Examples: \"2.75\", \"1.5\", \"0.75\".\n * @decimalValue options { gt:0, lte:1000000000000000, maxScale:4 }\n */\n value?: string;\n /**\n * Human-readable, pre-formatted display string for the quantity. For example, \"2.75 square meters of fake grass\".\n * Always set alongside `value`; use this directly for display rather than composing your own string from `value` and `unit`.\n */\n description?: TranslatableString;\n}\n\n/** @oneof */\nexport interface DecimalQuantityUnitOneOf {\n /** Unit the value is expressed in, selected from the standard `measurementUnit` enum. */\n measurementUnit?: MeasurementUnitWithLiterals;\n /**\n * Free-form unit name for standard units not in the\n * `measurementUnit` enum (e.g. \"hour\", \"minute\", \"session\").\n * @minLength 1\n * @maxLength 50\n */\n otherUnit?: string;\n}\n\nexport interface TranslatableString {\n /**\n * __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n *\n * Min: 1 character.\n * Max: 200 characters.\n * @minLength 1\n * @maxLength 200\n */\n original?: string;\n /**\n * String translated into the buyer's language.\n *\n * Min: 1 character.\n * Max: 400 characters.\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 400\n */\n translated?: string | null;\n}\n\nexport enum MeasurementUnit {\n UNSPECIFIED = 'UNSPECIFIED',\n ML = 'ML',\n CL = 'CL',\n L = 'L',\n CBM = 'CBM',\n MG = 'MG',\n G = 'G',\n KG = 'KG',\n MM = 'MM',\n CM = 'CM',\n M = 'M',\n SQM = 'SQM',\n OZ = 'OZ',\n LB = 'LB',\n FLOZ = 'FLOZ',\n PT = 'PT',\n QT = 'QT',\n GAL = 'GAL',\n IN = 'IN',\n FT = 'FT',\n YD = 'YD',\n SQFT = 'SQFT',\n}\n\n/** @enumType */\nexport type MeasurementUnitWithLiterals =\n | MeasurementUnit\n | 'UNSPECIFIED'\n | 'ML'\n | 'CL'\n | 'L'\n | 'CBM'\n | 'MG'\n | 'G'\n | 'KG'\n | 'MM'\n | 'CM'\n | 'M'\n | 'SQM'\n | 'OZ'\n | 'LB'\n | 'FLOZ'\n | 'PT'\n | 'QT'\n | 'GAL'\n | 'IN'\n | 'FT'\n | 'YD'\n | 'SQFT';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface ModifierGroup {\n /**\n * Modifier group ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /** Modifier group name. */\n name?: TranslatableString;\n /**\n * List of modifiers in this group.\n * @minSize 1\n * @maxSize 10\n */\n modifiers?: ItemModifier[];\n}\n\nexport interface ItemModifier {\n /**\n * Modifier ID.\n * @minLength 1\n * @maxLength 36\n */\n _id?: string;\n /**\n * The quantity of this modifier.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n /** Primary display label for the modifier. */\n label?: TranslatableString;\n /** Additional details. */\n details?: TranslatableString;\n /** The price of the modifier. */\n price?: Price;\n}\n\nexport interface ServiceProperties {\n /**\n * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * For example, the start time of a class.\n */\n scheduledDate?: Date | null;\n /**\n * The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.\n * @min 1\n * @max 10000\n */\n numberOfParticipants?: number | null;\n /**\n * Date and time the service is to be ended, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * For example, the date and time a class will end.\n * @internal\n */\n endDate?: Date | null;\n}\n\n/**\n * Record of the cross-border repricing of a single line item, shipping option or fee on a site whose catalog prices include tax:\n * the catalog price the merchant entered, the base region's tax removed from it per unit, and the rate used.\n *\n * This record describes how the price was reached, not the resulting amount. The repriced figures are on the line itself:\n * `price` and `taxInfo` on an order line item, and their counterparts on a shipping cost or a fee.\n * Written by the calculation that priced the line and carried unchanged onto orders, draft orders and subscription contracts.\n */\nexport interface CrossBorderPriceAdjustment {\n /**\n * ID of the tax region whose tax is built into the catalog prices.\n * @format GUID\n */\n baseTaxRegionId?: string;\n /**\n * ID of the tax region resolved for the destination. Absent when no region matched.\n * @format GUID\n */\n destinationTaxRegionId?: string | null;\n /** Price per unit as entered by the merchant, with the base region's tax inside it. */\n catalogPrice?: Price;\n /** 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. */\n baseTaxAmount?: Price;\n /** Outcome of the repricing for this line. */\n status?: RepriceStatusWithLiterals;\n /** 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`. */\n baseRateSource?: BaseRateSourceWithLiterals;\n /**\n * 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.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, maxScale:6 }\n */\n baseRate?: string | null;\n /** When the base region's rate was captured. Set only when `baseRateSource` is `AVALARA_PROBE`. */\n baseRateCapturedDate?: Date | null;\n /** Whether the destination's tax is included in the repriced amount. Reserved for per-region display; not populated. */\n destinationTaxIncluded?: boolean | null;\n}\n\n/** Outcome of the repricing for one line. */\nexport enum RepriceStatus {\n /** Base tax removed and the destination's tax applied. */\n APPLIED = 'APPLIED',\n /** The caller asked for the line to be left at its price. Nothing was removed. */\n KEPT = 'KEPT',\n /** 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`. */\n STRIP_ONLY = 'STRIP_ONLY',\n /** The destination is the base region. Nothing was removed. */\n SAME_REGION = 'SAME_REGION',\n /** 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. */\n SAME_COUNTRY = 'SAME_COUNTRY',\n /** No tax region matched the destination. Base tax removed and no destination tax applied. */\n NO_DESTINATION_REGION = 'NO_DESTINATION_REGION',\n /** The calculation didn't reprice this line, for example because the feature was off or a pass failed. Nothing was removed. */\n NOT_APPLICABLE = 'NOT_APPLICABLE',\n /** The line's modifiers exceed its price at the destination's rate. Nothing was removed. */\n NOT_APPLICABLE_MODIFIERS = 'NOT_APPLICABLE_MODIFIERS',\n /** A subscription line in a checkout whose currency differs from the site currency. Nothing was removed. */\n CONVERTED_CURRENCY_SUBSCRIPTION = 'CONVERTED_CURRENCY_SUBSCRIPTION',\n}\n\n/** @enumType */\nexport type RepriceStatusWithLiterals =\n | RepriceStatus\n | 'APPLIED'\n | 'KEPT'\n | 'STRIP_ONLY'\n | 'SAME_REGION'\n | 'SAME_COUNTRY'\n | 'NO_DESTINATION_REGION'\n | 'NOT_APPLICABLE'\n | 'NOT_APPLICABLE_MODIFIERS'\n | 'CONVERTED_CURRENCY_SUBSCRIPTION';\n\n/** Where the base region's rate came from. */\nexport enum BaseRateSource {\n /** The manual tax calculator computed the base tax for this calculation. */\n MANUAL_SPI = 'MANUAL_SPI',\n /** The rate captured from Avalara by the embedded-rate probe. */\n AVALARA_PROBE = 'AVALARA_PROBE',\n}\n\n/** @enumType */\nexport type BaseRateSourceWithLiterals =\n | BaseRateSource\n | 'MANUAL_SPI'\n | 'AVALARA_PROBE';\n\n/** Buyer information. */\nexport interface BuyerInfo extends BuyerInfoIdOneOf {\n /**\n * Visitor ID. Returned when the buyer isn't a logged-in site member.\n * @format GUID\n */\n visitorId?: string;\n /**\n * Member ID. Returned when the buyer is a logged-in site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * Contact ID. Automatically created if one doesn't exist. For more information, see [Contacts API](https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts/contact-v4/introduction).\n * @format GUID\n */\n contactId?: string | null;\n /**\n * Buyer's email address.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/** @oneof */\nexport interface BuyerInfoIdOneOf {\n /**\n * Visitor ID. Returned when the buyer isn't a logged-in site member.\n * @format GUID\n */\n visitorId?: string;\n /**\n * Member ID. Returned when the buyer is a logged-in site member.\n * @format GUID\n */\n memberId?: string;\n}\n\nexport enum WeightUnit {\n /** Weight unit can't be classified due to an error. */\n UNSPECIFIED_WEIGHT_UNIT = 'UNSPECIFIED_WEIGHT_UNIT',\n /** Kilograms. */\n KG = 'KG',\n /** Pounds. */\n LB = 'LB',\n}\n\n/** @enumType */\nexport type WeightUnitWithLiterals =\n | WeightUnit\n | 'UNSPECIFIED_WEIGHT_UNIT'\n | 'KG'\n | 'LB';\n\nexport interface CurrencyConversionDetails {\n /**\n * Currency used for the pricing of this order, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.\n *\n * This currency is used to calculate the pricing before conversion to the buyer's payment currency.\n * @readonly\n * @immutable\n * @format CURRENCY\n */\n originalCurrency?: string | null;\n /**\n * The rate used for converting the original currency to the currency used for payment.\n *\n * Returned only when a single rate produced every amount on the order.\n * This is the case for an order converted once at checkout.\n * @readonly\n * @decimalValue options { gt:0, lte:1000000000000000 }\n */\n conversionRate?: string | null;\n}\n\nexport interface PriceSummary {\n /** Subtotal of all line items, before discounts and before tax. */\n subtotal?: Price;\n /** Total shipping price, before discounts and before tax. */\n shipping?: Price;\n /** Total tax applied to the order. */\n tax?: Price;\n /** Total discount amount applied to the order. */\n discount?: Price;\n /**\n * Deprecated - use `total` instead.\n * @internal\n * @deprecated\n */\n totalPrice?: Price;\n /** Order's total price after discounts and tax. */\n total?: Price;\n /**\n * Order's total price including gift card.\n * @internal\n * @deprecated\n */\n totalWithGiftCard?: Price;\n /**\n * Order's total price after without gift card.\n * @internal\n * @deprecated\n */\n totalWithoutGiftCard?: Price;\n /** Total additional fees before tax. */\n totalAdditionalFees?: Price;\n}\n\nexport interface PlatformFeeSummary {\n /** Total sum of all platform fees. */\n total?: Price;\n /** Total amount of platform fees with `PASS_ON` charge type. */\n totalPassOn?: Price;\n /** Total amount of platform fees with `ABSORBED` charge type. */\n totalAbsorbed?: Price;\n /**\n * Specific information about each platform fee.\n * @maxSize 300\n */\n fees?: PlatformFee[];\n}\n\nexport interface PlatformFee {\n /** Platform fee name. */\n name?: TranslatableString;\n /** Platform fee amount. */\n amount?: Price;\n /**\n * ID of the line item the platform fee applies to.\n * @format GUID\n */\n lineItemId?: string;\n /** Platform fee charge type. */\n chargeType?: ChargeTypeWithLiterals;\n /**\n * Percentage rate charged as platform fee.\n * The fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.\n * @format DECIMAL_VALUE\n * @decimalValue options { gt:0, lte:1, maxScale:4 }\n */\n percentageRate?: string;\n}\n\nexport enum ChargeType {\n /**\n * Platform fee passed on to buyer.\n *\n * This type increases the order total, and is visible to the buyer and merchant as an additional fee.\n */\n PASS_ON = 'PASS_ON',\n /**\n * Platform fee absorbed by merchant.\n *\n * This type does not increase the order total, and is only visible to the merchant.\n */\n ABSORBED = 'ABSORBED',\n}\n\n/** @enumType */\nexport type ChargeTypeWithLiterals = ChargeType | 'PASS_ON' | 'ABSORBED';\n\n/** Billing Info and shipping details */\nexport interface AddressWithContact {\n /** Address. */\n address?: Address;\n /** Contact details. */\n contactDetails?: FullAddressContactDetails;\n}\n\n/** Physical address */\nexport interface Address {\n /**\n * Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.\n * @format COUNTRY\n */\n country?: string | null;\n /**\n * Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.\n * @maxLength 50\n */\n subdivision?: string | null;\n /**\n * City name.\n * @maxLength 50\n */\n city?: string | null;\n /**\n * Postal or zip code.\n * @maxLength 50\n */\n postalCode?: string | null;\n /** Street address. */\n streetAddress?: StreetAddress;\n /**\n * Main address line (usually street name and number).\n * @maxLength 150\n */\n addressLine1?: string | null;\n /**\n * Free text providing more detailed address info. Usually contains apt, suite, floor.\n * @maxLength 100\n */\n addressLine2?: string | null;\n /** Geocode object containing latitude and longitude coordinates. */\n location?: AddressLocation;\n /**\n * Country's full name.\n * @readonly\n */\n countryFullname?: string | null;\n /**\n * Subdivision full-name.\n * @readonly\n */\n subdivisionFullname?: string | null;\n}\n\nexport interface StreetAddress {\n /** Street number. */\n number?: string;\n /** Street name. */\n name?: string;\n /**\n * Apartment number.\n * @internal\n */\n apt?: string;\n /**\n * Optional address line 1\n * @internal\n */\n formattedAddressLine?: string | null;\n}\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\n/** Full contact details for an address */\nexport interface FullAddressContactDetails {\n /**\n * First name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Company name.\n * @maxLength 1000\n */\n company?: string | null;\n /** Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed. */\n vatId?: VatId;\n}\n\nexport interface VatId {\n /** Customer's tax ID. */\n _id?: string;\n /**\n * Tax type.\n *\n * Supported values:\n * + `CPF`: for individual tax payers\n * + `CNPJ`: for corporations\n */\n type?: VatTypeWithLiterals;\n}\n\n/** tax info types */\nexport enum VatType {\n UNSPECIFIED = 'UNSPECIFIED',\n /** CPF - for individual tax payers. */\n CPF = 'CPF',\n /** CNPJ - for corporations */\n CNPJ = 'CNPJ',\n}\n\n/** @enumType */\nexport type VatTypeWithLiterals = VatType | 'UNSPECIFIED' | 'CPF' | 'CNPJ';\n\nexport interface ShippingInformation {\n /**\n * App Def Id of external provider which was a source of shipping info\n * @minLength 1\n * @maxLength 100\n */\n carrierId?: string | null;\n /**\n * Unique code (or ID) of selected shipping option. For example, `\"usps_std_overnight\"`.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /**\n * Shipping option title.\n * For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"` or `\"First-Class Package International\"`.\n * @maxLength 250\n */\n title?: string;\n /** Shipping logistics. */\n logistics?: DeliveryLogistics;\n /** Shipping costs. */\n cost?: ShippingPrice;\n /** Shipping region. */\n region?: ShippingRegion;\n}\n\nexport interface DeliveryLogistics extends DeliveryLogisticsAddressOneOf {\n /** Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address. */\n shippingDestination?: AddressWithContact;\n /** Pickup details for store pickup or pickup point orders. */\n pickupDetails?: PickupDetails;\n /**\n * Expected delivery time in free text. For example, `\"3-5 business days\"`.\n * @maxLength 500\n */\n deliveryTime?: string | null;\n /**\n * Instructions for the carrier. For example, `\"Please knock on the door. If unanswered, please call contact number.\"`.\n * @maxLength 1000\n */\n instructions?: string | null;\n /**\n * Deprecated - Latest expected delivery date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * @deprecated\n */\n deliverByDate?: Date | null;\n /** Expected delivery time slot with start and end times. */\n deliveryTimeSlot?: DeliveryTimeSlot;\n}\n\n/** @oneof */\nexport interface DeliveryLogisticsAddressOneOf {\n /** Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address. */\n shippingDestination?: AddressWithContact;\n /** Pickup details for store pickup or pickup point orders. */\n pickupDetails?: PickupDetails;\n}\n\nexport interface PickupDetails {\n /** Pickup address. */\n address?: PickupAddress;\n /** Pickup method */\n pickupMethod?: PickupMethodWithLiterals;\n}\n\n/** Physical address */\nexport interface PickupAddress {\n /**\n * Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.\n * @format COUNTRY\n */\n country?: string | null;\n /**\n * Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.\n * @maxLength 50\n */\n subdivision?: string | null;\n /**\n * City name.\n * @maxLength 1000\n */\n city?: string | null;\n /**\n * Postal or zip code.\n * @maxLength 1000\n */\n postalCode?: string | null;\n /** Street address object, with number, name, and apartment number in separate fields. */\n streetAddress?: StreetAddress;\n /**\n * Main address line (usually street name and number).\n * @maxLength 1000\n */\n addressLine1?: string | null;\n /**\n * Free text providing more detailed address info. Usually contains apt, suite, floor.\n * @maxLength 1000\n */\n addressLine2?: string | null;\n /**\n * Country's full name.\n * @readonly\n */\n countryFullname?: string | null;\n /**\n * Subdivision full-name.\n * @readonly\n */\n subdivisionFullname?: string | null;\n /** @internal */\n location?: AddressLocation;\n}\n\nexport enum PickupMethod {\n STORE_PICKUP = 'STORE_PICKUP',\n PICKUP_POINT = 'PICKUP_POINT',\n}\n\n/** @enumType */\nexport type PickupMethodWithLiterals =\n | PickupMethod\n | 'STORE_PICKUP'\n | 'PICKUP_POINT';\n\nexport interface DeliveryTimeSlot {\n /** Delivery slot starting time. */\n from?: Date | null;\n /** Delivery slot ending time. */\n to?: Date | null;\n}\n\nexport interface ShippingPrice {\n /** Shipping price for display purposes. */\n price?: Price;\n /**\n * Total price of shipping after discounts (when relevant), and before tax.\n * @readonly\n */\n totalPriceBeforeTax?: Price;\n /**\n * Shipping price after all discounts (if any exist), and after tax.\n * @readonly\n */\n totalPriceAfterTax?: Price;\n /**\n * Tax details.\n * @deprecated Tax details.\n * @replacedBy tax_info\n * @targetRemovalDate 2026-03-30\n */\n taxDetails?: ItemTaxFullDetails;\n /** Represents all the relevant tax details for a shipping. */\n taxInfo?: LineItemTaxInfo;\n /**\n * Shipping discount before tax.\n * @readonly\n */\n discount?: Price;\n /**\n * Cross-border repricing record of the shipping cost on a site whose catalog prices include tax.\n * @internal\n * @readonly\n */\n crossBorderAdjustment?: CrossBorderPriceAdjustment;\n}\n\nexport interface ShippingRegion {\n /**\n * Name of shipping region. For example, `\"Metropolitan London\"`, or `\"Outer Melbourne suburbs\"`.\n * @maxLength 100\n */\n name?: string | null;\n}\n\nexport interface OrderTaxInfo {\n /** Calculated tax, added from line items. */\n totalTax?: Price;\n /**\n * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n * @maxSize 50\n */\n taxBreakdown?: OrderTaxBreakdown[];\n /**\n * Manual tax rate\n * @internal\n * @decimalValue options { gte:0 }\n * @readonly\n */\n manualTaxRate?: string | null;\n /**\n * Whether the order is exempt from tax calculations.\n *\n * Default: `false`\n * @readonly\n */\n taxExempt?: boolean | null;\n /**\n * The total amount that was exempt from tax calculations.\n * @internal\n * @readonly\n */\n totalExempt?: Price;\n /**\n * Cross-border repricing outcome of the last calculation that produced this tax: whether the lines were repriced for the destination's tax, in which mode, and when they weren't, why. Replaced on every edit, unlike the order's `crossBorderRepricing` marker.\n * @internal\n * @readonly\n */\n crossBorderCalculation?: CrossBorderCalculation;\n}\n\n/**\n * The summary of the tax breakdown for all the line items. It will hold for each tax name, the aggregated tax amount paid for it and the tax rate.\n * Tax breakdown is the tax amount split to the tax authorities that applied on the line item.\n */\nexport interface OrderTaxBreakdown {\n /**\n * The name of the tax against which this tax amount was calculated.\n * @maxLength 200\n */\n taxName?: string;\n /**\n * The type of tax that was calculated. Depends on the company's nexus settings as well as the jurisdiction's tax laws.\n * @maxLength 200\n */\n taxType?: string;\n /**\n * The name of the jurisdiction in which this tax detail applies.\n * @maxLength 200\n */\n jurisdiction?: string;\n /** The type of the jurisdiction in which this tax detail applies (e.g. Country,State,County,City,Special). */\n jurisdictionType?: JurisdictionTypeWithLiterals;\n /**\n * The rate at which this tax detail was calculated.\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0, maxScale:6 }\n */\n rate?: string;\n /** The sum of all the tax from line items that calculated by the tax identifiers. */\n aggregatedTaxAmount?: Price;\n /**\n * The sum of all the taxable amount from line items for tax identifiers.\n * @internal\n */\n aggregatedTaxableAmount?: Price;\n /**\n * The aggregated exempt amount from all line items for tax identifiers.\n * @internal\n */\n aggregatedExemptAmount?: Price;\n}\n\n/** Cross-border repricing outcome of one calculation. Replaced on every recalculation of the order; the order-level marker that never changes is `Order.crossBorderRepricing`. */\nexport interface CrossBorderCalculation {\n /** Whether the calculation repriced the lines for the destination's tax. */\n applied?: boolean;\n /** Why the calculation didn't reprice the lines. Meaningful only when `applied` is `false`. */\n reason?: CrossBorderNotApplicableReasonWithLiterals;\n /** Mode the calculation ran in. `FULL` when the request set no mode. */\n mode?: CrossBorderRepricingModeWithLiterals;\n /**\n * Request ID of the calculation, for log correlation.\n * @maxLength 100\n */\n requestId?: string | null;\n}\n\n/** Why a cross-border repricing calculation didn't reprice the lines. */\nexport enum CrossBorderNotApplicableReason {\n /** The repricing feature toggle is off. */\n FEATURE_DISABLED = 'FEATURE_DISABLED',\n /** The site hasn't opted in to cross-border repricing. */\n NOT_OPTED_IN = 'NOT_OPTED_IN',\n /** The site's prices no longer include tax. */\n TAX_INCLUSIVE_PRICING_OFF = 'TAX_INCLUSIVE_PRICING_OFF',\n /** The base tax region doesn't exist on the site. */\n BASE_TAX_REGION_NOT_FOUND = 'BASE_TAX_REGION_NOT_FOUND',\n /** The base region uses the manual calculator and has no tax mapping. */\n BASE_REGION_HAS_NO_MANUAL_MAPPING = 'BASE_REGION_HAS_NO_MANUAL_MAPPING',\n /** No embedded rate is stored for one of the tax groups in the calculation. */\n EMBEDDED_RATE_MISSING = 'EMBEDDED_RATE_MISSING',\n /** Removing the base tax or applying the destination's tax failed for a line item. */\n CROSS_BORDER_REPRICING_FAILED = 'CROSS_BORDER_REPRICING_FAILED',\n /** The line items were repriced. Repricing the shipping option failed. */\n SHIPPING_REPRICING_FAILED = 'SHIPPING_REPRICING_FAILED',\n /** The line items were repriced. Repricing the additional fees failed. */\n FEES_REPRICING_FAILED = 'FEES_REPRICING_FAILED',\n /** The site's tax settings couldn't be read, so the calculation couldn't tell whether the site opted in. */\n SETTINGS_UNAVAILABLE = 'SETTINGS_UNAVAILABLE',\n}\n\n/** @enumType */\nexport type CrossBorderNotApplicableReasonWithLiterals =\n | CrossBorderNotApplicableReason\n | 'FEATURE_DISABLED'\n | 'NOT_OPTED_IN'\n | 'TAX_INCLUSIVE_PRICING_OFF'\n | 'BASE_TAX_REGION_NOT_FOUND'\n | 'BASE_REGION_HAS_NO_MANUAL_MAPPING'\n | 'EMBEDDED_RATE_MISSING'\n | 'CROSS_BORDER_REPRICING_FAILED'\n | 'SHIPPING_REPRICING_FAILED'\n | 'FEES_REPRICING_FAILED'\n | 'SETTINGS_UNAVAILABLE';\n\n/** How a cross-border repricing calculation is asked to run. This is the requested mode; a line's outcome is `CrossBorderPriceAdjustment.RepriceStatus`. */\nexport enum CrossBorderRepricingMode {\n /** Nothing is repriced. */\n DISABLED = 'DISABLED',\n /** Base tax removed and no destination tax applied. A line repriced this way has the outcome `CrossBorderPriceAdjustment.RepriceStatus.STRIP_ONLY`. */\n STRIP_ONLY = 'STRIP_ONLY',\n /** Base tax removed and the destination's tax applied. A request that sets no mode runs this way. */\n FULL = 'FULL',\n}\n\n/** @enumType */\nexport type CrossBorderRepricingModeWithLiterals =\n | CrossBorderRepricingMode\n | 'DISABLED'\n | 'STRIP_ONLY'\n | 'FULL';\n\nexport interface AppliedDiscount extends AppliedDiscountDiscountSourceOneOf {\n /** Coupon applied by the customer. */\n coupon?: Coupon;\n /** Discount applied manually by the merchant. */\n merchantDiscount?: MerchantDiscount;\n /** Automatic discount applied by the system based on configured discount rules. */\n discountRule?: DiscountRule;\n discountType?: DiscountTypeWithLiterals;\n /**\n * __Deprecated.__ Use `lineItemDiscounts` instead.\n *\n * IDs of line items the discount applies to.\n * @format GUID\n * @maxSize 300\n * @deprecated __Deprecated.__ Use `lineItemDiscounts` instead.\n *\n * IDs of line items the discount applies to.\n * @replacedBy line_item_discounts\n * @targetRemovalDate 2024-10-30\n */\n lineItemIds?: string[];\n /**\n * Discount ID.\n * @format GUID\n * @immutable\n */\n _id?: string | null;\n /**\n * Line items the discount applies to, including the discount amount for each.\n * @maxSize 300\n */\n lineItemDiscounts?: LineItemDiscount[];\n /**\n * Number of subscription billing cycles the discount applies to.\n * If None and discount is linked to subscription line item, it applies to all cycles.\n * @internal\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /**\n * A list of item combinations for this applied discount.\n * Each entry represents a unique combination of line items that triggered\n * or received this discount, along with how many times that combination was applied together.\n * Relevant ONLY for BXGY and Quantity-based promotions.\n * In BXGY the combination will contain the \"X\" items with discount amount of 0.\n * @internal\n * @maxSize 1000\n */\n itemCombinations?: ItemCombination[];\n}\n\n/** @oneof */\nexport interface AppliedDiscountDiscountSourceOneOf {\n /** Coupon applied by the customer. */\n coupon?: Coupon;\n /** Discount applied manually by the merchant. */\n merchantDiscount?: MerchantDiscount;\n /** Automatic discount applied by the system based on configured discount rules. */\n discountRule?: DiscountRule;\n}\n\n/** Type of discount. */\nexport enum DiscountType {\n /** Discount applies to the entire order. */\n GLOBAL = 'GLOBAL',\n /** Discount applies to specific items. */\n SPECIFIC_ITEMS = 'SPECIFIC_ITEMS',\n /** Discount applies to shipping. For example, free shipping. */\n SHIPPING = 'SHIPPING',\n}\n\n/** @enumType */\nexport type DiscountTypeWithLiterals =\n | DiscountType\n | 'GLOBAL'\n | 'SPECIFIC_ITEMS'\n | 'SHIPPING';\n\n/** Coupon */\nexport interface Coupon {\n /** Coupon ID. */\n _id?: string;\n /** Coupon code. */\n code?: string;\n /** Coupon name. */\n name?: string;\n /** Coupon value. */\n amount?: Price;\n}\n\n/** Discount applied manually by the merchant through the dashboard. */\nexport interface MerchantDiscount\n extends MerchantDiscountMerchantDiscountReasonOneOf {\n /** Predefined discount reason. */\n discountReason?: DiscountReasonWithLiterals;\n /**\n * Custom discount description as free text.\n * @maxLength 200\n */\n description?: string | null;\n /** Discount amount. */\n amount?: Price;\n /**\n * Discount as a percentage of the original price. For example, `10.5` for a 10.5% discount.\n * @internal\n * @format DECIMAL_VALUE\n * @decimalValue options { gte:0.01, lte:100, maxScale:2 }\n */\n percentage?: string | null;\n /**\n * Discount name.\n * @internal\n * @maxLength 200\n */\n name?: string | null;\n}\n\n/** @oneof */\nexport interface MerchantDiscountMerchantDiscountReasonOneOf {\n /** Predefined discount reason. */\n discountReason?: DiscountReasonWithLiterals;\n /**\n * Custom discount description as free text.\n * @maxLength 200\n */\n description?: string | null;\n}\n\n/** Predefined reason for the discount. */\nexport enum DiscountReason {\n /** Unknown discount reason. */\n UNSPECIFIED = 'UNSPECIFIED',\n /** Balance adjustment resulting from an item exchange. */\n EXCHANGED_ITEMS = 'EXCHANGED_ITEMS',\n /** Proportional discount for a shortened subscription billing cycle. Applied when a subscription's billing date is moved earlier, reducing the cycle length. */\n BILLING_ADJUSTMENT = 'BILLING_ADJUSTMENT',\n}\n\n/** @enumType */\nexport type DiscountReasonWithLiterals =\n | DiscountReason\n | 'UNSPECIFIED'\n | 'EXCHANGED_ITEMS'\n | 'BILLING_ADJUSTMENT';\n\nexport interface DiscountRule {\n /**\n * Discount rule ID\n * @format GUID\n */\n _id?: string;\n /** Discount rule name */\n name?: DiscountRuleName;\n /** Discount value. */\n amount?: Price;\n}\n\nexport interface DiscountRuleName {\n /**\n * Original discount rule name (in site's default language).\n * @minLength 1\n * @maxLength 256\n */\n original?: string;\n /**\n * Translated discount rule name according to buyer language. Defaults to `original` when not provided.\n * @minLength 1\n * @maxLength 500\n */\n translated?: string | null;\n}\n\nexport interface LineItemDiscount {\n /**\n * Line item ID.\n * @format GUID\n */\n _id?: string;\n /** Total discount amount for this line item. */\n totalDiscount?: Price;\n}\n\nexport interface ItemCombination {\n /**\n * The number of times this exact combination of items (with the specified quantities) was applied together in the order.\n * @min 1\n * @max 100000\n */\n count?: number;\n /**\n * Line items that participated together in this combination.\n * @minSize 1\n * @maxSize 100\n */\n lineItems?: ItemCombinationLineItem[];\n}\n\nexport interface ItemCombinationLineItem {\n /**\n * The unique ID of the line item to which this discount applies.\n * @format GUID\n */\n lineItemId?: string;\n /** Total discount amount for all units (quantity) of this line item in this combination. */\n discountAmount?: Price;\n /**\n * Number of units from this line item that participated in a single combination.\n * @min 1\n * @max 100000\n */\n quantity?: number;\n}\n\nexport interface ChannelInfo {\n /**\n * Sales channel that submitted the order.\n *\n * When creating an order via the API to record an external order, use the channel type that matches the original source. If no matching type exists, use `OTHER_PLATFORM`.\n */\n type?: ChannelTypeWithLiterals;\n /**\n * Reference to an order ID from an external system. Relevant when recording orders from external platforms.\n * @maxLength 100\n */\n externalOrderId?: string | null;\n /**\n * URL to the order in the external system. Relevant when recording orders from external platforms.\n * @maxLength 300\n */\n externalOrderUrl?: string | null;\n}\n\nexport enum ChannelType {\n /** Unspecified sales channel. This value is not supported. */\n UNSPECIFIED = 'UNSPECIFIED',\n /** A web client. */\n WEB = 'WEB',\n /** [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395). */\n POS = 'POS',\n /** [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop). */\n EBAY = 'EBAY',\n /** [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop). */\n AMAZON = 'AMAZON',\n /** Other sales platform. */\n OTHER_PLATFORM = 'OTHER_PLATFORM',\n /** [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview). */\n WIX_APP_STORE = 'WIX_APP_STORE',\n /** Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings) */\n WIX_INVOICES = 'WIX_INVOICES',\n /** Wix merchant backoffice. */\n BACKOFFICE_MERCHANT = 'BACKOFFICE_MERCHANT',\n /** Wish sales channel. */\n WISH = 'WISH',\n /** [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass). */\n CLASS_PASS = 'CLASS_PASS',\n /** Global-E sales channel. */\n GLOBAL_E = 'GLOBAL_E',\n /** [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops). */\n FACEBOOK = 'FACEBOOK',\n /** [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel). */\n ETSY = 'ETSY',\n /** [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel). */\n TIKTOK = 'TIKTOK',\n /** [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app). */\n FAIRE_COM = 'FAIRE_COM',\n /** PayPal Agentic Checkout sales channel. */\n PAYPAL_AGENTIC_CHECKOUT = 'PAYPAL_AGENTIC_CHECKOUT',\n /** Stripe Agentic Checkout sales channel. */\n STRIPE_AGENTIC_CHECKOUT = 'STRIPE_AGENTIC_CHECKOUT',\n /**\n * Wix Invoices platform app\n * @documentationMaturity preview\n * @internal\n */\n WIX_INVOICES_PLATFORM = 'WIX_INVOICES_PLATFORM',\n /**\n * UCP (Universal Checkout Protocol) Agentic Checkout sales channel.\n * @documentationMaturity preview\n * @internal\n */\n UCP_AGENTIC_CHECKOUT = 'UCP_AGENTIC_CHECKOUT',\n /**\n * Meta Agentic Checkout sales channel.\n * @documentationMaturity preview\n * @internal\n */\n META_AGENTIC_CHECKOUT = 'META_AGENTIC_CHECKOUT',\n /**\n * Google Agentic Checkout sales channel.\n * @documentationMaturity preview\n * @internal\n */\n GOOGLE_AGENTIC_CHECKOUT = 'GOOGLE_AGENTIC_CHECKOUT',\n}\n\n/** @enumType */\nexport type ChannelTypeWithLiterals =\n | ChannelType\n | 'UNSPECIFIED'\n | 'WEB'\n | 'POS'\n | 'EBAY'\n | 'AMAZON'\n | 'OTHER_PLATFORM'\n | 'WIX_APP_STORE'\n | 'WIX_INVOICES'\n | 'BACKOFFICE_MERCHANT'\n | 'WISH'\n | 'CLASS_PASS'\n | 'GLOBAL_E'\n | 'FACEBOOK'\n | 'ETSY'\n | 'TIKTOK'\n | 'FAIRE_COM'\n | 'PAYPAL_AGENTIC_CHECKOUT'\n | 'STRIPE_AGENTIC_CHECKOUT';\n\nexport interface CustomField {\n /** Custom field value. */\n value?: any;\n /**\n * Custom field title.\n * @minLength 1\n * @maxLength 500\n */\n title?: string;\n /**\n * Translated custom field title.\n * @minLength 1\n * @maxLength 500\n */\n translatedTitle?: string | null;\n}\n\nexport interface V1SubscriptionTitle {\n /**\n * Subscription title in the site's default language.\n * @minLength 1\n * @maxLength 150\n */\n original?: string;\n /**\n * Subscription title translated into the buyer's language.\n * @minLength 1\n * @maxLength 150\n */\n translated?: string | null;\n}\n\nexport interface AdditionalFee {\n /**\n * Additional fee's unique code for future processing.\n * @minLength 1\n * @maxLength 100\n */\n code?: string | null;\n /**\n * Name of additional fee.\n * @minLength 1\n * @maxLength 50\n */\n name?: string;\n /** Additional fee's price. */\n price?: Price;\n /**\n * Tax details.\n * @deprecated Tax details.\n * @replacedBy tax_info\n * @targetRemovalDate 2026-03-30\n */\n taxDetails?: ItemTaxFullDetails;\n /** Represents all the relevant tax details for additional fee. */\n taxInfo?: LineItemTaxInfo;\n /**\n * SPI implementer's `appId`.\n * @format GUID\n */\n providerAppId?: string | null;\n /** Additional fee's price before tax. */\n priceBeforeTax?: Price;\n /** Additional fee's price after tax. */\n priceAfterTax?: Price;\n /**\n * Additional fee's id.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Optional - Line items associated with this additional fee.\n * If no `lineItemIds` are provided, the fee will be associated with the whole cart/checkout/order.\n * @format GUID\n */\n lineItemIds?: string[];\n /**\n * Number of subscription billing cycles the additional fee applies to.\n * If None and additional fee is linked to subscription line item, it applies to all cycles.\n * @internal\n * @min 1\n * @max 999\n */\n subscriptionCycles?: number | null;\n /** Specifies the entity that added the additional fee. */\n source?: AdditionalFeeSourceWithLiterals;\n /** Address type tax was calculated against for this fee. */\n taxableAddress?: TaxableAddress;\n /**\n * Cross-border repricing record of the fee on a site whose catalog prices include tax.\n * @internal\n * @readonly\n */\n crossBorderAdjustment?: CrossBorderPriceAdjustment;\n}\n\nexport enum AdditionalFeeSource {\n /** The additional fee was added by an additional fee service plugin. */\n SERVICE_PLUGIN = 'SERVICE_PLUGIN',\n /** The additional fee was added to the item by a catalog or custom line item. */\n ITEM = 'ITEM',\n /** The additional fee was added manually on request. */\n MANUAL = 'MANUAL',\n /** The additional fee was added by the shipping provider. */\n SHIPPING = 'SHIPPING',\n /** The additional fee was added by the Wix eCommerce platform. */\n PLATFORM = 'PLATFORM',\n}\n\n/** @enumType */\nexport type AdditionalFeeSourceWithLiterals =\n | AdditionalFeeSource\n | 'SERVICE_PLUGIN'\n | 'ITEM'\n | 'MANUAL'\n | 'SHIPPING'\n | 'PLATFORM';\n\nexport interface Location {\n /**\n * Location ID.\n * Learn more about the [Wix Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\n * @format GUID\n */\n _id?: string;\n /**\n * Location name.\n * @minLength 1\n * @maxLength 500\n * @readonly\n */\n name?: string;\n}\n\nexport interface SubscriptionContractSettings {\n /** Indicates which coupon calculation model was used when creating this contract. */\n specificItemsCouponBehavior?: SpecificItemsCouponBehaviorWithLiterals;\n}\n\nexport enum SpecificItemsCouponBehavior {\n /** Coupon calculation behavior was not specified. */\n UNDEFINED_COUPON_BEHAVIOR = 'UNDEFINED_COUPON_BEHAVIOR',\n /** Item subtotal includes coupon discount. */\n ITEM_SUBTOTAL_INCLUDES_DISCOUNT = 'ITEM_SUBTOTAL_INCLUDES_DISCOUNT',\n /**\n * Legacy flow.\n * Discount is applied as to specific items after subtotal calculation.\n */\n LEGACY_ITEM_SUBTOTAL_DOES_NOT_INCLUDE_DISCOUNT = 'LEGACY_ITEM_SUBTOTAL_DOES_NOT_INCLUDE_DISCOUNT',\n}\n\n/** @enumType */\nexport type SpecificItemsCouponBehaviorWithLiterals =\n | SpecificItemsCouponBehavior\n | 'UNDEFINED_COUPON_BEHAVIOR'\n | 'ITEM_SUBTOTAL_INCLUDES_DISCOUNT'\n | 'LEGACY_ITEM_SUBTOTAL_DOES_NOT_INCLUDE_DISCOUNT';\n\nexport interface SubscriptionContractActivity\n extends SubscriptionContractActivityTargetOneOf,\n SubscriptionContractActivityContentOneOf {\n /** The activity applies to all future billing cycles of the subscription contract. */\n contractTarget?: ContractTarget;\n /** Changes committed from a DraftSubscriptionContract. */\n changesApplied?: ChangesAppliedActivity;\n /**\n * Activity ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Date and time the activity occurred.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Wix user or app that made the change.\n * @readonly\n */\n author?: ActivityAuthor;\n /** Activity type. */\n activityType?: ActivityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface SubscriptionContractActivityTargetOneOf {\n /** The activity applies to all future billing cycles of the subscription contract. */\n contractTarget?: ContractTarget;\n}\n\n/** @oneof */\nexport interface SubscriptionContractActivityContentOneOf {\n /** Changes committed from a DraftSubscriptionContract. */\n changesApplied?: ChangesAppliedActivity;\n}\n\n/** Target that applies changes to all future billing cycles of the subscription contract. */\nexport interface ContractTarget {\n /** Number of the first billing cycle the changes apply to. Billing cycles are numbered from `1`. */\n nextCycleNumber?: number | null;\n}\n\nexport interface ActivityAuthor extends ActivityAuthorValueOneOf {\n /**\n * Wix user ID. Returned when a Wix user made the change.\n * @format GUID\n */\n userId?: string;\n /**\n * App ID. Returned when an app made the change.\n * @format GUID\n */\n appId?: string;\n}\n\n/** @oneof */\nexport interface ActivityAuthorValueOneOf {\n /**\n * Wix user ID. Returned when a Wix user made the change.\n * @format GUID\n */\n userId?: string;\n /**\n * App ID. Returned when an app made the change.\n * @format GUID\n */\n appId?: string;\n}\n\nexport interface ChangesAppliedActivity\n extends ChangesAppliedActivityTargetOneOf {\n /** The changes apply to all future billing cycles of the subscription contract. */\n contractTarget?: ContractTarget;\n /**\n * ID of the draft subscription contract whose changes were committed.\n * @format GUID\n */\n draftSubscriptionContractId?: string;\n /**\n * Changes that were applied to the subscription contract.\n * @maxSize 100\n */\n changes?: ContractChange[];\n /**\n * Reason for the change, provided by the business.\n * @maxLength 200\n */\n reason?: string | null;\n}\n\n/** @oneof */\nexport interface ChangesAppliedActivityTargetOneOf {\n /** The changes apply to all future billing cycles of the subscription contract. */\n contractTarget?: ContractTarget;\n}\n\nexport interface ContractChange extends ContractChangeChangeDetailsOneOf {\n /** Line item was modified. */\n lineItemChanged?: LineItemChanges;\n /** Line item was added to the contract. */\n lineItemAdded?: LineItemSummary;\n /** Line item was removed from the contract. */\n lineItemRemoved?: LineItemSummary;\n /** Discount was added to the contract. */\n discountAdded?: DiscountSummary;\n /** Discount was removed from the contract. */\n discountRemoved?: DiscountSummary;\n /** Additional fee was added to the contract. */\n additionalFeeAdded?: AdditionalFeeSummary;\n /** Additional fee was removed from the contract. */\n additionalFeeRemoved?: AdditionalFeeSummary;\n /** Total price changed. */\n totalPriceChanged?: TotalPriceChange;\n /** Type of change. */\n changeType?: ContractChangeTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface ContractChangeChangeDetailsOneOf {\n /** Line item was modified. */\n lineItemChanged?: LineItemChanges;\n /** Line item was added to the contract. */\n lineItemAdded?: LineItemSummary;\n /** Line item was removed from the contract. */\n lineItemRemoved?: LineItemSummary;\n /** Discount was added to the contract. */\n discountAdded?: DiscountSummary;\n /** Discount was removed from the contract. */\n discountRemoved?: DiscountSummary;\n /** Additional fee was added to the contract. */\n additionalFeeAdded?: AdditionalFeeSummary;\n /** Additional fee was removed from the contract. */\n additionalFeeRemoved?: AdditionalFeeSummary;\n /** Total price changed. */\n totalPriceChanged?: TotalPriceChange;\n}\n\nexport interface LineItemChanges {\n /**\n * Line item ID.\n * @format GUID\n */\n _id?: string;\n /** Item name after change. */\n name?: ProductName;\n /** Item quantity change. */\n quantity?: LineItemQuantityChange;\n}\n\nexport enum LineItemQuantityChangeType {\n /** Unknown quantity change type. */\n UNKNOWN_LINE_ITEM_QUANTITY_CHANGE_TYPE = 'UNKNOWN_LINE_ITEM_QUANTITY_CHANGE_TYPE',\n /** Quantity increased. */\n QUANTITY_INCREASED = 'QUANTITY_INCREASED',\n /** Quantity decreased. */\n QUANTITY_DECREASED = 'QUANTITY_DECREASED',\n}\n\n/** @enumType */\nexport type LineItemQuantityChangeTypeWithLiterals =\n | LineItemQuantityChangeType\n | 'UNKNOWN_LINE_ITEM_QUANTITY_CHANGE_TYPE'\n | 'QUANTITY_INCREASED'\n | 'QUANTITY_DECREASED';\n\nexport interface LineItemQuantityChange {\n /**\n * Original item quantity before the change.\n * @max 1000000\n */\n originalQuantity?: number;\n /**\n * New item quantity after the change.\n * @max 1000000\n */\n newQuantity?: number;\n /**\n * Difference between new and original quantities.\n * @min 1\n * @max 1000000\n */\n quantityDifference?: number;\n /** Direction of the quantity change. */\n deltaType?: LineItemQuantityChangeTypeWithLiterals;\n}\n\nexport interface LineItemSummary {\n /**\n * Line item ID.\n * @format GUID\n */\n _id?: string;\n /** Item name. */\n name?: ProductName;\n /**\n * Added or removed item quantity.\n * @min 1\n * @max 1000000\n */\n quantity?: number;\n}\n\nexport interface DiscountSummary {\n /**\n * Discount ID.\n * @format GUID\n */\n _id?: string;\n /** Discount name. */\n name?: TranslatedValue;\n /** Discount amount. */\n totalAmount?: Price;\n}\n\nexport interface TranslatedValue {\n /**\n * Value in site default language.\n * @minLength 1\n */\n original?: string;\n /**\n * Translated value.\n * @minLength 1\n */\n translated?: string | null;\n}\n\nexport interface AdditionalFeeSummary {\n /**\n * Additional fee ID.\n * @format GUID\n */\n _id?: string;\n /** Additional fee name. */\n name?: TranslatedValue;\n /** Additional fee amount. */\n totalAmount?: Price;\n}\n\nexport interface TotalPriceChange {\n /** Total price before the commit. */\n originalTotal?: Price;\n /** Total price after the commit. */\n newTotal?: Price;\n}\n\nexport enum ContractChangeType {\n /** Unknown change type. */\n UNKNOWN_CONTRACT_CHANGE_TYPE = 'UNKNOWN_CONTRACT_CHANGE_TYPE',\n /** Line item was modified. */\n LINE_ITEM_CHANGED = 'LINE_ITEM_CHANGED',\n /** Line item was added to the contract. */\n LINE_ITEM_ADDED = 'LINE_ITEM_ADDED',\n /** Line item was removed from the contract. */\n LINE_ITEM_REMOVED = 'LINE_ITEM_REMOVED',\n /** Discount was added to the contract. */\n DISCOUNT_ADDED = 'DISCOUNT_ADDED',\n /** Discount was removed from the contract. */\n DISCOUNT_REMOVED = 'DISCOUNT_REMOVED',\n /** Additional fee was added to the contract. */\n ADDITIONAL_FEE_ADDED = 'ADDITIONAL_FEE_ADDED',\n /** Additional fee was removed from the contract. */\n ADDITIONAL_FEE_REMOVED = 'ADDITIONAL_FEE_REMOVED',\n /** Total price changed. */\n TOTAL_PRICE_CHANGED = 'TOTAL_PRICE_CHANGED',\n}\n\n/** @enumType */\nexport type ContractChangeTypeWithLiterals =\n | ContractChangeType\n | 'UNKNOWN_CONTRACT_CHANGE_TYPE'\n | 'LINE_ITEM_CHANGED'\n | 'LINE_ITEM_ADDED'\n | 'LINE_ITEM_REMOVED'\n | 'DISCOUNT_ADDED'\n | 'DISCOUNT_REMOVED'\n | 'ADDITIONAL_FEE_ADDED'\n | 'ADDITIONAL_FEE_REMOVED'\n | 'TOTAL_PRICE_CHANGED';\n\nexport enum ActivityType {\n /** Unknown activity type. */\n UNKNOWN_ACTIVITY_TYPE = 'UNKNOWN_ACTIVITY_TYPE',\n /** Changes from a draft subscription contract were committed. */\n CHANGES_APPLIED = 'CHANGES_APPLIED',\n}\n\n/** @enumType */\nexport type ActivityTypeWithLiterals =\n | ActivityType\n | 'UNKNOWN_ACTIVITY_TYPE'\n | 'CHANGES_APPLIED';\n\n/** Triggered when a subscription contract has been canceled before its designated end date. */\nexport interface SubscriptionContractCanceled {\n /** The subscription contract that was canceled. */\n subscriptionContract?: SubscriptionContract;\n /** Who initiated the cancellation. */\n initiator?: ActionInitiatorWithLiterals;\n /**\n * Reason for cancellation.\n * @maxLength 500\n */\n reason?: string | null;\n}\n\nexport enum ActionInitiator {\n UNKNOWN_ACTION_INITIATOR = 'UNKNOWN_ACTION_INITIATOR',\n BUSINESS = 'BUSINESS',\n CUSTOMER = 'CUSTOMER',\n SYSTEM = 'SYSTEM',\n PAYMENT_FAILURE = 'PAYMENT_FAILURE',\n}\n\n/** @enumType */\nexport type ActionInitiatorWithLiterals =\n | ActionInitiator\n | 'UNKNOWN_ACTION_INITIATOR'\n | 'BUSINESS'\n | 'CUSTOMER'\n | 'SYSTEM'\n | 'PAYMENT_FAILURE';\n\n/** Triggered when a subscription contract has expired after completing all billing cycles. */\nexport interface SubscriptionContractExpired {\n /** The subscription contract that expired. */\n subscriptionContract?: SubscriptionContract;\n}\n\n/** Triggered when changes from a draft subscription contract are committed to a subscription contract. */\nexport interface SubscriptionContractChangesCommitted {\n /** Subscription contract after the changes were committed. */\n subscriptionContract?: SubscriptionContract;\n /**\n * ID of the draft subscription contract whose changes were committed.\n * @format GUID\n */\n draftSubscriptionContractId?: string;\n /** Changes that were applied to the subscription contract. */\n changes?: SubscriptionContractDiffs;\n /**\n * Date and time the changes were committed.\n * @readonly\n */\n commitDate?: Date | null;\n /** Notification settings specified when the changes were committed. */\n commitSettings?: SubscriptionCommitSettings;\n /**\n * Reason for the change, provided by the business.\n * @maxLength 200\n */\n reason?: string | null;\n /** Price summary of the contract after the commit. */\n priceSummary?: PriceSummary;\n}\n\nexport interface SubscriptionContractDiffs {\n /**\n * Line items that were added, changed, or removed.\n *\n * A line item is `CHANGED` when a field listed in `ItemChangedDetails` changed. Line items with no change aren't included.\n * @maxSize 100\n */\n lineItems?: LineItemDelta[];\n /**\n * Discounts that were added, changed, or removed.\n *\n * A discount is `CHANGED` when its amount, the amount for any line item, or the line items it applies to changed. Discounts with no change aren't included.\n * @maxSize 100\n */\n appliedDiscounts?: AppliedDiscountDelta[];\n /**\n * Additional fees that were added, changed, or removed.\n *\n * An additional fee is `CHANGED` when its price or the line items it applies to changed. Fees with no change aren't included.\n * @maxSize 100\n */\n additionalFees?: AdditionalFeeDelta[];\n /** Price summary after the changes. Replaces the subscription contract's previous price summary. */\n priceSummary?: PriceSummary;\n /** Tax information after the changes. Replaces the subscription contract's previous tax information. */\n taxInfo?: OrderTaxInfo;\n /** Shipping information after the changes. Replaces the subscription contract's previous shipping information. */\n shippingInfo?: ShippingInformation;\n}\n\nexport interface LineItemDelta extends LineItemDeltaDeltaDetailsOneOf {\n /** Values the line item had before the change. */\n changed?: ItemChangedDetails;\n /**\n * Line item ID.\n * @format GUID\n */\n lineItemId?: string;\n /** Line item content. For a removed line item, the line item that was removed. */\n lineItem?: OrderLineItem;\n /** Type of change applied to this line item. */\n changeType?: ChangeTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface LineItemDeltaDeltaDetailsOneOf {\n /** Values the line item had before the change. */\n changed?: ItemChangedDetails;\n}\n\n/** The catalog reference options before the change. */\nexport interface CatalogReferenceOptionsBeforeChange {\n /** The catalog reference options. Absent when the line item had no options. */\n options?: Record<string, any> | null;\n}\n\n/** The product name before the change. */\nexport interface ProductNameBeforeChange {\n /** The product name. Absent when the line item had no product name. */\n productName?: ProductName;\n}\n\n/** The description lines before the change. */\nexport interface DescriptionLinesBeforeChange {\n /**\n * The description lines. Empty when the line item had no description lines.\n * @maxSize 20\n */\n descriptionLines?: DescriptionLine[];\n}\n\n/** The image before the change. */\nexport interface ImageBeforeChange {\n /** The image. Absent when the line item had no image. */\n image?: string;\n}\n\n/** The physical properties before the change. */\nexport interface PhysicalPropertiesBeforeChange {\n /** The physical properties. Absent when the line item had no physical properties. */\n physicalProperties?: PhysicalProperties;\n}\n\n/** The item type before the change. */\nexport interface ItemTypeBeforeChange {\n /** The item type. Absent when the line item had no item type. */\n itemType?: ItemType;\n}\n\n/** The fulfiller ID before the change. */\nexport interface FulfillerIdBeforeChange {\n /**\n * The fulfiller ID. Absent when the line item had no fulfiller.\n * @format GUID\n */\n fulfillerId?: string | null;\n}\n\n/** The digital file before the change. */\nexport interface DigitalFileBeforeChange {\n /** The digital file. Absent when the line item had no digital file. */\n digitalFile?: DigitalFile;\n}\n\n/** The price description before the change. */\nexport interface PriceDescriptionBeforeChange {\n /** The price description. Absent when the line item had no price description. */\n priceDescription?: PriceDescription;\n}\n\n/** The delivery profile ID before the change. */\nexport interface DeliveryProfileIdBeforeChange {\n /**\n * The delivery profile ID. Absent when the line item had no delivery profile.\n * @format GUID\n */\n deliveryProfileId?: string | null;\n}\n\n/** The shipping group ID before the change. */\nexport interface ShippingGroupIdBeforeChange {\n /**\n * The shipping group ID. Absent when the line item had no shipping group.\n * @format GUID\n */\n shippingGroupId?: string | null;\n}\n\n/** The tax info before the change. */\nexport interface TaxInfoBeforeChange {\n /** The tax info. Absent when the line item had no tax info. */\n taxInfo?: LineItemTaxInfo;\n}\n\n/** The inventory app ID before the change. */\nexport interface InventoryAppIdBeforeChange {\n /**\n * The inventory app ID. Absent when the line item had no inventory app.\n * @format GUID\n */\n inventoryAppId?: string | null;\n}\n\n/** The root catalog item ID before the change. */\nexport interface RootCatalogItemIdBeforeChange {\n /**\n * The root catalog item ID. Absent when the line item had no root catalog item.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n}\n\n/** The modifier groups before the change. */\nexport interface ModifierGroupsBeforeChange {\n /**\n * The modifier groups. Empty when the line item had no modifier groups.\n * @maxSize 10\n */\n modifierGroups?: ModifierGroup[];\n}\n\n/** The price undetermined flag before the change. */\nexport interface PriceUndeterminedBeforeChange {\n /** Whether the price of the line item was undetermined. */\n priceUndetermined?: boolean;\n}\n\n/** Type of change to a line item, discount, or additional fee. */\nexport enum ChangeType {\n /** Unknown change type. */\n UNKNOWN_CHANGE_TYPE = 'UNKNOWN_CHANGE_TYPE',\n /** The line item, discount, or additional fee was added to the subscription contract. */\n ADDED = 'ADDED',\n /** The line item, discount, or additional fee was changed. */\n CHANGED = 'CHANGED',\n /** The line item, discount, or additional fee was removed from the subscription contract. */\n REMOVED = 'REMOVED',\n}\n\n/** @enumType */\nexport type ChangeTypeWithLiterals =\n | ChangeType\n | 'UNKNOWN_CHANGE_TYPE'\n | 'ADDED'\n | 'CHANGED'\n | 'REMOVED';\n\nexport interface ItemChangedDetails {\n /**\n * The quantity before the change. Set only when the quantity changed.\n * @min 1\n * @max 1000000\n */\n quantityBeforeChange?: number | null;\n /** The price before the change. Set only when the price changed. */\n priceBeforeChange?: Price;\n /** The catalog reference options before the change. Set only when the catalog reference options changed. */\n catalogReferenceOptionsBeforeChange?: CatalogReferenceOptionsBeforeChange;\n /** The product name before the change. Set only when the product name changed. */\n productNameBeforeChange?: ProductNameBeforeChange;\n /** The description lines before the change. Set only when the description lines changed. */\n descriptionLinesBeforeChange?: DescriptionLinesBeforeChange;\n /** The image before the change. Set only when the image changed. */\n imageBeforeChange?: ImageBeforeChange;\n /** The physical properties before the change. Set only when the physical properties changed. */\n physicalPropertiesBeforeChange?: PhysicalPropertiesBeforeChange;\n /** The item type before the change. Set only when the item type changed. */\n itemTypeBeforeChange?: ItemTypeBeforeChange;\n /** The fulfiller ID before the change. Set only when the fulfiller ID changed. */\n fulfillerIdBeforeChange?: FulfillerIdBeforeChange;\n /** The digital file before the change. Set only when the digital file changed. */\n digitalFileBeforeChange?: DigitalFileBeforeChange;\n /** The price description before the change. Set only when the price description changed. */\n priceDescriptionBeforeChange?: PriceDescriptionBeforeChange;\n /**\n * The delivery profile ID before the change. Set only when the delivery profile ID changed.\n * @internal\n */\n deliveryProfileIdBeforeChange?: DeliveryProfileIdBeforeChange;\n /**\n * The shipping group ID before the change. Set only when the shipping group ID changed.\n * @internal\n */\n shippingGroupIdBeforeChange?: ShippingGroupIdBeforeChange;\n /** The tax info before the change. Set only when the line item's tax group changed because its catalog options changed. */\n taxInfoBeforeChange?: TaxInfoBeforeChange;\n /**\n * The inventory app ID before the change. Set only when the inventory app ID changed.\n * @internal\n */\n inventoryAppIdBeforeChange?: InventoryAppIdBeforeChange;\n /**\n * The root catalog item ID before the change. Set only when the root catalog item ID changed.\n * @internal\n */\n rootCatalogItemIdBeforeChange?: RootCatalogItemIdBeforeChange;\n /** The modifier groups before the change. Set only when the modifier groups changed. */\n modifierGroupsBeforeChange?: ModifierGroupsBeforeChange;\n /** The price undetermined flag before the change. Set only when the price undetermined flag changed. */\n priceUndeterminedBeforeChange?: PriceUndeterminedBeforeChange;\n}\n\nexport interface AppliedDiscountDelta\n extends AppliedDiscountDeltaDeltaDetailsOneOf {\n /** Discount content after the change. */\n changed?: AppliedDiscount;\n /** Discount that was added. */\n added?: AppliedDiscount;\n /**\n * Discount ID.\n * @format GUID\n */\n discountId?: string;\n /** Type of change applied to this discount. */\n changeType?: ChangeTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface AppliedDiscountDeltaDeltaDetailsOneOf {\n /** Discount content after the change. */\n changed?: AppliedDiscount;\n /** Discount that was added. */\n added?: AppliedDiscount;\n}\n\nexport interface AdditionalFeeDelta\n extends AdditionalFeeDeltaDeltaDetailsOneOf {\n /** Additional fee content after the change. */\n changed?: AdditionalFee;\n /** Additional fee that was added. */\n added?: AdditionalFee;\n /**\n * Additional fee ID.\n * @format GUID\n */\n additionalFeeId?: string;\n /** Type of change applied to this additional fee. */\n changeType?: ChangeTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface AdditionalFeeDeltaDeltaDetailsOneOf {\n /** Additional fee content after the change. */\n changed?: AdditionalFee;\n /** Additional fee that was added. */\n added?: AdditionalFee;\n}\n\nexport interface SubscriptionCommitSettings {\n /**\n * Whether to send the buyer a notification about the committed changes.\n *\n * Default: `true`\n */\n sendNotificationsToBuyer?: boolean | null;\n /**\n * Whether to send the business a notification about the committed changes.\n *\n * Default: `true`\n */\n sendNotificationsToBusiness?: boolean | null;\n}\n\n/** Triggered when a subscription contract's next charge is coming up. */\nexport interface SubscriptionContractChargeUpcoming {\n /** The subscription contract that is about to be charged. */\n subscriptionContract?: SubscriptionContract;\n /** When the upcoming charge is expected. */\n chargeDate?: Date | null;\n /**\n * Whether the upcoming charge is the subscription contract's last billing cycle.\n * False when it isn't, or when that can't be determined.\n */\n finalCycle?: boolean | null;\n /**\n * Unique ID of this notification, the same on every redelivery. Use it to drop duplicates.\n * If the charge date moves, a new notification with a new ID is sent, so it identifies the notification, not the charge.\n * @format GUID\n */\n notificationId?: string | null;\n}\n\nexport interface CreateSubscriptionContractRequest {\n /** SubscriptionContract to be created. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface CreateSubscriptionContractResponse {\n /** The created SubscriptionContract. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface GetSubscriptionContractRequest {\n /**\n * ID of the subscription contract to retrieve.\n * @format GUID\n */\n subscriptionContractId: string;\n}\n\nexport interface GetSubscriptionContractResponse {\n /** Retrieved subscription contract. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface UpdateSubscriptionContractRequest {\n /** SubscriptionContract to be updated, may be partial. */\n subscriptionContract?: SubscriptionContract;\n /**\n * Set of fields to update.\n *\n * Fields that aren't included in `fieldMask.paths` are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateSubscriptionContractResponse {\n /** Updated SubscriptionContract. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface QuerySubscriptionContractsRequest {\n /** Filter, sort, and paging options for the query. */\n query?: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n /**\n * Filter object. See [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) for more information.\n *\n * Supported properties:\n * `id`, `buyerInfo.contactId`\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n *\n * Learn more about [sorting](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Field to sort by.\n *\n * Supported properties:\n * `id`, `buyerInfo.contactId`\n * @maxLength 512\n */\n fieldName?: string;\n /**\n * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n *\n * Default: `ASC`\n */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QuerySubscriptionContractsResponse {\n /** Retrieved subscription contracts. */\n subscriptionContracts?: SubscriptionContract[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface BulkCreateSubscriptionContractsRequest {\n /**\n * List of SubscriptionContracts to create.\n * @minSize 1\n * @maxSize 100\n */\n subscriptionContracts?: SubscriptionContract[];\n /**\n * Whether to return the full subscription contract entities in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\nexport interface BulkCreateSubscriptionContractsResponse {\n /**\n * Results of the contract created operation.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkSubscriptionContractResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkSubscriptionContractResult {\n /** Metadata about a single update operation. */\n itemMetadata?: ItemMetadata;\n /**\n * Created subscription contract.\n *\n * Only present if `returnEntity` was `true`.\n */\n item?: SubscriptionContract;\n}\n\nexport interface ItemMetadata {\n /**\n * Item ID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed.\n * @format GUID\n */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action for this item was successful. When `false`, the `error` field is returned. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface BulkUpdateSubscriptionContractsRequest {\n /**\n * List of SubscriptionContracts to update.\n * @minSize 1\n * @maxSize 100\n */\n subscriptionContracts?: MaskedSubscriptionContract[];\n /**\n * Whether to return the full subscription contract entities in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\nexport interface MaskedSubscriptionContract {\n /** Subscription contract to be updated. */\n subscriptionContract?: SubscriptionContract;\n /**\n * Field mask of fields to update.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface BulkUpdateSubscriptionContractsResponse {\n /**\n * Results of the contract updated operation.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkSubscriptionContractResult[];\n /** Metadata about the bulk operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface CommitSubscriptionContractChangesRequest {\n /**\n * ID of the SubscriptionContract to update.\n * @format GUID\n */\n subscriptionContractId?: string;\n /**\n * ID of the originating DraftSubscriptionContract (for traceability).\n * @format GUID\n */\n draftSubscriptionContractId?: string;\n /** Delta changes to apply. */\n changes?: SubscriptionContractDiffs;\n /**\n * Reason for the edit, provided by the merchant (optional).\n * @maxLength 200\n */\n reason?: string | null;\n /** Side-effects to happen after contract is updated */\n settings?: SubscriptionCommitSettings;\n /** Price summary of the contract after the commit. */\n priceSummary?: PriceSummary;\n}\n\nexport interface CommitSubscriptionContractChangesResponse {\n /** Updated SubscriptionContract. */\n subscriptionContract?: SubscriptionContract;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type GetSubscriptionContractApplicationErrors = {\n code?: 'NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n};\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface SubscriptionContractCommittedEnvelope {\n data: SubscriptionContractChangesCommitted;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when changes from a draft subscription contract are committed to a subscription contract.\n * The event holds the updated contract and every change that was applied.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @webhook\n * @eventType wix.ecom.subscription_contracts.v1.subscription_contract_committed\n * @slug committed\n * @documentationMaturity preview\n */\nexport declare function onSubscriptionContractCommitted(\n handler: (\n event: SubscriptionContractCommittedEnvelope\n ) => void | Promise<void>\n): void;\n\nexport interface SubscriptionContractCreatedEnvelope {\n entity: SubscriptionContract;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a subscription contract is created. A subscription contract is created when a buyer checks out with a subscription item.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @webhook\n * @eventType wix.ecom.subscription_contracts.v1.subscription_contract_created\n * @slug created\n * @documentationMaturity preview\n */\nexport declare function onSubscriptionContractCreated(\n handler: (event: SubscriptionContractCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubscriptionContractDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a subscription contract is deleted. A subscription contract is deleted when the buyer's personal data is erased. It isn't deleted when the subscription ends.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @webhook\n * @eventType wix.ecom.subscription_contracts.v1.subscription_contract_deleted\n * @slug deleted\n * @documentationMaturity preview\n */\nexport declare function onSubscriptionContractDeleted(\n handler: (event: SubscriptionContractDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SubscriptionContractUpdatedEnvelope {\n entity: SubscriptionContract;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when a subscription contract is updated.\n * Fires when changes from a draft subscription contract are committed, and when the contract's `priceSummary` is set to the billed totals at the start of the first billing cycle.\n * Also fires right after a subscription contract is created, while billing for the subscription is set up. These updates can leave every documented field unchanged.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @webhook\n * @eventType wix.ecom.subscription_contracts.v1.subscription_contract_updated\n * @slug updated\n * @documentationMaturity preview\n */\nexport declare function onSubscriptionContractUpdated(\n handler: (event: SubscriptionContractUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Retrieves a subscription contract.\n *\n *\n * To retrieve the subscription contract an order was created from, specify the order's `lineItems.subscriptionInfo.id` as `subscriptionContractId`. You can retrieve the order with [Get Order](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/get-order).\n *\n * To retrieve the orders created from a subscription contract, call [Search Orders](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/search-orders) with a filter on `lineItems.subscriptionInfo.id`.\n * @param subscriptionContractId - ID of the subscription contract to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField subscriptionContractId\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @applicableIdentity APP\n * @returns Retrieved subscription contract.\n * @fqn wix.ecom.subscription_contracts.v1.SubscriptionContracts.GetSubscriptionContract\n */\nexport async function getSubscriptionContract(\n subscriptionContractId: string\n): Promise<\n NonNullablePaths<\n SubscriptionContract,\n | `subscriptionDescription.original`\n | `subscriptionSettings.frequency`\n | `subscriptionSettings.autoRenewal`\n | `subscriptionSettings.enableCustomerCancellation`\n | `subscriptionSettings.freeTrialPeriod.frequency`\n | `subscriptionSettings.freeTrialPeriod.interval`\n | `lineItems`\n | `lineItems.${number}._id`\n | `lineItems.${number}.productName.original`\n | `lineItems.${number}.catalogReference.catalogItemId`\n | `lineItems.${number}.catalogReference.appId`\n | `lineItems.${number}.quantity`\n | `lineItems.${number}.totalDiscount.amount`\n | `lineItems.${number}.totalDiscount.formattedAmount`\n | `lineItems.${number}.physicalProperties.shippable`\n | `lineItems.${number}.itemType.preset`\n | `lineItems.${number}.itemType.custom`\n | `lineItems.${number}.paymentOption`\n | `lineItems.${number}.taxDetails.taxRate`\n | `lineItems.${number}.taxInfo.taxIncludedInPrice`\n | `lineItems.${number}.digitalFile.fileId`\n | `lineItems.${number}.subscriptionInfo.cycleNumber`\n | `lineItems.${number}.subscriptionInfo.subscriptionOptionTitle`\n | `lineItems.${number}.subscriptionInfo.subscriptionSettings.frequency`\n | `lineItems.${number}.subscriptionInfo.subscriptionSettings.autoRenewal`\n | `lineItems.${number}.subscriptionInfo.subscriptionSettings.enableCustomerCancellation`\n | `lineItems.${number}.priceDescription.original`\n | `lineItems.${number}.taxableAddress.addressType`\n | `lineItems.${number}.priceUndetermined`\n | `lineItems.${number}.fixedQuantity`\n | `lineItems.${number}.decimalQuantity.measurementUnit`\n | `lineItems.${number}.decimalQuantity.otherUnit`\n | `lineItems.${number}.decimalQuantity.value`\n | `lineItems.${number}.decimalQuantity.description.original`\n | `buyerInfo.visitorId`\n | `buyerInfo.memberId`\n | `weightUnit`\n | `taxIncludedInPrices`\n | `platformFeeSummary.fees`\n | `platformFeeSummary.fees.${number}.lineItemId`\n | `platformFeeSummary.fees.${number}.chargeType`\n | `platformFeeSummary.fees.${number}.percentageRate`\n | `billingInfo.address.streetAddress.number`\n | `billingInfo.address.streetAddress.name`\n | `billingInfo.contactDetails.vatId._id`\n | `billingInfo.contactDetails.vatId.type`\n | `shippingInfo.title`\n | `shippingInfo.logistics.pickupDetails.pickupMethod`\n | `appliedDiscounts`\n | `appliedDiscounts.${number}.coupon._id`\n | `appliedDiscounts.${number}.coupon.code`\n | `appliedDiscounts.${number}.coupon.name`\n | `appliedDiscounts.${number}.merchantDiscount.discountReason`\n | `appliedDiscounts.${number}.discountRule._id`\n | `appliedDiscounts.${number}.discountRule.name.original`\n | `appliedDiscounts.${number}.discountType`\n | `channelInfo.type`\n | `customFields`\n | `customFields.${number}.title`\n | `subscriptionTitle.original`\n | `additionalFees`\n | `additionalFees.${number}.name`\n | `additionalFees.${number}._id`\n | `additionalFees.${number}.source`,\n 4\n > & {\n __applicationErrorsType?: GetSubscriptionContractApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n subscriptionContractId: subscriptionContractId,\n });\n\n const reqOpts =\n ambassadorWixEcomSubscriptionContractsV1SubscriptionContract.getSubscriptionContract(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: TRANSFORM_PATHS_0,\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: TRANSFORM_PATHS_1,\n },\n ])\n )?.subscriptionContract!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { subscriptionContractId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['subscriptionContractId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of up to 100 subscription contracts, given the provided paging, filtering, and sorting.\n *\n *\n * Query Subscription Contracts runs with these defaults, which you can override:\n *\n * - `id` is sorted in `ASC` order\n * - `cursorPaging.limit` is `50`\n *\n * You can filter and sort by `id` and `buyerInfo.contactId`. For example, to retrieve all of a buyer's subscription contracts, filter by `buyerInfo.contactId`.\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n * @public\n * @documentationMaturity preview\n * @permissionId ECOM.SUBSCRIPTION_CONTRACT_READ\n * @applicableIdentity APP\n * @fqn wix.ecom.subscription_contracts.v1.SubscriptionContracts.QuerySubscriptionContracts\n */\nexport function querySubscriptionContracts(): SubscriptionContractsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n SubscriptionContract,\n 'CURSOR',\n QuerySubscriptionContractsRequest,\n QuerySubscriptionContractsResponse\n >({\n func: async (payload: QuerySubscriptionContractsRequest) => {\n const reqOpts =\n ambassadorWixEcomSubscriptionContractsV1SubscriptionContract.querySubscriptionContracts(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QuerySubscriptionContractsRequest['query']) => {\n const args = [query, {}] as [\n QuerySubscriptionContractsRequest['query'],\n {}\n ];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({\n data,\n }: HttpResponse<QuerySubscriptionContractsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: TRANSFORM_PATHS_2,\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: TRANSFORM_PATHS_3,\n },\n ])\n );\n\n return {\n items: transformedData?.subscriptionContracts,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface SubscriptionContractsQueryResult extends QueryCursorResult {\n items: SubscriptionContract[];\n query: SubscriptionContractsQueryBuilder;\n next: () => Promise<SubscriptionContractsQueryResult>;\n prev: () => Promise<SubscriptionContractsQueryResult>;\n}\n\nexport interface SubscriptionContractsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: string\n ) => SubscriptionContractsQueryBuilder;\n /** @documentationMaturity preview */\n in: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: any\n ) => SubscriptionContractsQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName: '_id' | 'buyerInfo.contactId',\n value: boolean\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<'_id' | 'buyerInfo.contactId'>\n ) => SubscriptionContractsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<'_id' | 'buyerInfo.contactId'>\n ) => SubscriptionContractsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => SubscriptionContractsQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => SubscriptionContractsQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<SubscriptionContractsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.ecom.subscription_contracts.v1.SubscriptionContracts.QuerySubscriptionContracts\n * @requiredField query\n */\nexport async function typedQuerySubscriptionContracts(\n query: SubscriptionContractQuery\n): Promise<\n NonNullablePaths<\n QuerySubscriptionContractsResponse,\n | `subscriptionContracts`\n | `subscriptionContracts.${number}.subscriptionDescription.original`\n | `subscriptionContracts.${number}.subscriptionSettings.frequency`\n | `subscriptionContracts.${number}.subscriptionSettings.autoRenewal`\n | `subscriptionContracts.${number}.subscriptionSettings.enableCustomerCancellation`\n | `subscriptionContracts.${number}.subscriptionSettings.freeTrialPeriod.frequency`\n | `subscriptionContracts.${number}.subscriptionSettings.freeTrialPeriod.interval`\n | `subscriptionContracts.${number}.buyerInfo.visitorId`\n | `subscriptionContracts.${number}.buyerInfo.memberId`\n | `subscriptionContracts.${number}.weightUnit`\n | `subscriptionContracts.${number}.taxIncludedInPrices`\n | `subscriptionContracts.${number}.shippingInfo.title`\n | `subscriptionContracts.${number}.channelInfo.type`\n | `subscriptionContracts.${number}.subscriptionTitle.original`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ query: query });\n\n const reqOpts =\n ambassadorWixEcomSubscriptionContractsV1SubscriptionContract.querySubscriptionContracts(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: TRANSFORM_PATHS_2,\n },\n {\n transformFn: transformRESTAddressToSDKAddress,\n paths: TRANSFORM_PATHS_3,\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SubscriptionContractQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: ['_id', 'buyerInfo.contactId'];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n SubscriptionContract,\n SubscriptionContractQuerySpec\n>;\nexport type SubscriptionContractQuery = {\n /** \n Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object. See [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) for more information.\n\n Supported properties:\n `id`, `buyerInfo.contactId` \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n\n Learn more about [sorting](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging). \n @maxSize: 5 \n */\n sort?: {\n /** \n Field to sort by.\n\n Supported properties:\n `id`, `buyerInfo.contactId` \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n\n Default: `ASC` \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\nexport const utils = {\n query: /*#__PURE__*/ createQueryUtils<\n SubscriptionContract,\n SubscriptionContractQuerySpec,\n SubscriptionContractQuery\n >(),\n};\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'subscriptionContract.createdDate' },\n { path: 'subscriptionContract.updatedDate' },\n { path: 'subscriptionContract.subscriptionSettings.startDate' },\n { path: 'subscriptionContract.lineItems.image.urlExpirationDate' },\n { path: 'subscriptionContract.lineItems.digitalFile.expirationDate' },\n {\n path: 'subscriptionContract.lineItems.subscriptionInfo.subscriptionSettings.startDate',\n },\n { path: 'subscriptionContract.lineItems.serviceProperties.scheduledDate' },\n { path: 'subscriptionContract.lineItems.serviceProperties.endDate' },\n {\n path: 'subscriptionContract.lineItems.crossBorderAdjustment.baseRateCapturedDate',\n },\n { path: 'subscriptionContract.shippingInfo.logistics.deliverByDate' },\n { path: 'subscriptionContract.shippingInfo.logistics.deliveryTimeSlot.from' },\n { path: 'subscriptionContract.shippingInfo.logistics.deliveryTimeSlot.to' },\n {\n path: 'subscriptionContract.shippingInfo.cost.crossBorderAdjustment.baseRateCapturedDate',\n },\n {\n path: 'subscriptionContract.additionalFees.crossBorderAdjustment.baseRateCapturedDate',\n },\n { path: 'subscriptionContract.activities.createdDate' },\n];\nconst TRANSFORM_PATHS_1 = [\n { path: 'subscriptionContract.lineItems.image.focalPoint.x' },\n { path: 'subscriptionContract.lineItems.image.focalPoint.y' },\n { path: 'subscriptionContract.lineItems.physicalProperties.weight' },\n { path: 'subscriptionContract.billingInfo.address.geocode.latitude' },\n { path: 'subscriptionContract.billingInfo.address.geocode.longitude' },\n {\n path: 'subscriptionContract.shippingInfo.logistics.shippingDestination.address.geocode.latitude',\n },\n {\n path: 'subscriptionContract.shippingInfo.logistics.shippingDestination.address.geocode.longitude',\n },\n {\n path: 'subscriptionContract.shippingInfo.logistics.pickupDetails.address.geocode.latitude',\n },\n {\n path: 'subscriptionContract.shippingInfo.logistics.pickupDetails.address.geocode.longitude',\n },\n { path: 'subscriptionContract.recipientInfo.address.geocode.latitude' },\n { path: 'subscriptionContract.recipientInfo.address.geocode.longitude' },\n];\nconst TRANSFORM_PATHS_2 = [\n { path: 'subscriptionContracts.createdDate' },\n { path: 'subscriptionContracts.updatedDate' },\n { path: 'subscriptionContracts.subscriptionSettings.startDate' },\n { path: 'subscriptionContracts.lineItems.image.urlExpirationDate' },\n { path: 'subscriptionContracts.lineItems.digitalFile.expirationDate' },\n {\n path: 'subscriptionContracts.lineItems.subscriptionInfo.subscriptionSettings.startDate',\n },\n { path: 'subscriptionContracts.lineItems.serviceProperties.scheduledDate' },\n { path: 'subscriptionContracts.lineItems.serviceProperties.endDate' },\n {\n path: 'subscriptionContracts.lineItems.crossBorderAdjustment.baseRateCapturedDate',\n },\n { path: 'subscriptionContracts.shippingInfo.logistics.deliverByDate' },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.deliveryTimeSlot.from',\n },\n { path: 'subscriptionContracts.shippingInfo.logistics.deliveryTimeSlot.to' },\n {\n path: 'subscriptionContracts.shippingInfo.cost.crossBorderAdjustment.baseRateCapturedDate',\n },\n {\n path: 'subscriptionContracts.additionalFees.crossBorderAdjustment.baseRateCapturedDate',\n },\n { path: 'subscriptionContracts.activities.createdDate' },\n];\nconst TRANSFORM_PATHS_3 = [\n { path: 'subscriptionContracts.lineItems.image.focalPoint.x' },\n { path: 'subscriptionContracts.lineItems.image.focalPoint.y' },\n { path: 'subscriptionContracts.lineItems.physicalProperties.weight' },\n { path: 'subscriptionContracts.billingInfo.address.geocode.latitude' },\n { path: 'subscriptionContracts.billingInfo.address.geocode.longitude' },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.shippingDestination.address.geocode.latitude',\n },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.shippingDestination.address.geocode.longitude',\n },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.pickupDetails.address.geocode.latitude',\n },\n {\n path: 'subscriptionContracts.shippingInfo.logistics.pickupDetails.address.geocode.longitude',\n },\n { path: 'subscriptionContracts.recipientInfo.address.geocode.latitude' },\n { path: 'subscriptionContracts.recipientInfo.address.geocode.longitude' },\n];\n\nfunction resolveWixEcomSubscriptionContractsV1SubscriptionContractsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/ecom/subscription-contracts/v1/subscription-contracts',\n destPath: '/v1/subscription-contracts',\n },\n {\n srcPath: '/ecom/subscription-contracts/v1/bulk/subscription-contracts',\n destPath: '/v1/bulk/subscription-contracts',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/ecom/subscription-contracts/v1/subscription-contracts',\n destPath: '/v1/subscription-contracts',\n },\n {\n srcPath: '/ecom/subscription-contracts/v1/bulk/subscription-contracts',\n destPath: '/v1/bulk/subscription-contracts',\n },\n ],\n _: [\n {\n srcPath: '/ecom/subscription-contracts/v1/subscription-contracts',\n destPath: '/v1/subscription-contracts',\n },\n {\n srcPath: '/ecom/subscription-contracts/v1/bulk/subscription-contracts',\n destPath: '/v1/bulk/subscription-contracts',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/ecom/subscription-contracts/v1/subscription-contracts',\n destPath: '/v1/subscription-contracts',\n },\n {\n srcPath: '/ecom/subscription-contracts/v1/bulk/subscription-contracts',\n destPath: '/v1/bulk/subscription-contracts',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_subscription-contracts';\n\n/**\n * Retrieves a subscription contract.\n *\n *\n * To retrieve the subscription contract an order was created from, specify the order's `lineItems.subscriptionInfo.id` as `subscriptionContractId`. You can retrieve the order with [Get Order](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/get-order).\n *\n * To retrieve the orders created from a subscription contract, call [Search Orders](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/search-orders) with a filter on `lineItems.subscriptionInfo.id`.\n */\nexport function getSubscriptionContract(\n payload: object\n): RequestOptionsFactory<any> {\n function __getSubscriptionContract({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.subscription_contracts.v1.subscription_contract',\n method: 'GET' as any,\n methodFqn:\n 'wix.ecom.subscription_contracts.v1.SubscriptionContracts.GetSubscriptionContract',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomSubscriptionContractsV1SubscriptionContractsUrl({\n protoPath: '/v1/subscription-contracts/{subscriptionContractId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getSubscriptionContract;\n}\n\n/**\n * Retrieves a list of up to 100 subscription contracts, given the provided paging, filtering, and sorting.\n *\n *\n * Query Subscription Contracts runs with these defaults, which you can override:\n *\n * - `id` is sorted in `ASC` order\n * - `cursorPaging.limit` is `50`\n *\n * You can filter and sort by `id` and `buyerInfo.contactId`. For example, to retrieve all of a buyer's subscription contracts, filter by `buyerInfo.contactId`.\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging).\n */\nexport function querySubscriptionContracts(\n payload: object\n): RequestOptionsFactory<any> {\n function __querySubscriptionContracts({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.subscription_contracts.v1.subscription_contract',\n method: 'GET' as any,\n methodFqn:\n 'wix.ecom.subscription_contracts.v1.SubscriptionContracts.QuerySubscriptionContracts',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixEcomSubscriptionContractsV1SubscriptionContractsUrl({\n protoPath: '/v1/subscription-contracts/query',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload, true),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_2,\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: TRANSFORM_PATHS_3,\n },\n ]),\n fallback: [\n {\n method: 'POST' as any,\n url: resolveWixEcomSubscriptionContractsV1SubscriptionContractsUrl({\n protoPath: '/v1/subscription-contracts/query',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __querySubscriptionContracts;\n}\n"],"mappings":"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","names":["payload","transformPaths","TRANSFORM_PATHS_0","TRANSFORM_PATHS_1","TRANSFORM_PATHS_2","TRANSFORM_PATHS_3","SubscriptionFrequency","SubscriptionSettingsProductPeriodAlignment","DescriptionLineType","DimensionsUnit","ItemTypePreset","PaymentOptionType","JurisdictionType","V2SubscriptionFrequency","ProductPeriodAlignment","AdjustmentType","TaxableAddressType","MeasurementUnit","RepriceStatus","BaseRateSource","WeightUnit","ChargeType","VatType","PickupMethod","CrossBorderNotApplicableReason","CrossBorderRepricingMode","DiscountType","DiscountReason","ChannelType","AdditionalFeeSource","SpecificItemsCouponBehavior","LineItemQuantityChangeType","ContractChangeType","ActivityType","ActionInitiator","ChangeType","SortOrder","WebhookIdentityType","getSubscriptionContract","querySubscriptionContracts"]}