These features will be available in the evening on the following dates:

Test Site: November 28
Preproduction Site: November 30
Production Site: December 4 


New Features in This Release





TABLE OF CONTENTS






Definitions

The release notes refer to different sections of the application:

Back Office:  Customer Service Representatives (CSR) have the ability to manage accounts, orders, and drivers. by create and edit orders, create accounts, review drivers, etc.

Dispatch Board: Area where dispatchers assign orders to drivers, get notifications for invalid orders, etc.

Auto-Dispatch: This section refers to the automated order assignment management.

Administration (*Only for administrator use)-Found in the back office section and allows administrators to change the settings such as pricing, accounting, billing, etc.

Customer Portal: Login area where users create orders, view order history, enter credit card payment, etc.

Tracking site: Allows customers to view status of the order by entering the tracking number, reference number or order ID to view status of the order.

OData: Section where fields and variables are saved. 

Account API: Grants ability to create, update and view order status. 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 and functions within Dispatch Science.

 

Driver App Version 1.61

Add Items to License Plates

You now have the ability to add items to a license plate while scanning at checkpoint, adding items to a stop or scanning at pickup or delivery.


Adding Items to License Plate while Adding Item in Stop Items Section

In order to add the new items to the License Plate, an Add Item Workflow must be available on the Account with step barcode scanning. 
If this step is not added to the Add Item Workflow, the Driver will not be able to add those new items to a License Plate.

1) Open a Stop, scroll down to Items sections and tap to open:

2) In the Items section, tap on Add Item. The workflow will start. When you are at the barcode scanning step, you will notice the new License Plate icon  in the top right:

3) Tap on the License Plate icon ,it will become red:

4) Scan/type an existing License Plate barcode, then tap YES to edit the License Plate:

OR
Scan/type a new License Plate barcode to create a new license plate.


a) Scan the new items.
*Notice- The count on the License Plate will increase.

b) Tap on the Red License Plate icon when you are done scanning the barcodes.
c) Tap DONE when all added barcodes are scanned.

d) Complete the workflow if needed, then tap on ADD in top right corner:

If there are any issues when adding the new barcode to the License Plate, you will see them now. 

For instance, if a barcode matches more than one Order, the barcode will not be added to the License Plate but will be added to the Order. 

5) You will be returned to the Parcels List, and the items that had no issues will be added to the Order and also added to the License Plate.

While scanning, if different items need to be placed in different License Plates, you can close the License Plate by tapping on the red License Plate icon and it will turn black.
Tap on the License Plate icon again, it will then turn red. 
Scan the other License Plate. 
Scan the items.
Once done, follow from step 4.



Adding Items to License Plate while Scanning at Pickup or Delivery

(When at a Pickup/Delivery stop or grouped stop):

1) Scanner opens to allow scanning of barcodes. On the top right, beside the exception code icon, you will see the License Plate icon

Add :

2) Tap on the License Plate icon. It will turn red.

Scan or type the License Plate barcode. If it exists, tap Yes to edit, otherwise the new License Plate will open.

3) Scan or type the barcodes.

You will see the number of items go up at the bottom of the screen as well as in the License Plate. 

If different items need to be placed in different License Plates, simply tap on the red License Plate icon to close it.
-Tap on the black License Plate icon to open and scan/type the other License Plate barcode to open it.
-Tap Yes if the License Plate already exist to edit it.
-Continue scanning the items.

4) Once done adding items to the License Plate, tap on the Red License Plate icon to close it.

5) Tap Complete, then review Exception codes and go through the workflow.

When adding items in an Order while scanning at Pickup or Delivery, the License Plate selected on the Pickup or Delivery scanner will be the one in effect for all items added. 
If new items need to be added to different License Plates:
- Complete the Add item Workflow to return to the Pickup or Delivery scanner.
- Close the License Plate by tapping it.
- Tap it again to open the other License Plate.
- Scan the License Plate barcode.
- Tap Yes if it needs to be edited.
- Add the other item barcodes.



Add Items to License Plate while Scanning at Checkpoint

1) Open a Checkpoint on My Run or in Warehouse.

2) Scanner opens to allow scanning barcodes. 

