import type { ShippingMethod } from './ShippingMethod'; import type { DeliveryWindow } from './DeliveryWindow'; import type { OrderAddress } from './OrderAddress'; /** * @type Shipment: Document representing a shipment. * * @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 deliveryWindow: The estimated delivery window for the shipment. The sfcc.app.shipping.calculate hook populates this value from the selected shipping method. The response omits this field if the hook doesn\'t return a delivery window. This field is reserved for future use and will be supported in an upcoming release. * * @property gift: A flag indicating whether the shipment is a gift. It is read only. * * @property giftMessage: The gift message. * * @property merchandizeTotalTax: The total tax on products in the shipment, not including price adjustments or service charges such as shipping. It is read only. * * @property orderCutoffAt: The timestamp by which an order must be placed for the deliveryWindow to apply, as an RFC 3339 date-time. The sfcc.app.shipping.calculate hook populates this value from the selected shipping method. The response omits this field if the hook doesn\'t return a cutoff time. This field is reserved for future use and will be supported in an upcoming release. * * @property productSubTotal: The total price of all products in the shipment, 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 in the shipment including item-level adjustments and prorated order-level 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 shipmentId: The order-specific ID of the shipment. The default value is \'me\'. * - **Min Length:** 1 * * @property shipmentNo: The shipment number of this shipment. This number is automatically generated. It is read only. * * @property shipmentTotal: The total price of all products in the shipment including item-level adjustments, shipping charges, and tax. It is read only. * * @property shippingAddress: The shipping address. * * @property shippingMethod: * * @property shippingStatus: The shipping status of the shipment. * * @property shippingTotal: The total price of all shipping charges in the shipment, 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 shipping charges in the shipment, not including shipping price adjustments. It is read only. * * @property taxTotal: The total tax on the shipment, including item-level price adjustments and 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 trackingNumber: The tracking number of the shipment. * */ export type Shipment = { adjustedMerchandizeTotalTax?: number; adjustedShippingTotalTax?: number; deliveryWindow?: DeliveryWindow; gift?: boolean; giftMessage?: string; merchandizeTotalTax?: number; orderCutoffAt?: string; productSubTotal?: number; productTotal?: number; shipmentId?: string; shipmentNo?: string; shipmentTotal?: number; shippingAddress?: OrderAddress; shippingMethod?: ShippingMethod; shippingStatus?: ShipmentShippingStatusEnum; shippingTotal?: number; shippingTotalTax?: number; taxTotal?: number; trackingNumber?: string; } & { [key: string]: any; }; export type ShipmentShippingStatusEnum = 'not_shipped' | 'shipped';