Commerce Order Timeout

Component ID

2577473

Component name

Commerce Order Timeout

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

Commerce Order Timeout provides the ability to push orders from specified order statuses to a specified order status after a specified amount of time.

Usage: configure the module at admin/commerce/config/commerce_order_timeout

It is intended to handle use cases like moving older orders from Checkout: Review back to Cart.

It was inspired by an issue where an order that had been sitting in Checkout: Review for some time did not receive a shipping promotion, because the shipping line item had already been added at a previous checkout step.

Commerce Cart Expiration is similar (and both more mature and full-featured), but focuses on deleting older orders. Commerce Order Timeout instead moves orders between statuses. In the spirit of joining forces, it is worth considering whether the Commerce Order Timeout functionality should be incorporated into Commerce Cart Expiration, and I've posted to that effect in their issue queue.

Update: I've posted a patch for adding status change functionality to Commerce Cart Expiration to this issue.

If Commerce Order Timeout remains a separate module, here are some obvious opportunities for improvement:

  • Using a rules-based system for easier extendability
  • Messages informing the user that a status adjustment is impending
  • A button to check for timed out orders immediately, rather than waiting for cron
  • Multiple mappings (ex. map Checkout: Review => Cart and map Shipped => Exception, right now you can only map to one destination status)