I have created a restaurant delivery app for a single restaurant and have also developed an admin panel for it. I am looking to develop a pickup and delivery section for the restaurant owner/admin to do the following;
(a) Turn the delivery option off when it’s unavailable
(b) Turn everything off when the restaurant is closed
(c) have a setting for X number of minutes until orders are ready depending on how busy they are.
b) You’ll need to have a collection of hours of operation and conditionally display things based on those values.
I.e, Monday - 8am to 5pm (if time is > 5pm, show something else) (Day of week is string, time is time value number).
c) Add a buffer number to the collection. When a new order is placed, run a count to see how many orders are “in queue” and then perform a calculation to get the buffer amount for the order.
I.e., 3 orders in queue, add extra 5 minutes.
a. I’ll use the true/false property to toggle delivery on or off. This can be based on the rider availability count or manually controlled. I might also use the button state for this.
b. Again, a true/false property can be used to indicate if the restaurant is closed. I might use the switch component for this. It depends on whether you still want to display the menu when the restaurant is closed.
If not, users will be redirected to a modal screen saying “Sorry, we’re closed.” using link actions conditions.
If yes, you could apply a visibility condition to the buttons so they can’t place an order.
c. I’m not sure if I understand C correctly. In the menu collection, I might add a number property for the time estimates of each menu item. You can manage this from the admin side and include a shortcut button to quickly add time in increments, such as +5 minutes or +10 minutes. Alternatively, you could apply this time control in the order collection
^ This is good, so long as the restaurant has the options for “Delivery order” or “Pickup order”
This is a bad idea, makes it a very “manual” process, having to “close” and “open” the restaurant manually. Dynamic hours of operation would be more ideal.
Thanks for your response to this - are you a developer and able to do these changes? I can give you more detail as well but (a) is just a switch I need incase the restaurant doesn’t have drivers available and wants to just have pickup available (attached is a screen i created which is connected to this where the user selects pickup vs delivery
With regard to (a) yes that is what I thought with a toggle or a button but was not sure how to do the setup with the collection databases? Same for (c) I really just wanted to keep it simple and have an input box or dropdown where the restaurant owner adds X minutes as the current preparation time. Again I dont know how the collection databases would look like for this if you have any ideas?