By Cath Kirkland and Craig Saunders, 22 January 2019
Scheduling is one of those perennial problems that businesses face when allocating jobs and resources. It’s deceptively simple to do on paper or a whiteboard when you have just a few people or resources to organise…
But ramp that up to say 40 technicians across multiple locations and two countries, and you have a much trickier challenge. Handling jobs and resources is the sort of thing that's ideal for FileMaker, but it needs a calendar-style interface. A calendar is a great way to visualise what’s going on and makes interaction easy because you can drag jobs to allocate them.
You can’t do that sort of complex dynamic user interface with FileMaker alone so implementing a calendar as an add-on is the only way to do it. While we have a great resource calendar with our Reactor plugin, we decided to use the DayBack calendar from Seedcode for this project because it has a few key features that fit this project better.
Like our calendar, DayBack is essentially a web page, embedded into the FileMaker layout within a web viewer. In saying that, the web page doesn’t come from a remote web server, but is generated directly within FileMaker on the user’s machine.
Integrating such complex controls with FileMaker via the web viewer is a powerful and very smooth way of bringing in extra functionality and it feels like it’s just a normal part of the screen — below you can see the calendar and native FileMaker fields together on the one screen:
We needed to be able to schedule technicians to jobs in various locations, and convey that information to them individually, while maintaining a single centralised overview in the job database app.
To do that the scheduling screen allows administrators and managers to tailor the view to groups of technicians, jobs, and days. You can choose which techs to show and which days you need to see, and if you choose to view more than fits on screen you can page through the technicians with forward and back arrows. This means each branch can focus on their own techs or subgroups of techs as need be.
On the calendar there’s a special column labelled “none”, where jobs sit until they are allocated: simply drag a job from the “none” column onto a technician to assign the work.
Technicians have differing background colours indicating the type of equipment they have, which affects the type of jobs they can be assigned — that feedback guides the user and avoids frustration… and having the overview of a group of techs at once means you can see at a glance what you’ve got to work with and who’s available.
Speaking of availability, the scheduler also shows when people are unavailable because of leave or travel periods. Another nice feature is that some jobs require overnight stays, so the calendar is also used as a way to record that information which means that each technican can easily find their accommdation details when needed.
Behind the scenes the scheduling calendar is integrated with the Google Calendar API so that each technician can have their own personal Google Calendar where their appointments are shown, including job notes and accommodation details for those overnight stays. This also means they can tailor the calendar behaviour such as colours, views and notifications to suit how they work.