Search code examples
workflowshopping-cartconcept

Shopping Cart - The flow for sold out or less available items at checkout time?


I designed a shopping cart solution for a client. For one of their items (candy, for example), they have a certain quantity they can sell for each type. I deduct from the quantity available after items have been purchased.

The candy shopping flow is as follow:

  1. Select (add to cart) candy on candy catalog page
  2. Go to Cart page to review items to be purchased
  3. Go to checkout page (billing information + list of items to be purchased with price total details)

Pertinent Situation: Customer A select 9 of the remaining 10 Snickers. Customer B selects 5 of the remaining 10 Snickers. At checkout, Customer B submits his payment information (leaving 5 snickers left) before Customer A, who bought 9 Snickers.

Now, Customer A will be left with a message on the checkout page about what happened (i.e. - Oops.. yur candiez r all gone!), including a list of which candy is sold out, or less available. Here, I am unsure as to where the flow should continue (hoping this was even a good path to begin with).

Should the customer be given a link back to their shopping cart where the items they selected are unchanged, and be left for them to remove and continue purchasing? Or, should these items reflect the new quantities available for each item, such that since Customer A bought 9 Snickers, the cart will show Customer A added 5 Snickers (of the remaining 5)? Or, should these items be removed from the cart altogether?

Another solution (as suggested by Andreas Niedermair and E. Rodriguez): Deduct inventory as customers add items to their shopping cart.

If this were my implementation, at what point/how would I add items back into the inventory if the customer leaves the site? My cart is not DB driven.

Any feedback would be great, and I will be happy to clarify.


Solution

  • If it were me I would introduce an intermediate state where the candiez are considered "sold" at the moment a quantity is selected. Depending on other cart features ("save ur candiez for laterz", for example) you might want to reallocate them back to the available inventory pool after a certain amount of time... but I believe that the moment the customer wants them, as in a store, if they put them in their cart (even without buying them) then the next customer only sees what is available.