Cart
Overview
The Cart
type represents a shopping cart in the High Velocity front-end app. It is a generic type that extends LineItemContainer
and BaseCart
, and can be customized based on the CartModes
.
Attributes
lineItemType
type: 'expanded' | 'reference'
Defines the type of line items in the cart. Can be either 'expanded' or 'reference'.
lineItemPricing
type: 'internal' | 'external'
Defines the pricing model for the line items in the cart. Can be either 'internal' or 'external'.
LineItemContainer
Defines lineItems
attribute type for a line item container (such as a Cart
or an Order
)
Attributes
lineItems
type: LineItem[]
A line item container will have different types for the lineItems
attribute depending on the lineItemType
for the CartModes
lineItemType === 'product'
:
ProductLineItem[]
lineItemType === 'reference'
:
ProductReferenceLineItem[]
CartModes
Cart integrations may behave differently depending on how you want to combine your data models. CartModes
defines the modes available.
lineItemPricing = 'external' | 'internal'
external
The cart integration expects pricing to be provided externally. In this mode, the cart does not know how to price line items by itself. Typical if the cart is provided by a simple persistance layer instead of a commerce vendor.
internal
The cart integration can price line items on its own. Typical if the cart is provided by a commerce vendor.
lineItemType = 'expanded' | 'reference'
expanded
Line items have full product models attached.
reference
Line items returned will have references to products which will need to be dereferenced to get a full product model.