Table of Contents

Scheduling How-to: Creating and Booking a Job

Mitchell Paul-Soumis Updated by Mitchell Paul-Soumis

Read Time: 14 mins

In the Jobs and Scheduling: Overview article, we went over the components of the Scheduling pages within Sonar, which should provide a baseline to perform simple tasks within the scheduling interface.

The Scheduling Interface in Sonar is simple to use, but pulling everything together into a cohesive whole can be challenging. Simply understanding individual portions of the Scheduling view can be insufficient when trying to maximize your value within Sonar.

In this article, you'll learn how to combine concepts that were covered in the Job Types: Best Practices article, the Setting Up Schedules General Overview article, and the Example Jobs & Templates article to be prepared to actively schedule and deploy your Field Technicians to Network Sites or Customer Premises.

Forming the Technician Requirements

Role Permissions

To schedule a technician on a job, there are a number of prerequisites, the first of which is creating a role for your field technicians, and assigning it to your users.

We cover the process of creating a new role, and even creating a new Field Technician role, in the User Role Creation & Best Practices article.

You can also grab a version of the minimum role requirements to use with our GraphiQL API in the Role Creation using GraphiQL article.

Setting the Schedules

Setting up your technician's working hours will allow you to configure which field technicians are available at specific times. Defining a balanced schedule allows you to ensure you have technicians available to handle field jobs at all business hours.

The basics of scheduling can be seen in the Setting Up Schedules General Overview article and contain information on the creation of Schedule Availabilities, which are the primary component in scheduling jobs.

Basics of an Availability
Setting up a Schedule Availability is initiated from Settings --> Scheduling --> Schedule Availabilities

Creation of a Schedule Availability requires completion of a number of fields, pictured below:

In this section, you apply the Availability to users and to specific job types, each of which can hold multiple selections.

Once the initial availability is created, you define the days of the week and the hours of the day this availability will apply, pictured below:

You can also expand the scheduling versatility by implementing Schedule Blockers, Schedule Time Off, and Schedule Addresses, which are all sections covered in the article linked above.

Configuring Inventory for Assignments

To ensure your technicians are equipped to handle the various tasks assigned to them during the completion of a job, they may require inventory items assigned to them. To facilitate inventory assignment, there are a few distinct things you'll want to complete as a prerequisite.

Configuration guides are collected in the Getting Started with Inventory article. Special mention to the Setup of Inventory: Manufacturers, Categories, and Assignees, which covers vehicles as an inventory assignee, which may prove critical to your technician's workflow.

Field Tech App

The final item on the list of technician requirements is the Sonar Field Technician app. This Android or iOS application allows your technicians mobile data-friendly or offline access to your Sonar instance, allowing them to complete their assigned jobs without needing to carry a laptop, fuss around with a lackluster mobile interface, or contact their dispatch team for clarification on tasks.

You can find out more in the Sonar Field Tech App article.

Forming the Job Requirements

Once you've made sure your technicians are set up with everything they'll need for success in the field, you can move on to the Jobs themselves. Jobs in Sonar also require configuration to supply the technicians with details on what needs to be done when they're scheduled on a job.

Job Types

Job Types define the scheduled job itself – the expected length and many variables are all configured at this stage. Without properly configured job types, the versatility of Sonar's automation will be impeded. Job types are a mandatory prerequisite for creating jobs in Sonar, and their creation is covered in the Job Types: Best Practices article.

Tasks and Task Templates

Tasks allow you to set objectives that need to be completed, whether on a job, account, or in many other locations within your instance. The creation of tasks is detailed in the Notes & Tasks article, and configuring tasks will allow you to create both accountability and consistency on jobs.

Task templates allow you to automate the process of applying tasks. By creating a Task template, you're creating a defined list of tasks that will be attached to every single job (based on the Job Type the template is assigned to). You can find more information in the Task Templates Overview article and the Applying Task Templates to Jobs article.

Creating a New Job

With the prerequisites completed, it's now possible to create jobs for Accounts and Network Sites. In the following subsections, two jobs will be created to demonstrate some methods with which you can create jobs in Sonar.

For more information on how to use the Date/Time picker, please review this linked article.

Booking a Job From an Account

