Intelligent Auto Combo Building - Build combination deals on the fly as you add orders the way the customer talks


#1

This tutorial is not finished I still need to add descriptions to things and explain some stuff but I am making it visible for those tech savvy people that want to try it now.

:exclamation: Always remember to backup your database first before trying new tutorials

Database Tools File
Intelligent Auto Combo.zip (1.6 KB)

Optional Configuration Task
Coming Soon

:arrow_right_hook: Copy the URL and navigate to Settings > Local Settings > Online Services and paste that URL in the box then go to Settings > Configuration Tasks and press Update. The Intelligent Auto Combo Grouping task will show up and you can click it to install this entire tutorial without having to create the rules and actions manually the task will do it for you. If you run the task a second time it will give you the option to remove the configuration.

Tutorial Quick Nav
Actions
Rules
Product Tags

Demonstration Video


How to create a combo set with multiple level modifier or item selection?
Ideas for Combo Setup
How to create flexi meal deal and select product from main menu
unlisted #2

#3

Actions

Adjust Combo Price

image

Execute Find Combo

image

Find Combo Orders

image

Expression:
Can be however you define it I used a fast food style combo of Main item, Side Item, and Drink item

“(MT.Combo=Main)”,"(MT.Combo=Side)","(MT.Combo=Drink)"

Select Combo Orders:

image

Expression:

Order.GroupTagName == “[:Group Tag]”

Update Combo:

image

Remove Combo Group

image

Update Order Combo State

image


#4

Rules

image

image

image


#5

Product Tags Example


#6

This tutorial is not finished I still need to add descriptions to things and explain some stuff but I am making it visible for those tech savvy people that want to try it now.


listed #7

#8

Where’s the url for the config task? Or is that part of the coming soon bit? :grinning:


#9

I have not wrote it yet.


#10

Any update for this tutorial, I need next steps to finish it.


#11

What next steps? Everything is on screenshots. I’ll try and add more descriptions later


#12

This is amazing

I have been buring my brain out trying to implament something like this!

Will have to try it out next week


#13

Its a really cool future but i have one question. is it possible to mark the items as one combo or as one meal on the kitchen orders and maybe on the bill?


#14

You can use order groups to group on ticket template. I group starter/main/dessert like this but could be used to group combos.
Print templates are very flexible.


#15

Yes in fact I do that with mine. Take a look at my template it is HTML but you could see how I did it and adapt if you do not wish to use HTML. I love how HTML looks and my printer is fast.

image

[LAYOUT]
-- General layout

{ENTITIES}


<div style="font-size:20px;font-weight:bold;text-align:center;font-family:'Calibri'">Subtotal: ${PLAIN TOTAL}</div>
<div style="font-size:20px;font-weight:bold;text-align:center;font-family:'Calibri'">Payment Type: {TICKET TAG:Payment Type}</div>
<F>-
<div style="font-size:25px;font-weight:bold;text-align:center;font-family:'Calibri'">KITCHEN TICKET #{TICKET NO}</div>
<F>=
<div style="font-size:13px;font-weight:bold;text-align:left;font-family:'Calibri'">
<table>
<tr>
<td width="25">Qty</td>
<td width="196">Item Desription</td>
</tr>
</table>
</div>
{ORDERS}
<F>
<F>
<F>=
<div style=font-size:15px;font-weight:bold;text-align:center;font-family:'Calibri'">
<table>
<tr>
<td width=80 align=center>{TICKET DATE}</td>
<td width=170 align=right>{TIME}</td>
</tr>
</table>
</div>
<div style=font-size:15px;font-weight:bold;text-align:left;font-family:'Calibri'">
</div>
<F>=

[DISCOUNTS]

[ORDERS GROUP:]

[ORDERS GROUP|GROUP TAG]
<div style="font-size:20px;font-weight:bold;text-align:left;font-family:'Calibri'">
<table>
<tr>
<td width="25">{QUANTITY}x</td>
<td width="196">{GROUP KEY}</td>
</tr>
</table>
</div>

[ORDERS FOOTER]
<F>-

