The Scheduling Assistant

  • Updated

Does your navigation menu bar look like this? 

imageNewnav.png
Read our Support article about changes we are making, New BigChange Navigation Bar – BigChange

 

If the User selects 'Save and schedule' after creating a job, the system will load the Scheduling assistant (this will also be available to any jobs that are Unscheduled):

52.png Illustration 1

A new popup window will now open:

53.png Illustration 2

The assistant will now interrogate the information input when the New job was created (Illustration 1), looking for any constraints. If any are found, then the assistant will apply them as defaults in the relevant category.

  1. Is the scheduling priority that of a resource eg a gas safe certified engineer, or a vehicle eg a fork-lift truck
  2. Which resource/vehicle group is required for the job
  3. Any specific skills that the resource needs to have
  4. When does the resource/vehicle need to be available from - date and time. If no time constraints are found, the assistant defaults to a seven day period from the time of scheduling.
  5. Is the job to be done by a specific resource
  6. What attributes are required (Vehicle)
  7. The latest date by which the job needs to be done (see (4))
  8. If no time has been specified, the assistant will default to Anytime. Morning is 00:00 - 12:00 and Afternoon is 12:00 – 24:00.
  9. The assistant will search for available job slots where the above criteria are met and will then provide a list:

54.png

When searching for available slots, the assistant considers any applicable constraints and allows for them.  For example, it will allow adequate time for a resource to travel from the previous to the next location whilst conforming with traffic regulations.  The assistant will also take into account constraints such as shift patterns and locations and add a buffer to allow for traffic where relevant.

  1. Name of the resource available
  2. When the resource can start the job
  3. The distance between their journey start and the job location. Please note, when the additional job takes place on the existing site, or on the route already planned, the total will appear as zero.
  4. The length of time it will take the resource to arrive at the job location.
  5. The cost of the job when carried out by that resource (this data is pulled through from the settings in the Administration section). It is calculated as follows: ((resource’s hourly cost x planned driving time to and from the job) + (resource’s hourly cost x  the planned time of the job) + (distance travelled to and from the job x the planned vehicle’s cost per mile)).

Please note that if you:

  • Navigate to: [Top menu] Profile (icon)Admin Settings  (Quick link) General account settings → Schedule,  

the following fields are editable:

  • Minimum free time between jobs for scheduling assistant (minutes)
  • Number of minutes late authorised
  • % extra time to add to a journey when scheduling jobs

 

Customisable Options for Schedule All

A series of checkboxes on the batch schedule popup allow you to decide which jobs should or should not be scheduled when a constraint has not been met.  If a constraint box is ticked against a specific constraint and that constraint is not met, then the job(s) it applies to will not be scheduled.  The 5 constraints are:

  • Time-based constraint (start before, after, contact access hours)
  • Vehicle constraint (specific vehicle or group)
  • Resource constraint (specific resource or group)
  • Skills and attribute constraint
  • Resource max distance

Note that all options will be ticked by default.

55.png

 

Further advantages of using the Scheduling assistant

  1. Where the cost data is available, the assistant will order the options, ranking them in ascending order from lowest cost through to the highest cost.
  2. In our Illustration 1 example, the data is ordered alphabetically but could also be ordered by start time of job, or by extra distance in miles/minutes ascending or descending.
  3. Any resource with a scheduled absence during the search period will automatically be removed from the results, removing the risk of a resource being assigned work during planned leave.
  4. When in the jobs list view. a User can apply a number of filters to find a list of jobs. Once they have their list of jobs they can hit the 'More' option at the bottom of the filters in the list view and then choose to 'Schedule all' jobs.
  5. Using the 'Schedule all' option allows up to 1000 jobs to be scheduled at one time, in the order and with the constraints that the user has set.  If a job in that list has already been scheduled, it will not be rescheduled, preventing double-booking or confusion.
  6. When allocating slots for all unscheduled jobs, the assistant will always prioritise the user's constraints.  Where all constraints cannot be met within a valid slot, the assistant will automatically schedule based on the ranked importance of the constraint.
  7. Once a user has found their preferred slot to schedule they can then click on the slot and choose to schedule, the job is then assigned to the resource/vehicle at the time specified.
  8. Use of the assistant can provide very real benefits, as seen below:

56.png

 

Scheduling Assistant - Single Job - Logic

  • The assistant checks the job for time constraints¹ and, where any are found, applies them as the default date filters for time-slots. Where a date and time are set for a job before the scheduling assistant is selected and no resource is entered, then this time slot is also added as the date time filters for the assistant. If no time constraints are found, the assistant defaults to a seven day period from the time of scheduling.
  • The assistant checks the job for resource or vehicle constraints (single or group specific constraints and also skill or attribute constraints) and these are applied as default filters for resource/vehicle, groups and skills/attributes.
  • The assistant will offer a filter choice to look for slots within a time of day – either Anytime, Morning, Afternoon or a custom time window. The default behaviour here is set to Anytime. (Morning is 00:00 - 12:00 and Afternoon is 12:00 – 24:00)
  • Following the default behaviour explained above when selecting scheduling assistant on a single job the assistant will immediately search for available job slots where the above criteria are met.
  • When searching for available slots the assistant checks the driving distance to and from the job location when added into a slot on the schedule – there needs to be enough time to drive to the job contact from previous job location or start of shift location and also enough time to return from the location to end of shift location² or to next planned job location. All driving is expected to commence and end within a resource’s daily shift times.
  • When checking for available slots certain values are also taken into account to allow extra time for unforeseen circumstances, these add what is in effect a buffer to the slots offered to take into account traffic etc – these fields are editable in the Schedule section of Account Administration and are listed below;
  • Minimum free time between jobs for scheduling assistant (minutes)
  • Number of minutes late authorised
  • % extra time to add to a journey when scheduling jobs
  1. Constraints applied either manually onto a job or applied due to default constraints set per job type or SLA.
  2. If Account Administration setting “Shifts start and end at same location ” is set to no, then no return journey is taken into account if job is planned to be last job of the day.

 

