Pricing of Pizza Half and Half

Hi all,

I’m setting up SambaPOS for a pizza restaurant. I’ve setup the HALF sizes options as per this link Pizza Place Half and Half.

My only issue with this method is that the pricing of the pizza defaults to which ever “half” was selected first. That means that if someone orders a half garlic (really cheap) / half hawaiian (expensive) using this system and selects garlic first, then the customer will be charged for the cheaper of the two, when I want them to be charged for the more expensive of the two.

Is there a way to setup an action/script/etc which will get the price of the product (all of the tags and product names are the same) that matches the 1/2 pizza tag selected and checks if it is more expensive than the current price of that item, then updates it if required.

The most manual way of doing it is to tell our staff to always enter the more expensive option first, but this is obviously easy to make an error and undercharge, so would prefer if the system handle this programmatically.

Please let me know if I’m not clear in what i’m asking.

Really appreciate any help you can provide.

1 Like

Sorry for the delayed response. I do it manually, that means that I know wich one is the most expensive and I choose that one first…



1 Like

yeah that was my thought as well… wanted to know if there was a way of taking the user error out of it.

Thanks very much for the reply!

1 Like

You can create a new Product, call it Whatever you wish (Example 50/50 Pizza), don’t set a price tag on it,

Create a new Order tag Under 'Tickets"menu, and in order tag list, add (Example) Half Hawaiian, and whatever other halves you want to put, (you can set a maximum of 2 order tags in that group that can be chosen) and that should update the price of your 50/50 Pizza accordingly. You can even set it to match the price you want to charge for 50/50 pizzas.

This would be one way I would do it.
If this is something you’re wanting to try to do to see if it works for you, Then I can help put something together to help :slight_smile:


yeah that would work well… however, how would i determine the price…

Our rule for a 50/50 is that it is charged at the highest cost of the two halfs
i.e if it is half hawaiian $10, half american $12
it would be charged at $12.

Is there a way of getting samba to select the most expensive of the two tags ?

In the example I provided you woudn’t need samba to automatically pick anything. You only would have to tweak your prices to match accordingly and once a user pressed two halves, if one half is more than the other, it will automatically show.

Example below(will get screenshots later)

The total cost lets say would be $12 as stated,

therefore If I pick half hawaiian, and half american, I’d price the half hawaiian as lets say $5 and the american as $7. The total would come to $12 with american costing the most.

If it hawaiian and lets say cheesy. I’d have half cheesy priced as $4 and haiwaiian as $5. So price would be $9 for the pizza, with hawaiian costing the most.

So lets say half meat lovers and half american, In my case I’d be making my meat lovers more than my american, so if american was $7 then meat lovers would be $8 making total pizza $15 with meat lover been priced higher.

I’ll put together something to give you an idea, and if it works for you then you can use it, since it’s really easy to setup and there is almost close to no manual input, as once you press both halves of the 50/50 pizza, the price would be updated accordingly and it would always show as one price been higher than the other on the receipt and the order itself.

the only thing you are doing, is tweaking the prices to match the total of a whole pizza that you want to charge.

so if a whole meat lovers (lets say) cost $16 for a family size, then half of that would be $8 in your 50/50 menu, and if you presed the meat lovers twice in the 50/50 menu, it would add up to $16. But if you choose half american, then it would make it $15 since half american is $7.
And if a whole American is $14 then half of it is $7 which then keeps your values in tact with each other. I don’t know If I’m making sense, haha, but I’ll show you once I get home.

1 Like

In the screenshot above you can see the example I was talking about.

When click the order tag you can see in the order which cost more. And it gives u the total you want to charge also.

This would also show on the customer receipt. Personally I find this a more efficient way of dealing with 50/50 pizzas as you can charge exactly what you want by setting the half pizza type to the prices that reflect how much u want to charge in total

1 Like

I’ve also set it that when choosing a 50/50 pizza, the user must select an item (this is optional) ans maximum allowed items to press is 2, this leaves less room for user error


I can’t see this working, unless I’m being a bit dim, if you have 2 American’s that would work out to $14, not 12, so wouldn’t it require many tags and operator intervention to get the correct price?

