Terminals and Departments question

Dear Guys… after talking a little bit with @JohnS, I realized that I may have missunderstood the terminal concept. Or at least understood half way…

I have two computers running sambapos, a server and a terminal, I defined everything to run both simultaneously… I have all print jobs, menus, an so forth.

Now @JohnS made me realize that there is a terminal setting, that I did overcome in the first place.

I only have one terminal, the original one, SERVER… mapping the correct printer.

What happens if I dont enter any more terminals, what happens if I enter one more terminal mapping a printer??

Now, paying a little bit more attention… I also realized that I am using sambapos in both computers as a SERVER… so far all was working (in testing fase) good.

Adding a terminal here, and defining the terminal name in the terminal computer does not seem to affect behaviour…

Dear @JohnS and @emre, I know that this settings are for some good reason there, but seems that, one more time, I cant see why. Could you be so kind and throw a littel bit of light here for me?

THANKS, one more time, THANKS!!!


Terminal configuration is useful to map rules to physical machines. For example if you map a rule to a department rule works or not as you switch departments. If you map a rule to a terminal it always works on this physical terminal regardless active department, ticket type or user role.

You’ll assign terminals from local settings. For example if you have terminal1 and terminal2 definitions you need to assign terminals from that PC’s local settings.

you need to assign terminals from that PC’s local settings

How do you do that? Does this happen automatically?
If I have the terminal name under “Local Settings” set as Server on computer 1, and I log in on computer 2 and change the terminal to Terminal2 and save, will it still be Server when I login again on computer 1?
Or should I somehow use the “Set Current Terminal” action for that?

If you assigned computer 1 to server while you were on computer 1 it will stay as server unless you go back to computer 1 and change it again. If you add a terminal 2 while you are logged into computer 1 it will not actually change terminal 2 to terminal 2 it just tells computer 1 that there is another terminal named terminal 2… you still have to log into terminal 2 and set it as terminal 2.

Also recommend activating the messaging server for anyone that uses multiple terminals and plans to use a kitchen screen and other functionality that requires actual communication to the terminals not just shared database info.

With messaging server on and correct terminal defined on each terminal … they can communicate and any stuff like kitchen screens etc will communicate correctly as well as other stuff like terminal specific mapping for rules etc.

Good example would be:

Terminals 1 and 2 and a server. You want only kitchen screen to show on terminal 1… but you want all of the screens to show on server and terminal 2. You can map the specific entity screens to the specific terminals and it will work as long as you have physically assigned the terminal names to each computer… IE: Sat down at each computer and assigned its specific terminal name. Under terminals when you add them via the server it will auto-populate on the actual terminals you just need to assign each one its name so it knows how to communicate to them.

Another good example would be:
I have a rule that loads invisible batch files depending on who is logging in that triggers a timeclock program that gets input from a clock in and clock out command button from a timeclock entity screen. I only want one of my terminals to allow clock ins. So i make a rule and map it to only the terminal I want them to clock in from. That way the other terminals do not try to load batch files that are actually not there.

The reason the behavior seemed to not change is because you have them linked to the same database. So it will behave the same because it is drawing its data from the same source. But its not really communicating to each other.

A way to look at it is its using the database as a go between for communication but if you activate the terminals and name them appropriately then when it pulls data from the database that says its only for specific terminal name that’s the only terminal that can access the rule.

It uses messaging server to communicate to each other outside the database… example would be a kitchen screen.