Cdodge/shopping cart rewrite

curious why this call to `update_order_type()` is necessary here