These features are available on your Test site as of the evening of June 6th, on your Preproduction site in the evening of June 8th and on your Production site in the evening of June 13th.


New Features in This Release



LIST OF NEW FEATURES


Scanning a Barcode to Dispatch Order to Drivers 

Ability to Send an Address or Send Coordinates to the selected Navigation App

Configure Driver Commissions Based on Different Pricing Charges

Dynamic Views for Self-Serve Users

Ability to Set Pickup Window Information in Service Level Schedule

Changing Route Duration Limit for Optimization


TABLE OF CONTENTS





Definitions

The release notes refer to different sections of the application:

Back Office: Where Customer Service Representatives (CSR) create and edit orders, create accounts, review drivers, etc.

Dispatch Board: Where Dfe hers assign orders to drivers, get notifications for invalid orders, etc.

Auto-Dispatch: This section refers to the automated order assignment setup and its process.

Administration: This section is in the Back Office but refers to sections only an administrator will use like Settings and Pricing.

Customer Portal: Where account users log in to create orders, view their order history, enter a credit card, etc.

Tracking site: Where customers enter a tracking number like the order ID or a reference number to view the status of their order.

OData: Data fields and variables saved in OData

Account API: API provided to your accounts to create, update and get orders. For documentation, please follow this link: https://api.dispatchscience.com/
Tenant API: API provided to you to create orders for your accounts, retrieve invoices and change invoice status. For documentation, please follow this link: https://api.dispatchscience.com/  

Scripting: Custom script building abilities and functions within Dispatch Science

 

Driver App Version 1.58

Dispatching Orders to Drivers from Warehouse Module


If given the right to the Warehouse and to Dispatch Orders through his/her Role, a driver/warehouse worker is now able to dispatch orders to a Driver from the Driver App Warehouse module by scanning packages. 


For more information see setup the Role then see how to associate the Role to the Driver.



Dispatch an Order to a Driver or Unassign Orders from Drivers from the Driver App


1) Login to the Driver App.

2) Navigate to the Warehouse module and tap on the +:



3)In the menu, select Dispatch:



4) A Barcode scanner will open.



5) Start scanning a package. The Order information will display:

Tap on Cancel to cancel the dispatching at any time. A message will be displayed 

Click Cancel to cancel the scan, Continue to return to scanning.


6) Continue scanning packages, the Order count will increase:

At any time during scanning, you can tap See Orders to see the list of Orders already scanned. You will also be able to remove orders that were scanned using the  icon beside the order number.
Click Ok when done to return to the scanner.

7) Once you are done, tap on the green Dispatch button at the bottom of the screen and you will be presented with the list of Orders to dispatch:



At this point you can delete order by tapping on the icon beside the order number.

Click Cancel to return to scanning additional barcodes or click on OK to select the Driver.



8) The list of Drivers will be displayed, showing Unassigned first, then the name of the Driver doing the scan then the list of Drivers in no particular order. 

You can search for a driver by typing his/or her in the Search bar. 



9) Tap on the Driver you wish to dispatch the Orders to. The Driver will show with a blue checkmark then tap on Dispatch.



10) The Orders are dispatched.
If there were orders that could not be dispatched, a message will be displayed:

Click OK to view the errors.

No Orders will be dispatched when there are errors. The list will show, you can remove the Orders preventing the dispatch then dispatch again.

The list will show all orders that were scanned. The orders that have a problem will show with a red message.

Tap the  icon beside the Order number to remove it from the list.

You can also search specific Orders by entering its number in the Search bar. 


Click OK to return to the scan. Repeat starting at step 7 to dispatch the orders. 



Option to Setup Using Position or Address when using a Navigation App

A new option was added when selecting the Navigation App under Settings. This option will allow you to decide if you want to use the stop position or address to get the route on the selected Navigation App.


When selecting Address, only the address will be used by the Navigation App to provide directions. When selecting Position, the position will be used to provide directions however, if the Navigation App also allows address, the address will also be displayed for information purposes only.


