Building hotspots, having difficulty, can usermanager solve?

I have two separate clients who we are setting up hotspot systems for. They both want to sell 1,7,30 and 365 day passes with a total transfer limit on them. The user logs in and then have their set number of days of use. If they reach the max number of days or download more than a defined amount, the code stops working and they buy another. We have disabled the ability for the user to logout so that they do not get more than their paid for time period.

We have it all working, sort of;

As long as the hotspot controller has multi year uptime this works. However if the controller goes down or we reboot it for a firmware upgrade the uptime counter resets to zero and they get all their previous time for free.

We figure this could all be solved if the controller saved their uptime to the local list at regular intervals as opposed to at logout only. But this does not seem to be an available feature.

If we used user-manager would the hotspot save the uptime on the fly as opposed to just at user logout? That way if say the UPS runs out of battery, we get a kernel panic, we install a firmware upgrade etc the uptime/transfer counters do not reset to zero.

OR how are other people making this all work?

You can use User Manager or any other RADIUS server.
That will protect you from reboot on HotSpot server, all the accounting originally is stored on RADIUS.
But you need to ensure RADIUS server with proper hardware, power supply etc.

I am just in the process of setting up User-manager for this purpose.