The first method for creating a new job is booking the job from an account. These steps can also be nearly mirrored when creating jobs on Network Sites.

In this example, we'll be creating an installation job for a residential account. This will use the Residential Installation job type created in the previous section.

If you need a refresher on how new accounts in a Lead status work, you can review the Creating a New Account article
  1. Navigate to the Account List View, and select an account.
  2. Click on the Account Name, to open the Account Management View page.
  3. Once the Account Management View is open, navigate to the Jobs tab, and click the “Create Job” button:
  4. With the Job Creation modal open, select your desired job from the “Job Type” dropdown. In this example, it will be Residential Installation:
  5. Click the Create button located in the bottom-right corner, and you'll proceed to the second page. Click on Done here:

At this point, the job is created and will exist in the dispatch queue, ready to be booked. Job scheduling will be looked at actively in the next section.

Booking a Job Through a Ticket

Another method of creating a job is through an existing ticket. Whether this ticket was created by a support technician or was created automatically, it can be attached to a job.

  1. Navigate into the Ticket list, and locate the ticket that will need a job assigned.
  2. Click on the Ticket name to open the ticket management view page.
  3. With the ticket management view open, expand the dropdown next to the Edit menu, and select Create Job:
  4. This opens the Job Creation modal, which allows you to select the Job Type to be booked:
    Because the job is attached to a ticket, it allows you to modify the assignee between an Account or a Network Site.
  5. Click the Create button located in the bottom-right corner, and you'll proceed to the second page. Click on Done here:

At this point, the job is created and will be placed in the job queue, ready to be assigned to a technician.

Cloning a Job

The ability to clone a job is similar to creating a job from scratch, with a few key differences. Cloning a job allows you to copy the notes of the original job while retaining its integrity as a standalone item. This functionality is available for all job types, and all statuses, this means that a job can be cloned even after it has been Completed or Failed.

There are three ways to access this functionality:

  1. From within the job itself, you're able to click on the downward arrow alongside Check In and select Clone.
  2. The next method requires navigating to Scheduling and locating the job from the table view. Once found, click the downward arrow alongside Check In and select Clone.
  3. For the final method, navigate to Scheduling and then to Dispatcher View. Locate the job in either the calendar or awaiting scheduling list, and click on its icon. In the newly populated menu, click on Clone.

All of the above methods will populate the Clone Job modal, which is similar to the Create Job modal. However, it will automatically have the Job Type, Ticket (if applicable), and Note populated (including its Priority). The note will specify that the information was copied from another job and will reflect the original job ID, but is fully customizable just like a typical job creation. And if the job being cloned was Completed or Failed, the note will also include any information provided at the time of completion/failure.

Any tasks, files, and images attached to the original job will need to be manually re-added to the new job (if still required).

Once cloned, you're able to schedule it just as you would a brand-new job.

Job creation versus job cloning
When determining the best course of action to simplify scheduling, you may need to evaluate whether it's appropriate to clone a job, create a new one, or reschedule an existing job. This evaluation will vary depending on your organization's preferences, but in general you should consider the following:

1. Is the customer calling ahead to modify the job requirements, or job details? If so, creating a new job or adding tasks may be best.

2. Has your technician arrived at the premises and checked in, but was unable to finish the required work? Failing the job successfully and cloning it with notes added is frequently the best option.

3. Is the customer calling ahead, or advised the technician at the door, to reschedule the job? In this situation, you could easily reschedule the job, with no additional changes needed.

Generally, if the technician has already checked in and failed the job, cloning is the recommended course of action.

Scheduling the Technician

With Jobs created, regardless of which entity they're assigned to, they need to be added to a technician's schedule. In this section, we'll review how you can schedule jobs through two different methods.

Confirming availability before scheduling
Before assigning jobs to technicians, you can confirm their availability by using the Scheduling Week View. This section of the scheduling module provides an overview of your technician's booked jobs on a weekly basisi, making it easy to identify gaps where no jobs can be inserted.

During Job Creation

