ryanmitchell / ti-ext-kitchendisplay

Other
14 stars 8 forks source link

Kitchen Display customization settings #12

Closed bingo-bonzai closed 3 years ago

bingo-bonzai commented 3 years ago

It will be Good to have Kitchen Display settings for 1) Selecting the visible status options (i.e. Prep, Ready, Complete, etc) 2) Selecting Status value to remove the order from the Kitchen Display (like Completed in current state) 3) Similar to Auto Print, an Auto refresh option may be provided using Broadcast events. This may be triggered based on any order status change.

Also instead showing Ready orders in the Kitchen Display (which is not the right place), they may be moved to a Delivery Queue list towards the extreme right side of the Kitchen display. This list can be a simple list displaying customer name, order number and order value. Attaching an edited screenshot for reference.

image

ryanmitchell commented 3 years ago

Version 1.1 was released 4 days ago which made the statuses and colours configurable. It also auto refreshes every 30 minutes (ajax request in the background).

The delivery queue feels like a separate extension to me, similar to the customer display I've worked on for RoyDean - https://github.com/ryanmitchell/ti-ext-customerdisplay

bingo-bonzai commented 3 years ago

ti-ext-customerdisplay seems like an interesting work. Is it a generalized version of the Kitchen Display using Card based display or does it display the filtered orders in a simple list like the sighted Delivery Queue?

ryanmitchell commented 3 years ago

If you look at the controller you'll see it pulls out the items that are waiting, in prep and ready for the customer to collect. The idea is its visible for customers to see on a screen in the location.

bingo-bonzai commented 3 years ago

ok. May i request you to pls share its screenshot to get better idea of Customer Display View?

Btw, thanks for the KD 1.1 reference, Yes i am able to see some new config settings which may be useful.

ryanmitchell commented 3 years ago

Best checking with @roydeanjr for screenshots, he has more real world data than me

roydeanjr commented 3 years ago

I will post some screenshots in the customerdisplay repository.

The process flow in our situation (food truck) is much different than a brick & mortar. Another process for handling the delivery or handoff to the customer would be toggled by a customer facing employee or the delivery person. Similar to what happens when UPS drops off a package. It would be a similar extension, but specifically focused on the delivery/pickup point of the process. Displaying this queue on the Kitchen Display would be informational to the Kitchen and thus not necessary on that display. We display on one screen because we are all handling the orders and toggling the statuses.

My suggestion is to perhaps revise the Kitchen Display and call it something slightly different (maybe Kitchen Process Screen) and focused on only the Preparation and Ready steps such that when Ready is toggled, the order drops off the Kitchen Process Screen and appears on the Pickup/Delivery Screen. On the Pickup/Delivery Screen the button option would be Complete in order to then drop off that screen as well.

roydeanjr commented 3 years ago

ok. May i request you to pls share its screenshot to get better idea of Customer Display View?

Btw, thanks for the KD 1.1 reference, Yes i am able to see some new config settings which may be useful.

@bingo-bonzai, This is what the customers will see on a large format monitor: image

NOTE: Both KD and CD update every 30 seconds, not minutes. That can be adjusted by editing the files. There is no setting for that at the moment. Ryan could add that if the update interval is desired to be admin selectable. 30 seconds works fine for our use case.

BreakSecurity commented 3 years ago

immagine The delivery time shows seconds too that can be removed. Sorry for the off-topic just don't want to open a separate issue for this small note.

ryanmitchell commented 3 years ago

Yep good spot, I’ll add that to the next release

On 26 Oct 2020, at 14:22, BreakSecurity notifications@github.com wrote:

https://user-images.githubusercontent.com/38836022/97184025-c3ab7f00-179e-11eb-9429-3706ba550a92.png The delivery time shows seconds too that can be removed. Sorry for the off-topic just don't want to open a separate issue for this small note.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ryanmitchell/ti-ext-kitchendisplay/issues/12#issuecomment-716578941, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMVOZ6WBXOK5DKRM5YIOLSMWAYRANCNFSM4SYTFKNQ.

BreakSecurity commented 3 years ago

So, in controllers summary: 'time' => substr($o->order_time, 0, 5), 'address'=>format_address($o->address->toArray(), FALSE), 'payment'=>strtoupper($o->payment_method->code),

in views summary index:

<h6 class="card-subtitle text-muted"><?= $order->phone ?> / <?= $order->time ?> / <?= $order->value; ?> / <?= $order->payment ?></br><?= $order->address; ?></h6>

I know is not fancy as a pull req but they will came ;)

P.S. Removed second and added address and payment code (we found it useful to have the global view)

Result: immagine

ryanmitchell commented 3 years ago

I added time already - see my last commit @roydeanjr what are your thoughts on address?

BreakSecurity commented 3 years ago

I removed seconds from time...

wakey18 commented 3 years ago

