Hello,
I’m creating a staff management system for the Agency I work for.
I am trying to implement a staff calendar that mimics the real calendar we’ve used for decades. I am getting it to work but I’m worried the way I had it set up might be too data heavy and end up causing issues as more people in my agency are using the app…So I wanted to trim the data down a bit and tried putting all 3 into one Thing allowing you to just choose one of the three data types as a “Shift Class” Let me try to explain better. Unfortunately I cannot provide screenshots at this time…
I had one iteration that worked beautifully, but it had 3 different types of schedule data…for example…
I had a thing called “Base Shifts” which was what people worked every week. I set this up to not be attached to a date, but a day.
The fields were
Day (Number)
House (attached to a specific House)
Staff (List of users)
Start Time (Time/Date)
End Time (Time/Date)
Hours(number)
Type (Type of shift --1st Shift, 2nd Shift, 3rd Shift, 1st Shift Weekends, etc)
If someone needed to have that day off they would create a “Shift Request”
This would have mostly the same information, just a field for an actual Date for the request, and a yes/no field to indicate if it’s approved or not approved. I also made it so the staff was no longer a list as only one person needs to generate the request.
Once a manager approved the Request, it would become a “Scheduled Shift”
The fields would be
Date (date of shift)
Day (number)
End Time (date/time)
Hours (number)
House (attached to House)
isOff (List of users who have had an approved time off request for that date)
isOut(List of users who called out on the shift)
ShiftNotes (List of texts)
Staff (List of Users who are assigned to the shift)
Type (Type of Shift)
Most of this data is autofilled by the corresponding Base Shift for that date and shift type. It would copy over the staff from the Base, and then in the next step of the workflow would update the Schedule Shift to move the staff who requested to be off from “Staff” to “isOff”
Again, this all worked really well but I started thinking about efficient capacity management, and thinking about 10 houses with 18 staff each, entering all this data, was going to really put a strain on our capacity and cause us to have to rethink our budget for this project, which is already slim.
So what I ended up doing was creating a new Thing called “TestShifts” cause I was testing things out to see if I can conserve data…while also realizing I could be completely off track–
So now the schedule data is
Class (either Base, Request, or Scheduled…I also added “Off” and “Out” here)
day (number)
Employee (User)
End Time
Hours (number)
House (attached to House Thing)
Modified By (User)
Pick-Up (Yes/No - to track staff who pick up shifts frequently)
Start Time
Type (Shift Type)
My thoughts were if I just have it saved like this, there will be line item for each individual staff, which actually means more data per shift (3 lines for a shift with 3 staff, vs just the one line of data for the previous style.)
My question overall is, was the original going to cause as many capacity issues as I thought? Is the new way worse? It’s certainly harder to implement, as before I was able to filter each separate schedule thing on it’s own and display it conditionally, but I’m having a hard time displaying the new way conditionally, despite my theory that it’ll save space in the long run over the life of the app.
Thoughts? Guidance? Feedback on how to ask a question better?
Thank you!