As shown in the previous section, each created job allows you to Schedule and Assign the job directly from the card. Using the Infrastructure Service Call job created earlier, let's go over how a job can be scheduled within the card.

  1. With the second page of the Job creation modal open, click on “Schedule/Assign”:
  2. This will bring you to the Schedule Job modal, which allows you to select the technician(s) as well as a time slot:
    1. The first part of this modal prompts you to choose a user; you can either manually select the desired user(s) from the "Choose Users" drop-down, or select all users via the "Select all users" checkbox:
    2. The next part has you select a time slot and provides you with several options to do so. The first is a checkbox, allowing you to display only times when all technicians are available, or times when any of the selected technicians are available.
      Once you select a date (either a single day or a range of days) and click out of the calendar selector, a list of all available time slots will automatically be displayed, along with the name(s) of the available technicians.
    If a range of days is selected, you can see the different time slots available per day by clicking through the dates in the column to the left.

    The Time Interval options to the right allow for further specificity when scheduling, by changing the time slots to appear as either 5-, 10-, 15- or 30-minute increments.
    Booking multi-technician jobs
    This example will demonstrate booking a job using two technicians.

    The first step is selecting your two or more technicians, then checking the box to only show time slots where both technicians are available:

    Next, simply select one of the available time slots that are displayed, click "Schedule Job", and the job will be scheduled for both technicians.

From the Scheduling Calendar

Often, you may have a dispatcher in charge of scheduling your technicians. Using the Dispatcher view available from the Scheduling tab allows your Dispatch team to visually modify and schedule created jobs. You can read more about the overall functionality of the Dispatcher view in the Jobs and Scheduling: Overview article.

To open the Dispatcher view, click on Scheduling, followed by the "Dispatcher View" button:

With the Dispatcher view open, you'll see a list of all queued jobs along the top banner. To schedule a job from the Dispatcher view, drag the job onto the schedule below:

As jobs are created, there will be an icon added to the map to represent it, based on the serviceable address. Hovering over the icon will display a mini pop-up window with more details about the job, and clicking “Show Filters” (located under the “Reset Map” option) allows you to filter the displayed jobs directly on the map. The unscheduled jobs on the map can also be dragged onto the job grid for scheduling.

Holding your keyboard's SHIFT button while dragging the unscheduled job (gray bubble) from the map allows you to bring the job into the schedule.

Once that's done, you'll see the job appear on the technician's row. Any unsaved changes made to the calendar will show in a blue banner at the bottom of the screen, when these changes are saved, the job will be considered scheduled.

Drive Time Calculation

The Sonar Scheduling pane will automatically calculate the amount of time it will take for your technician to arrive at a site for a job. To take full advantage of the calculation, it's important to understand how the calculation works.

For the first job of any day, the drive time on the left of the job represents the time it will take for the technician to reach this first job:

This is calculated using driving directions provided by Google Maps, based on the distance between the Schedule Address added as a Start Point for this technician. You can read more about the Start Point and about Schedule Addresses in the Setting Up Schedules General Overview article.

The drive time to the right of the job indicates the amount of time it will take to reach the next job on the schedule:

This is calculated by Google Maps using the Serviceable Address or Location that both jobs are assigned to.

Your schedule may also have large gaps between jobs and the start of the day, such as this one:

In this example, the different points are all calculating the same; however, the placement is slightly different. The calculation between the two job locations is still occurring, even with a schedule blocker placed between them. Additionally, in this example, you can see the calculation is being made from the final job of the day to the technician's End Point schedule Address.

If you're noticing the drive time is massively different between Google Maps' own calculation and the one in Sonar, first confirm the Addresses are correct at both locations.
Scheduling Errors on the Calendar

If a job is placed on the calendar in an invalid location, whether due to schedule availability mismatches, job type mismatches, or time overlaps, an error will appear. This error will manifest as an "Invalid" label attached to the job placed in the incorrect location:

Hovering over the invalid job placed on the calendar will provide details on the exact cause of the error:

Trying to save your changes while an invalid job exists will prompt an additional error message, causing a modal to appear which lists all valid or invalid job details:

In this modal, users with the appropriate permission applied to their account can override the error, and save the changes to the job schedule as-is. To change this permission, add the "Update a job skipping validation" permission to a role, located in the Misc category.

Super-admins will always have the ability to override errors on the schedule.

To override an error, check the box next to the invalid job, then click "Submit". Your placed jobs will save, and will be scheduled, ignoring whichever errors occurred.

How did we do?

Job Types: Best Practices

Scheduling Week View: Overview