Table of Contents

Scheduling How-to: Creating and Booking a Job

Mitchell Paul-Soumis Updated by Mitchell Paul-Soumis

Read Time: 10 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 will prove to 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 in order to be prepared to actively schedule and deploy your Field Technicians to Network Sites or Customer Premises.

Forming the Technician Requirements

Role Permissions

In order 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. Setting a balanced schedule will allow 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

In order 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. In order 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 will allow 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 in order 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 a number of 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 in order to demonstrate some of the methods with which you can create jobs in Sonar.

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, then click on Manage from the sidebar:
  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 sidebar, then click on Manage:
  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 will allow 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.

Scheduling the Technician

With Jobs created, no matter 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.

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 a number of options to do so. The first is a checkbox, allowing you to display only times where all technicians are available, or times where 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

In many cases, 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 (grey 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, indicating it's been scheduled.

Drive Time calculation

The Sonar Scheduling pane will automatically calculate the amount of time it will take for your technician to arrive on a site for a job. In order 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.

How did we do?

Example Jobs & Templates

Geofences: Overview