I've just added the address, to make it easier to see only the address line 1 and postcode included is used, also formatted.

ryanmitchell commented 3 years ago

https://github.com/ryanmitchell/ti-ext-kitchendisplay/commit/0e52653d24d6801cd7c48a15edbf90737b499bdd

Up to Roy on the address - it’s his choice.

wakey18 commented 3 years ago

The address has been placed below the phone no, order time and amount.

ryanmitchell commented 3 years ago

Yep sorry, I was pointing out the order time fix was already in place. Over to you @roydeanjr to decide on the address :)

roydeanjr commented 3 years ago

I do not have use for the address. All my orders are pickup.

My preference is to add an admin menu as Delivery Process and show a page with delivery details on that page. I don't see a need for the address in the Kitchen Display for any restaurant.

To accomplish this, you can modify the Kitchen Display to show only Received and in Prep orders with a Prep and Ready button. Then add a page to show Ready orders with a Complete only button. These two displays can still be under the Sales menu or an even better option would be to have them under a new Order Processing menu.

You could then change the name of the extension to Order Processing and lump all order processing options in this extension. Will take some work, but will also provide an easier mechanism to house all order processing requests.

Thoughts?

wakey18 commented 3 years ago

I don't see a need for the address in the Kitchen Display for any restaurant.

This was a request by my client so that they didn't have to rely on slips of paper. It's a fish and chip shop (take away and delivery) so their situation is obviously different to a restaurant setting.

BreakSecurity commented 3 years ago

My client is small and often it has the necessity to talk directly to the driver from the kitchen "window" so that's one scenario in which can be useful to have all in one place. What about giving the extension more flexibility? Some if statements and checkbox on the settings and voilà.

Also another idea is mc Donald style. In mc kitchen they have "numbers" of items to being prepared. As an example orders A, B, and C.

A 1 burger 2 chips 1 gelato B 3 burger C - 2 chips

The display should show:

4 burger 4 chips 1 gelato

This will shorten the preparation time avoid errors (many times you forgot something for someone). Then another display shows the order to permit assembling.

Let me know if it was clear

ryanmitchell commented 3 years ago

There is no doubt the extension can be extended to accommodate most of these requests - and also the ones on the forums.

However as I said there any future development would need to be sponsored as I cant continue to work on this for free - as RoyDean will tell you I was never keen to release it to the marketplace as it then creates an expectation on me to iterate and develop the extension.

I already do a huge amount on TI voluntarily and I need to be careful with my time.

BreakSecurity commented 3 years ago

Man just relase everything to let the community grow and as you said take care of your time it's open source so we are discussing but I don't have expectation on that. I mean I'm great you released to the community your work because it extend the tasty experience and everyone can contribute. If I'll need something more radical in the future I'll sponsor but I'll probably ask to release as an extension too. Community grow more people try it, more bug, more stability gained and so on. Also if everyone do like that we will be plenty of extension. Just my opinion. Great work by the way

ryanmitchell commented 3 years ago

As soon as you release something you need to support it - you have no idea of the hours of requests and time that takes.

wakey18 commented 3 years ago

As soon as you release something you need to support it - you have no idea of the hours of requests and time that takes.

I really do and really appreciate what you and everyone that contributes to TI. By allowing more community contributions surely it will help the overall project and free up some of your time.

BTW The kitchen display is one of the most anticipated extensions (for me anyway). It is great. I'm very glad you did release it to the market and hope you do continue to work on TI.

If I was in a position to I would sponsor but I don't charge for my service and therefore has no spare £££.

Thank you!!!

roydeanjr commented 3 years ago

@BreakSecurity @wakey18 I understand the importance of meeting your customer's requirements; they are your bread and butter! I also understand how each customer has "unique" requirements. Yes, many of these can be solve with some options in the Kitchen Display Settings. Once that functionality is in place it should be fairly straightforward to add a new requirement going forward.

Yes, @ryanmitchell has stated his reluctance to release extensions as they seem to snowball out of control with everyone's requirements being the most important.

Question now is "what is the right path forward?". 1 - @ryanmitchell Is it possible to release the extension to a TI organization that approved developers and interested parties can subscribe to? I don't know github, but I have seen the github Organizations options, not sure the benefit, but, is that a possibility? 2 - stop the snowball before it gets out of hand? Meaning, leave the KD alone and develop individual extensions to handle each scenario. 3 - Keep the repository under @ryanmitchell: right now anyone can create a branch and make changes to the files to satisfy your requirements. Once the modifications are working you can simply create a Pull Request and commit your suggestions for review and if approved they can be merged into the master repository for everyone's consideration and use.

roydeanjr commented 3 years ago

@BreakSecurity

Also another idea is mc Donald style. In mc kitchen they have "numbers" of items to being prepared. As an example orders A, B, and C.