3)On the top right, beside the exception code icon, you will see the License Plate icon:

4) Tap on the License Plate icon , it will turn red.

Scan or type the License Plate barcode. If it exists, tap Yes to edit otherwise the new License Plate will open.

5) Scan or type the barcodes.

You will see the number of items go up at the bottom of the screen as well as in the License Plate. 

If different items need to be placed in different License Plates, simply tap on the Red License Plate icon to close it.
Tap on the Black License Plate icon to open and scan/type the other License Plate barcode to open it.
Tap Yes if the License Plate already exist to edit it.
Continue scanning the items.

6) Tap on the Red License Plate icon to close it once done adding items to the License Plate.

6) Tap Complete to close the Checkpoint.

When adding items in an Order while scanning at Checkpoint, the License Plate selected on the Checkpoint scanner will be the one in effect for all items added. 
If new items need to be added to different License Plates, complete the Add item Workflow to return to the Checkpoint scanner.
- Close the License Plate by tapping it. 
- Tap it again to open the other License Plate.
- Scan the License Plate barcode.
- Tap Yes if it needs to be edited and add the other item barcodes.



Review or Edit License Plate while Scanning

1) Tap on the License Plate:

2) The list of items will open:

3) To remove an item from the License Plate if it was scanned by error:

- tap on the garbage can icon to the right of the item.  

The item will be automatically removed.

4) Click OK to return to the scanner.



Adding/Editing Driver Picture in Settings

When given access, you can add your picture to the Driver App so it can display as your Driver for the Dispatcher.  You will be able to crop the picture before you save it. 

1) Depending on the edit access provided (picture vs basic information)
This will be available if you have access to change the picture.

Picture edit access:

1) Click on the pencil icon on the picture.

Basic Information Access with picture:
1) Click on the pencil in basic information

2) Click on the picture to change the picture:

3) Select Camera or Image Library

4) Either take a picture if using Camera or select a picture in your Image Library.

The photo is displayed. You will be able to crop or change the orientation:

Click on the crop tool icon

Take any of the corners, sides, top or bottom to crop the picture.

Once done, click on to save the changes or  to ignore the changes.

Click on Done when picture is ready to upload. 

Click OK when picture has been uploaded:

You may need to refresh by pulling down on the Settings to view the new picture.


Scanning at Pickup and Delivery

To speed up scanning at Pickup and Delivery, the panel indicating the Order number, position, etc, that was showing will no longer be displayed.

It will now show as follow:

To show the progression, you can tap on See Items.

The scanned items show as and unscanned items as .


Back Office

Addresses

Addresses are used throughout Dispatch Science when creating Orders, Contacts, Hubs, Global Addresses, etc.

An address is set as a point with a latitude and longitude. Dispatch Science uses this point to show the location on the map and calculates the distance between 2 addresses.  This helps optimize the Driver Route and is used in the Driver App, along with the inner and outer radiuses set in the Driver Profile, ensuring the Driver is at the correct location to start the waiting time, allow a stop to be closed, etc.

In some cases, an address may be larger than just a point. For example, larger facilities such as hospitals, warehouses, shopping malls, oil fields, or other larger areas would require the inner and outer radiuses used by the Drivers to be much larger.  This ensures the Driver is able to close stops in those areas. For cases like these, a new feature has been introduced to associate two geofences to the address that would be used instead of the inner and outer radiuses setup in the Driver Profile. This allows the Driver to keep a tight radius for most deliveries, while allowing for larger radiuses when needed. 

A KML file with an inner and outer polygon around the address can be associated to an address when creating or editing:

  • Contacts under an Account, an Account user or under Settings>System>Addresses
  • Global Addresses in Orders Pickup and Delivery sections or under Settings>System>Addresses
  • Hubs while creating Multi-Segments or under Settings>System>Addresses

The feature is also available for Self-Serve Users when creating and editing their contacts or Account contacts, as well as when creating Orders using a Zip/Postal Code address. 


Usage

The polygons associated with an address are used instead of the inner and outer radiuses set in the Driver Profile in the following places on the Driver App version 1.62 or above:

  • Driver Arrives at Location
  • Allow pickup or delivery with or without a warning message
  • Calculation of waiting time

