Hold Ticket/Switch User with Shared Hold List

NOTE THIS TUTORIAL IS INCOMPLETE - PLAN TO MAKE A FRESH COPY ON FRESH DB TO KEEP THINGS CLEAR

Ok, still a work in progress but quite liking my new switch user setup.

So the basic principle of what I wanted to achieve way a ‘lay away’ or switch user feature which allowed a few things;

  • User to logout a new ticket to allow second user to use the till.
  • Rather than force the opting of the held ticket allow user to hold one ticket and start another for example if first customer needed to check an order with one of their party allowing you to serve a second customer in the mean time.
  • Allow all users to see held tickets to firstly cover previous setup loophole of a ticket being switched/held against a user who finished work meaning only way to recall ticket was via ticket list as had no entity yet.
  • Incorporate Holding new orders so as not to print to kitchen in event of holding ticket along with a button showing number of held tickets so all users can see if there is a hold ticket.
  • Prompt a user when logging in that they have held tickets but give option to recall or start a new ticket.

One thing I am yet to implement which I would like to is setup so that ALL users are notified in similar way to if they have held tickets but for any ticket if the ticket is left on hold for longer than say 5 minutes.

Anyway, a video of the basic flow;

ACTIONS USED WILL BE GENERIC ACTIONS WITH [:FIELDS] AND NO HARD SET ACTION FIELDS

Not all actions in the rules will be required, screen shots are from live system with other configurations so I will not be showing all parts of the setup as will cause confusion.

The main parts are;

Ticket tagged with username as part of switch user button rule and order, ticket and entity states updated

User login checks count of held tickets with logging in username

Yes on ask question shows Hold ticket list, no just stays on POS screen

Unhold ticket restores states on opening held ticket back to new

Held tickets button with held ticket count


4 Likes

Reserved for updates…

Wow looks like there is serious automation there… Liked how you benefited from custom report tags.

1 Like

Think I need to revise with fresh db setup with full hold and switch config as got tricky trying to show setup without confusing things with other actions from hotel setup.
The custom report tag solved a niggle from origional setup which used a program setting to count tickets.
It even used the tag to decrease the origional users count if second user opened but thought it was getting out of sync somewhere but one of the girls managed to work out why it sometime said ticket on hold when no tickets held for user.
It turned out to be if started ticket, but canceled all and pressed switch user rather than close/logout as it still counted the hold but ticket wasn’t put on hold as was empty.
Was suprised she paid enough attention to pick up on that LOL
Either way the count hold state and user tag undermines that with a real time count :slight_smile:

1 Like

Once you how do retrieve the ticket when going back on the till on the same user rather then going on the shared hold list

Use a report expression to count unpaid tickets linked to user, if multiple do shared list if one use similar report to get Id for the one ticket.

@JTRTech The expression doesnt seem to work in the constraint of the action to fire the ask question in the login rule. This is what you use:

[=TN('{REPORT TICKET COUNT:TS.Status=Hold) AND (TT.Hold=[:UserName])}')] > 0

However even when there is a held ticket the ask question doesnt fire. If i remove that constraint the ask questions fires and works fine, can you see what is wrong with the constraint?

EDIT: Nevermind I found it :slight_smile:

Got it working good and finally incorporated the LOG IN user action. Instead of using a switch user button i use numberpad entered rule, so staff swipe card (which is their PIN) it activates the HOLD setup, logs out current user and then logs in automatically the new user that swiped their card

1 Like

@JTRTech fyi… I added UserName parameter to Display Ticket List action… for next update.

2 Likes

Can we get that added to the ticket lister widget settings so when the user navigates to the held order entity screen we can filter the held tickets that show on the widget to just those of the current user logged in?

@emre is there something i can put in this filter box so that it only shows the tickets from the current user?

You’ll be able to write an Expression like that on next update.

LastModifiedUserName = "{:CURRENTUSER}"
3 Likes

Brill cheers emre, i tried just putting the current user tag there and it crashed samba and i had to restore a backup as everytime i entered the entity screen it crashed oops :grinning:

1 Like

Yep I saw that. It also won’t crash but display an error message instead.

1 Like

Was just going to suggest that :grinning:

1 Like

This works perfect on latest update thanks @emre

If you follow the tutorial then your good. But to answer you it is in the second screenshot of the tutorial the user login rule. It is handled with the ask question action.

1 Like

This should be the command name from the blue ‘You have open tickets’ ask question.
The ask question does the command name and the buttons are the values, so it does different flow depending on which button is pressed.

2 Likes

I have been puzzling why multiple same or similar actions are used in one rule.
Multiple Actions 1

Multiple Actions 2