At Bison, we run a pretty large maintenance shop and try to do most maintenance work in house. Our main vertical app for the shop is a product called Maximo, by MRO which is now owned by IBM. Honestly, its an average piece of software at best. It has a lot of limitations, including the fact that it connects to an oracle database (we are not pro Oracle here).
Anyway. One thing Maximo doesn't do at all is scheduling (unless you count the 2 fields called scheddstart and schedcomplete). So, we set out to create our own. It took a few iterations to come up with something that worked, partly because we didn't fully understand how the shop operated and partly because the shop didn't know what it wanted.
The shop schedule program, basically, present workorders in 3 different stages, and those stages really determine how the shop interacts with the work. These 3 statuses are are separated into the 3 grids making up the left side of the screen.
First we a list of unscheduled workorders. This is everything from campaigns to emergency work to deferred work to upcoming PM's. For PM type workorders, the system will use a combination of the last recorded odometer, plus the mileage since them from our TMWSuite program to build an estimated mileage. The shop planners then use those estimated odometers to know roughly when to schedule equipment for maintenance. They can then double-click a workorder to plan it.
One nice feature is that the user can now see not just that workorder, but all available work for that equipment. So the trailer might be coming in for a PM, but they can see that other repairs are needed and schedule those at the same time.
Next is the scheduled workorders. These are the workorders that have already been given a scheduled start/end time and a bay the work will likely be performed in.
And finally we have the In Progress workorders. These are the workorders that are currently currently being serviced by mechanics on the floor.
The right side of the window is dominated by a large colored grid. Each of those columns represents a bay in our shop. And each of those colored blocks is a piece of equipment being serviced.
One thing to note about our shop schedule program is that most of its functionality is just grabbing information from our maintenance and dispatch systems and presenting them to the user in a way that makes their job easier. There are very few fields on the Maximo workorder table that we need to modify, the scheduled start, the scheduled complete, the bay# the equipment is planned into and maybe a couple more to record who changed the plan and when.
Some other notable features include a view of incoming equipment, so a planner who needed to get a PM done on a trailer would see when the trailer was coming into Winnipeg and how it was going to be available and could decide if the work should be done. There is also a screen to track work at outside repair shops and integration into a custom "followup" application for keeping track of communications with drivers, dispatch and the outside repair companies.