Set the Navigation App and select the Navigation Option

1) Tap on Settings in the bottom menu bar on the Driver App.

2) In Settings, scroll down and tap, in Advanced section, the Open navigation with.

3) Select the Navigation App then select the Navigation Option.

4) Return to Settings by tapping on the <Settings




Back Office

Orders

Configure Driver Commissions Based on Different Pricing Charges

It is now possible for the driver commissions specified while creating an order or an order template to be based on the delivery charge, extra fees, and fuel surcharges, all independent of one another. Within these commission areas, you have different options for calculating the predefined driver commission: driver payout schedule, flat rate, % commission, or a specific payout schedule. 



Setting Up the Commission When Creating or Editing an Order, Order Template

1) While creating the Order, the Order Template or editing one or the other, click on the Drivers tab. 


2) For each section of the commission for the driver (delivery, fuel surcharge, extra fees), setup how they should be calculated:


For Delivery, the amount used to calculate the commission will use the delivery price or, if delivery price is overwritten, the overwritten delivery price or, if setup on the account, the Driver Delivery price. 

For Fuel Surcharge, the commission is based on the amount calculated on the order. 


For Extra Fees, the commission is calculated as the % setup on the extra fee multiplied by the % setup on the Driver Commission. The extra fee charge and percentage will use the Extra Fee Schedule setup on the account, or if overwritten, the 

overwritten Extra Fee price, or, if setup on the account, the Driver Extra Fee price.  


a) Driver Payout Schedule: using the payout schedule associated to the driver whom the order is dispatched to.


b) Flat Rate: a predefined amount for the delivery.


c) Commission %: a percentage of the amount for delivery price.


d) Fixed Payout Schedule: using the selected payout schedule delivery percentage to calculate commission for any driver.

When the order is dispatched to the driver, the commission setup will automatically be applied. 


On deployment, orders will automatically be setup with the new format using the existing information:
- Driver Payout Schedule when % or flat fee was not selected
- Commission % with the associated percentage
- Flat Fee will setup the delivery as the flat fee and a fixed $0 for the Extra fee. The Fuel Surcharge will be setup as Driver Payout Schedule to use the % setup on Fuel Surcharge if the check is set in Pay Fuel Surcharge on Predefined Payout.


Route Plans

Route Recurrences

Route Recurrences were introduced in version 1.57, for more information on this feature, please review: Release Notes version 1.57. You will now be able to disable a Recurrence within a Route Recurrence Schedule without having to stop the entire Route Recurrence. 


Disable a Recurrence

1) Click on Orders, Route Plans then click on the Route Plan containing your Route Recurrence.

2) In the Schedule section, open the Schedule where the Recurrence is located.

3) Click on Is Disabled to disable the Recurrence:

4) Recurrence will show disabled:

Recurrence will not run and remain disabled until it is unchecked.

If all Recurrences within a Schedule are disabled, the Is Disabled will be set at the Schedule Level:


Enable a Disabled Recurrence

1) Click on Orders, Route Plans then click on the Route Plan containing your Route Recurrence.

2) In the Schedule section, open the Schedule where the Recurrence is located.

3) Uncheck the Is Disabled on the Recurrence:

4) Recurrence will be enabled:

Recurrence will run on the next Schedule Start.


Disable all Recurrences on a Schedule

1) Click on Orders, Route Plans then click on the Route Plan containing your Route Recurrence.

2) In the Schedule section, click on Is Disabled:

3) All Recurrences in the Schedule will be disabled. 

Recurrence will not run and remain disabled until it is unchecked.


Enable all Recurrences on a Schedule

1) Click on Orders, Route Plans then click on the Route Plan containing your Route Recurrence.

2) In the Schedule section, uncheck Is Disabled:

3) All Recurrences in the Schedule will be enabled. 

Recurrence will run on the next Schedule Start.