I like that and considered that in the initial KD, but did not ask for it just because it would take a bit more time. I would put that information at the top so it is always visible. And, perhaps limit it to the data from the next 3 orders or some user defined option. That could be another snowball though!

ryanmitchell commented 3 years ago

I have no problem triaging and maintaining the code quality and agreed direction of the extension. What I don’t want is lots of ideas and no code contributions :)

What I would suggest is we agree on a set of features and then individuals work on different parts which then get merged.

Edit: I would also say that I’m in favour of the extension doing the minimum and individual developers amending for their use case. Ideas like delivery views, customer views to me are a different extension (though they may be part of a ‘family’ of similar ideas)

roydeanjr commented 3 years ago

Sounds good. Shall we create another "issue" called "Feature Requests"?

It would be pretty simple to create multiple extensions from this one. I just don't know the most efficient method for code execution on the server. I suppose individual extensions would be most efficient to the server and the client, correct?

And yes, all the modifications already done by @BreakSecurity @wakey18 could easily be published as different extensions.

(though they may be part of a ‘family’ of similar ideas)

Is it possible to modify KD to create a new menu option called Order Processing/Handling? Then any new "features" could create new menus under that main menu item?

ryanmitchell commented 3 years ago

I think creating issues for each of the individual ideas so they can then be discussed and agreed on.

I wouldn’t suggest publishing different ‘versions’ of the extension to the marketplace - with minor differences as that will be confusing. That’s where settings come in for things like addresses to be toggled on/off.

roydeanjr commented 3 years ago

I wouldn’t suggest publishing different ‘versions’ of the extension to the marketplace - with minor differences as that will be confusing. That’s where settings come in for things like addresses to be toggled on/off.

I agree. So are you willing to create the "shell" for handling option toggles? I am not smart enough to create that and might get myself into real trouble even trying to add a new option, but I am willing to try once the "shell" is in place.

ryanmitchell commented 3 years ago

Yep leave it with me and I’ll try and work on it next week.

On 30 Oct 2020, at 15:53, roydeanjr notifications@github.com wrote:

 I wouldn’t suggest publishing different ‘versions’ of the extension to the marketplace - with minor differences as that will be confusing. That’s where settings come in for things like addresses to be toggled on/off.

I agree. So are you willing to create the "shell" for handling option toggles? I am not smart enough to create that and might get myself into real trouble even trying to add a new option, but I am willing to try once the "shell" is in place.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

ryanmitchell commented 3 years ago

Ok, I've pushed a version2 branch which has the beginnings of what is being asked for. Theres still a good bit to to do but its all I have the time for today.

https://github.com/ryanmitchell/ti-ext-kitchendisplay/tree/version2

The concept is as follows: You create individual views based on criteria such as order type, location, categories - this is how the orders are filtered. You can then amend the display of the views e.g button display or not, statuses, colours, refresh interval, number of orders. You can then "View" the view, to see the orders. As you can have multiple views you can have separate ones for delivery, grill stations etc etc

I still need to implement the category filtering, so that has no effect yet. I also have an approach in mind for how to handle showing/hiding addresses etc. Once those are done I will update here and then someone else can work on the display of the total count of the number of menu items needing prepared.

ryanmitchell commented 3 years ago

Ok, I've pushed the category filtering and the layout options to the version2 branch. Please test and let me know what you think.

ryanmitchell commented 3 years ago

Anyone had time to look at this and test it?

roydeanjr commented 3 years ago

I have not been able to get a stable upgraded system until today. I will test shortly or tomorrow for sure.

roydeanjr commented 3 years ago

Well now, THAT ROCKS! I am so impressed that you got that done so quickly! The creation of the views is simple and straightforward. my ONLY issue is that the categories are great except that we don't sell individual items that go on one plate. We sell plates that have options. One of two solutions for being able to make this the end all be all for the world! 1 - create a Plate grouping so i can assign which plate an item goes on OR 2 - add an option selection or change the category selection to allow selection of the options chosen . Other than that, you have done a great job with this extension! Thank you!

roydeanjr commented 3 years ago

Additional wish list: 1- make the name of the view show in the page title. Now all the tabs showing different views read the same in the pages' tab at the top of the page. 2 - is it possible to have security on the views? Kitchen does not need Delivery or Pick-up views and should not be toggling an order as complete (granted, I can remove that button from the Kitchen view, but the Kitchen need not be able to get to the Pickup or Delivery queue. 3 - the delivery queue needs the ability to assign an order to a delivery driver/user. 4 - the delivery driver can have a view that shows only orders they are assigned for delivery. Perhaps being able to group orders in a 5 mile area ( user selectable of course ).

ryanmitchell commented 3 years ago