The latitude and longitude of the address will still be used in the following places on the Driver App:

  • Showing the address on the map
  • When sending the address to the Navigation App using the geolocation
  • Estimated time of arrival at address


For more information about creating KML files, please review this article. Follow the first part of the article to create and export KML files.


Add a Geofence to an Address

A geofence can be added to the following addresses during creation and edition:

  • Account Contact from the Back Office and Self-Serve Portal.
  • Account User Contact from the Back Office and Self-Serve Portal.
  • Contact in Addresses under Settings>System>Addresses.
  • Hub in Addresses under Settings>System>Addresses.
  • Global Address in Addresses under Settings>System>Addresses.
  • Global Address during Order creation and edition under the Pickup and Delivery Address sections in Back Office and Self-Serve Portal.
  • Global Address during Order template creation and edition under the Pickup and Delivery Address sections in Back Office.
  • Global Address during Multi-segment creation and edition in the Hub addition and in the Pickup and Delivery Address sections in Back Office.
  • Global Address during Order template edition under the Pickup and Delivery Address sections in Self-Serve Portal. If the geofence was used on a contact or on a Global Address when Order template is created by an Account user, it will be available on the new Order Template.
  • Hub in Addresses under Settings>System>Addresses.


1) A new field is now available in the above areas. Click on Choose File.

The KML file must only contain 2 polygons called Inner and Outer (case insensitive):
Inner: This will be used as the inner radius where waiting time starts calculating, and driver is able to close the stop.
Outer: This will be used as the outer radius where driver gets a warning that he may not be at the right location but it still allows the closing of a stop. 
The Inner polygon must be inside the Outer polygon.
The address longitude and latitude must be within the Inner polygon.

2) Navigate to the folder where the KML is saved, Select and click Open.
The filename will show in the box.

3) Click on Save.

File will not be saved if error message is dispalyed.  This error message occurs when:
-There are more or less than 2 polygons or any other lines or pins in the KML file
- The polygons are not named Inner and Outer (case insensitive)
 -The inner polygon is not inside the outer polygon
-The address latitude and longitude is not inside the inner polygon 

The KML will be associated with the address. 


Show the KML polygons

You can see the polygons associated to the address under:

  • Order
  • Order Template
  • Contact
  • Hub 
  • Global Address

Example when viewing a Contact:

Example of an Order when clicking on the map icon :


Remove the Geofence from an Address

1) Open the Address.

2) Click on the Garbage can icon beside the Choose File field:

3) Click OK to remove the file or Cancel to keep it:

The screen will refresh and the file will be removed from the address. 

The contact will now use the inner and outer radiuses set on the Driver.


Download the Geofence File from an Address

1) Open an Address

2) Click on Export File button:

The file will download to your default download folder.



Orders

Update User Information

User information can be modified during Order Creation.

1)Allowable fields for edit during order creation:

  • Caller Name
  • Email
  • Phone Number

*When modifying any of the 3 fields , the following message will be displayed. 


2) Fill in the rest of the Order and click Create Order. 

The User information will be saved while the Order is created.

Changing the name of the User or the email will update all Orders using this Self-Serve user in both the Order Details and the Order List.



If a Company Name is available on an entry, the Company Name will show first (if one is entered )followed by the address and, if available, contact and phone number.

If no Company is available, the address will show first, followed by the contact name and phone number if available.


Route Plan

A new All Account option has been added to the Route Plan to include all existing accounts and any new accounts with a specific Service Level. 

1) Open Orders then click on Route Plans.

2) Create a new Route Plan or edit an existing Route Plan.

3) Click on Add Account button. You will have a new option called All Accounts.

4) Check All Accounts, then select the Service Level, then the Location and click Save.

All Orders with Service Level ND Routed from any Account will be added to this Route Plan.

Any new Account will be part of the Route Plan without having to add it in the Accounts/Service Level section as long as it is associated to the Service Level. 

If on the same Route Plan there is an All Account with a Service Level and a specific Account with the same Service Level, the order will use the Location for the named Account.
If Route Plans have the same rank, or do not have a rank, the Route Plan with the named Account will be used first.


Recurrences

