Cart Chains

The Cart service uses a microbase provided functionality (utils.Chain) to implement a Chain of Responsibility for each operation.

As a referencem this are the steps for each operation:

subChain addToCartChain removeFromCartChain calculateCartChain checkoutChain
getCart getCartAndEntry getCart getCartAndLock
getCustomer getCustomer getCustomer getCustomer
bulkAddToCart checkMaxQuantityPerProduct removeFromCart
bulkAddToCart checkMaxNumberOfEntries
bulkAddToCart getProduct
bulkAddToCart checkProductAvailability
bulkAddToCart selectPrice
bulkAddToCart selectTitle
bulkAddToCart checkStockAvailability
bulkAddToCart addToCart
calculateCart getProduct getProduct getProduct getProduct
calculateCart checkProductAvailability checkProductAvailability checkProductAvailability checkProductAvailability
calculateCart selectPrice selectPrice selectPrice selectPrice
calculateCart selectTitle selectTitle selectTitle selectTitle
calculateCart renewReserves renewReserves renewReserves renewReserves
calculateCart calculatePromotions calculatePromotions calculatePromotions calculatePromotions
calculateCart calculateTaxes calculateTaxes calculateTaxes calculateTaxes
calculateCart updateCartExpirationTime updateCartExpirationTime updateCartExpirationTime updateCartExpirationTime
calculateCart postCalculateCart postCalculateCart postCalculateCart postCalculateCart
checkReserves
checkPromotions
checkTaxes
validateShippingAddress
getShippingMethods
assignShippingMethod
checkShippingMethod
updateCartShippingAddressInfo
checkShippingAddress
validateBillingAddress
updateCartBillingAddressInfo
checkBillingAddress
validateGateway
updateCartGatewayInfo
payment
createOrder
releaseCart
saveCart saveCart saveCart saveCart
postSaveCart postSaveCart postSaveCart postSaveCart
unreserve