import type { GiftCertificateItem } from './GiftCertificateItem'; import type { OrderPaymentInstrument } from './OrderPaymentInstrument'; import type { BonusDiscountLineItem } from './BonusDiscountLineItem'; import type { ShippingItem } from './ShippingItem'; import type { OrderAddress } from './OrderAddress'; import type { Shipment } from './Shipment'; import type { CouponItem } from './CouponItem'; import type { CustomerInfo } from './CustomerInfo'; import type { ProductItem } from './ProductItem'; import type { PriceAdjustment } from './PriceAdjustment'; /** * @type Basket: Document representing a basket. * * @property adjustedMerchandizeTotalTax: The total tax on products in the shipment, including item-level price adjustments but not including service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. * * @property adjustedShippingTotalTax: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. * * @property agentBasket: Is the basket created by an agent? It is read only. * * @property basketId: The unique identifier for the basket. It is read only. * * @property billingAddress: The billing address. * * @property bonusDiscountLineItems: The bonus discount line items. * * @property channelType: The sales channel. It is read only. * * @property couponItems: The coupon items. * * @property creationDate: The timestamp when the basket was created. It is read only. * * @property currency: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. * - **Pattern:** /^([A-Z][A-Z][A-Z]|N\/A)$/ * * @property customerInfo: The customer information, if the customer is logged in. * * @property giftCertificateItems: The gift certificate line items. * * @property inventoryReservationExpiry: The expiration datetime of the inventory reservation. It is read only. * * @property lastModified: The timestamp when the basket was last modified. It is read only. * * @property merchandizeTotalTax: The total products tax in the purchase currency. Merchandise total price represents the sum of the product prices before services (such as shipping) or adjustments from promotions have been added. It is read only. * * @property orderPriceAdjustments: The order-level price adjustments. * * @property orderTotal: The total price, including products, shipping and tax. It is read only. * * @property paymentInstruments: The payment instruments list. * * @property productItems: The product items. * * @property productSubTotal: The total price of all products including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn\'t include tax. If the taxation policy is gross, it includes tax. It is read only. * * @property productTotal: The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, it doesn\'t include tax. If the taxation policy is gross, it includes tax. It is read only. * * @property shipments: The shipments. * * @property shippingItems: The shipping items. * * @property shippingTotal: The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn\'t include tax. If the taxation policy is gross, it includes tax. It is read only. * * @property shippingTotalTax: The total tax on all shipping charges, not including shipping adjustments. It is read only. * * @property sourceCode: The source code assigned to the basket. It is read only. * * @property taxTotal: The total tax amount. It is read only. * * @property taxation: The taxation policy (gross or net). It is read only. * */ export type Basket = { adjustedMerchandizeTotalTax?: number; adjustedShippingTotalTax?: number; agentBasket?: boolean; basketId?: string; billingAddress?: OrderAddress; bonusDiscountLineItems?: Array; channelType?: BasketChannelTypeEnum; couponItems?: Array; creationDate?: string; currency?: string; customerInfo?: CustomerInfo; giftCertificateItems?: Array; inventoryReservationExpiry?: string; lastModified?: string; merchandizeTotalTax?: number; orderPriceAdjustments?: Array; orderTotal?: number; paymentInstruments?: Array; productItems?: Array; productSubTotal?: number; productTotal?: number; shipments?: Array; shippingItems?: Array; shippingTotal?: number; shippingTotalTax?: number; sourceCode?: string; taxTotal?: number; taxation?: BasketTaxationEnum; } & { [key: string]: any; }; export type BasketChannelTypeEnum = 'storefront' | 'callcenter' | 'marketplace' | 'dss' | 'store' | 'pinterest' | 'twitter' | 'facebookads' | 'subscriptions' | 'onlinereservation' | 'customerservicecenter' | 'instagramcommerce' | 'tiktok' | 'snapchat' | 'google' | 'whatsapp' | 'youtube'; export type BasketTaxationEnum = 'gross' | 'net';