Apply time constraints to jobs


When you first create a job in the Skedulo web app, you can apply time constraints that are tied to that job. They indicate to the scheduler that the job must (or should if possible) be scheduled within the dates and times set.

Definitions of time constraints

Time constraint

In its rawest form, a time constraint is just metadata in a record, connected to a job that specifies either a single time, or multiple times in which a job can, and should be (preferably) scheduled. It always contains three fields: start before, start after, and end before. You could use any, or all three fields to create a time constraint.


An SLA is different. It’s a very rigorous form of time constraint. In business terms, and from a terminology point of view, it is as the acronym suggests; a service level agreement. It usually references a starting time for the job and has a specific interval in which it must be completed, i.e., from the time you hear about the job, it needs to be scheduled within one, five, or ten hours to fulfill your contractual obligations, and meet your customers’ expectations.


A timeslot is a variation of a time constraint. It has nothing to do with an SLA, or your ability to respond to a customer. It is more about constraining the time in which an appointment can be scheduled based on a booking window or time slot, e.g., a booking grid with several windows of time, showing you can book an appointment many times over within aspecific window. Unlike an SLA, it has a certain elasticity to it, i.e., a one-hour assignment can be completed at any point within any four-hour block of time, it doesn’t have to be completed at a specified time.

Types of time constraint

In Skedulo, there are two types of job time constraints:

  • SLA. This is a hard constraint, i.e., it must be done on this date/time. It is detailed and not flexible. The “Vehicle Route Planning (VRP)” and “Suggest” features must meet these criteria.
  • Timeslot. This is a soft constraint, i.e., it would be nice to meet these criteria. It has some flexibility; a time window of sorts.

Optimize using time constraints

When a time constraint (SLA) is configured, the intelligent scheduling engine will respect both the dates and times that are set. For example:

  • If the time constraint starts after Feb 1st at 9:00 am and ends on Feb 1st at 5:00 pm, job allocations can be suggested any time between 9:00 a.m. and 5:00 p.m. on that day.
  • If the time constraint starts after Feb 1st at 9:00 a.m. and ends four days later on Feb 5th at 5:00 p.m., job allocations can be suggested any time between within this five-day period.

Configuring time constraints

Time constraints in the create job page

During the process of creating a job (via the Create Job page), there is an option that can be used to apply a time constraint. When this option is selected, the following fields are exposed:

  • The job:
    • Must
    • Should
  • Start:
    • By, After, or Between
      • Date
      • Time
    • Anytime
  • And end:
    • Anytime.
    • By.
      • Date.
      • Time.

Once the fields have been completed, the configuration must be saved.

The time constraint fields in from the create job page.

The time constraint fields in from the create job page.

Time constraints in the job details view

Once time constraints have been specified and saved, they can be viewed under the time constraints tab in the job’s details. If required, they can be changed or deleted here as well.

In the swimlane view, the time constraint is represented in the following way:

  • Diagonal hashed lines represent blocks of resource availability that should not be used to schedule the constrained job.
  • Start after time is a single thin black vertical line.
  • Start before is a single thin black line with arrows indicating the job should start before the line. Note: When a start time conflicts with a constraint, this line will turn red.
  • End before time is a single black vertical line.

Once the job has been placed in the swimlane it can be manipulated by the scheduler.

Time constraints in the Scheduling console

To identify whether a job has a time constraint applied, in the scheduling console, look at the job cards in the work list. If a job card has underlined times, move the cursor over them to display a tooltip with the SLA details (this tooltip appears once the job is scheduled with a start time and date).