Broadleaf Microservices
  • v1.0.0-latest-prod

Cart Statuses

There are several cart statuses supported by Broadleaf out-of-box. They are described below.

Table 1. Cart Statuses
Status Description Who can modify the cart

IN_PROCESS

The default state for a cart. The cart can be modified by adding, updating, and deleting items and other information tied to the cart (such as shipping/payment info). Nothing is finalized.

The user

SUBMISSION_IN_PROGRESS

The cart is in the process of being checked out. It will be changed to SUBMITTED if completed successfully, or back to IN_PROCESS if not. It’s important that only the Broadleaf checkout process can modify the cart in this state.

Broadleaf checkout process

SUBMITTED

The cart has been submitted successfully. At this point, the cart should be considered finalized, and no further changes should be made.

Nobody

NAMED

The cart has been given a name and saved for later use. This should not be treated as the active/default cart for the user. Some custom process may reinstate this cart or pull information from it, but nothing out-of-box.

Nobody (OOB)

CANCELLED

The cart has been cancelled for some reason. Out-of-box, this happens when a CSR manually cancels a cart.

Nobody

CSR_OWNED

A CSR has created this cart. This is used during CSR impersonation of a customer, and the owner of the cart should still reflect that customer, not the CSR. Carts in this status may be a clone of the customer’s IN_PROCESS cart, but should not be accessible to the customer- only the CSR impersonator. This cart may eventually be changed to IN_PROCESS by the CSR to give the user the cart. While in this state, the cart is effectively the same as IN_PROCESS, but exclusively for the CSR impersonator.

CSR Impersonator

IN_TRANSFER

The cart is in a transitioning state, typically from a CSR to an anonymous customer. The cart shouldn’t be accessible to the user while in this state. It needs to be transferred (to IN_PROCESS) first.

Broadleaf cart transfer process

TEST

A cart that has been created in admin preview mode. This should be treated as IN_PROCESS for that admin, but blocked from the checkout process.

The admin using the preview mode

Typical cart lifecycle:
  1. Cart is created in IN_PROCESS. Note that carts are typically created by adding an item when a cart does not already exist. Any additional changes to the cart will also be executed (add/update/delete items, adding shipping, and contact info) while in this state.

  2. Cart Operations changes the status to SUBMISSION_IN_PROGRESS as the first step of submitting the cart (checkout).

  3. Cart Operations finishes checkout successfully and changes the status to SUBMITTED.