Closed sampoyigi closed 3 years ago
Only just noticed this.
Limit the number of orders and reservations to allow per each timeslot I've done the orders limit for a couple of restaurants as an extension, so have the logic that I could bring into core. Some restaurants limit by number of 'covers' rather than orders, i.e. only items from certain categories count towards the total. Do you think this would be worth implementing as part of it?
Improve admin dashboard statistics to include total commission and turnover I can work on this - what do you mean by total commission and turnover - just so I'm clear what the statistics are that need created.
Real-time order progress on the checkout/success frontend page I'd also be happy to work on this if you have any guidelines as to what you are looking to achieve on it.
Another one to maybe add to the list - ability to add reviews after the meal. Currently you can only add a review on the success page - there needs to be a way of adding reviews after, either with a follow up email or a link that persists.
Do you think this would be worth implementing as part of it?
I don't think it's a common-enough use-case.
Improve admin dashboard statistics to include total commission and turnover
Erm 🤔, the total commission part is more for multi-vendor set up so let's skip for now. As for the turnover, I meant the total table turnover rate, measured by how often tables are occupied during a measurement period.
Real-time order progress on the checkout/success frontend page
The idea here is to use the broadcast extension on the checkout/success page to update order information such as order date time and status in realtime and also include a progress bar for progress until the order is delivered/completed.
Another one to maybe add to the list - ability to add reviews after the meal.
There's already the ability to add a review from the single order page after the order as been marked as completed.
I don't think it's a common-enough use-case.
No problem. So add admin panel options for max orders and reservations per time slot, and once that number is met prevent orders (maybe even hide the time slot?).
Improve admin dashboard statistics to include total commission and turnover Erm 🤔, the total commission part is more for multi-vendor set up so let's skip for now. As for the turnover, I meant the total table turnover rate, measured by how often tables are occupied during a measurement period.
Thanks for clarifying
Real-time order progress on the checkout/success frontend page The idea here is to use the broadcast extension on the checkout/success page to update order information such as order date time and status in realtime and also include a progress bar for progress until the order is delivered/completed.
Do you have a layout in mind for it, or should I just work from a blank slate?
Another one to maybe add to the list - ability to add reviews after the meal. There's already the ability to add a review from the single order page after the order as been marked as completed.
Is this in the admin panel? I mean't for end customers. If there is a link do you know where I can find it - I don't recall seeing it and would love to add it to order emails.
So add admin panel options for max orders and reservations per time slot, and once that number is met prevent orders (maybe even hide the time slot?).
Right
Do you have a layout in mind for it, or should I just work from a blank slate?
It should use the current layout with the addition of a progress bar or something fancy
below/above the status name and comment
If there is a link do you know where I can find it
The frontend order page displays a review form when the order reaches a completed status. One can easily use the Review component on a new page if they want a separate page for adding reviews.
Don't know how I missed the review page - thanks for highlighting it. I've opened PRs for the others.
I think something else that would be worth adding before stable is allergens.
So a new area in the admin for adding an allergen maybe similar to menu options. Allergens have text and optionally an image. Then on the front end they are displayed under the menu item either as text or image (can be selected in the component).
The only UI issue for me would be how to mark allergens as being on a menu option rather than a menu item - it would be a bit difficult to squeeze that in with the current UI.
Finally something I think I can help with. Most of the changes I do are slight modifications to the code. Bu I've been working on an extension that started with that concept (Allergens) but ended up being like a Menu Items Tag. I based the idea on categories assignation behavior so an item can be related to more than oneand then displayed in the storefront. I was able to make it work as an extension with some guidance from a PHP developer. But it's not 100% complete. However I'm pretty sure you guys can fix everything really fast and even improve it.
Please let me know if this could help.
Note: I decided to leave his Dev name because without his help I wouldn't have being able to make it as an extension rather than just manual db and code modifications.
@babelattke this looks like a great start - similar to what I was thinking. But the same UI issue - of how do we attach it to menu option eg for some of our restaurants we have a flavour as the main menu item (e.g. Curry sauce), then you choose the filling as a menu option (Chicken, Prawn, Vegetables). So the menu option would need an allergen somehow too.
Any thoughts on this @sampoyigi ?
@babelattke this is great, I would have gone with the menu item tag approach as well. Great work by the dev :) Do you have the extension on a public repo?
@ryanmitchell But the same UI issue - of how do we attach it to menu option
I think it will be attached the same way as the menu. Using the tags approach both menu items and options can have same or different tags.
@sampoyigi no I haven't upload that yet because as I mentioned it's not complete. However I'll do it later today. After that should I add you guys as a contributors or transfer the repo to you ?
Hmm, what do you think @ryanmitchell? Say we work on the Allergens feature as a contributed extension, who maintains it and under what vendor?
Would it be an extension or do you think it would be in core? My vote would be in core for what its worth - feels like something important.
If not I'm happy to take it on.
Calm, you can work to add it to the core.
@babelattke any luck uploading it somewhere to give me a base to work from?
@ryanmitchell my bad, sorry for the delay. I just uploaded the files and added both of you as collaborators.
https://github.com/babelattke/ti-ext-tags
Please let me know if something else is needed.
@babelattke Perfect - thanks.
@sampoyigi On "API: use JSON:API specification in response" - from what I can see we need to:
Did you have any other changes or requirements?
the spec also recommends camelCase over underscores - whats your thoughts on that?
My suggestion is that this can mostly be done at the transformer level? Some in TransformerAbstract and some in the resource specific transformers.
Edit: seems the pagination is correctly handled by Laravel already.
@ryanmitchell yep, that's pretty much it from what I remember. Leave this one to me as apart from JSON API compliant, I also want to improve the transformer code API to provide full support for handling relationships, multiple media-types something similar to https://github.com/cloudcreativity/laravel-json-api
Improve opening hours: suspend ordering for the current day, special hours, block dates and time (tableagent)
I don't know if you've seen how Facebook ads handles scheduling, but its pretty intuitive. You can drag and highlight hours in the day, and you can have multiple and seperate blocks in a day, which is pretty nice. See attached screenshot.
This sort of approach would give a lot of flexibility in terms of opening hours (eg open for lunch, closed for some hours, and then open again for dinner). I found a JS plugin that does a similar thing: https://www.jqueryscript.net/demo/Table-Based-jQuery-Calendar-Schedule-Plugin-TimeSheet/
Not sure how this lines up with what you have been thinking of.
This definitely solves a lot of design issue with the current controls, I love it! People looking for split opening hours would also love this!
I actually started working on this a few days ago but got stuck rendering the controls, created a new ScheduleEditor
form widget which we can work with. I'll update you here once I've pushed my local branch so we can base the PRs off it.
Branch pushed: feature/schedule-editor-widget
I'll leave the milestone to you to complete ;) We should also implement working schedule overrides.
Ha thanks :) I should get some time on it this week and we can see what still needs done after that.
Improve opening hours: suspend ordering for the current day, special hours, block dates and time (tableagent)
Simplified this to focus only on split hours, we'll implement schedule overrides part maybe in v4...
Some things that have been asked of us in the last couple of weeks which would be worth thinking about adding:
Somehow missed this. I plan on adding 1 and 2 as an extension and I'll accept a PR to add 3
3 Is probably an extension rather than core - ability to provide urls that then set the right session variables. I'll work on it at some point.
With a lot of joy I am closing this :)
Here’s a list of tasks that needs to be done to get us to a stable v3.
Core updates improvement: handle semantic versioning for extensions, themes and translationsInstall extensions as a composer package using composer.json(On Hold)PayRegister: Add webhook listeners for payment gateways to update status according to payments changesAbility to design invoice templates from the admin dashboard(On Hold)Improve opening hours: suspend ordering for the current day, special hours, block dates and time (tableagent)Improve opening hours to allow split hours (#500)Media Manager support for videos(On Hold)Complete mail templates theming(On Hold)Improve admin dashboard statistics to include total commission and turnoverThe goal of this list is to briefly mention plans and work in progress, feel free to submit a PR if you want to help or leave a comment to discuss your ideas and feedback related to the above list. I will be updating this list as many times as necessary nothing is set in stone.
BTW, I'm happy to explain further on any item that needs explaining :)