Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
olmari opened this issue Oct 3, 2022 · 1 comment
Open
Labels
enhancement New feature or request

Comments

@olmari
Copy link
Collaborator

olmari commented Oct 3, 2022

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: #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:

  • After active days ends, change status to overdue, keep allowing door access
    • Time perioid configurable
  • After overdue days ends, change status to deactivated, deny door access, user can still catch up with payments without administrative intervention
    • Time perioid configurable
  • After deactivated days overdue, change status to suspended, needs administrative intervention to remediate.
  • Send remainders when states change (also keep the current pre-warning on active as is)

Technical workflow:

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

  • Current "overdue" could be literally renamed as "deactivated" and test working (as current overdue function is actually deactivation by nature)
  • Introduce new overdue which functions mostly the same as current overdue, exept allow door to open still
  • Overdue time field in Member service settings needs rewording: "How many days service can be in overdue until it is moved to deactivated state"
  • Needs new field inside Member service settings, "How many days service can be in deactivated state until it is moved to suspended state"
  • Both overdue and deactivation time fields could be set to null/blank (not set) or 0, effectively skipping that status entirely, not everything is applicable to every hacklab and every service hacklab might offer.
  • Make sure sure logic flow uses correct settings, so flow actually is correctly from active -> overdue -> deactivated -> suspended
@olmari olmari added the enhancement New feature or request label Oct 3, 2022
@vranki
Copy link
Member

vranki commented Oct 4, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants