I am trying to find a solution to an automation problem. I'm trying to make their life easier, to make sure they do not need to keep track of many things,
But since there is not very much code involved in my actual question, it is mostly process based, I am not sure if I can post it on Stack Overflow.
I read the SO help page where they tell you when a question is good and when it's bad, but I'm still not sure. Mostly since I have a specific problem, and need a specific solution, and because it is a solution I need to implement in my software.
In general, it could be seen as not a question about software. So I could ask the question not even mentioning software/code and probably still get a solution. Though if I would ask the question, I'd probably make sure people understand it's meant as a solution for software.
So my question here is: where can I ask such a question?
Is it okay if I post it on SO or a SE?, or should I try it and remove it when it gets downvoted? (I am hoping to not get question banned.)
Here is a draft of the question I want to post.
Title: How to automatically calculate the norm for users
Body: I'm creating a time registration application for employees where they can register their hours.
I want to show the users their "norm" (not sure if this is an actual word or just made up by my company). The norm is basically the amount of hours someone has to work in a week.
For each week in a year I have to show this "norm".
When someone has a 38 hour contract their norm for a normal week would be 38. Someone with 32 hours has a norm of 32. etc. etc.
Administrators can register "closed days", this means the company is closed for a specific day (national day off or whatever). This closed day counts for all users. As an example, let’s say this closed day is at week 30 on a Monday and the user has a 38 hour contract.
The norm in week 30 should be 30.4 for this user. Since the user works 5 days in a week, 38 / 5 = 7.6 and 38 - 7.6 = 30.4.
In reality the user works 8 hours a day instead of 7.6, meaning that they bill +2 hours a week as extra hours, in case they need a day off without using it’s holiday hours (regardless of whether that is a good practice or not). This means the user would work 32 hours this week (+1.6). This is good.
If employees (users) always work 5 days a week, no matter how many contract hours, calculating the norm would be easy. Just do the contract hours / 5 and subtract that from the contract hours, like I did above, and your done.
But here comes the problem.
Let’s say an employee has a 32 hour contract and is always free on Wednesday, working 4 days. What will now be the norm if on Monday the business is closed?
Now I know the answer is 24, but how does my system know this? Because what happens if the closed day is on Wednesday? Then the hours should be 32. For the system to know this he needs to know on which day people are free and how many hours they work each day. But this data will vary often and therefore makes maintaining it a lot of work.
Currently I just made the system always write the norm the same as the contract hours and added that administrators are able to change the norm for each week. Currently we have around 40 employee's using the time registration and about 6 closed days each year. Which means that each year we have to change the norm for 40 people 6 times. This takes less time than the above solution, but it still is time-consuming which I would like to automate.
Is there a way to do this automatically or make it less time-consuming?
Extra example, what if a user works like this:
Contract hours: 16
- Mon: 4 hours | Normally 4, but today is free since it’s a closed day.
- Tue: 4 hours
- Wed: free
- Thu: 6 hours
- Fri: 2 hours
It’s really hard to tell what the norm should be now. I know it’s 12, but how does the system know, without doing a lot of handwork for each employee?
I want it to be as automated as possible, but I'm not sure if this is actually possible.
My idea of a solution is that it has something to do with different calculations. Right now to calculate we manually do: (contract hours - days you work a week = A, contract hours - A = norm), maybe there could be an entire different calculation that does not depend on a variable thing like work days. Something more static.
It kind of became the whole question, instead of a draft, but I have to say that I'm a little bad in explaining things in a simple and clear way without making it too big.