Rostoli is a C# Rostering Solution using a "black box" style input/output system. Big caveat, it's been made in an hour. It takes in a staff_data.json file, builds the roster and then exports it to the rosters export folder. The data for this application can be found at the project root in the Examples folder. Underneath that there are two folders one called config and one called exports. You'll find an example config file that can be used. You can modify the paths within the program should you wish to use different input files.
The config folder contains staff_data.json. Within this file you can set out the shift days, patterns, workers and the days they're unable to work. When the program is run the software will interpret the data and generate the .xlxs file containing the roster information.
-
config:
object- days:
array<string>
List of days in the week (e.g.,"Monday","Tuesday", etc.) - times:
array<string>
List of shift times (e.g.,"Morning","Midday", etc.) - minStaffPerShift:
integer
Minimum number of staff required per shift
- days:
-
staff:
array<object>
List of staff members- Each staff member:
-
name:
string
Unique name or ID of the staff member (e.g.,"Staff01") -
unavailableShifts:
array<object>
List of shifts the staff member is unavailable for (can be empty)- Each unavailable shift:
- day:
string
Day of the week (must match one of theconfig.days) - time:
string
Time of day (must match one of theconfig.times)
- day:
- Each unavailable shift:
-
- Each staff member:
The exports folder simply contains the exported documents for the week commencing when the program was ran. So if it was ran on a Sunday (09/03/25) the file will be named commencing from the first Monday found, IE: 10/03/25.