I dont want to go over the limit because one user mistakenly clicked on a program for a half second.
A checkout-only workflow may provide what you seek. Alternatively, a dedicated machine approach is also effective.