On the Recurrence, the button to add a date as an exclusion on an Order Template was previously named Exceptions. This was changed to Exclusions since only Exclusion dates can be added to the Order Template:



Drivers

Automatic Override of Negative Driver Commission

In previous releases, support for negative Extra Fees and Fuel Surcharges was introduced. This created the possibility of Driver Commission being negative and was calculated as negative entries in the Driver Settlements. Like Orders, Driver Commission will not be allowed to be negative even if parts of the Commission can still remain negative. If the total of a Driver Commission is less than $0, it will automatically change to $0 as the Total and be used as such in the Driver Settlements, on the Driver App and in OData. 


Stay on the Driver Details when Unarchiving

You can easily make changes when unarchiving a Driver as the Driver Details now remains open once it is unarchived.



Accounts

Account User Email Modification

A User Email can now be changed on existing users even if Orders were already created by the user. 

1) Open Accounts then click on Users.

2) In the list, click on the User to update.

3) Change the email address and Save.

The email address will change on all orders that have already been created. This change will be reflected in the Order List and in the Order Details.

If the email address is already used by another user, an error message will be displayed and the modification will not be changed:


Account User Role

You can now set a role for users to give them more or less permissions. 

By default, all users will be given one of two roles:

Account Administrator or Account User. 

These two roles were created and have all the same permissions as were set when checking, or not, the Admin checkbox.


Edit the Role of an Account User

1) Click on Accounts, then from the list, click on an Account.

2) Click on Users:

3) In the list of Users, click on "the user" to modify:

4) Scroll down to the bottom, and in the Role drop-down, select the Role you wish to assign to the User.
For more information about editing or creating Account Roles, please see Self-Serve Roles.

5) Click Save.

Account user will need to log out and log back in to access the new role's permissions.



Notification When Drivers Are Waiting At Location

A new time-based Notification was added to allow sending notifications once a Driver has been waiting at the Location for a certain time.  

This new notification uses the Content Templates with Event Type Waiting at Pickup/Waiting at Delivery/All. 

1) A Content Template must first be created. 

    a) Open Accounts, then click on Notifications, then Content Templates.

    b) Click on New Content Template and enter the name and select the correct event for the Notification.

    c) Setup the Content Template as needed and click on Save.

2) Click on Notification Templates and edit or create a Notification Template.

3) Open the section for whom the notification should be sent and click on Add Time Based Event and select, from the Time Base Event drop-down field, Waiting at Pickup or Waiting at Delivery. 

4) Enter the number of minutes once the Driver arrived at the location when the Notification should be sent.

5) Check Resend if the notification should be resent, if the Order is put on Hold and then Released, or an order is reactivated. 

6) Select the template.

7) Select a rule if needed.

This time based notification can be added multiple times at different intervals.
The waiting time starts calculating when the Arrive at location is triggered either automatically for the next stop or manually for subsequent stops.
If there are several stops within the same radius, only the first stop will receive the notification unless the Driver manually sets all other stops as Arrived at Location.  

8) Click Save.


Transaction Date and Time Selection

A time zone symbol showing the tenant time zone has been added in all Transaction date fields when creating or generating invoices, debit and credit notes, adjustments, and when receiving payments if the user is in a different time zone. Transactions will be created using the Tenant time zone and the user in a different time zone, will see this. 

The time zone symbol will also show in the Transaction list. 


Dispatch Board

Routes

Warn/Prevent Message when Dispatching Routes

If there are Driver documents and/or certifications that are set to Warn or Prevent before Dispatching when Expiry Date is past or with failed Results, a warning or error message will be displayed when attempting to dispatch a Route Container or a Route. 


When a Driver is allocated to a Route and has documents/certifications that are past the expiry date or with status failed and these are set up as a warning when dispatching, a yellow dot will show beside the Driver icon on the Route. Hovering over the Driver icon will show the list of documents/certifications at fault and other issues like having the same Driver on more than one Route, Driver is archived, Driver is scheduled based rather than set as Optimize using shortest route.


When a Driver is allocated to a Route and has documents/certifications that are past the expiry date or with status failed and these are set up as a prevent when dispatching, a red dot will show beside the Driver icon on the Route. Hovering over the Driver icon will show the list of documents/certifications at fault. The red dot will also show if no Drivers are allocated to a Route.


