Orders flow admin x Orders flow MyAccount

There are five possible steps (points in the order status).

The values that each step assumes depend mainly on the order status. I will list each step and the values that they can assume. Every order follows the same sequence until step 3. Steps 4 and 5 vary depending on whether the order is for pickup or not.

For the screen, an order is considered for pickup if all packages (notes) have the deliveryChannel with the pickup-in-point value . If one of them does not have this value, it is considered a carrier order.

  • First step:

order.progress.confirmOrder -> It remains in this state if the workflow has not been created.

order.progress.confirmingOrder -> Stays in this state if the order status is order-created or order-completed or on-order-completed

order.progress.orderConfirmed -> Stays in this state if the order status is not one of the above. In other words, it is in a later state.

  • Second step:

order.progress.approvePayment -> Stays in this state if the order status is in one of the statuses from the first step .

order.progress.approvingPayment -> Stays in this state if the order status is payment-pending or approve-payment.

order.progress.paymentApproved -> Stays in this state if the order status is not one of the above and none of the statuses from the first step . In other words, it is in a later state.

  • Third step:

order.progress.handleShipping -> Stays in this state if the order status is in one of the statuses from the first and second steps .

order.progress.handlingShipping -> Stays in this state if the order status is window-to-cancel or payment-approved or ready-for-handling or authorize-fullfilment or release-to-fulfillment or handling or invoice .

order.progress.shippingHandled -> Stays in this state if the order status is not one of the above and none of the first or second stages. In other words, it is in a later state.

  • Fourth step: If the order is for pickup :

order.progress.deliverToPickup -> Stays in this state if the order status is in one of the statuses of the first, second or third stage.

order.progress.deliveringToPickup -> Stays in this state if the order status is invoiced

order.progress.deliveredToPickup -> Stays in this state if the rules of the fifth stage have not been met. If the order is not a pickup order:

order.progress.deliverToCarrier -> It remains in this state if the order status is in one of the first, second or third stage statuses.

order.progress.delivering -> It remains in this state if the order status is invoiced

order.progress.delivered -> It remains in this state if the rules of the fifth stage have not been met.

  • Fifth stage:
    If the order is invoiced and is a pickup order:

order.progress.pickup -> It remains in this state if all items have item.shippingEstimateDate < now() . In other words, if it has a shippingEstimateDate , to be in this state, the current date/time (user’s browser) has not yet been

reached. order.state.ready-for-pickup -> It remains in this state if all items either do not have a shippingEstimateDate or, if they have item.shippingEstimateDate > now() . In other words, if there is a shippingEstimateDate , it must be greater than or equal to the current date (client browser).
order.state.pickedUp , It remains in this state if courierStatus.finished is true .

If the order is invoiced and is not a pickup order:

order.progress.ship -> It remains in this state if all invoices do not have courierStatus.Data.

order.progress.shipping-> It remains in this state if all invoices have courierStatus.Data .

order.progress.shipped -> It remains in this state if all invoices have courierStatus.finished == true

1 Like