import type { Discount } from './Discount'; /** * @type PriceAdjustment: Document representing a price adjustment within a basket or order. Price adjustments can be assigned at the order, product, or shipping level. * * @property appliedDiscount: Details describing the discount this price adjustment is based on. For adjustments not based on a discount, this value is null. * * @property couponCode: The coupon code of the coupon this price adjustment is based on. For adjustments not based on a coupon, this value is null. It is read only. * * @property createdBy: The user who created the price adjustment. It is read only. * * @property creationDate: The timestamp when the price adjustment was created. It is read only. * * @property custom: A flag indicating whether this price adjustment was created by custom logic. This flag is set to true unless the price adjustment was created by the promotion engine. * * @property itemText: The text describing the item. * * @property lastModified: The timestamp when the price adjustment was last modified. It is read only. * * @property manual: A flag indicating whether this price adjustment was created by a manual process. If the price adjustment was created by the promotion engine, this value is always false. * * @property price: The adjustment price. It is read only. * * @property priceAdjustmentId: The price adjustment ID. It is read only. * * @property promotionId: The ID of the related promotion. Custom price adjustments can be assigned any promotion ID so long it is not used by a price adjustment belonging to the same item, and is not used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. * * @property reasonCode: The reason for the price adjustment. * */ export type PriceAdjustment = { appliedDiscount?: Discount; couponCode?: string; createdBy?: string; creationDate?: string; custom?: boolean; itemText?: string; lastModified?: string; manual?: boolean; price?: number; priceAdjustmentId?: string; promotionId?: string; reasonCode?: string; } & { [key: string]: any; };