When the Route or Container is dispatched and there are warnings, warnings will show in different popup messages. Dispatcher will be able to still dispatch the Route.


When the Route or Container is dispatched and there are prevent, prevent reasons will show in different popup messages. Dispatcher will not be able to dispatch the Route.



Optimization

Route Optimization

In previous releases, when a Route was not set to end at Warehouse, it would still attempt to do the last delivery as close to the Warehouse as possible. This changed the how the Route stops were optimized.

In this release, the constraint to end closer to the Warehouse was removed which will change the way Routes were optimized and Routes that took longer may now be shorter. 

If you wish to go back to the way it was previously optimized, make sure to check the return to Warehouse on the Route Plan/Route.



Administration

Users

You can now change the email of an internal user. This will change the login as well as the email used in Orders, Audit and Order list. 

1) Open Settings>System and click on an internal user in the list.

2) Change the email address and click Save.


Self-Serve Roles

New Self-Serve Roles are available to limit what the Self-Serve users can do beyond the two types that existed before:

Admin

User

Once deployed, all Account users who had the Admin checkbox checked will be assigned the Account Administrator role. The other Account users will be assigned the Account User role. 
This will allow functionality for the Account users to stay the same until you decide to make a change.


Permissions by Role Type

There are two Role types available for Self-Serve/Account users:

Admin(Self-Serve): this is reserved for the Administrator as it allows permission to see Orders created by all users, access to the Account contacts as well as the contact on the user, and access to the Dashboard.

User (Self-Serve): this is used for the Users as it allows them to see Orders created by the user and access to the User contacts only.


The following permissions are available for Account Users:

  • Contacts: Contacts can be editable or, if the edit button is unchecked, visible but locked. User will only see the contacts created by the user or on behalf of the user. 
  • Customer Routes:  This gives access to the  Routes through the API
  • Orders: Orders can be set as View only or as Edit access or no Access. If no Access, the Orders menu will no longer be visible. If set to View or Edit, user will only see the Orders created by the user or on behalf of the user.
  • Orders-Cancel: This allows users to cancel orders according to the setting on the Order Profile under Account, Profiles. Users must have a minimum of view access to Orders for this action to be available, even if checked.
  • Orders-Generate Report: This allows the user to see the Generate Report button in Order List. User must have a minimum of view access to Orders for this action to be available even if checked.
  • Orders-Prices: This allows user to see prices in the Order List and on the Order Details. User must have a minimum of view access to Orders for this permission to be available, even if checked.
  • Import Orders: If set to View, user can see the list of imports created by the user or on behalf of the user, download logs and import files but will not be able to import. If set to Edit, user can import a file and have the Orders created.
  • Order Templates: If set to View, user can see the Order Templates but will not be able to create an Order Template during Order creation, nor be able to edit the Order Template. 
    If set to Edit, user can create Order Template during Order creation and be able to edit the Orders that are set as editable for Account Users.
  • Order Templates-Delete: If set, this gives users access to delete order templates set to be modified by the account users.  


Additional permissions available for Account Administrator:

  • Dashboard: This gives access to the Dashboard and is only available to the Admin (SelfServe) role type. 
  • Contacts: Contacts can be editable or, if the edit button is unchecked, visible but locked. Admin will see the contacts created by the admin or on behalf of the admin as well as the contacts on the Account.
  • Orders: Orders can be set as View only or as Edit access or no Access. If no Access, the Orders menu will no longer be visible. If set to view or edit, admin will see all Orders created on the Account.
  • Import Orders: If set to View, admin can see the list of all imports, download logs and import files but will not be able to import. If set to Edit, admin can import a file and have the Orders created.


Edit an existing Account Role

1) Open Settings>Configurations>System>Roles.

2) In the list of Roles, find the Roles of type User (SelfServe) or Admin (SelfServe).

3) Click on the Role to open it:

4) Check/Uncheck permissions, then click on Save.

Role will take about 5 minutes to update. 
Account user will have to log out and log back in to see the changes.


Create a new Account Role

1) Open Settings>Configurations>System>Roles.

2) Click on New Role.

