TampereHacklab / mulysa

Mulysa member management for Hacklabs
GNU General Public License v3.0
6 stars 11 forks source link

Refine "overdue" and introduce new "deactivated" subscription state #392

Open olmari opened 2 years ago

olmari commented 2 years ago

Overview:

Overdue state needs to allow door access, and after that there could be new "deactivated" status before suspended. Bigger enhancement instead of just fixing overdue behaviour in: https://github.com/TampereHacklab/mulysa/issues/386, allowing more control over individual hacklab needs.

Reasoning:

Humans are humans and sometimes forget things, there needs to exist some leeway between payment overdue and door access not working. Also mispayments can happen and sometimes clerical error from hacklab side. Also money still can take 2 banking days to arrive, and banking data is currently not anywhere near to real time either.

Logic-flow:

Technical workflow:

One way: Logic in overdue and deactivated works pretty similarly, overdue allows door acess, deactivated doesn't, comes one after another.

vranki commented 2 years ago

Just a comment to "Overdue state needs to allow door access". This is incorrect, overdue state means the payments are overdue and door must not open until new payment is detected. This works as expected with current state definitions. The idea is to have buffer for import delays and warn user before entering overdue state. But feel free to re-define the states if needed. Just test really well as state machine can be error-prone.