If it was me, I would first figure out the policy/business case for it and get the enforcement figured out before you bother with the customization. But if you get that figured out, I would make a customization that utilizes a barcode or reader of some sort so that they user doesn’t have to type anything in. You can look at the code below for setting up a barcode listener on a screen so that it can just scan and do the work. Best case would be have 2 computers up with 2 screens so that you can have on “in” all the time facing the door as they walk in, and another facing out as they walk out. Then it’s just a barcode scan. Or make a toggle button, on for in, and one for out. I don’t think I would rely on auto toggling for in/out because if one gets messed up, they will be off until someone realizes it.
Check out the link below to look at some code that has to do with setting up a screen for listening events (like barcodes)
And the other option is a standalone program that simply uses a rest call to do the same thing. Then you don’t need an epicor license (or two) being used all the time. Both of these options would require quite a bit of coding to get working. Put as much of the logic into your UBAQ if you make the one that resides in epicor, because then if you decide to move it out to a standalone, you will have less to do.