- The shopper adds a product that tracks stock. The plugin reserves that quantity for them, for the hold time you set (10 minutes by default).
- The product’s stock is locked while the hold is written, so two shoppers grabbing the last unit at the same second cannot both get it.
- Other shoppers see the stock minus what is held. If everything left is held, the product page says so and the add to cart button goes away.
- If the shopper places the order, the hold ends and WooCommerce’s own checkout reservation (the “Hold stock” setting) takes over. Nothing is counted twice.
- If the time runs out, the held items are removed from the cart (or kept without the hold, your choice) and the stock is free again. A background job clears holds of shoppers who simply left.
Your real stock number is never changed by a hold. Holds live in their own small database table and simply expire.
Which products are held
- All products that track stock, or only products with low stock, or only the products you tick in their Inventory tab.
- Variations are supported, including variations that share the parent’s stock.
- Products that allow backorders are never held.
- Roles you choose (for example shop managers) never get holds.
Logged in shoppers
A guest who logs in during checkout keeps the hold and the timer carries on.