Ask a bakery how it takes preorders and the honest answer is usually "Instagram, mostly." A post goes up on Sunday night, the DMs start, and someone copies names into a notebook by the register. By Tuesday the notebook says 61 and the oven says 40. The rest of the week is apologies.
This post is the setup that replaces the notebook. It takes about a minute to create, it is free for 100 orders a month, and the cap actually holds.
Why the DMs stop working
A DM is a conversation, not an order. Each one needs a reply, and the reply is where the trouble starts. You tell someone the seeded rye is available, they answer three hours later, and by then it is not. You have no idea what number they are, and neither do they. Someone orders twice by accident from two accounts. Someone else messages at 11:00 PM asking for tomorrow, and you find it after the bake.
A Google Form is one step better and has the same core problem. It takes order 41, 42, and 63 without blinking, because it does not know how many loaves you have. It also does not know it is 8:15 PM and orders for tomorrow are closed.
What a bakery needs is a line with three rules. There are 40 spots a day. Orders count for a day two days out. The form is open from 6:00 AM to 8:00 PM and closed the rest of the time. Everything else is a field on a form.
The ready-made setup
Here is the bakery preorder template. It is the exact configuration described below, and clicking through creates the waitlist with all of it already in place.
Bakery preorders
40
orders a day
Every day 6 AM–8 PM · 2d ahead · 5 fields
Daily bake
40 orders per bake day. The count for each day resets at 6:00 AM.
You can modify all of this in the editor.
The numbers are a starting point. Change the 40 to your oven, the loaf list to your menu, and the hours to yours.
Setting it up yourself
If you would rather build it by hand, or want to know what each setting does before you click, this is the whole thing.
Cap the day at 40 orders
Set capacity to 40 per day. The count belongs to a day, not to the list, so Monday's 40 and Tuesday's 40 are separate. When Monday fills, the form says so and tells people when the next day opens.
Reset at 6:00 AM
The reset time is when a new day's count begins. Six in the morning means the list is fresh before the first customer is awake, and last night's late orders already belong to the right day.
Take orders two days ahead
Set the lead time to two days. An order placed on Saturday counts toward Monday, and Sunday's orders fill Tuesday. You always know the bake list a full day before you shape the dough.
Open 6:00 AM to 8:00 PM, every day
Opening hours close the form on their own. At 8:01 PM the form is replaced by a note that says orders open again at 6:00 AM. If you do not bake on Mondays, leave Sunday out of the hours and nobody can order for a day that does not exist.
Ask for the loaf, the quantity, and the pickup window
Four fields do it. A name, a dropdown for the loaf, a number field for quantity with a maximum of four, and a choice of pickup window. All four land in the export.
Put the link where the DMs used to go
The hosted page goes in your bio. The QR code from the Share tab goes on the counter. Neither one changes, because the list resets itself every morning instead of being replaced.
What the customer sees
They open the link, pick a loaf and a pickup window, and tap "Reserve a loaf." The success screen says something like "#12 for Monday," and a confirmation email lands with the same number and a status link. If their plans change, the link lets them leave the line, which frees the spot for the next person without you doing anything.
If they try to order twice from the same email, the second attempt shows the number they already have. That closes the "did it go through?" double taps, which is most of the duplicate orders a bakery ever gets.
When the day is full, the form says so. When it is 9:00 PM, the form says orders open at 6:00 AM. You are not the one explaining either of those any more.
What you see
An email arrives for each order, so you can watch the day fill from your phone. The Entries tab lists them in order with the loaf, the quantity, and the pickup window, which means the bake list is already sorted. Export it as a CSV in the morning, or on the $5 Starter plan send each order to a webhook that feeds whatever sheet you already use.
If an order is a mistake or a no-show, delete it. The spot opens for the next person, and the number is never reused, so nobody ends up with two number twelves.
Two things to get right
The cap counts orders, not loaves. Forty orders with a quantity of four means up to 160 loaves. If you can bake 40 loaves and not one more, either cap the quantity field at one or set the daily capacity to the number of orders you can actually fill. Most bakeries settle on a cap of 30 orders with a quantity limit of two, which stays under the oven.
Pickup windows are a choice field, not a slot with its own cap. If you want the noon window limited to 20 and the afternoon to 20, swap the choice field for a slot field, which greys out a window when it fills. That is a one-minute change in the builder.
When not to use us
Unwaited does not take payments. If you need the loaf paid for at the moment of ordering, with a card on file and a refund flow, you need an online ordering system, and most of them start around $30 a month plus a cut of each order. Many bakeries use both: the free waitlist to reserve the day, the POS to charge at the counter.
It also does not text people. Customers get a confirmation email with their number and a status link, and you can send a "your turn" email one at a time from the Entries tab. If the ovens run late and you need to blast 40 people at once, use your email tool with the CSV.
And if you never sell out, you do not need a cap at all. A Google Form or a plain email address is fine until the first Saturday the notebook says 61.