Account Profiles

Dynamic Views for Self Serve (Requires Analytics Toolkit add-on license)

Dynamic Views can now be created for the Self-Serve site. These views are different from the internal Dynamic Views, since they need to be tailored to specific accounts. You can send an email to support@dispatchscience.com to enable the add-on and evaluate implementation options for the Dynamic Views that you wish to provide to your Account Users. 


Setup the Dynamic View in the Account Profile

Once your Self-Serve Views are available on your site, you will be able to set them up in the Account Profile.

1) Click on Accounts, then click on Profiles.

2) Click on the Profile to edit.

3) Scroll down to the Self-Serve Options section and click on Edit button. 

4) Analytics Views is at the bottom of the section.

Click in the User checkbox to give access to a view to the Account Users. 

Click in the Admin checkbox to give access to a view to the Account Admins.

5) Click on Save.

The selected Views will show on the Profile when setup:


Drivers

Driver Profile

In the Driver Profile, the access to the Warehouse module has been removed. It is now located in the Driver Role. Roles are found in Settings, Configurations, System, Roles. 

You will find 2 Roles for Drivers, one with access to Warehouse, and one without access to Warehouse. For more information, please review Roles below. 


Driver

Give Access to the Driver to the Warehouse Module

1) Update the Driver Role to give access to the Warehouse right. For more information, please see Driver Roles

2) Open Drivers, click on the Driver to edit.

3) Click on Edit in the main Driver section located at the top.

4) In Role, select the role with access to the Warehouse module. 

5) Save. 


Driver History

The Driver History has been updated with a user friendly view that allows you to see, at a glance, when a Driver has pickups and deliveries. It also allows you to navigate through the Driver Route using a sliding bar. The view gives you access to the Driver workload, the Optimized route as well as the actual route taken by the Driver, the Driver Position at the time when a stop is closed, etc.


Open the Driver History and set it up

1) Open Drivers then click on View History link to the right of the Driver:

2) The new view will open showing in the Date Range, the last 24 hours. 

3) Enter the Date Range, maximum 24 hours, to view the Driver Route:

This will automatically refresh the screen to show the Driver Route on the map as well as the Workload.

4) The Workload (rainbow road and numbered stops on the map) and Driver Past trace can be hidden if you only wish to see the map with the position of the driver and where he is going next as well as the Rainbow road which shows the Optimized Driver Workload.

To turn off, remove the checks here:

Review Pickups and Deliveries

1) On the sliding bar, the P indicates Pickups, and D indicates Deliveries. 

2) Move the sliding bar and you will notice that the blue location pin moving at the same time. The geolocation will show below the sliding bar as well as the date and time at each location.

The rainbow road represents the optimized path, if not hidden by unchecking Show Workload, the green road represents the path the driver will take and the red path, if not hidden, represents where the driver has been. 

3) The numbered pins on the map, if not hidden by unchecking the Show Workload, indicate the stops. Clicking on a numbered pin will show the Order Id. 


Dynamic Views

Resetting the Grid

You can reset the grid layout in the Dynamic View. This will reset the grid to its default state, removing any filtering and resetting the sort order on the grid.


Dispatch Board

Dispatch Board Grid

Split the Date and Time when adding a proof of pickup and delivery to an order

1) In the Dispatch Board Grid, click on an order to open the side panel.

2) In the ... Menu, select Set as Picked Up or Set as Delivered

3) You can now enter independently the date and time as you do when creating Orders in the Back Office, using tab to move from one field to another field.


Self-Serve

Dynamic Views (requires Analytics Toolkit add-on)

The Dynamic Views menu item can be made available to Self-Serve users once you have views created for specific Account. Please contact support to get a quote for any Self-Serve Reports you would like to add to Accounts. 


Open Dynamic Views

1) Click on Dynamic Views icon

2) The list of Dynamic Views will open.


Add a Dynamic View as Favorite

1) Click on Dynamic Views.

