import type { ShippingMethod } from './ShippingMethod'; import type { Discount } from './Discount'; import type { PromotionLink } from './PromotionLink'; /** * @type ApproachingDiscount: Document representing an approaching discount for a basket. Contains information about promotions the customer is close to qualifying for. * * @property type: The type of approaching discount (order-level or shipping-level). * * @property conditionThreshold: The total amount needed to receive the discount. * * @property merchandiseTotal: The amount the customer basket contributes towards the purchase condition. * * @property discount: The applied discount when the order meets the threshold. * * @property promotionLink: Document representing a promotion link. * * @property shipmentId: The unique id of the shipment the discount relates to. Only applicable when type = shipping. * - **Min Length:** 1 * - **Max Length:** 256 * * @property shippingMethods: The shipping methods the promotion relates to. Only applicable when type = shipping. * */ export type ApproachingDiscount = { type: ApproachingDiscountTypeEnum; conditionThreshold?: number; merchandiseTotal?: number; discount?: Discount; promotionLink?: PromotionLink; shipmentId?: string; shippingMethods?: Array; } & { [key: string]: any; }; export type ApproachingDiscountTypeEnum = 'order' | 'shipping';