A pre-order is a sale you haven't fulfilled. A waitlist is a customer you haven't lost. When a product sells out, the customer looking at it decides in seconds: wait, or leave. An unpaid waitlist gives them a reason to wait. The reserve button on your product page becomes "Join Waitlist"; when stock lands, Reservo can allocate it and notify them.
By default, no money is taken online and no Shopify order is created. The customer pays when they collect, at your counter, where the second purchase happens. If you'd rather take money up front, you can require a deposit on the variant. Payment can be requested before stock arrives when Shopify allows it to sell without stock (see deposits on sold-out items below).
Waitlists are part of the Automation plan. This guide covers what a waitlist is, how it differs from a pre-order, taking deposits on sold-out items, and the exact setup steps.
How a waitlist works in Reservo
There is no separate waitlist product or signup form. For a variant without a deposit, the reserve button becomes a waitlist entry when stock runs out:
- A customer visits a sold-out product. Because you've allowed out-of-stock reservations on it, the reserve button shows Join Waitlist instead of disappearing.
- For an item without a deposit, they join without payment or checkout. Their reservation shows awaiting stock in their account and emails.
- Stock arrives. Reservo automatically allocates it to the queue on a first-come, first-served basis.
- Each customer whose stock has landed gets a built-in email: their items are ready for collection. You write nothing and chase nobody.
- Their hold clock starts only now. This unpaid waitlist has no hold clock while stock is unavailable.
- They collect and pay in store. That's when the sale, and the Shopify order, happens.

A waitlist is not a pre-order
Merchants often ask for "pre-orders" when what they need is a waitlist, and sometimes the reverse. They solve different problems.
A Shopify pre-order is a real checkout against stock that hasn't arrived. The customer pays in full, pays a deposit, or is charged on fulfilment, and a Shopify order is created. You'll need a pre-order app to set up the selling plans, and your store must use Shopify Payments or PayPal Express. It's the right tool when the restock date is confirmed, the product ships rather than gets collected, and you want the cash or the committed demand upfront.
A waitlist takes a name, not a payment. That changes the economics:
- Zero friction. The customer who would never pre-pay still leaves their name.
- Zero liability. No money held against stock that might slip. Nothing to refund, no chargebacks.
- No overselling. A queue is not a sale. Ten people can wait for three units and nobody is owed anything.
- Footfall. Collection happens in store.
The honest trade-off: no money down means some customers won't come back, a pre-order book funds your purchase order while a waitlist funds nothing until collection, and a waitlist is collect-in-store rather than shipped. If your restock date is confirmed and the product ships, run pre-orders. If dates are uncertain, items are collected in person anyway, and you have no appetite for refund admin, run the waitlist. They're not exclusive: a launch can take pre-orders while the long tail of sold-out variants runs the waitlist.
There is also a deposit route. If you require a deposit on a sold-out variant and Shopify allows it to sell without stock, customers can pay now through checkout. Payment creates an order awaiting stock, outside the unpaid first-come allocation queue. Otherwise the reservation waits for stock and Reservo sends the deposit request when stock arrives. Staff can also take part payment at POS after converting a reservation to a cart.
Deposits on sold-out items
Choose which variants need a deposit. For a sold-out variant Shopify allows to sell without stock, Reservo can ask for payment immediately; a paid deposit creates an order awaiting stock. If Shopify does not allow that sale, the customer remains on the waitlist until stock arrives, then receives a payment request. An unpaid request holds no stock. Set-up, payment windows and reminders are covered in the deposits guide.
Setting up waitlists
You'll need the Automation plan, and online reservations already working on your storefront (the app embed and the Reserve Online button block). If you haven't set those up yet, start with the main setup guide and come back; it covers locations, products, and theme installation.
Step 1: Check the product and its variants are enabled for online reservations
The reserve button follows the variant. A product can be enabled while one of its variants isn't, and on that variant the button won't show. If your button appears in the theme editor but disappears on the live page, this is almost always why.
- In Reservo, open Products from the main navigation.
- Find the product and confirm Reserve Online is enabled for every variant you sell. You can select several and choose Enable Reserve Online from the bulk actions.
Step 2: Allow reservations when out of stock
This is the switch that creates the waitlist. It's set per variant, per location, so you stay in control of exactly which products queue and where.
- In Products, open the product, then the variant you want to queue.
- In Shopify, make sure inventory tracking is on and the variant is stocked at each chosen location, even if its available quantity there is zero. A location marked Not stocked cannot accept an out-of-stock reservation.
- In its locations list, turn on Allow reservations when out of stock for the locations that should accept them. You can select several locations and choose Allow when out of stock from the bulk actions.
From this point the behaviour is automatic. While an eligible location has available stock, customers reserve normally. When eligible stocked locations have no available units, the button becomes Join Waitlist on its own. When stock comes back, it switches back. There is no separate waitlist toggle to remember.
How returning stock is shared out
For reservations without a deposit, there is nothing to set. When stock arrives at a location, Reservo allocates it to the oldest waiting reservations there first and emails customers as their items become ready. A paid sold-out deposit creates a Shopify order and follows that order's stock and fulfilment status instead.
What your customer sees
- On the sold-out product page: the Join Waitlist button (you can rename it in the theme editor's block settings).
- Before they confirm, the message distinguishes an unpaid waitlist from a deposit preorder. An unpaid deposit request does not hold stock.
- For an unpaid waitlist, their account and emails show awaiting stock. A paid deposit has a Shopify order with its own status.
- For an unpaid waitlist, stock allocation sends a ready-for-collection email and starts the hold period.
Managing the queue
The Waitlist screen in the app admin shows everything that's queuing, in two views: By product (which variants have queues, how many customers are waiting, how much stock would clear them, and the longest wait) and By customer (who is waiting, and for what). Use the product view to decide what to reorder; a waitlist is a demand signal you'd otherwise never capture from a sold-out page.
Your staff see the same picture at the till in Shopify POS, and a customer's waitlist also appears on their customer page in Shopify admin.
If you use Shopify Flow, reservation events fire as triggers, including stock received and items becoming ready for collection, so the waitlist can drive your email platform or reporting. A separate guide covers the Flow triggers.
Common questions
Does joining a waitlist commit the customer to anything?
Not unless the product needs a deposit. Otherwise no payment is taken and no order is created. If they don't collect once allocated, the hold expires like any other reservation and the stock frees itself.
Can the waitlist oversell?
No. A queue is not a sale. Any number of customers can wait for any amount of stock; allocation only ever happens against stock that has actually arrived.
Can I take a deposit from someone on the waitlist?
Yes. Require a deposit on the variant. If Shopify allows selling without stock, the customer can pay now; otherwise Reservo asks for the deposit once stock arrives. Staff can also convert an eligible reservation to a cart at POS and take part payment. See the deposits guide.
Can customers see their place in the queue?
They see that their item is awaiting stock, not a queue position. Allocation order is first come, first served.
Why don't I see these settings?
Out-of-stock reservations and waitlists are Automation plan features. On other plans the setting isn't available, and if you downgrade, out-of-stock settings are switched off for you. If a location says Not stocked, turn on inventory tracking and stock the variant there in Shopify before enabling the waitlist.