Core Concepts
Inventory and Reservation Conflicts
Cart Reserve never sells or consumes your inventory. It protects units for shoppers in two layers:
- Soft holds — every reservation is enforced inside Cart Reserve: other shoppers going through Cart Reserve cannot take the held units, and checkout validation enforces them.
- Hard reserve (inventory parking) — for eligible variants, Cart Reserve additionally moves the held units from available to reserved in Shopify inventory for the duration of the hold. This protects them even outside Cart Reserve (manual orders, other sales channels). The units are moved back when the reservation expires, is cancelled, or hands off to checkout.
What Cart Reserve Protects
Cart Reserve only protects what it can meaningfully hold — variants with real, limited stock. Eligibility follows each variant's Shopify inventory settings:
- Tracked, finite stock (inventory tracked, "Continue selling when out of stock" off) — fully protected. Cart Reserve places a soft hold, runs the reservation timer, and enforces the hold at checkout so another shopper can't buy the held unit. Eligible variants also get a hard reserve in Shopify inventory.
- Continue selling when out of stock — reserved with a timer, but not enforced at checkout. Because Shopify lets these variants oversell by design, there is nothing to protect at the checkout gate; only per-cart quantity limits apply.
- Untracked (made-to-order) — not reserved and not protected. When a variant doesn't track inventory, there is no finite stock to hold: Cart Reserve doesn't reserve it, doesn't show a countdown timer, and never blocks it at checkout. These variants behave like any normal product outside Cart Reserve.
This keeps protection honest — a countdown timer only appears where a real unit is actually being held for the shopper. In the admin Products list, an enabled product whose variant is untracked is flagged as untracked → not protected so there's no confusion about what's being enforced.
Inventory Source of Truth
- Shopify remains the source of truth for inventory levels
- Cart Reserve reads inventory data from synced products and variants
- Inventory changes in Shopify are reflected in reservation behavior
- Hard-reserved units appear under Shopify's reserved (unavailable) inventory state, never as sold
Concurrent Sessions
When multiple sessions interact with the same product:
- Inventory is reserved on a first-come, first-served basis
- Once inventory is fully reserved, additional reservations are blocked — except on variants set to "Continue selling when out of stock", which Cart Reserve never blocks by stock (Shopify allows them to oversell); only per-cart quantity limits apply
- Released or expired reservations immediately free inventory
This prevents overselling during high-demand scenarios.
Inventory Changes During Active Reservations
If inventory is adjusted in Shopify while reservations are active:
- Availability is re-evaluated
- Existing reservations may limit further quantity increases
- Checkout validation continues to enforce active reservations
- If stock drops below the amount locked at Shopify, the lock is automatically reduced to match; the reservation itself is kept as a soft hold