[ORDERS:GROUP TAG=*]
<div style="font-size:18px;text-align:left;font-family:'Calibri'">
[='{PORTION}' == '' ? '<table><tr><td width="196">       {PRODUCT NAME}</td></tr></table>':'<table><tr><td width="196">        {PORTION} {PRODUCT NAME}</td></tr></table>']
</div>
{SORTED ORDER TAGS}

[ORDERS]
-- Default format for orders
<div style="font-size:19px;text-align:left;font-family:'Calibri'">
[='{PORTION}' == '' ? '<table><tr><td width="196">{QUANTITY}x    {PRODUCT NAME}</td></tr></table>':'<table><tr><td width="196">{QUANTITY}x    {PORTION} {PRODUCT NAME}</td></tr></table>']
</div>
{SORTED ORDER TAGS}


[ORDERS:Gift]
-- Format for gifted orders
<J00>{QUANTITY} {NAME}|**FREE ITEM**


[ORDERS:Void]
<div style="font-size:19px;text-align:left;font-family:'Calibri'">
[='{PORTION}' == '' ? '<table><tr><td width="196">{QUANTITY}x    {PRODUCT NAME} **VOID**</td></tr></table>':'<table><tr><td width="196">{QUANTITY}x    {PORTION} {PRODUCT NAME} **VOID**</td></tr></table>']
</div>
{SORTED ORDER TAGS}

[SORTED ORDER TAGS]
-- Format for order tags
<div style="font-size:17px;text-align:left;font-family:'Calibri'">
<table>
<tr>
[='{ORDER TAG NAME}' == 'Extra fee' ? '' : '<td width=272><b>            {ORDER TAG GROUP}</b>: {ORDER TAG NAME}</td>']
</tr>
</table>
</div>

[SORTED ORDER TAGS:Toppings]
<div style="font-size:17px;text-align:left;font-family:'Calibri'">
<table>
<tr>
<td width=272><b>            {ORDER TAG GROUP}</b>: {ORDER TAG NAME}</td>
</tr>
</table>
</div>

[SORTED ORDER TAGS:Condiments]
<div style="font-size:17px;text-align:left;font-family:'Calibri'">
<table>
<tr>
<td width=272><b>            {ORDER TAG GROUP}</b>: {ORDER TAG NAME}</td>
</tr>
</table>
</div>


[SORTED ORDER TAGS:Promotion]
-- Format for order tags




[SORTED ORDER TAGS:Instructions]
-- Format for order tags
<F>-
<div style="font-size:14px;text-align:left;font-family:'Calibri'">
<table>
<tr>
<td width="196">INSTRUCTIONS: {ORDER TAG NOTE}</td>
</tr>
</table>
</div>
<F>=


[ENTITIES:Customer]
-- Customer entity format
<div style="font-size:20px;font-weight:bold;text-align:center;font-family:'Calibri'">Customer: {ENTITY DATA:FirstName}</div>
<div style="font-size:20px;font-weight:bold;text-align:center;font-family:'Calibri'">Phone: [=F(TN('{ENTITY DATA:Phone}'),'# (###) ###-####')]</div>
<F>-

#16

Thanks for that - but im not able to transfer it to the standard sambapos layout / template language


#17

You can, the layout section structure is the same for html or epos, it’s like mail merge of orders in template.


#18

Accidentally i figured it out. Just needed to make something like this

{ORDERS}

<J00>
<F>+
<J00>
<J00>
<J00>
<J00>
[ORDERS GROUP:]

[ORDERS GROUP|GROUP TAG]
<F>#
<C00>MENÜ

But now i saw that my price dont change. My Product Tag screen looks like yours here Intelligent Auto Combo Building - Build combination deals on the fly as you add orders the way the customer talks

in the Main part i added prices like 7,77 or 5,55 but my combos always costs as normal.
Customer saved 1,83€ - This works - but it don’t effect the price.


#19

Which price. Show screenshot of ticket and paste actual template. It’s hard to understand from what you have said.


#20

That’s wrong one sec.