2) In the list of Views, open a section then click on the star beside the View:

3) A Favorite section will open, the other sections will collapse:


Remove one or all Favorites

1) Click on Dynamic Views.

2) In Favorites section, click on the star of the View to remove.

3) The View will be removed and if this was the last View, the Favorites section will disappear.


Execute a Dynamic View

1) Click on Dynamic Views. 

2) Find the View you wish to see and click to open. 

3) In the View, select the properties.

 The value you select will show:

 4) If there are additional properties, click on More then check the properties you wish to add:

5) Fill in the additional properties:

6) Click on Execute button to see the View:

7) The View will show on the screen. You can sort column by clicking once for ascending, a second time for descending order and a third time to remove the sort. 

You can still make modification to the View by changing the properties. 
You can reset the view by clicking on Reset Filters.
You can export the information by selecting the format under Export to button.




Administration

Service Level Schedule

Ability to Setup Pickup Window Information

In the Service Level Schedule, there was previously a limitation where the delivery time and pickup time had to be the same. However, in version 1.58, we have introduced a new feature that allows you to set different pickup and delivery times while maintaining the same hours of operation and cutoff time. This enhancement provides more flexibility in defining your service levels. To ensure a smooth transition, this feature is set to the default setting for existing Service Levels, so your current processes will not be affected. 


Setup a Service Level with a different pickup time than delivery time

1) Click on Pricing, Service Levels and click on a Service Level Schedule to open it. 

2) In the Service Level list, click on a Service Level to edit.

If the Service Level does not exist, add the new service level and set it up as you normally would then follow from step 3.

3) In the Service Level details, a section called Pickup was added below the Days of Operations and Delivery.

Set either the IN number of hours or the BY time and day offset. This will automatically remove the Same As Delivery check.

4) Save the changes.

When using IN, the number of hours of the Delivery cannot be less than the number of hours in the IN.
When using BY, the time and day offset of the Delivery cannot be less than the time and day offset in the IN.
When using a combination of IN and BY, there cannot be a verification and the Pickup must always be less than or equal to the Delivery. In a case where, on the order, the Pickup window is later than the Delivery window, the Pickup will automatically be set the same as the Delivery to ensure the order can be saved.


Set a Service Level with a different pickup to use the same window as delivery

1) Click on Pricing, Service Levels and click on a Service Level Schedule to open it. 

2) In the Service Level list, click on a Service Level to edit.

3) In the Service Level details, under the Pickup section, select the SAME AS DELIVERY radio button:

4) Click on Save.


Roles

Permission Name Change

The Order Routes permission was renamed to Route Plan to match the feature in Dispatch Science:

It was:

It has been renamed to:


Driver Roles

In the Roles, under Settings->Configuration->System, you will find that a new Driver Role has been created for the Drivers that do not have access to the Warehouse module:

The access to the Driver App Warehouse module is now in the Role:

To give access to the Driver, simply check the Access radio button in the Warehouse right and save the Role. 


Application Logs

Route Recurrence Information

The Application Logs will give you information about the Route Recurrence which has run or has failed. This information is available when viewing the Application Logs under Settings, System, Application Logs. 

The following information is available in the grid:

In Application column: RecurringOrder

In Title column: You will have the Route Plan Id

You can download the file to get the batch Id, Route recurrence Id, as well as the Order Template Ids. 


Route Duration Limit (On Demand Order Only)

There is a new option to only optimize the stops whose departures can commence within a certain Route duration. This is a system-wide parameter. 

This option will remove from the optimized list the stops that would have a departure time, according to the optimization, later than the route duration limit specified. These stops would then be placed at the bottom of the Driver list in My Run in no particular order with no ETA and shown as unoptimized. Every time the Driver Stops are optimized, the orders that are within the route duration would be added to the optimization list.

Please contact support@dispatchscience.com to change this setting on your site.



Scripts

Order Update Script

Finding a Hub

