What you'll see
You use three different settings that all look like "when can customers order": prep time, menu hours and store (online ordering) hours. When they do not match, you may see one of these:
A delivery app shows your store closing earlier than the hours you entered.
An order arrives near closing and fails with "Restaurant is closed".
The prep time in Stream is different from your POS or from the time a delivery app shows.
A driver arrives before the food is ready.
What it means
What each setting does
Prep time is the time you estimate it takes to prepare the food. Stream uses it to work out the ready time it sends for each order.
Menu hours say when each menu is available on your delivery apps.
Store (online ordering) hours say when your POS accepts online orders at all. They are a separate setting from menu hours and from in-store hours.
Where prep time lives
In Stream: your default prep time is under Orders > Edit and is saved for all connected channels. You can also use a prep time schedule for slow and busy times, Kitchen Capacity to add time when many orders are in the queue, and Busy Mode to raise it for a while during a rush. If no prep time is set, Stream uses 30 minutes. A prep time schedule runs in the time zone saved for your store in Stream.
In your POS (Toast, Simphony and generic POS integrations): Stream copies the prep time from your POS when it syncs, until you save a different value in Stream. On Toast, the prep time comes from your Takeout and Delivery quote times, and Stream uses the larger of the two. See (FAQ) Adjusting Prep Time on Toast. On Toast, go to Takeout & delivery > Toast online ordering > Quote time strategy.
On the delivery app: Stream sends the app a ready time, but the app decides what to show and when to send a driver. See the question about early drivers below.
How menu hours and prep time work together: "Subtract prep time"
When Subtract prep time is on for a menu, Stream ends each time range early by your prep time when it sends hours to the delivery app. This stops new orders before you close, so the food can be ready by closing time.
Enter your real closing time in your menu hours. With a 10:00 PM close and 30 minutes of prep time, enter 10:00 PM. Orders then stop at 9:30 PM. If you enter 9:30 PM, orders stop at 9:00 PM.
Stream does not shorten your hours on DoorDash. DoorDash gets your full hours and applies its own last-order time.
Your POS can turn Subtract prep time on or off when it syncs.
Reverting a menu to your POS hours turns Subtract prep time on. Check the setting after you revert.
Good to know: category hours do not get this prep time cutoff, so an order can still arrive after a category closes.
Where store hours live, and how a Toast menu is affected
Menu hours are set in Stream (Edit Menu Schedule), unless your POS controls them. On Toast, menu hours are locked to Toast and can only be changed in Toast. See Setting & Editing Menu Hours and (FAQ) I Can't Update My Menu Hours.
Toast only: Stream keeps each Toast menu inside your Toast online ordering hours (Takeout & Third-party delivery). A menu that starts earlier than your online ordering hours is moved to the time they open. A menu that ends later is pulled back to the time they close. A menu with no overlap is dropped. For example, if Toast shows a breakfast menu from 7:00 but your online ordering hours open at 11:00, Stream and the delivery apps show 11:00. Syncing again does not change this. The online ordering hours need to change.
Why an order can fail near closing
If an order fails with "Restaurant is closed", see Order Error: "Restaurant is closed". These points explain how the time is checked on Toast:
Stream compares the time the order arrives with your Toast online ordering hours (Takeout & Third-party delivery). The closing minute counts as open.
Stream does not add your prep time to the order time for this check. It also does not use the ready time that the delivery app promised the customer.
A scheduled order is checked at its scheduled time. An order for right now is checked when it arrives.
A delivery app can still let customers order when your menu hours are longer than your Toast online ordering hours. The order is then refused by the check.
Other POS: some POS systems apply their own rules to the time they check. In some cases a POS has refused orders placed in the last minutes before closing and reported that the location was not open at that time. If failed orders bunch up just before closing, contact Stream Support so we can look at the order with your POS provider.
Why a driver can arrive before the food is ready
Uber Eats: Stream sends Uber the ready time. Uber also has its own Smart Preparation Time, which is on for every store by default and can replace the time Stream sends. Stream cannot turn it off. If it causes problems at a store, raise it with your Uber account manager.
DoorDash: DoorDash treats the time Stream sends as an estimate and may show and use its own time. Stream cannot set the prep time on your DoorDash store. Check the prep time in your DoorDash Merchant Portal.
Just Eat: drivers are sent based on the prep times you set. Marking an order Ready does not send a driver. Deliveroo, Uber Eats, DoorDash and Grubhub: marking an order Ready tells the app the order can be collected, and the app then assigns a driver. See How does marking an order as 'Ready' affect driver assignment?
How to fix it
Find which setting is different. Write down the hours or prep time you see in your POS, in Stream and in the delivery app, and the date and local time you saw them.
Prep time is different from your POS (Toast, Simphony, generic POS). Check whether a value was saved in Stream under Orders > Edit, whether a prep time schedule or Busy Mode is on, and whether Kitchen Capacity is adding time. Stream's own setting wins over your POS until you change it. On Toast, set your quote times in Toast and select Publish all changes.
A delivery app closes earlier than you expect. Check Subtract prep time in Edit Menu Schedule. If it is on, the app closes by your prep time before the hours you entered. Turn it off if you want the app to show the exact closing time, then publish your menu. Your POS may turn it back on at the next sync.
Orders fail near closing on Toast. In Toast Web, go to Takeout & delivery > Online ordering hours and check that the Takeout & Third-party delivery hours cover every time you want delivery-app orders. For a one-off day use + Add override, then select Save and Publish all changes. If a menu in Stream is open longer than your Toast online ordering hours, extend the Toast hours or narrow that menu's hours so they match. For holidays, see Adding Holiday Hours.
Check the time zone saved for your store. A wrong time zone makes prep time schedules and hours checks run against the wrong local time. See How to change your Time Zone.
Drivers arrive early. Set a prep time that matches your kitchen, and mark orders Ready when they are ready. If the delivery app shows its own time, the setting is on the delivery app's side (see above).
What only Stream can do: check the order record to see what ready time Stream sent to the delivery app, check the hours Stream holds for your menus against what your POS sent, and open a case with a delivery app when it shows different times from the ones we sent.
Still seeing the issue? Contact Stream Support at [email protected] with your Stream location name, the delivery app, the order ID and the local date and time of an example order, the hours or prep time you see in your POS, in Stream and in the delivery app (a dated screenshot is enough), and what you expected to see.
