Using a shoppinglist to save a cart is very poor form. You'll not be able to save shipgroup assignments, postal address per shipgroup, shipping method, virtual product features, payment settings, promo codes, tons of stuff. We need to be able to restore *all* these things.
Saving the cart to an order is a possibility, but that will end up causing a bunch of ecas(entity and service) to run. Things like inventory reservation, posting of payments, etc. We(Ean and I) have talked, and the way we'd like to see this done, is to invent a new order type, CART(or something), to go along with SALES_ORDER and PURCHASE_ORDER. We are very close to just having to go and doing this. Of course, this could cascade to lots of other code, that explicitly checks the orderTypeId. In an ideal world, there were be *no* separate serialization step. The cart would *always* modify the database view of an order. Always. The final step would just then be changing it's type from CART to SALES_ORDER. This second phase, however, it more difficult.
