I am looking for scheduling software that allows names (can be called ï¿½employees' but are really only a names) to be slotted into 5 minute time periods (they can be called ï¿½shifts' but really are only an allocation to a particular 5 minute period) on a rotating basis automatically. The names are located in groups (could be called ï¿½departments') e.g. the Smith department contains only the names Smith 1, Smith 2, Smith 3 etc up to Smith 30 and the Brown Department only has Brown 1, Brown 2 etc up to 30. There needs to be the facility to be able to add any number of names up to 30 in each department without needing to fill the whole 30 places (e.g. the Jones department might only have ï¿½Jones 1' in it but could have Jones 2 and Jones 3 added later).
I need to be able to create up to 100 departments (could be 60 but would prefer ability to create up to 100).
I need to be able to allocate one name from each department into a shift during each 24 hour day period on a rotating basis. More often than not, only one of the names from each department will be scheduled each day (e.g. Smith 1 today, Smith 2 tomorrow, Smith 3 the next day etc) but we need the facility to schedule any number of names from a department into each day. The same name (e.g Smith 1 cannot appear twice on any one day unless there are less than one name in a department and that department requires more than one shift per day. But where more than one name from a particular department is to be scheduled they must be spread through the day and the numbers can follow one another (e.g. Smith 1 might go in at [url removed, login to view], Smith 2 at 1.15 pm and Smith 3 at 5.20pm.
The shifts are in 5 minute periods over the 24 hours of each day and the names need to be randomly spread throughout each day so that it is unlikely that the same pattern is repeated the next day. This means that, for example, if we only allocate one Smith, one Jones, one Brown and two O'Connors to each day there will be many shifts (5 minute periods) that will be vacant. It is necessary to make sure that the allocations are spread fairly evenly over the day leaving fairly even vacant times as well.
We need to be able to allocate a particular time period (e.g. from [url removed, login to view] to [url removed, login to view] in which the names will be allocated. This will be kept the same for each day until it is decided to change the period to, say, [url removed, login to view] to midnight and so on. The maximum allocation time in any day is obviously 24 hours.
The allocation is done on a monthly basis in advance with amendments being made each week. Once the names are allocated for the month (see below) a printout is required for each day. The number of shifts rostered for a particular department will remain the same each day but no name is to be allocated more than once on any day. In other words if it is decided to allocate three Smiths on each day of the month then it should be Smith 1 then Smith 2, then Smith 3 on the first day. The next day would start with Smith 4, then Smith 5 and Smith 6 etc and on the third day Smith 7 etc until all of the Smiths were used up whereupon they start over at no 1. So if there are 15 Smiths then Smith 1 would re-appear on day 1 and day 6 in that month. The number of shifts for each department is the same each day for a particular department or group (e.g. if the Smith department want 8 of its names allocated each day - which would use up Smith 1 to Smith 8 on that day - then Smith 9 to Smith 16 would go in on the next day etc while the Jones department might only want 3 of its names allocated (Jones 1 to 3 followed by Jones 4 to 7 the next day) and so on.
Generally speaking each 5 minute period would only contain one name but there needs to be a manual override to make adjustments like changing a name in any shift or adding an extra name to a shift by simply typing it in. The manually adjusted name does not have to be in the database of names because it may be a ring in. Therefore it needs to be typed in manually.
The key requirement is that the names are automatically filled in after someone populates an instruction page.
In summary the way I would like it to work is something like this:-
Set the hours of the day during which we require allocations of names to be made to shifts in the next month. This might be the full 24 hours or it might be from [url removed, login to view] to [url removed, login to view] for the whole month.
Populate a database with:-
The group (or department) names e.g. Smith, Jones, Brown etc (we must be able to set these departments (groups) up and change or add to them from time to time.
The names in the departments e.g. the Smith department would have Smith 1, Smith 2, Smith 3, Smith 4 etc. We need to allocate any number of names up to 30 in each department. Likewise for the Brown department, Brown 1, Brown 2 etc. (Again we need to be able to change these names if required. But I suppose if we can create them in the first place we can change or delete them).
For each Department:-
We need to be able to tell the program how many times per day a name from each department is to be allocated to a 5 minute spot (shift).
We then need to be able to enter the actual days of the month on which the allocations are to be made for that department. In most cases this is will be every day of the month but I need the ability to exclude some days (or, alternatively, state which days are to be used).
Click on ï¿½Scheduleï¿½ and have the program automatically allocate names to shifts as evenly as possible throughout each day of the month (except any that have been excluded). This means that the names from each department are to be spread as evenly as possible throughout the day. This does not have to be accurate but it is important that names from any one department are spread throughout the day and not close to each other. The program should allocate the names in numerical order e.g. Smith 1, Smith 2, Smith 3 etc until they are all used up and then start again. There will never be more names than shifts in any one month so the names will start over at some point in each month. If a department only has one name e.g. Jones 1, then that name gets allocated every time.
There must be the facility to manually alter any name allocated, or delete that allocation or type in a completely new name that is not in the database or add up to two additional names to a particular shift (again not necessarily from the database).
After the names have been allocated, we need to print out a daily schedule on A4 paper showing the following columns from the left:
The beginning time of each time slot/shift. E.g. 9.00, 9.05, 9.10. 9.15 etc.
The name that has been allocated to each time slot (including additional names if an extra one is added manually)
Three blank columns for manual use (handwriting).
The printout should contain the date (e.g Wednesday 3 January 2007) at the top for each day's printout and gridlines and column headings that can be edited by the user. A user input header and footer should also be provided so that we can title the pages in a setup section of the program so that each page comes out with that header and footer on it. The details for the header and footer can be located on a separate data or word file, it doesn't matter which.