3) First select the Role Type, either SelfServe Admin or User:

Upon selection, the list of permission will change according to the type. 
Once the role is saved, the type cannot be changed.

4) Enter the role name.

5) Select Permissions.

6) Click Save.

You can now assign this role to an Account User. Please review xxx



Companies

Prevent Using Special Characters in Prefix Field

To prevent issues with Orders, the Prefix field only allows entering letters, numbers, dash (-) and underscore (_).


Dynamic Views

Dates with Time Zone

Views will now show the Time Zones on dates if they are different than the logged-in User.


Scripts

Order Update

Set Workflow Step as Active/Inactive

You can now set Workflow steps as active or inactive in the Order Update script. 


Example:

private async Task SetAllWorkflowStepsInactive(IWorkflowUpdater workflowUpdater)
{
if (workflowUpdater != null)
{
foreach (var step in workflowUpdater.Steps)
{
if (step.IsActive)
{
await step.SetIsActive(false);
}
}
}
 }


To set all Workflow steps as inactive:

await SetAllWorkflowStepsInactive(sOrder.PickupWorkflow);
await SetAllWorkflowStepsInactive(sOrder.DeliveryWorkflow);


For more information, please review: 

https://github.com/dispatchscience/DispatchScience.Scripting/blob/main/Dispatch.Scripts.Abstractions/Interfaces/IWorkflowReader.cs



API

Tenant API

Subscription Modification

If a Subscription using the same URL, matches multiple entity types (Order and/or Account and/or Company), the URL will only be called once for each subscribed event. 


Account User Creation Modification

In the Account User creation, the field IsAdmin was change to Role. 

This field should now contain the Role Id.

Body for POST/api /v1 /accounts /{accountId} /users:

{
"email": "v_YC-mMTPviN4X4Txxw@noXRTMRPTMF-nRUCCGBxJkYEyxjScAdIIqfJHP-UpS3PvcW4X9HwEQWS.XQmWNtaZnSOTfuuPXmiKFUSzuuIqsCfjXTJJJiZRVjkFpHTgAcyf",
"password": "string",
"userName": "string",
"phoneNumber": "string",
"faxNumber": "string",
"referenceNumber": "string",
"contactLanguage": "string",
"role": "string",
"notes": "string",
"sendInvoices": true,
"sendOrderNotifications": true
}


OData

BatchOrders

The BatchOrders table allows us to find the source of an order created from an import, a Recurrence, or a Recurring Route. To find the information, the BatchOrders table is used with the Orders table. The Orders table BatchId field links to the BatchOrders Id field.

Fields

Id: Id can be linked from table Orders on BatchId field. 

Source: Import (0), Recurrence (1), Recurring Route (2)

SourceId: Please use one of the following;
For Import: Import Id in Dispatch Science
For Recurrence: Recurrence Id, Template Id can be found in field CreatedWithOrderTemplateId from Orders table

For Recurring Route: RoutePlanId_RoutePlanZoneRecurringId_RecurringRouteId. 


Orders

Added field ReceivedOnPickupFrom


OrderHistory

Exception code fields (both primary and secondary language)  added to the Orders are available through the OrderHistory:

ExceptionCodesNamePrimary

ExceptionCodesNameSecondary


License Plates Tables

Two new tables were added to show the License Plates and their items:


LicensePlates contains the list of License Plates:

Barcode: License Plate barcode

Id: Internal Id of License Plate. This is used to find the Items within the License Plate in the LicensePlateItems table.

Status: License Plate status (Created, Deleted)

UsedId: The ID of the user who created the License Plate.

CreatedDate: Date when License Plate was created. 


The items within the License Plates are in the LicensePlateItems table:

OrderId: Order containing the item added to the License Plate. This can be used to link to the Orders and OrderItemDetails tables.

LicensePlateId: Can be linked to the Id found under LicensePlates table.

Id: Id of item in the License Plate.

ItemId: Item Id in the Order. Use this field and OrderId to link to get information about the item in the OrderItemDetails table.

NestedLicensePlateId: License Plate Id of a License Plate that was scanned within another License Plate.

Barcode: Barcode of Item or Nested License Plate.

ScanTime: Date and time when Item or Nested License Plate was added.