Switch between users

I’m wondering if there is a better way of switching between users.

On our old system, user A could be halfway through entering a ticket, user B could then login to the till and put their own ticket on, user A would then logon and resume entering their ticket.

Its a busy bar, so sometimes other staff need to jump on the till maybe whilst the other person is pouring the drinks or waiting for the pdq machine.

I’ve almost done this through on hold tags. I’ve created an automation command - “log off” which adds a ticket tag On Hold with the status On Hold and closes the current ticket. Thereby the till returns to the login screen and the next user can start working.

When the original user then logs back in, they can get to their ticket by pressing on hold on the left hand side and finding their on hold ticket.

Is there anyway to automatically resume this without having to find the onhold ticket? Can I put the username in the on hold status and automatically fetch an on hold ticket?

1 Like

Using Update Program Setting should work.
Use the Username as the variable name and Ticket Id as the value (make sure the variable is not local). When you hold a ticket, set the Ticket Id to the variable.
Then set a Rule for user login, and if the variable is not null, open the Ticket Id stored.

thanks, I’ll give it a try. Think I’ll need a few pointers for what tags to put where. I can’t see any obvious documentation for it

I’ve managed to save the ticket id as a program setting - I can see it in the db as ticket_sid - setup as ticket_{USER NAME}

that part works fine, but I don’t understand how to retrieve the value!?

First we create a new Update Program Settings Action

Then create a Display Ticket Action - if you already have this, don’t create it again.

Add Update Program Settings - Global to Ticket Payment CHeck

Create a new Rule called Hold Ticket. This will automatically save the Ticket ID for any closed tickets.

To open the held tickets per user, you will need to add a Rule for each User Name you have.
This is for the BAR user.

This is for the ADMINISTRATOR user.

perfect thanks. One thing to note for anyone else who wants to do this, I put the step to clear the value on the close ticket action as well. This way, if someone logs back in and completes the ticket against a table, it doesnt reappear everytime until it’s paid.

Thats the final part of the jigsaw in place. We’re going to train the staff next sunday night and install early the following week. Thanks for all the help in getting this fantastic product ready.

could you post a database tools file for this switch user setup?

does anyone have a working database tools for this switching user setup they could share?

Not sure if this will work the way you want, but it is simply the Automation as detailed by @JohnS through his screenshots. All Actions and Rules are prefixed by “SU_” and the Rules are tagged with “switch user”.

:exclamation: To be able to Close a Ticket, you need to assign an Entity to it (Customer, Table, Employee, or similar).

su_switchuser_automation.zip (813 Bytes)

Action: Update Program Setting
Setting Name: [:SettingName]
Setting Value: [:SettingValue]
Update Type: Update
Is Local: False

Action: Display Ticket
Ticket Id: [:TicketId]

Event: Before Ticket Closing
Constraint: Remaining Amount Equals 0
SettingName: {USER NAME}
SettingValue: ``

Event: Ticket Closing
Constraint: Remaining Amount Not Equals 0
SettingName: {USER NAME}
SettingValue: [:TicketId]

Event: User Login
TicketId: {SETTING:[:UserName]}


That might be what i did wrong and not assign an entity!! I have set up a staff entity that i use to automate staff discount with a card or barcode so when swiped or scanned the staff entity is added to the ticket and 10% discount is automatically applied so i could setup a rule to auto assign staff member to the ticket when they log in so no need to manually add the entity then

Just wondering if that will affect the log in rule of the switch user, ill have to try it and see

Thanks again!

I have a couple of issues with the switch user set up, when i first log in the main menu screen is bypassed and the POS shows which is great, however none of the menu categories show as below. I have to press the main menu button and then press the POS button for the screen to “reset” and show the menu category buttons. what do i need to do to stop this error happening?

press main menu, then POS and the correct screen shows

The second question is to do with the setup of the switch user function. For it to work you have to assign an entity which unless it is done automatically the process wouldnt really be as efficient as it needs to be to be fully effective. I have a “staff” entity set up that i use for discounts, is there a way I can link the staff pin when logging into the POS so that it automatically loads them as the staff entity on the ticket, thus making my switch user button work straight away by pressing it? (Currently i need to search for an entity to load it onto the ticket, then i can press the switch user button which works great!)

OR is there a way i can add another action to my rule so that when the switch user button is pressed it adds the current logged in user as the entity to the ticket to allow the rest of the switch user role to work?

If anyone has an idead about how i could do this thatd be great but id need a step by step guide to follow so i could replicate it

thanks again for your help :slight_smile:

This is exactly what I’ve been looking for and worked great for me.
However I not have an issue, as the setup is for a Bar and Restaurant not all tickets are settled per user service and many tickets get posted to a table entity.
Unless I missed a step (dont think I did) if the bill is then posted to a table that ticket still opens on the user login until paid/voided and closed.
Think I need to set it so that the {USERNAME} settings is of [:TicketId] is removed if a Table Entity is selected - Does that sound correct?
If that is correct I cannot work out how to do this.
Also would be preferable to remove the {Staff Name} entity (set to allow ticket closing acording to RickH’s post) when alternate entity is selected also but again cant work out how to do this.
Apologies in advace if another post explains how, I did have a look to see if I could find one.

I have this setup now so that when a user logs in they are automatically assigned as the entity to the ticket when they add the first item to the ticket. I have a staff entity that is linked to the user that logs in to do this, however since doing this we have found out that if the ticket has a ticket tag assigned it can be closed, this is how i have my bar tab setup working so I dont have to mess with my staff entity being added to the ticket, and then having to remove the staff entity to add a customer entity for a bar tab.

So what you could simply do is just add a ticket tag of the cashiers name when an order is added and this will allow the ticket to close using the switch user setup. The cuts out the messy adding and switching entites

Have already answered the removing entity part of the query,
Another post suggested to use an unused value"." in the change ticket entity action for Staff Tickets entity which seems to have sorted that bit however still stumped on how to overwrite the [TicketID] for the {USER NAME} in the settings update bit.

LOL did find a solution and was typing before I saw your reply.
Stupidly I did know a tag allows close of a ticket and cant beleive I forgot that.
The tag solution also saves the hastle of remembering to add a staff entity if new employee starts.

You dont have a solution to stopping the recalling of the last ticket is its not been sebtled or voided do you?

Hi John,
Can I ask if there is a way to remove the Program Setting TicketID?

Can the tag be automaticly set to username as with entity?
Will it work if tag is open to free text rather than adding all staf to list of tags?

Sure. Did you look at the setup that I posted above? The rule containing the Constraint for Remaining Amount = 0 is there to overcome this problem, because it blanks out the setting for the user.

John isn’t here - he has been away since June 2014 on vacation and has not returned. :stuck_out_tongue_winking_eye:

What do you mean by this? Do you mean erase it entirely from the DB? Yes you could do that. Why, I don’t understand.

Yes to both, I don’t see why not. You don’t actually need to create the Ticket Tags. You can assign them arbitrarily.

isnt the whole point that if you are quickly serving someone can close your ticket so that when you log back in the ticket does appear so you can settle it as you’re still serving the customer? switch user is setup for multiple users using the same terminal so they can all use it to serve at the same time without the orders being “lost”, simply log back in, order appears so customer can pay.

If you want to close ticket and then when you log back in it doesnt open again if you dont need to settle it straight away you can use ticket tags to setup a parked sale system or bar tab, ive just posted how i have this set up. have a look here to see if this would help you