I’ve searched the forum and see lots of pizza problems. I’ve solved most of my issues by using what others have done, but I’m not sure how to go about my last few problems.
I have five sizes of pizza, with four different topping size prices (two sizes have same topping price), have order tag groups for all four topping sizes for each different price, each with two half prefixes. The issue comes into play because pepperoni is included into the base price of each size pizza. I tried to resolve it by including a “No Pepperoni” order tag with a negative topping price. It works fine when another topping is added in place of the pepperoni. Problem is the restaurant owner doesn’t want to sell pizzas below the base price, so if someone wants a cheese only pizza then the “No Pepperoni” tag lowers the price below base price. I was going to simply add another tag “Cheese Only” but didn’t want to confuse wait staff. Possibly have “Cheese Only” in a separate group so when clicked it would close the tag selection window so no other toppings could be added, as long as no other toppings were added before.
I’m trying to make it as simple as possible for the wait staff who will be using this on a daily basis but without 12 automation actions and rules.
How about an Oder Tagged rule which evaluates the order price to check that its not below minimum.
There are many price related tags and would take some experimentation to find right ones.
Am thinking allong lines of when tags are changed if ORDER PRICE < PRODUCT PRICE then change product price or maybe change the No Pepperoni tag to 0.
Would take a little bit of work but expect it could be possible.
If cant call product price and order price seperatly might need to add a product tag of ‘minimum price’ so this can be called to evaluate.
That’s not a bad line of thinking. I did try to make a rule and action to change “no pepperoni” to 0 when it was the only tag. Problem was when it was the first tag entered it changed the price to 0 then when another topping was added it didn’t change back to a negative topping price and I was unable to make an action that would put the negative price back on “no pepperoni” after their were other tags.
Possibly if I executed the action at a time other than “order tagged”. Does anyone know of a better time that would occur after all the tags are added to the product?
Think you taking it very simple, there would need to be a little more to it.
The order tagged action would need to be unconstrained or maybe constrained to pizza product group so that it checks every time order is tagged.
The update order tag price action allows you to specify an order tag name and value so can pick out pepperoni from the toppings tags…
Complicated bit would be to not base it on it being the only tag but to base it on the order price, as i said;
if ORDER PRICE < PRODUCT PRICE then Update Order Tag Price Toppings:Peperoni to 0
This would be ok if peperoni is the only ‘base topping’
If you have say no cheese etc (other included toppings which can be exchanged but not deducted.
If that were the case you might be better looking to have an additional topping tag of ‘Topping Price Adjustment’ which is you have tag price added to order price will be semi hidden… you could even format the receipt template to not price this tag
This could then just be adjusted to any vale based on a calculation of PRODUCT PRICE - ORDER PRICE which would mean it will take in to account any minus value no topping and ensure that if all else fails the bace price will remain the same. and not be lower.
Maybe @emre can check my logic here. I do like to keep things simple. I was reading another post about first two toppings free when I realized instead of using “No Pepperoni” with negative value I just need to include Pepperoni with positive topping price as being selected automatically by default then use rule and action to make first topping price 0. Here is my first implementation (which doesn’t work) Please help.
To do that you would then have to reduce the base product price by that amount to keep the total correct.
This would then mean unselecting peperoni would still leave a order price less than the original/menu price.
Which is why I want to Update Order Tag Price of whichever topping is the first topping selected to 0 so that if it is pepperoni (which is included) it is not charged for and if it is some other topping (substituted for pepperoni) it is not charged for. As well as if pepperoni is removed and no other toppings are added (cheese only implied) the price remains same as base price.
Yeah your probably right. I’m trying to go too simple when there isn’t a simple solution. Even if I get my current solution to work it’s going to break when half toppings are used. Here is how I implemented them, thanks to @Jesse.
@RyanW Issue explained to you with a different perspective but I think the real reason of the issue is Cheese Only Pizza does not have pepperoni by default so enabling “no pepperoni” tag unnecessarily decreases pizza price. I think this is not desired even you replace it with another topping.
As you’ve thought at first place the simplest solution will be preparing two set of order tag groups. One of them will contain pepperoni related tags and you’ll map the one that does not contain pepperoni selection to cheese only pizza. As two groups won’t appear together that won’t confuse wait staff.
@emre I thought about using two order tag groups for a while but never liked it for one reason or another, mostly personal preference I believe. The current solution I have deployed is not perfect but I like in many ways. I created one action called “Add No Pepperoni” as I decided to keep my No Pepperoni tag in order to cancel out any substituted for pepperoni toppings.
I have this action called any time the tag “Cheese Only” is added.
I would have liked to only make one rule but was unable to parse out the prefix from the Cheese Only tag in order to apply it to the No Pepperoni tag. Otherwise I am very happy with this implementation. Obviously the wait staff can apply the Cheese Only tag then apply some other tags thus screwing up the price, but I believe no matter what implementation I went with there would need to be some amount of pizza topping specific training for the users.
The only thing I have to decide now is if I will implement some sort of filter in the receipt print template as JTRTech has suggested so as to filter out the double tagging for a cheese only pizza. I suppose another way to do it would be to consolidate the tag prices to one line so that their total would be the proper price.
Probably. I think my setup is rather unique in the way I put it together, because everything is custom made to order, and Recipes are based on bread-type.
It is difficult sometimes to keep it simple when there are so many choices, and then there are issues with max items, whether an ingredient is included, whether or not it is an upcharge depending on base-product, etc.
We could definitely use some type of filter based on Product selection so we don’t need to have multiple “duplicate” Order Tag Groups for Product mappings.
That’s one venue. My other venue does sell pizza that is very, very popular here, and we do half-half, etc. But it is simple in that we only have a single size, and they are set up as 3 products at different price points:
Cheese only
1-3 toppings
4+ toppings
Each has a whole and half portion. We make the quick decision on which to pick when they want half-half between 1-3 and 4+.
The only problem that exists in that setup really, is the 1-3 topping product… there is nothing stopping the server from selecting more than 3 toppings, so it is a training exercise where we listen to the customer rattle off toppings, then quickly decide if we need to go with the 4+ instead.
Taking an order at a table is easy, but most order over the counter, and some call in to place their order.