Timed products Not calculating in receipt

`Hi,

I have a pool tabel as a timed product. it cost € 8,00per hour.
In the ticket screen it works. But when I am printing, itgives after 3 hours still €8,00 on the receipt.

The template I am using is:`
27,112,0,25,250
[LAYOUT]
– General layout

32,32


_




Datum:{TICKET DATE}|Tijd:{TIME}

{ENTITIES}

-
{ORDERS}
=

[Sub-Total:|€ {PLAIN TOTAL}]
{DISCOUNTS}
{TAXES}

Total:|€ {TICKET TOTAL}

=


CONTANT


=

BEDANKT VOOR UW BEZOEK!

BEZOEK ONS OOK OP INTERNET:

FACEBOOK.com/PoolEnDartCafePotters
WWW.pottershoofddorp.nl
=



[DISCOUNTS]

{CALCULATION NAME} %{CALCULATION AMOUNT}|€ {CALCULATION TOTAL}

[TAXES]
<LF>
<J00>{TAX NAME} %{TAX RATE}|€ {TAX AMOUNT}

[PAYMENTS]
<LF>
<J00>{PAYMENT NAME}|€ {PAYMENT AMOUNT}

[ORDERS]
-- Default format for orders
<J00>- {QUANTITY} x {NAME}|€ {TOTAL AMOUNT}
{ORDER TAGS}

[ORDERS:Gift]
-- Format for gifted orders
<J00>- {QUANTITY} {NAME}|Promo
{ORDER TAGS}

[ORDERS:Void]
-- Nothing will print for void lines

[ORDER TAGS]
-- Format for order tags
<J00> * {ORDER TAG NAME} | {ORDER TAG PRICE}

[ENTITIES:Table]
-- Table entity format
<J00>{ENTITY NAME}

[ENTITIES:Customer]
-- Customer entity format
<J00>Customer: {ENTITY NAME} | {ENTITY DATA:Telefoon}

For some reason it is not correctly handled in the template.

Can you have a quick look @it?

I cant see anywhere in your template where there is a calculation that multiplies the order price by the number of hours the ticket has been open for

It looks like its just charging 8 becasue youve only added the order to the ticket once so the ticket is working correctly you just havent set it up to do what you want it to do

How do I add this, and where in the ticket without messing the existing code?

I cant figure it out in this post:

https://forum.sambapos.com/t/is-there-a-printer-tag-for-product-timers/8237

Ive never had to use times or anything so someone may be able to give you a better solution but the first thing i can think of is to:

  1. Tag every ticket with the time it is opened
  2. Have a button to add the closing time as a tag
  3. A rule that when the closing time button is pressed a calculation is made to work out the number of hours, the result of which is used in an update order action to change the quantity of your “pool table” order on the ticket

So for example:
Pool table added to ticket for €8 and openeing time added as a ticket tag of 10am

Whe play is complete you press the closing time button which adds the end time as a ticket tag, 12 midday

Calculation works out time played is 2hrs and updates your “pool table” order quantity to 2 with a ticket total of €16

Customer then pays

The problem with just doing this in the ticket template is that your actual ticket wont change price so it will still say €8 but your ticket printout will say €16 so when taking payment it will look like you have an €8 overage or have change to give.

You need to update the order on the ticket (as i suggested above) and then take payment to generate an accurate receipt

Like i say theres probably other ways to do this, ive never had to do it so there could be a better way and this was just off the top of my head

On the screen it works, it calculate the right amount. It just printing the 1 hour price when they played only 30 minutes or 1,5 hour… So the ticket is correct.

Ah right ok, so can you show a screenshot where the correct price is shown on screen

And also just the bit of your template where you think thats the bit that should print the correct amount

And how do you work it out on the pos screen, what is your flow that calculates the correct price?

I made a product pool, and set it to € 8,00

Set Timed product to Hour, and Price duration to 1.

And here is the printer template:

Bon Template.zip (756 Bytes)

The flow is that you add a pooltable to the ticket, and when they return the balls, you press the stop pool button. This stops the timer.

@JTRTech have you got any ideas? ive not worked with product timers before, do you know why his ticket template doesnt produce the correct price per time for the pool table orderline? is there a specific printer tag he should be using to show the correct price thats related to the product time?

try changing {TOTAL AMOUNT} to {TOTAL PRICE} see what effect that has

or this {PRODUCT TIMER VALUE}

These are other product timer printer tags that may be useful for you
{PRODUCT TIMER START TIME}
{PRODUCT TIMER END TIME}
{PRODUCT TIMER PRICE}
{PRODUCT TIMER VALUE}
{PRODUCT TIMER NAME}
{PRODUCT TIMER DURATION}

2 Likes

No, this isn’t working. I noticed when you open the Ticket overview and lookup the ticket, the amount is also wrong. For some reason it is not storing the right amount in the database when stopping timer.

maybe @emre needs to have a look to see if its calculating properly?

1 Like

Well OK. That is another ticket line merge issue. While merging lines for printing it loses value and I fixed it. I’ll release an update soon but if it is so urgent you can disable line merging from printer template. While fixing that I also fixed timer line color to make it more readable. Thank you very much for reporting.

3 Likes

Tnx for your quick reply. I’ll just wait for the next update, and I can calculate and change the price manualy after I stopped the timer. That works for me now.