Scheduling Assistant - Single Job - Logic - Explanation of Results

  • The Schedule All feature replicates behaviour of manual use of the scheduling assistant in a batch of 100 jobs in one action.
  • Every job scheduled using this feature is scheduled in isolation and is only compared to scheduled jobs in finding slots to place it, we do not compare any common attributes or constraints of jobs which are being allocated when using the scheduling assistant.
  • The scheduling assistant will place jobs in available slots where there is currently no work being carried out, the assistant will never reschedule or move existing jobs to accommodate the scheduling of another job.
  • When using the scheduling assistant on a single job the user is offered slots to make an informed decision based on costs and timings and whether or not a slot meets requirements set by constraints. The final decision is the users’.
  • When using the schedule all functionality the system will schedule jobs based on the requirement of slots to meet all constraints set, if this is not achievable then the system will look for slots were the most important prioritised constraints are met and then the system will choose the cheapest slot of those available and schedule the job – the user does not get the final decision during this process.
  • When any jobs are scheduled to a slot whereby some constraints are not met, JobWatch will display a red warning symbol on the job with a text explanation showing why the job has been highlighted in this manner, allowing the user to clearly see the unmet constraint and reschedule if they desire.

 

Schedule All (Scheduling Assistant Automated) - Scheduling Assistant - Schedule all - Logic

  • When in the jobs list view a User can apply a number of filters to find a list of jobs, once they have their list of jobs they can hit the More option at the bottom of the filters in the list view and the choose to schedule all jobs.
  • As with the scheduling assistant we offer similar filters for target resource and vehicle constraints including individuals, groups, skills and attributes.
  • The schedule all assistant defaults to a seven day period from time off scheduling to place the jobs in the list.
  • The schedule all functionality is limited to scheduling 1000 jobs per request, this can be repeated as needed. Jobs in the list are first sorted by postcode alphabetically, if a user has a list of more than 1000 jobs, the top 1000 eligible jobs from the sorted list will will be scheduled.
  • If a job in the list is already scheduled we do not reschedule the jobs.
  • The assistant will schedule all unscheduled jobs in the list prioritising slots based on their meeting of constraints – those slots which meet all constraint requirements are always chosen as priority, following failure to find a valid slot in the time period where time slots are not found meeting ALL constraints we then schedule based on importance of constraint. Below is a list of constraint types and their priority, the lower the priority in this list the more likely the job is to be scheduled not meeting this constraint if no valid slots could be found.
    • Absences (including multiple resources)
    • Resource
    • Resource Group
    • Resource Skill
    • Max travel of Resource
    • Vehicle
    • Vehicle Group
    • Vehicle Attribute
    • Time before constraint
    • Time after constraint
    • Contact opening hours
    • Travel time
  • However, for certain jobs, it may be essential that specific constraints are matched and therefore a forced match would be unsuitable for them. There are five checkboxes on the batch schedule popup which allow you to decide which jobs should or should not be scheduled when a constraint has not been met. If a constraint box is ticked against a specific constraint and that constraint is not met, then the job(s) it applies to will not be scheduled.  The constraints covered are:
  • Time-based constraint (start before, after, contact access hours)
  • Vehicle constraint (specific vehicle or group)
  • Resource constraint (specific resource or group)
  • Skills and attribute constraint
  • Resource max distance

Note that all options will be ticked by default.  

 

Scheduling Assistant – Schedule All - Behaviour

  • The Schedule All feature replicates behaviour of manual use of the scheduling assistant in a batch of 100 jobs in one action.
  • Every job scheduled using this feature is scheduled in isolation and is only compared to scheduled jobs in finding slots to place it, we do not compare any common attributes or constraints of jobs which are being allocated when using the scheduling assistant.
  • The scheduling assistant will place jobs in available slots where there is currently no work being carried out, the assistant will never reschedule or move existing jobs to accommodate the scheduling of another job.
  • When using the scheduling assistant on a single job the user is offered slots to make an informed decision based on costs and timings and whether or not a slot meets requirements set by constraints. The final decision is the users’.
  • When using the schedule all functionality the system will schedule jobs based on the requirement of slots to meet all constraints set, if this is not achievable then the system will look for slots were the most important prioritised constraints are met and then the system will choose the cheapest slot of those available and schedule the job – the user does not get the final decision during this process.
  • When any jobs are scheduled to a slot whereby some constraints are not met, JobWatch will display a red warning symbol on the job with a text explanation showing why the job has been highlighted in this manner, allowing the user to clearly see the unmet constraint and reschedule if they desire.

      *The values used for cost calculation can be set in Administration against each Resource and Vehicle