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.
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
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
@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?
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
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?
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
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.
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.