# Price Definition on Ticket Template

Do you have an eta for next update release?

@emre think I need to approach this a different direction.
The {PLAIN TOTAL: } would solve visual printing side for customer however the plan with the loyalty discount is to do price list based for drinks (wet) but a higher % on food (dry).
Although customer displaying savings or potential savings will work fine as a total value however for creating/updating the calculations (as plan to move from just updating prices to a ticket level discount as this will allow coding to a specific category/account on PMS intergration)

In short I need to be able to calculate the different between normal price and REG price on selected/wet orders onlyā¦
This would be aproached using a report order total expression however I dont think this would have the ability to do so using price lists?
Is there anyway to incorperate a similar method of specify price list definition (including normal) as part of a report order total report expression?

Anyone have any thoughts on this?

I need to report order total given price list using a product tag/order state as an expression.
Progucts are generally grouped using `NewBook GLA` product tag either 2101 and 3101 (wet and dry split when posting to hotel PMS).
These are available as product tag and also as order state via an order added rule where they are applied as a state.

I need to do this in order to calculate a discount using second price list as for drinks we want to set the members price individually rather than as a % which will be the case on food. Also staff drinks and food will be % which is easier but the main thing is the loyalty drinks discount calculation as said we want granular discount amount using price list.

Need an expression something like;
`[=TN('{TICKET ORDER TOTAL EXP:(OS.NewBook GLA=2101)::Normal}')-TN('{TICKET ORDER TOTAL EXP:(OS.NewBook GLA=2101)::REG})]`
Where first one is total for 2101 GLA (wet) products with normal price list and second is same but for REG price list.
This would need to go in a ticket total changed action given constraints of loyalty customer entity selected to update the calculation as orders are added.

Last resort I could maybe use more states like PriceTagNormal=NormalPrice=xxx and PriceTagREG=RegPrice=xxx where that is State=StateName=StateValue and use {TICKET ORDER STATE VALUE TOTAL EXP: but not sure how this could be used to get the totals of specific state values given condition of another state being setā¦

So some tinkering and worked out how to use `{TICKET ORDER STATE VALUE TOTAL EXP:}`.
For refernce you just put the state name as the expression;
In this case
`{TICKET ORDER STATE VALUE TOTAL EXP:NormalPriceList}`
However cant work out how to specify included ordersā¦
Have tried;
`{TICKET ORDER STATE VALUE TOTAL EXP:NormalPriceList && (OS.NewBook GLA=2101)}`
`{TICKET ORDER STATE VALUE TOTAL EXP:NormalPriceList:(OS.NewBook GLA=2101)}`

Cant find any real life mention of this expression outside of emres posts when addedā¦

Anyone used or have any ideas?

I guess the solution will have to be specific states maybe using the price definition as state type, GLA account code as the state name and price as value which would allow the desired resultā¦ Will try tomorrow.

@emre think I have found my best solution but still an issue.
Were you expecting {PLAIN TOTAL:x} to return the normal price on orders where there was no price defined for x price list?
I think I am not suddenly getting close to a solution ā¦if I remove the prefered restrictions of specifying a product tag or state when calculating the discount (ie if a price in price list for loyalty drinks was put for a food item causing double calculation as wanted to restrict the calculation to wet item tag orders)ā¦
By more simple calculating the difference using PLAIN TOTAL and PLAIN TOTAL:REG and discounting the difference.
The issue comes with that then is that {PLAIN TOTAL:REG} returns 0 for products without a price defined for that price list.
I was expecting and hoping that similarly to how it does on change price list and update price tag that if no price is set it returns the āNormalā price.
I can combat this by setting the same price in normal for all the non discounted items however this is less than desiable as 90% more prices to manage.
I can settle for this obviously if need to but personally would expect it to resort to normal price is no price in the defined price list as this is the behavior everywhere else when dealing with price lists.

Ideally what I need is a {TICKET ORDER DETAILS:x} report expression with ability to return order price from a price list in order to prevent orders being included in multiple offers/discount calculations.

Something like;

`{TICKET ORDER DETAILS:O.TotalPrice.PriceList:(OS.NewBook GLA=2101) && (OS.Offer=Loyalty)}`

This specifies GLA to āwetā as discounts will be coded to PMS in wet/dry split, OS.Offer to prevent inclusion in multiple offers/discounts.