Hi, I’m setting up SambaPOS v5 to work in a pizza shop.
I have setup all of the pizza’s as products and each has a small, medium and large portion.
I also have order tags which modify the cost of the pizza based on extra (i.e extra cheese, salami, etc).
Most of the extra’s are a standard cost based on the size.
I.e if it’s a small pizza it’s 50c extra per modifier (so extra cheese and salami would be $1 extra).
if it’s a medium pizza, it’s $1 extra (so extra cheese and salami would be $2 extra total).
and so on…
I would like the samba to change the price of the modifiers on a given pizza to align to the size of the pizza. So the default would be a small pizza and extra’s would be 50c each. But if the user changes this to a medium pizza, all modifiers applied should be $1 each.
I’ve tried to setup a rule and and action to update the price of the order tag based on a change of portion.
But I can’t seem to get it to do what I want it to do…
I’ve looked through the “Discount using order tag” forum entry but simply couldn’t get it to apply to what I wanted to do.
Please see screen shots of my config below. Any help on getting this to work would be greatly appreciated.
If we can figure out a way to loop order tags in the update order tag price action we could use that but I have not figured that out yet. @emre any idea?
I was going to suggest the same thing: use multiple Tag Groups. Yes, you need to maintain all of them, but that is the “proper” way to handle this in SambaPOS.
That said, we could probably find a way to do it programmatically as well, but it would still require some maintenance, especially if your Tag Prices are not all the same. What I mean by that is, for example, take your “Medium” prices… if all Tags in the Group are 3.00 then it makes it simple. But if some Tags are different (ie. Cheese=3, Onion=1, Pepperoni=5, etc), then you need to manage each Tag individually on a one-off basis…That over-complicates things, because you are basically managing individual Tags using very specific Automation (Rules/Constraints).
So really, the method presented by @Jesse is the most efficient way to handle this.