How to quickly add items to orders

Hello everyone,

We are using appsheet to run our school's cafeteria's orders.

  • Students line up and the kitchen staff Opens an Order using an action on the list of students.
  • I have added quick actions to add Today's Meal which is a huge time saver when kids are lined up.

EmadK_0-1694806560146.png

 

But if the operator wants to add other items, it's painstakingly slow:

EmadK_1-1694806833072.png

We have a Menu View:

EmadK_2-1694806905048.png

How do I add a one-touch option/action to add the item from the menu to the current order? (Order No)

I hope my question is clear, if not please ask and I will clarify :))
Thanks

 

0 23 1,018
23 REPLIES 23

Is there only one user/device using the app adding orders?

Mostly yes

You are creating related child records. It will be little bit time consuming process. Since you have to add variables like item name, product quantity. 

My suggestion create action button for frequently added items like " add today lunch'

Try this too

You can create  an action button which can save the current form and open new form with same parent table (key) . This method may reduce timing if  orders has so many items....

IMG_20230916_105830.jpg

โ€ƒ

Thanks for the suggestion. This would definitely save us some clicks in the meantime but ultimately we are hoping to have a cart view that can be opened from an open order that is linked to a student.

I've got a few sample apps that might be up your alley.  In fact there's an entire evolution build series on my youtube that shows how to start with a basic ordering app, then add more functionality, and more, and more - evolving the app into a fully fledge ordering app (with room left to grow).

Hope it helps!

Hi! this is the closest solution to what we want but we have multiple open orders at the same time, I am not sure how it will change the way the app is used. 

If we deploy this solution, it would mean only the last open order would have the items added from the products tab?

May I ask why do you have open orders more than one if you are using only one device and students are lined up?

We have a dataset table called "Customers" all new orders are added there with the [Status] = "Open'. We then add child items to these orders using the menu table.


@EmadK wrote:

We have a dataset table called "Customers" all new orders are added there with the [Status] = "Open'. We then add child items to these orders using the menu table.


So you're saving "Orders" in the "Customers" table? ๐Ÿค”

I apologize for the confusion. 

Customers in the parent table (where orders are added) while Orders is the child table that has the individual items added.

Didn't understand either.. when all child items are added with the same device and they all belong to a same customer, isn't that order then "closed"?1 First Item opens it and last Item closed it?

The best way I've found to handle this is to implement the Current User system, what @TeeSee1 was describing, as well as using Hot-Linking.

  • You can learn more about the Current User system here.

-------------------------------------------------------------------------------------------------------

Hot-Linking is what I call the technique of using a keyword, or some other temporary variable type system, to denote which record should be used for something.

  • The current user system is an example of this; we're matching the useremail() = [User_Login_Email] and holding that record as a global variable.
  • I've got a video that shows how to use hot-linking to move child records from one parent to another; not applicable to your situation, but a demonstration of how to flag a record and use values from that when you need to.

I would use this technique to insert a keyword into a hidden field, the Standard Starting Template has a field for this named [Form_Type], and use a slice to hold whichever record has this keyword.

  • I would also have a secondary action that clear the keyword, which I would use when switching from one order to another.

The resulting interface allows for X number of users to use the app at once, and have N open orders each - jumping from one to another, and everything works out as it should.

Here is an idea.

Introduce a column in the orders table that identifies the current order to add items to. Instead of a simple YES/NO column you could use USEREMAIL() to allow multiple operators to handle their own orders without interfering with each other's work. You can control how this column gets updated by action conditions. (i.e. make sure there is only one active order at a time under a particular operator, prevent changing the column being managed by another operator, etc..)

I have also added a quantity field to capture how many of an item is purchased. This way you do not need to navigate to another screen to specify that info.

You have an order status also and that needs to be handled in addition. I suppose that should not be too difficult by adding more complex conditions to actions.

Here is a screen capture of a skeleton app I created. (Download the mp4 file if you cannot see it online) 

https://drive.google.com/file/d/1jFmosF8dg7qu8O9YAvfE9LPrGuNAl3Gz/view?usp=sharing 

Hope this gives you another option or hint to enhance your app with.

 
 
 

Screenshot 2023-09-18 10.49.26.png

โ€ƒ

Interesting 

Hi @TeeSee1, thank you for the idea! I can try this one. Can you share the sample app, please?

You are welcome to see it

https://www.appsheet.com/portfolio/3401559

It is titled "test05"

Hello @TeeSee1 
It's a very good app.

please tell me.

Is it a bug that when I click the toggle for "ORDERS" it appears and sometimes does not appear in "Active Order Detail"?

A detail is shown only if the correct customer is selected or no customers selected at all.

You need to provide more information as to when you don't see a detail view when you expect one.

Thank you.

Initially, the "Bob" row was selected in "ORDERS", so the details screen was not displayed even if the toggle for the "John" row was turned on.

By the way, is it possible to turn on a toggle to show selected rows without going to detailed view?

Not "App: Go to another view within this app"

It is the expected behavior. You have to have an active order and either have John selected or no customers selected for the detailed view to show your active order.


@Maki wrote:

By the way, is it possible to turn on a toggle to show selected rows without going to detailed view?

Not "App: Go to another view within this app"


I am not sure what you want here...

 

I'm sorry that I couldn't convey it well.

Your app is working perfectly.

Do you know how to display "ORDERS" details in "ACTIVE ORDER Detail" without selecting the "CUSTOMERS" in interactive mode, just by turning on the toggle?

Two options (at least I guess)

1. Do not select any customers...

2. Disable the interactive mode of the dashboard. You also need to tweak the row-selected event actions of both Customers and Orders to avoid unintended navigation. I would assign a new order and toggle actions respectively but it is a matter of preference.

You can certainly tweak many things here. I am just trying to show one idea of how you can quickly add items to an order by selecting an item and a qty from an items view.

 

I turned off "Interactive mode", created a new table,
You will then set the on-click action for the "ORDERS" as an add to this new table.

Next, create a slice that returns one row, the most recent entry for the current user.
Use this slicer to filter the "ACTIVE ORDERS Detail" and "Related ORDER_DETAILSs" views.
The "Related ORDER_DETAILSs" view was later added to MAIN.

This not only allows you to quickly add items, but also provides the same behavior as selecting rows on an interactive dashboard. Additionally, If nothing was selected in "ORDERS", all rows were displayed in "Related ORDER_DETAILSs", but that has also been resolved.

It will take some time, but the current situation is ideal.

@TeeSee1 I learned a lot from you.
Thank you very much!

Top Labels in this Space