in that case id get the user to simply choose a whole American rather than 2 half American which is essentially the same thing but the price difference is there with good reason.
to be honest I wouldn’t want manual intervention, as if they want a whole pizza, and your user picks 50/50 with 2 exact halves, then the easiest way to correct this mistake is simply cancel that item and pick a whole pizza.

think of it this way, if you went to purchase a half pizza from a shop, and then purchase another same half separately, the first would be slightly more than if you were to purchase the whole type of that pizza.

this is why the example I gave you, shows a range of whole pizzas and 50/50 pizzas with order tags costing more.

because to be a bit realistic, when a person a 50/50 pizza , it takes more effort to make, thus the extra price. if they wanted both halves the same , then wouldn’t they just say I want a whole specific pizza? and if a customer decides to be a smart ads about choosing 50/50 pizza and picking 2 halves the same, then the joke is on them when price cost more.

and if they ask why the price difference, say ‘you wanted the 50/50’ so I’m giving you the price for 50/50’…'if you wanted a whole pizza of that type, might I suggest you say ''can I have a whole pizza?".


OK so if you have

Pizza1 - £10
Pizza2 - £15
Pizza3 - £20

How would you envisage setting up the pricing? As far as I know, there is no way to do it that removes operator intervention.

What are you talking about? If you select 50/50 then want the whole pizza. You just select 50/50 then click cancel and add whole pizza.

But how would the tags be priced?

A script might be a posible solution to evaluate the higest priced tag, double and update order price.
However I would only know how to achive that if the ticket had been submitted and was in the database, not sure if thats a viable option… would become quite complex.

Or perhaps, saying that a simpler solution might be to set the 50/50 tags as included in order price rather than individual and (if we have it) an order tag added/updated rule which compaires tag price and order price…

50/50 order starts at 0.
Half American tag added - rule triggered which says half american x 2 = 14, current price is 0 so update price to 14
Half meat Lovers tag added - rule triggered which says half meat lovers x 2 = 16, current price is 14 so update to 16

If this was reversed it would be 16 after meat lovers and then american would be 14, current price is 16 so dont update.

Is just a quick thought off top of my head, havent tested.

What I would do is setup half and half as a product and have toppings as order tags limit max quantity of each tag to 1 so no more the same topping in half and half.

BTW do we have limit number of order tags for a each tag group?. I don’t remember and I’m not at computer now.

Yes we have minimum and maxamum qty fields…

But I thought the point of the question was how to set it so that the total order price was the menu price of a full pizza of the more expencive of the two toppings options of the two 50/50 choices?

That is the point why would you select half and half and you want the same topping.

1 Like

@JTRTech, you are spot on.

The script you are talking about above is exactly what I need…

Any ideas on whether or not this is do-able at all ? i.e is there a practical way of implementing that will be stable ?

sukasem thanks for your input here mate, but I think you are missing the point… it is two choices but not with the same topping. If I wanted the same topping, I’d definitely be selecting a whole sized pizza and there is no problem in pricing that.

I’m pretty sure it is posible, would need to check on available rule events but should be doable.
A script would most likely need the ticket to be submitted which would make everything more complex on an ‘open’/active ticket.

Some creative constraints possibly using a script just in constraint should do the job.

My business is very different so if you could lay out a couple of examples and prices with desired flow and will try and find time to come up with some ideas.

1 Like

Thanks heaps @JTRTech!

Our scenarios are actually really simple and I think you’ve already got a good handle on it.

  • A user would order a pizza of a specific size with a maximum of two topping choices, with the pizza then priced at the cost of the most expensive one in that size.
  • We currently tell our users to simply select the more expensive one first, we then have a tag for the second half which doesn’t effect the price.
  • A better option is to have a “50/50” pizza button, which would have all the pizzas as tags and the users needing to select two options, but that would mean we would have to average out the price across the two.

So Examples:

  • Half American ($10), Half Meatlovers ($11) should be priced at $11.

To make things a little more complex, we then have order tags which add’s to the price depending on the size of the pizza… Small (50c), Medium ($1), Large ($1.5)

  • So a small half american ($10), half Meatlovers ($11) with extra cheese (50c) should be priced at $11.5
  • If the user changes the size, they currently have to reselect the order tags.

Hope that’s all you need… Thanks again for your help.

We don’t use tickets for kitchen at the moment, so that’s not a concern, it simply pricing.