You can find a hub that was created under Address. This hub can then be used when adding hubs to an order to create a Multi-Segment Order.

Using the await data.FindHubs(string) where string contains the Company or Hub Name, you will be able to retrieve the Hubs matching the Hub name that you entered. There may be more than one Hub that is returned. 

From there you can retrieve the Hub Id, Hub Address, Hub Contact for the Hub you wish to add. 

For more information, please refer to the Model IScriptDataprovider.cs:

https://github.com/dispatchscience/DispatchScience.Scripting/blob/main/Dispatch.Scripts.Abstractions/Models/IScriptDataProvider.cs

Only Addresses of type Hubs can be found using this method.


Add a Hub using a Hub Id

The Hub Id can be used add a Hub through the script when creating Multi-Segment orders. Using the FindHubs, you can find the hubs that match the Hub/Company Name. From there you can use the HubId to add a Hub to your order. 

For more information, please refer to the model HubInfo.cs:

https://github.com/dispatchscience/DispatchScience.Scripting/blob/main/Dispatch.Scripts.Abstractions/Models/HubInfo.cs

Example:

This would return all hubs matching the Hub name HUB Name:

var hubs = await data.FindHubs("HUB Name");


Adding a hub through its Id:

await order.AddHubs(hubid);


Order Events

A list of events that are trapped when an order is updated can be found here:

This allows you to use the  await data.GetEventNames(); method to only update an order when the correct information is updated. 


Script File

In previous releases, Order Update scripts could use the parameters in the Script Rules. This allowed you to use the Order Update Script with different scenarios without having to recreate the script multiple times. To improve this and make it easier for users to update the information, it is now possible to import an Excel Spreadsheet on the Script Rule that can be used in the Order Update Script.

The same GetSheet models as the calculate Extra Fee Scripts can be used on Order Update. 


Import an Order Update Script Spreadsheet

1) Open Settings, System then click on Script Rule.

2) Open a Script Rule. A new File section has been added.

3) Click on Choose File. Navigate to the location of the file, click on the file and click Open. 

4) The file name will be shown in the box. 

5) Click on Save to save the file with the Script Rule. 

In the Order Update Script, you can get the content of the file by using the GetSheet method. 


Download an Order Update Script Spreadsheet

1) Open Settings, System then click on Script Rule.

2) Open a Script Rule. 

3) Click on Download File button to download the Spreadsheet.  


Delete an Order Update Script Spreadsheet

1) Open Settings, System then click on Script Rule.

2) Open a Script Rule. 

3) Click on the trash can to remove the Spreadsheet.  

4) Click on Ok to delete the Spreadsheet or Cancel to keep it. 


Update Delivery Price

The Order Update Script allows you to update the delivery price of an order and if the price does not exist, or isinvalid in the Order, the delivery price is added.

Using the await order.OverrideDeliveryCharge(decimal basePrice), the delivery charge can be updated or added if it does not exist on the order.


API

Tenant API

Convert a Recurrence to a Route Recurrence

Using POST /api /v1 /recurring-orders /{tenantId} /convert-to-route with the list of Recurrence Ids will convert your Recurrences into Route Recurrences.

For more information about Route Recurrences, please review Route Recurrences in Release Notes 1.57

 

Recurring Route Management

You can now manage the Recurring Routes through the API:


OData

Accounts Table

Addition of the Created At and Updated Date

The Accounts table has 2 new fields available:

CreatedAt: Date and time when the Account was created

UpdatedAt: Date and time when the Account was last updated


Recurrence Table

Addition of the Created At and Updated Date

The RecurringOrders table has 2 new fields available:

CreatedAt: Date and time when the Recurrence was created

UpdatedAt: Date and time when the Recurrence was last updated


Order Templates Table

Addition of the Created At and Updated Date

The OrderTemplates table has 2 new fields available:

CreatedAt: Date and time when the Order Template was created

UpdatedAt: Date and time when the Order Template was last updated