my ONLY issue is that the categories are great except that we don't sell individual items that go on one plate. We sell plates that have options. One of two solutions for being able to make this the end all be all for the world! 1 - create a Plate grouping so i can assign which plate an item goes on OR 2 - add an option selection or change the category selection to allow selection of the options chosen . Other than that, you have done a great job with this extension! Thank you!

Would being able to restrict by items solve this? I don't totally understand the issue.

ryanmitchell commented 3 years ago

1- make the name of the view show in the page title. Now all the tabs showing different views read the same in the pages' tab at the top of the page.

Done

2 - is it possible to have security on the views? Kitchen does not need Delivery or Pick-up views and should not be toggling an order as complete (granted, I can remove that button from the Kitchen view, but the Kitchen need not be able to get to the Pickup or Delivery queue.

hmm not sure if/how that would work. I'd need to chat to Sam and it may not be possible.

3 - the delivery queue needs the ability to assign an order to a delivery driver/user. 4 - the delivery driver can have a view that shows only orders they are assigned for delivery. Perhaps being able to group orders in a 5 mile area ( user selectable of course ).

Yep, it would be good to allow order filtering by assignment, and also create a way of assigning (select list). Those would be good additions for someone to take on.

ryanmitchell commented 3 years ago

Order filtering by assignment and assigning to users is done

roydeanjr commented 3 years ago

Would being able to restrict by items solve this? I don't totally understand the issue.

1 - Current restriction by category only shows orders where an item in a category is sold. Same would happen if an Item restriction was available, so I think that would be a waste of time, however, if there are different stations preparing each item that goes on a plate, then it might be useful. 2 - In order to limit the number of items available I set up items that are the whole plate. A plate contains any number of options for meat, sides, sauce and condiments. Since there is no way to create an option made up of items or ingredients (like a bill of materials or recipe) I added options for meat and sides. I also sell sides separately, however, when I sell a plate, the options list shows what goes on the plate. The issue could be solved by allowing groups called plates and on each plate you select from a list of items that happen to be categorically defined. Our meat selection has 4 options. Our side selection has 6 options, etc.

Does that provide a better understanding? I am not sure how other people set up their menu items, but the only way to know for sure that these items go on one plate is to create separate orders for each plate. It is too much trouble to ask a customer to type into the notes how they want the items they ordered to be plated.

ryanmitchell commented 3 years ago

I'm not sure this is to do with Kitchen Display - feels more like a main TI request?

roydeanjr commented 3 years ago

I'm not sure this is to do with Kitchen Display - feels more like a main TI request?

I agree, there are parts that are core related; i.e. being able to group items on a plate.

Once that is done and we can select the menu items that go on a plate, yes KD will be able to show the items when selecting by category.

roydeanjr commented 3 years ago

On another note, however, I am testing 2.1 while adding a new view. I am getting an error about the order_assigned field not being in field list: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'order_assigned' in 'field list' (SQL: insert into smz7pn8ig_thoughtco_kitchendisplay (name, is_enabled, locations, order_types, order_status, order_assigned, categories, display, updated_at, created_at)

I tried removing the extension and enabled the delete data option and that did not clear up the issue. Suggestions?

ryanmitchell commented 3 years ago

Forgot to bring over the database change, its there now if you reinstall

roydeanjr commented 3 years ago

Worked. Question: If order initial status gets an order on the display, what triggers it to come off the display? Is it when button 3 is clicked regardless of the status of button 3?

ryanmitchell commented 3 years ago

Yep we only care about initial status and button 1 and 2 statuses.

On 6 Nov 2020, at 14:16, roydeanjr notifications@github.com wrote:

 Worked. Question: If order initial status gets an order on the display, what triggers it to come off the display? Is it when button 3 is clicked regardless of the status of button 3?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

roydeanjr commented 3 years ago

Ok, so disable button 2 gets what @bingo-bonzai asked for with regard to dropping off the Kitchen view when Ready and show on the Pickup queue. Great!

Don't forget about the chevron << button in the New/Edit page: it gives me this address: https://ardee.com/admin/thoughtco/maxorders/timeslots

ryanmitchell commented 3 years ago

Fixed

On 6 Nov 2020, at 14:22, roydeanjr notifications@github.com wrote:

Ok, so disable button 2 gets what @bingo-bonzai https://github.com/bingo-bonzai asked for with regard to dropping off the Kitchen view when Ready and show on the Pickup queue. Great!

Don't forget about the chevron << button in the New/Edit page: it gives me this address: https://ardee.com/admin/thoughtco/maxorders/timeslots https://ardee.com/admin/thoughtco/maxorders/timeslots — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ryanmitchell/ti-ext-kitchendisplay/issues/12#issuecomment-723106082, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMVOZ5IVJBH5A36SWICEDSOQBB7ANCNFSM4SYTFKNQ.

roydeanjr commented 3 years ago

Testing results: image

roydeanjr commented 3 years ago

I still get a Page not found message....needs to return to views rather than view.....