# JDispatch

JDispatch User Documentation

# Release Notes

Collection of version changes made to JDispatch

# Dashboard V3.6.2 [2022/01/29]

#### JDispatch Web Dashboard Release Notes for V3.6.2

The following enhancements / bug fixes have been released for JDispatch

##### Enhancements for all users

- Addition of 'Delivered' panel in the standard map kiosk. Can add this new panel via the admin settings.
- Kiosk panel can also, optionally, show pickups as well. Also able to add this via admin settings.
- Modifications to better scroll delivery lists in the kiosk when there are more than visible on screen
- Cleaned up the map legend icons to take up less space
- Made better use of the kiosk map size
- Updates to the kiosk panels to be consistent with the regular dashboard delivery tables
- Security patches

##### Additional enhancements for premium users

- No premium specific updates in this release

##### Bug Fixes

- Fixed bug where Suppliers could not be edited in a secondary branch
- Fixed the signature pop-over to click in/out and only show one at a time
- Fixed customer filtering on history tables
- Fixed rare situation where kiosk summary table showed deliveries for the incorrect date

# JDispatch Mobile App V3.3.2 [2021/09/14]

#### Release notes for the JDispatch Mobile Application released 2021/09/14

<p class="callout info">This update is currently only available for beta testers. To join the JDispatch beta, please follow the [steps to join](https://docs.amscomp.com/books/jdispatch/page/joining-jdispatch-beta "Joining JDispatch Beta")</p>

- Updated security modules
- Support for Android R
- Updated signature module
- Introduced the ability to take a picture of delivery vs. take signature
- Bug Fixes

# Dashboard V3.6.1 [2021/09/14]

#### JDispatch Web Dashboard Release Notes for V3.6.1, released 2021/09/14

The following enhancements / bug fixes have been released for JDispatch

##### Enhancements for all users

- General user interface improvements

##### Additional enhancements for premium users

- Prep for next release of mobile app which will include ability to take photos of deliveries vs. signatures.

##### Bug Fixes

- Corrected displaying of supplier / customer delivery statistics
- Back-end security patches

# Dashboard V3.6 [2021/07/02]

#### JDispatch Web Dashboard Release Notes for V3.6, released 2021/07/02

The following enhancements / bug fixes have been released for JDispatch

##### Enhancements for all users

- Improved Route Optimization
- Inclusion of Pick-ups in route optimization
- Addition of 'Rush' delivery indicator icon on delivery listing screen  
    [![image-1625252688812.png](https://docs.amscomp.com/uploads/images/gallery/2021-07/scaled-1680-/image-1625252688812.png)](https://docs.amscomp.com/uploads/images/gallery/2021-07/image-1625252688812.png)

##### Additional enhancements for premium users

- Additional information added to, and cleanup of delivery location window, accessed by clicking on the location button in delivery listing screen  
    [![image-1625252815812.png](https://docs.amscomp.com/uploads/images/gallery/2021-07/scaled-1680-/image-1625252815812.png)](https://docs.amscomp.com/uploads/images/gallery/2021-07/image-1625252815812.png)
    
    [![image-1625252856108.png](https://docs.amscomp.com/uploads/images/gallery/2021-07/scaled-1680-/image-1625252856108.png)](https://docs.amscomp.com/uploads/images/gallery/2021-07/image-1625252856108.png)
- Addition of 'Route Review' screen, accessed via the delivery location window  
    [![image-1625252962168.png](https://docs.amscomp.com/uploads/images/gallery/2021-07/scaled-1680-/image-1625252962168.png)](https://docs.amscomp.com/uploads/images/gallery/2021-07/image-1625252962168.png)
    
    
    - Route review screen will show the optimized route suggested to the driver, along with the order of stops included
- New KPI metrics added to JDispatch Dashboard 
    - Rush Deliveries - Number of rush deliveries dispatched. Aimed to help identify if there are too many rush deliveries in a day.
    - Delivery Efficiency - Percentage of deliveries completed before the estimated delivery time calculated during route optimization
    - Delivery Window - Window (in minutes) that deliveries are completed when compared to estimated delivery time calculated during optimization

##### Bug Fixes

- Corrected issues found in pickup summary reporting
- Corrected issues in optimization when both a regular AND rush order for the same customer were assigned to a single run
- Fixed a bug where the sort/filtering functions were not working in delivery pickup history reports
- Fixed a bug where the sort/filtering functions were not working in the pickup summary screen.
- Speed on location map for some users was reporting in Metres per second, not Kilometres per hour. This has been resolved.

# JDispatch Mobile App V3.3 [2021/06/12]

#### Release notes for the JDispatch Mobile Application released 2019/06/12

- Full overhaul of GPS module.
- Introduced ability to check status of and reset GPS functions within settings page
- Updates to route optimization to include pickups
- Bug fixes

# Dashboard V3.5 [2020/12/30]

#### JDispatch Web Dashboard Release Notes for V3.5, released 2020/12/30

The following enhancements / bug fixes have been released for JDispatch

- Additional status options (Received/Hold/Shipped) 
    - Ability to modify status on delivery listing screen
    - Optional ability to automatically add orders as 'Received' when they are printed
- Curbside pickup (For premium users) 
    - SMS integration
    - Ability to notify dispatch staff of waiting customer via AMS PBX system
- Integration with Counterpoint Cloud Platform QuickDial module
- Icon updates
- Back-end performance enhancements
- Changes for consistency across look-ups
- Fixed bug allowing duplicate suppliers to be added with same ID

# Dashboard V3.4 [2020/04/29]

JDispatch Web Dashboard Release Notes for V3.4, released 2020/04/29

- Introduction of 2 new status types 'Received' and 'In Pick' 
    - Includes ability to adjust these statuses within the delivery listing page
- Creation of new kiosk page to show all orders in process (Received / In Pick) and processed (In Transit / Delivered)
- Updates to delivery listing page status updates
- Bug fixes: 
    - Error when trying to view signature in history listing
    - Delivered invoices continuing to flash as updated

# Dashboard V3.3 [2019/12/23]

#### JDispatch Web Dashboard Release Notes for V3.3, released 2019/12/23

This release of the JDispatch dashboard contains enhanced features for our Premium level users

##### New Features &amp; Enhancements

- **Real-time smooth scroll map for Premium users:** Premium users now have the ability to adjust the frequency at which their devices update position information on the JDispatch server. This allows the dashboard map to update device location real-time and navigate the device pins on the map without refresh. This also applies to the Kiosk maps.
- **Introduction of driver alert reporting:** With the increased ping times from our mobile app, we can also enable Premium users to pull driver alert reports based on the Max speed and Max idle time set on your account.  
    The new report is found under the 'Reports / Extracts' menu and can be generated for a date range, by driver or for all drivers. Both extended idle and overspeed errors are displayed in the report, which can be exported to excel by clicking the 'Export to Excel' button in the top right of the report panel. You can also view the location of extended idles alerts by clicking the icon in the 'Location' column.  
    Parameters for the driver alert reporting are found under **Admin &gt; Site Settings.** Default parameters are 15 minute idle time and overspeed of 125km.
- **Navigation consolidation:** Similar navigation buttons have been grouped together in the navigation bar in an effort to tidy up the site navigation

##### Bug Fixes

- Fixes to pick-up requests wherein only a portion of the parts are picked up.
- Fixes to Kiosk navigation URL
- Security Fixes
- Fix where pick-up screen refresh only showed picked up listings.
- Fixed mobile site navigation not showing.
- Corrected the real-time update of delivery time showing on cancelled delivery invoices.

# Dashboard V3.2 [2019/06/12]

#### JDispatch Web Dashboard Release Notes for V3.2, released 2019/06/12

- Enhanced password and site security
- Modification to non-admin user to hide total dollars delivered
- Introduction of 'Dispatcher' login with unique permissions as well as the ability to assign drivers
- Modifications to handle pick-up transactions to be signed for in store on a tablet
- Introduction of 'alerts' section in top navigation bar to notify users of dashboard an/or mobile app updates
- General Bug Fixes
- Introduced a new setting wherein users can define how frequently the mobile app will search for location information. This setting is the **minimum** amount of time that will elapse before attempting to find a new location.
- Style changes for the dashboard login page
- Migration of the driver communication module to Google Firebase Cloud messaging

# JDispatch Mobile App V3.2.23 [2019/06/12]

#### Release notes for the JDispatch Mobile Application released 2019/06/12

- Updated security modules
- Support for Android O/P/Q
- Migration to Google Firebase Messaging for system to driver communication
- Update to driver chat message display to not truncate message, and extend period of time from which messages will show.
- Back-end updates to the GPS tracking module
- Updated support for back-end integration - Big Fixes
- Bug Fixes

# JDispatch Web Dashboard

How-To Guides for the JDispatch Web Dashboard

# Dashboard

The JDispatch dashboard page provides you with a quick view of some key metrics on your delivery performance. These metrics are live and updated every 10 seconds.

### KPI Cards

[![image-1628548264433.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628548264433.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628548264433.png)

Quick-glance KPI cards are shown at the top of the page. The KPIs listed are :

- Deliveries Dispatched - Number of deliveries that have been dispatched with drivers today
- Delivery Confirmations - The number of delivery confirmations completed by your drivers today
- Orders Out For Delivery - The number of deliveries currently out with drivers
- Rush Deliveries\* - The number of 'Rush' type deliveries dispatched today
- Avg Process Time - The average amount of time between when the order is taken and when the order is dispatched.
- Total Dollars Delivered - The total value of all deliveries confirmed today
- Delivery Efficiency\* - The amount of deliveries that were confirmed within the optimized route ETA
- Avg. Delivery Window\* - The average minutes between an optimized delivery ETA and when the invoice was delivered  
    \*\* Denotes a premium user feature*

### Performance Graphs

Below the KPI cards are some basic performance graphs

[![image-1628548553573.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628548553573.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628548553573.png)

- Deliveries by Day - Lists deliveries and confirmations by day, over the past week, working backwards from today left to right
- Deliveries By Hour - Volume of deliveries, by hour, for today between 7am and current time.

### Performance Tables

After the graphs are two tables highlighting delivery volumes by driver and customer

[![image-1628548672119.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628548672119.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628548672119.png)

# Deliveries

### Overview

The deliveries tab in JDispatch lists all outstanding deliveries from previous days, as well as any deliveries dispatched or delivered today.

[![image-1628548836526.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628548836526.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628548836526.png)

### Features

#### Invoice PDF

[![image-1628549038533.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628549038533.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628549038533.png)

Clicking on the invoice number will open a .pdf copy of the selected invoice

#### Change Driver

[![image-1628549464352.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628549464352.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628549464352.png)

Clicking the edit icon next to the driver name for any undelivered transaction will present you with a drop-down to change the driver assigned to the selected invoice.

[![image-1628549475371.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628549475371.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628549475371.png)

Moving a delivery between drivers will add/remove that delivery from the device of the drivers involved and, for premium users, recalculate their routes

#### Change Delivery Status

[![image-1628549656163.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628549656163.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628549656163.png)

If you have opted in to see all 'In Progress' invoices, and your system is submitting in progress orders via the JDispatch API, you will have the ability to modify the status of a delivery. Clicking on the status button will present you with a listing of possible invoice statuses.

[![image-1628550069835.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628550069835.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628550069835.png)

- Received - Order has been received by the system, but no action has been taken yet
- In Pick - Item is currently in pick. At this point, you could modify the driver to a user who may be picking the order and it will show in the shipping kiosk mode
- Hold - The transaction is on hold. May be picked, but not yet ready for pickup. These items do not show on any devices
- Ready - The transaction is ready to be dispatched. Ready can be used for pickup deliveries where you have a tablet or similar device at your pickup counter. Any ready transactions assigned to a pickup 'driver' will display on that device
- Shipped - This is for non-delivery transactions and will close the transaction out. Once a transaction is marked as shipped, you can no longer modify the status.

<p class="callout info">In Transit and Delivered are not options here as traditional deliveries should be processed via our API. Any dispatch documents posted for a 'in progress' transaction will modify that transaction's status automatically.</p>

#### Signature Recall

[![image-1628550639628.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628550639628.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628550639628.png)

For any delivered invoice, clicking on the status button will present you with a copy of the signature taken at time of confirmation. It will also display any name that was entered at time of confirmation.

[![image-1628550720326.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628550720326.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628550720326.png)

#### Delivery Location

<p class="callout info">This is a premium user feature</p>

Both delivered and in transit transactions may have a small location icon button available.

[![image-1628550933916.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628550933916.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628550933916.png)

Clicking on the location button will present you with an info window of the driver's current location for any transactions currently in transit, or the location where the invoice was confirmed for any transactions that have been delivered.

[![image-1628551011449.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628551011449.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628551011449.png)

##### Delivery Run Review

<p class="callout info">Run review will include markers for both deliveries and pickups on a selected run</p>

You can optionally review the original optimized route by pressing the[![image-1629411994804.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629411994804.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629411994804.png)icon

[![image-1629411409789.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629411409789.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629411409789.png)

This replaces the content of the delivery / driver location map and replaces it with the optimized route overlaid onto the map. Each stop is numbered based on it's optimized sequence, and the markers will change to green as the deliveries are completed. The blue location pin indicates where the driver currently is.

#### Delivery ETA

<p class="callout info">This is a premium user feature</p>

Premium users also have a color-coded ETA badge on all in transit deliveries. If a delivery could not calculate an ETA due to a poorly formed address, a simple 'Unavail' message will show

[![image-1628551117151.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628551117151.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1628551117151.png)

The ETA color coding has 4 color schemes:

- Black - Invoice has been delivered. Time displayed here is the time the invoice was delivered
- Green - On Time. The time shown is the ETA for this delivery, and the driver still appears to be on track to make the delivery
- Yellow - Close. The time shown is the ETA for this delivery, but the current time is with a 10 minute window before or after the calculated ETA
- Red - Late. The time shown is the originally calculated ETA, but it is now more than 10 minutes past the ETA.

# Curbside Pickup

<p class="callout info">This is a premium user feature and requires additional setup prior to going live. If you are interested in utilizing JDispatch curbside pickup, please call us at **1-800-663-1978**</p>

#### Overview

JDispatch curbside pickup allows your customers to notify your dispatch team of their arrival and provides information to your dispatcher through the JDispatch web dashboard to allow them to bring product out to the customer and, optionally, take a signature.

#### Process For Customers

##### Wholesale Customers

- Customer Texts: PICKUP
- System Responds: *Hi, please enter your account number.*
- Customer Texts their account number
- System Responds with a list of any orders currently ready for pickup, and asks them to enter their stall number
- Customer texts back with a stall number
- System responds: *Thank You! We have notified our dispatcher and will be out to stall* **\[STALL NUMBER\]** *with your order(s) shortly. Please note that we may ask for ID to confirm pickup.* [![image-1629478420079.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629478420079.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629478420079.png)
- The system will then post all of that information into the 'Curbside Pickup' screen, assigned to a 'pickup' driver associated with your branch. The pickup driver is usually assigned to a tablet running off the branch WiFi.  
    [![image-1629478478710.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629478478710.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629478478710.png)
- From there, users of our phone system would get a page in to their dispatch area over the phone to let the dispatcher know that someone was waiting curbside. Not sure if that will be possible with your phone system. Possibly.
- Staff can then bring the invoices out, and take e-signature at the vehicle.

##### Retail Customers

- Customer Texts: HERE
- System Responds: *Hi, please enter your order number.*
- Customer Texts their order number 
    - *This can be provided via email using the autoecat retail 'pick up in store' feature*
- System Responds with the status of the order and, if it is ready, will as what stall the customer is in
- Customer texts back with a stall number
- System responds: *Thank You! We have notified our dispatcher and will be out to stall* **\[STALL NUMBER\]** *with your order(s) shortly. Please note that we may ask for ID to confirm pickup.* [![image-1629479277776.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629479277776.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629479277776.png)
- The system will then post all of that information into the 'Curbside Pickup' screen, assigned to a 'pickup' driver associated with your branch. The pickup driver is usually assigned to a tablet running off the branch WiFi.  
    [![image-1629478478710.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629478478710.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629478478710.png)
- From there, users of our phone system would get a page in to their dispatch area over the phone to let the dispatcher know that someone was waiting curbside. Not sure if that will be possible with your phone system. Possibly.
- Staff can then bring the invoices out, and take e-signature at the vehicle.

# Pickups / Returns

#### Overview

This tab shows a listing of all outstanding pickups and allows you to create pickup requests. Pickups are used only within the jDispatch module at this time, and are a useful way to keep your staff informed of the status of warehouse pickups as well as keep tabs on core &amp; warranty returns from customers.

#### Creating A Pickup

- To create a pickup request, click the **Create** button in the top right corner of the **Pickups / Returns - Today** panel.  
    [![image-1629479867309.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629479867309.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629479867309.png)
- Once clicked, the **Add New Pickup Request** modal will show  
    [![image-1629479980876.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629479980876.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629479980876.png)
- Start by selecting the type of pickup (Customer or Supplier/Warehouse), then select the customer or supplier they should be visiting. To pick a customer or supplier, begin typing in the name. A number of options should start to display. Once the one you wish to select is visible, just click on their name.
- If it is a customer pickup and there are any drivers currently assigned a delivery to that customer, that driver will be automatically selected as the driver. You can change this. If there are no drivers currently scheduled to deliver products to this customer, please select a driver to assign the pickup to.
- In the information field, type in any notes you want to be visible to the driver when they view the pickup request on their phone.
- If there are specific parts to be picked up, you may enter them in the **Items to be picked up** As you type in the first field, another part field will appear.
- Clicking the **Create** button at the bottom will finalize the pickup request and send it to the selected driver. It will also appear in the pickup listing table

#### Adding items to a pickup request

Once a pickup is created, you can add additional items to the pickup request via the pickup listing

- Click the expand down button next to the pickup you want to add to
- Enter in part information such as part number, qty, PO and who is requesting the item
- Click the green plus symbol button to the right of the part entry row

[![image-1629480958223.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629480958223.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629480958223.png)

#### Removing items from a pickup request

Once a pickup is created, you can remove items from the pickup via the pickup listing

- Click the expand down button next to the pickup you want to add to
- Click the red X button next to the item you wish to remove

[![image-1629481071983.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629481071983.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629481071983.png)

#### Change driver assigned to pickup request

Any pickup requests that have not been completely confirmed can have the assigned driver changed

- Click the edit icon next to the driver's name on any delivery you wish to change  
    [![image-1629481207884.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629481207884.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629481207884.png)
- This will present you with a drop-down of drivers to select. Once you select a driver, the pickup request will be transferred to that driver, and their device will receive a notification of the change

#### View Pickups by Part number

You can optionally change the view of pickup requests to view the requests by part number in case you have a part number specific question you need answered.

- Click the **List By Part** button in the top right of the **Pickups / Returns - Today** panel  
    [![image-1629481339124.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629481339124.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629481339124.png)
- This will change the pickup panel view to list the requests by part  
    [![image-1629481379285.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629481379285.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629481379285.png)

# Driver Communication

### Overview

The his tab shows a small conversation box for each driver that has signed in, or had any deliveries or pickups assigned to them today.

### Functions

<p class="callout info">The driver communication functions are one-way communication only. </p>

Typing a message in the box labled *Type your message here* and clicking the **Send** button will send a message to the driver and notify them much like a text message.

# Using The Web Dashboard

# Basic Usage Notes

- The jDispatch Dashboard acts as your portal to not only review and analyze your deliveries and delivery performance, but also communicate with your drivers, request part pickups and configure your jdispatch mobile application.
- This document will review all tabs of the dashboard, starting at the top.

# Logging In, Menus and Navigation

- To log into your jDispatch dashboard, open an internet browser and go to [http://www.jdispatch.ca](http://www.jdispatch.ca).
- Each branch will have their own login.
- From there, your credentials are: 
    - Login: \_\_\_\_\_\_\_\_\_\_\_/ Password: \_\_\_\_\_\_\_\_\_\_\_\_\_\_
- Once logged in, the jDispatch dashboard menus are all found on the left part of the screen. To log out, click the red log out button in the top right corner.

# Dashboard

- The main Dashboard tab is a quick snapshot of some key performance indicators.
- First are the ‘live cards’. The blue boxes along the top. These are updated as confirmations are sent back to the system, so you may notice the values change while you are viewing the page. 
    - Deliveries Dispatched: The is a count of how many deliveries have been dispatched today.
    - Delivery Confirmations: This is the total count of confirmed deliveries for today.
    - Out For Delivery: This is a count of how many deliveries are currently en route.
    - Avg Process Time: This is the average time between invoicing and dispatch for any invoices beneath the ‘Rush Limit’ threshold (see the settings section for more info).
    - Avg Delivery time: This is the average time between dispatch and delivery for any invoices beneath the ‘Rush Limit’ threshold (see the settings section for more info).
    - Total Dollars Delivered: This is the total (to the nearest dollar) of invoices that have been delivered.
- Next we have the daily/weekly graphs. These are updated when the dashboard is launched and may need a page refresh to update. 
    - Deliveries By Day: This graph shows, by day, the deliveries and confirmations done in the past week
    - Deliveries by Hour: This shows, by hour, the number of confirmed deliveries today.
    - Deliveries by Customer: This is a table of all customers who have been delivered to today, the number of dispatched and delivered invoices and the average delivery time by customer.
    - Deliveries by driver: This is the number of dispatched and delivered invoices by driver.

# Corporate Live Stats

- This tab shows all of the ‘live cards’ for each branch in your organization. For a little friendly competition, the best delivery and dispatch times as well as highest dollars delivered will show in green, while the rest show in red.

# Deliveries

- This tab shows a listing of all invoices that have been dispatched in the past 24 hours or had any action on them today. Each column can be sorted by clicking on the column heading. The customer, driver and status field can also be filtered by selecting a value from the drop down list in the heading, and the customer name can be filtered by typing into the text box in the heading.
- Delivered invoices will show the time of delivery, while in transit invoices show the current age of the invoice from time of dispatch.
- Clicking the green **Delivered** button will reveal the confirmation for that invoice. If it was signed for, a signature will be available.
- Clicking on the invoice number will open a .pdf copy of the invoice.
- The delivery listing will update every 20 seconds, so the content may change while you are viewing it.
- In the top right of the delivery listing panel is a ‘refresh’ button to force the table to refresh.

# Pickups

- This tab shows a listing of all outstanding pickups and allows you to create pickup requests. Pickups are used only within the jDispatch module at this time, and are a useful way to keep your staff informed of the status of warehouse pickups as well as keep tabs on core &amp; warranty returns from customers.
- To create a pickup request, you want to click the **Expand** button on the right side of the **Create Pick-Up Request**
- Start by selecting the type of pickup (Customer or Supplier/Warehouse), then select the customer or supplier they should be visiting.
- If it is a customer pickup and there are any drivers currently assigned a delivery to that customer, that driver will be automatically selected as the driver. You can change this. If there are no drivers currently scheduled to deliver products to this customer, please select a driver to assign the pickup to.
- In the information field, type in any notes you want to be visible to the driver when they view the pickup request on their phone.
- If there are specific parts to be picked up, you may enter them in the **Items to be picked up**  As you type in the first field, another part field will appear.
- Clicking the **Create Pickup Request** button at the bottom will finalize the pickup request and send it to the selected driver. It will also appear in the pickup listing table.

# Driver Communication

- This tab shows a small conversation box for each driver that has signed in, or had any deliveries or pickups assigned to them today.
- Typing a message in the box labled *Type your message here* and clicking the **Send** button will send a message to the driver and notify them much like a text message.

# Driver Location

- The driver location tab is a map that shows where each driver currently is. The initial view of the map should contain all drivers that are currently out for pickups or deliveries.
- To the right of the map is a list of the drivers, by name. Clicking on any of these names will pan the map to that driver and open an info window for that driver.
- The driver’s info window contains the following: 
    - Their Name
    - Their current speed
    - Their last delivery, the invoice delivered, the time is was delivered and to whom it was delivered.
    - The invoices they still have on board to deliver.
    - A box to type a message and send it to them.

# Data Extracts

- The data extracts tab allows you to do an extract of detailed delivery information for a given time frame, for specific drivers or customers.
- Select the date range, customer and/or driver. Only a date range is required.
- Once the information is entered, click the **Extract**  Once the extract is complete, a small box will appear below the **Extract** button with a .csv file name. Clicking on this link will download the csv file to your PC.
- The csv file contains the following info: 
    - Invoice, Status, Branch, Customer #, Customer Name, Order Date, Dispatch Date, Delivery Date, Time to deliver, driver ID, Driver Name, Invoice Total, Recipient

# Delivery History

- The delivery history tab allows you to do a quick search for deliveries, by day, without having to extract a file.
- Select a start and end date and click the **Submit**
- The **Delivery history Listing** panel will update with all deliveries for the date range provided. The table is sortable and filterable much like the delivery listing tab.
- Clicking the invoice number will give you a .pdf copy of the invoice, and clicking the green **Delivered** button will show the confirmation info and signature if applicable.

# Register Phones

- This tab allows you to register phones and reassign devices. For more info on registering your phone for the first time, please refer to the jDispatch phone setup document.
- To reassign a phone when drivers switch phones, simply find the unit number of the phone in question (Once a phone is registered, the unit number will always display in the app when opened). Drag the blue **Unit** button over to the box next to the drivers name who will have the device. When the green check appears, the device is

assigned.

# Site Settings

Dashboard Settings

- These settings have a direct affect on how the dashboard operates and displays
- Rush Order Time Limit: Changing this value will adjust what the ‘Live Cards’ on the kpi dashboard use as a time limit. This is aimed to help weed out dispatched invoices that shouldn’t be measured, such as stock orders.
- Timezone: This should be set for your current timezone and is used for display of times in the dashboard.
- Language: This setting controls the language for both the dashboard and all associated mobile devices.

Mobile App Settings

- Allow Confirmation Without Signature: Checking this option will enable the **Confirm** only button in the app. Meaning that the driver will not be forced to obtain a signature
- Activate GPS Tracking: This tells the mobile devices to submit their position to the jDispatch server. Disabling this will disable all map features.
- Require Recipient Name: Checking this will require that the driver type a name in when getting a customer’s signature.

User Profile

- This panel is more for aesthetics and allows you to change your password.
- Update Password: Key a new password in here, and repeat it in the **Confirm Password** box to update your user password.
- Homepage: This is not currently used.
- Logo: This is the logo that appears in the top left corner of the dashboard.
- Direct Access Link: This link can be used as a shortcut to allow counterstaff to access basic features of jDispatch without having to log in.

# Admin Function

### Overview

The admin section provides a number of functions used in the configuration and setup of the web dashboard

### Corporate Live Stats

This page shows key metrics of all branches belonging to the JDispatch Sponsor

### Customers / Suppliers

This page allows you to search key metrics specific to certain customers and/or suppliers. You can also add new suppliers here.

#### Viewing Customer Statistics

[![image-1633028940923.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1633028940923.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1633028940923.png)

To view a specific customer's info. Begin typing into the **Enter Customer/Supplier Name** field. Matching customers will display. Cick the desired customer and the cards below will update.

#### Adding / Changing Suppliers

From the main Customer / Supplier page, click the **Create** button to create a supplier or **Edit** button to edit an existing supplier

[![image-1633029086994.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1633029086994.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1633029086994.png)

In the modal that pops up, enter in the following:

**Select Type -** Select either Supplier or Customer  
**Account Number -** Enter in a UNIQUE number for this customer and/or supplier you are adding  
**Name -** Enter a name to show in the system  
**Phone Number -** Enter a valid phone number. This can be used within the mobile app to call  
**Address** - Key in a valid address. This will be used to provide route directions and optimization

### Register Phones

This tab allows you to register phones and reassign devices. For more info on registering your phone for the first time, please refer to the jDispatch phone setup document.

To reassign a phone when drivers switch phones, simply find the unit number of the phone in question (Once a phone is registered, the unit number will always display in the app when opened). Drag the blue **Unit** button over to the box next to the drivers name who will have the device. When the green check appears, the device is assigned.

### Site Settings

#### Dashboard Settings

These settings have a direct affect on how the dashboard operates and displays

[![image-1633029686599.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1633029686599.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1633029686599.png)

- Rush Order Time Limit: Changing this value will adjust what the ‘Live Cards’ on the kpi dashboard use as a time limit. This is aimed to help weed out dispatched invoices that shouldn’t be measured, such as stock orders.
- Estimated Time per stop (min): This value is added on to each delivery when calculating ETA times
- ETA Safety Padding (%): Each leg of a delivery is then multiplied with this percentage of padding built in when reporting ETA times
- Timezone: This should be set for your current timezone and is used for display of times in the dashboard.
- Language: This setting controls the language for both the dashboard and all associated mobile devices.
- Show 'In Progress': Display invoices with statuses of Received, In Pick and Ready within the dashboard

#### Mobile App Settings

[![image-1633029811174.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1633029811174.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1633029811174.png)

- Confirm w/o Signature: Checking this option will enable the **Confirm** only button in the app. Meaning that the driver will not be forced to obtain a signature
- Activate GPS Tracking: This tells the mobile devices to submit their position to the jDispatch server. Disabling this will disable all map features.
- Require Recipient Name: Checking this will require that the driver type a name in when getting a customer’s signature.
- Optimize Routes: This will automatically optimize the delivery and pickup route round trip from the branch
- GPS Frequency: Frequency that the app will report it's time to the JDispatch server

#### JDispatch Kiosk Settings

These settings are specific to the JDispatch Kiosk. A small, purpose specific, device that can be plugged into a TV or large display to report status of deliveries to warehouse staff

[![image-1633029927452.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1633029927452.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1633029927452.png)

- Show deliveries en route: Show current deliveries that are out
- Show live update map: Show a large, live updating map of all drivers and their current locations
- Show outstanding pickups: Include 'pick up' transactions in the kiosk listing of transactions

#### Driver Warning / Stats

These settings are used in conjunction with the driver alert reporting.

[![image-1633030089877.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1633030089877.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1633030089877.png)

- Max Speed: Any speed reported to the JDispach server that is above this value will be listed in the driver alert reporting as an 'over speed' alert.
- Driver Max Stop: Driver's reporting in the same location for a duration longer than this value will be reported in the driver warning listing.

#### Curbside Pickup Settings

These settings are used when activating the curbside pickup feature

[![image-1633030265963.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1633030265963.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1633030265963.png)

- SMS Phone Number: The phone number that users will text into to interact with your JDIspacth curbside module.
- Notification Page Number: An optional phone number that can have an automated message sent to when customers call in a pickup.

#### User Profile

<div id="bkmrk-this-panel-is-more-f"><div><svg class="svg-icon" data-icon="link" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg><div>This panel is more for aesthetics and allows you to change your password.</div></div></div>- Update Password: Key a new password in here, and repeat it in the **Confirm Password** box to update your user password.
- Homepage: This is not currently used.
- Logo: This is the logo that appears in the top left corner of the dashboard.
- Direct Access Link: This link can be used as a shortcut to allow counterstaff to access basic features of jDispatch without having to log in.

# JDispatch Mobile App

# Using The Mobile App

# Basic Usage Notes

- Once you have registered your phone with the jDispatch server, you will be able to properly launch the jDispatch app. If you haven’t yet registered your device, please refer to the jDispatch phone setup document.

# Deliveries and Delivery Confirmation

- Each time a delivery is assigned to your driver from the host system, you will be sent a notification to your phone. This notification will simply say **New Deliveries**, and will update the app with all of the recently assigned delivery information.
- To view all currently assigned deliveries, tap the **List Deliveries** You will be presented with a full summary listing of all current deliveries. Tapping on any of these lines will take you to the detail of the invoice(s) for the selected customer. 
    - If you do not see any deliveries, you may need to ensure that the final confirmation of dispatch was completed on the host system
- Once in the delivery detail screen, you will see a broken down listing, by invoice, of all invoices to be delivered.
- Tapping any of these invoices will reveal the basic totals for the invoice (sub-total, taxes, etc). You can also check the line item detail by tapping the green **Part Detail**
- From this screen, you can also get driving directions to the customer by tapping on the icon in the top right of the header bar. You can also phone the customer by tapping the icon next to the customer’s name.
- Based on your configuration, you have to options to confirm delivery of the invoice(s). 
    - First, you can tap the **Confirm** button at the bottom of your screen. This will simply confirm that the invoice was delivered, with no real proof of delivery. In the jDispatch dashboard, this is recorded as “Confirmed by driver”
    - Second, you can collect a signature. Tap the **Sign and Confirm** button, and a new screen will be presented where the customer is able to sign with their finger or stylus, you are able to type in their name, and then submit confirmation to the host system. Upon confirmation, both the signature and recipients name are saved into the dashboard and available for future reference.

# Pickups and Pickup Confirmations

- The basic idea behind pickups in jDispatch, currently, is that a pickup acts as a note identifying the fact that a part, or many parts need to be picked up from either a customer or supplier. These can be old cores or warranty products from a customer, or a number of special order items from the local warehouse. Pick ups act as an easy way for your staff to know what items are due to be coming in, and when they are on their way.
- Each time a pickup request is created in the jDispatch dashboard (Please see the jDispatch dashboard documentation for more on creating pickup requests), you will be sent a notification to your phone. This notification will simply say **New Pickups**, and will update the app with all of the recently assigned pickup information.
- To view all currently assigned deliveries, tap the **Supplier Pickups** You will be presented with a full summary listing of all current pickups. Tapping on any of these lines will take you to the detail of the pickup for that selected customer or supplier. 
    - If you do not see any pickup requests, you may need to ensure that the final confirmation of dispatch was completed on the host system
- In the pickup detail screen, you are given basic info about what customer/supplier the parts are to be picked up from as well as a text note as entered when the request was created. You may also see part number details, based on how the request was entered.
- To confirm that a pickup is complete, you simply tap the red **Confirm** button along the bottom, and the confirmation is reported back to the jDispatch dashboard as information to your dispatcher and/or counter staff.

# Driver Communication

- The driver communication module provides a quick and easy way to relay any important messages to your drivers without having to phone them.
- When a message is sent from the jDispatch dashboard, you will be notified on your phone to the presence of a new message.
- This message will show on the jDispatch mobile app home screen along with the time it was sent. Currently, driver communication is only 1 way from the system to the driver to avoid any liabilities surrounding distracted driving laws.

# Additional Notes / Configuration Options

- The following options can be controlled in the jDispatch dashboard. (For more information on the dashboard, please review the jDispatch dashboard documentation). 
    - The language of the mobile app. English, French and Spanish are available
    - Requiring a signature on all deliveries
    - Requiring a recipients name be typed in
- If you happen to lose cell service or do not have a data plan, jDispatch will automatically switch to batch mode. You must, however, ensure that you have data service within your building, and receive the dispatch notification in order to be able to view the invoices.
- Once you get data service back, the phone will automatically upload any offline confirmations to the system with the proper confirmation times

# Setting Up A Device

### Overview

This document outlines the setup of new phones for use with the jDispatch module.

### Setting Up Drivers

The first thing that is required is to set up drivers in your integrated ERP. These steps will vary by system, so please confirm with your IT team how to set up drivers for use with JDispatch.

### Activiating Your Device

If this is a new android phone, you will also need to complete the initial setup of the phone so that you may download the JDispatch app. These steps may vary, but generally you just need to turn on the phone and follow the initial prompts to set up date, time, language, etc. When you reach the point of entering in an email address, you will need to enter in a valid Gmail email address. If you do not have one, you can set one up at gmail.com. Once it is set up, this email can be used on any number of devices.

There may be one or two more prompts aftwerwards, but you should end up at the basic android home screen.

### Install JDispatch

- Click on the android play store icon  
    [![image-1629996837507.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629996837507.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629996837507.png)
- In the top search bar, type in **jdispatch**. You may get back a number of results. Please make sure that you install **jdispatch** from AMS  
    [![image-1629996887480.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629996887480.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629996887480.png)
- Tap the listing, and tap the install button. If asked, accept permissions.  
    [![image-1629996970698.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629996970698.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629996970698.png)
- Once the app is installed, tap the options button in the top right. Ensure that **auto-update** is checked.  
    [![image-1629997061636.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629997061636.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629997061636.png)

### Sign In To JDispatch Dashboard

- Open an internet browser and go to the following URL:

[https://www.jdispatch.ca/dashboard.php](https://www.jdispatch.ca/dashboard.php)

- Log in with the your jdispatch admin credentials
- Click the **Register Phones** button on the left menu bar.  
    [![image-1629995912891.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629995912891.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629995912891.png)
- Once in the register devices screen, you should see a QR code underneath the device listing

### Open JDispatch and Allow Location Permissions

When you first open the app, it should ask a number of questions about permissions. These permissions must be allowed in order for JDispatch to properly report driver and delivery location

<p class="callout warning">If you deny any of these permissions, the driver's location may not be reported to the JDispatch server and the driver location map may not work correctly or at all.</p>

JDispatch requires location services to always be active, so you may receive a number of messages about allowing permissions

- Allowing JDispatch to access this device's location? This allows JDispatch to report the device location so that it can be reported in the JDispatch dashboard under the 'Driver Location' section  
    [![image-1629997282852.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629997282852.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629997282852.png)
- Allow JDispatch to access your physical activity? This allows JDispatch to register the speed that the device is travelling at so that it can properly move about in the driver location map.  
    [![image-1629997392997.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629997392997.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629997392997.png)
- Change location access for JDispatch? This will take you to a screen where you can allow JDispatch to report the device location all the time  
    [![image-1629997452714.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629997452714.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629997452714.png)
- Allow all the time. This ensures that the dashboard can know the location of the device even when JDispatch is not open.  
    [![image-1629997512251.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629997512251.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629997512251.png)

### Register The Device

Once you have allowed all driver permissions, youshould have a message warning you that the phone is not registered.

- Tap OK.  
      
    [![image-1629999452634.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629999452634.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629999452634.png)
- You should now see a red **Register Device** button. Tap this button. The first time you do this, the app may ask for additional permissions. You should allow JDispatch to take pictures while using the app.
    
    [![image-1629999548416.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629999548416.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629999548416.png)
- You will also be asked to allow the app to modify system settings. This enables the app to take pictures as well. Toggle the switch to allow this, and then tap the back arrow in the top left.  
    [![image-1629999660041.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1629999660041.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1629999660041.png)
- Tap the **Register Device**  Your camera should initialize.
- With the camera initialized, focus on the QR code on the screen you opened up the JDispatch dashboard.
- You should be presented with a message saying that you successfully registered your phone, and the 'Register Phone' button should be replaced with a 'Refresh Info' button.
- You will also notice a new entry in your jDispatch dashboard under **Registered Devices**.

### Assign a Driver to The Phone

- In the jDispatch dashboard that was opened up previously, you should see a listing of all your drivers that you have set up in in your ERP under **Driver/Device Assignment**.
- Click on the blue **Unit** button for the newly set up device and drag it over to the driver who will be using this device. Next to the driver’s name, a checkbox icon should appear. This means the assignment was successful.  
    [![image-1630000403561.png](https://docs.amscomp.com/uploads/images/gallery/2021-08/scaled-1680-/image-1630000403561.png)](https://docs.amscomp.com/uploads/images/gallery/2021-08/image-1630000403561.png)
- Now, back on the phone, tap the red **Refresh Info** button. You should see the driver’s name, and a unit number along the top. This confirms the proper assignment on the phone as well as the dashboard.

# Updating Sonim Devices

A number of Sonim XP7700 devices are registered with the JDispatch service. A number of these devices are currently running an older version of Android which will disable push notifications. An additional problem with these devices is that the built in Adnroid OS update no longer works.

In order to update these devices to a more current version of Android to enable push notifications, you will need to follow these steps:

<p class="callout info">In order to update, we will need to install an app outside the Play store which is direct from Sonim. </p>

1. Download a barcode scanner app. This one is recommended: [https://play.google.com/store/apps/details?id=com.google.zxing.client.android&amp;hl=en](https://play.google.com/store/apps/details?id=com.google.zxing.client.android&hl=en)
    1. From your device's home screen, open the app tray  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561480527859.png)
    2. Open the Play store app  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561481653490.png)
    3. Search for 'Barcode Scanner' and select the app from **ZXing Team**  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561481729025.png)
    4. Once the app is open, Click ****Install**** ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561481774022.png)
2. Enable unknown sources to install apps. 
    1. From the device's home screen, open your app tray  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561480527859.png)
    2. Open the **Settings** app  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561480574700.png)
    3. Navigate to ****Security**** ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561480627053.png)
    4. Select the **Unknown Sources** option  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561480662232.png)
    5. You will see a warning message on screen. This is expected, please tap **OK**.  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561480680438.png)
    6. Return to the main home screen.
3. Now, you can install the Sonim updater app. 
    1. From your device's home screen, open the app tray  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561480527859.png)
    2. Open the newly installed barcode scanner app
    3. Scan this barcode  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561481008846.png)
    4. Tap the link in the scanner window  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561482034301.png)
    5. Select to open the link with chrome. Select 'Just Once'  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561482048065.png)
    6. Tap the download button  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561482063306.png)
    7. When asked which app to use, select Drive. Select 'Just Once'  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561482059310.png)
    8. Accept the permissions  
        ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561482093246.png)
    9. Once the app is installed, elect to open it
    10. Tap ****Check Update**** ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1561482082450.png)
    11. a
    12. a
    13. a

# Updating The Mobile App

In scenarios where a device is not set to auto-update the JDispatch app, the following steps will need to be followed:

1. From the device's home screen, list all of your apps:  
    ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1560359102261.png)
2. From the listing of apps, scroll down to the Play Store app.  
    ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1560359350026.png)
3. Within the Play store app, select the menu option in the top left  
    ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1560359525594.png)
4. Select 'My Apps &amp; Games'  
    ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1560359614831.png)
5. All of your apps should now list. Under the 'Updates' heading, you may find JDispatch  
    ![](https://docs.amscomp.com/uploads/images/gallery/2019-06-Jun/scaled-840-0/image-1560360038935.png)
6. Click the 'Update All' button to update all apps, or the 'Update' button next to JDispatch to update just the JDispatch app.

# How to Find Your Android Version Number and Security Patch Level

This information is available in Android’s system-wide Settings screen. Whatever version of Android you’re using and whatever customizations your device’s version of Android has, you should be able to get to it in the same way.

Open the “app drawer” — the entire list of apps installed on your phone. It’s almost always a button at the bottom of your home screen, in the center.

![](https://www.howtogeek.com/wp-content/uploads/2015/10/img_561450cd0f752.jpg?trim=1,1&bg-color=000&pad=1,1)

Scroll through the list of installed apps and look for an app named “Settings”. Tap the Settings icon to enter Android’s system-wide Settings app.

![](https://www.howtogeek.com/wp-content/uploads/2015/10/img_561450e8763c0.png?trim=1,1&bg-color=000&pad=1,1)

Scroll down on the Settings screen and look for an “About phone”, “About tablet”, or “System” option. You’ll usually find this at the very bottom of the main Settings screen, under System, but depending on your phone it could be different. If you do find a specific option for System, you can usually find the “About Phone” underneath that.

![](https://www.howtogeek.com/wp-content/uploads/2015/10/img_561450f626962.png?trim=1,1&bg-color=000&pad=1,1)

Couldn’t find it? Depending on your phone, here are some places that you can find the Android version:

- Samsung Galaxy Phones: “About Phone” &gt; “Software Information”
- Stock Android: “System” -&gt; “About Phone” or “About Tablet”

On the resulting screen, look for “Android version” to find the version of Android installed on your device, like this:

![](https://www.howtogeek.com/wp-content/uploads/2015/10/img_5614510798107.png?trim=1,1&bg-color=000&pad=1,1)

It just displays the version number, not the code name — for example, it says “Android 6.0” instead of “Android 6.0 Marshmallow”. You’ll have to perform a web search or look up a list of Android codenames if you want to know the code name associated with the version. Here’s a current list:

- Android 11
- Android 10
- Android 9
- Android 8.0 – 8.1: Oreo
- Android 7.0: Nougat
- Android 6.0: Marshmallow
- Android 5.0 – 5.1.1: Lollipop
- Android 4.4 – 4.4.4: Kit Kat
- Android 4.1 – 4.3.1: Jelly Bean
- Android 4.0 – 4.0.4: Ice Cream Sandwich
- Android 3.0 – 3.2.6: Honeycomb
- Android 2.3 – 2.3.7: Gingerbread
- Android 2.2 – 2.2.3: Froyo
- Android 2.0 – 2.1: Eclair
- Android 1.6: Donut
- Android 1.5: Cupcake

Other fields here are also relevant. The “Model number” field tells you the name of your device, for example.

# Confirming App Permissions

<p class="callout info">These instructions are based on an Android P device. Your device screens may appear slightly different, but the menu options should still be available on your device.</p>

#### Direct method when app is open

1. Open up the app on your device. You should have a badge in the top banner of your screen.
2. Swipe your screen down from the top to get your notifications and menu. You should see a "JDispatch is running" or "AAG Dispatch is running" message. <p class="callout warning">\*\*\* Also confirm that the **Location** icon is enabled in this screen</p>
3. Tap the "JDispatch is running" / "AAGDispatch is running" message
4. You will be presented with the app options
5. Tap the 'Permissions' option
6. Ensure that all of the permissions are 'Allowed all the time'

#### When unavailable from top bar

1. Go into your device Settings by swiping down from the top of the screen
2. Go into the **Apps** section
3. Find the JDispatch app
4. Select the **Permissions** option
5. Ensure that **Location** permissions are 'Allowed all the time'

# Joining JDispatch Beta

<p class="callout danger">JDispatch beta is an early release app. Please be aware that there may be minor bugs or changes that are undocumented. All bugs or problems should be reported to <support@amscomp.com></p>

To join the JDispatch beta can be done via the google play app. Simply follow these steps to update your version of JDispatch to the beta test version.

- Open the play store app [![image-1631731336241.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1631731336241.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1631731336241.png)
- Search for and select JDispatch  
    [![image-1631731509061.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1631731509061.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1631731509061.png)
- In the JDispatch listing page, scroll to the bottom and tap 'Join' under the beta testing section  
    [![image-1631731457617.png](https://docs.amscomp.com/uploads/images/gallery/2021-09/scaled-1680-/image-1631731457617.png)](https://docs.amscomp.com/uploads/images/gallery/2021-09/image-1631731457617.png)

<p class="callout info">Please note that it can take up to an hour for the beta signup process to be complete. Once you have been added to the beta program, you can update the JDispatch app.</p>

# Developer Information

# API Documentation V3.0

# 1 Changelog

<table id="bkmrk-version-date-author-"><tbody><tr><td width="66">Version

</td><td width="88">Date

</td><td width="92">Author

</td><td width="378">Update

</td></tr><tr><td width="66">2.1.1

</td><td width="88">06/01/2016

</td><td width="92">Jim Potter

</td><td width="378">\- API release

</td></tr><tr><td width="66">3.0.0

</td><td width="88">12/28/2016

</td><td width="92">Jim Potter

</td><td width="378">\- JSON document introduction

\- Method consolidation &amp; deprecation

</td></tr><tr><td width="66">3.0.1

</td><td width="88">02/01/2017

</td><td width="92">Jim Potter

</td><td width="378">\- Versioning table

\- Correction to jdDriver xml sample

</td></tr><tr><td width="66">3.0.2

</td><td width="88">03/02/2017

</td><td width="92">Jim Potter

</td><td width="378">\- Updated Customer Field Length

</td></tr><tr><td width="66">3.0.3

</td><td width="88">07/11/2017

</td><td width="92">Jim Potter

</td><td width="378">\- Added deliveryResponse document to allow for resend of deliveryReceipt in case of error/timeout

</td></tr></tbody></table>

# 2 General Overview

At its most basic, JDISPATCH allows delivery drivers to collect an electronic copy of a signature on a touch enabled mobile device. Beyond that, it can also track a driver’s location as well as act as a rudimentary messaging app on a data enabled mobile device. This application, however, will run in a ‘batch mode’ for devices without fill-time data capabilities. Allowing even remotely located customers to take advantage of JDISPATCH’s basic functionality.

## <a name="_Toc438477431"></a>2.1 Basic JDISPATCH web service functionality

A common, integrated, JDISPATCH transaction would have a fairly straight-forward flow. An order is placed on the seller’s system, and the seller’s system processes the order up to the point of being dispatched for delivery. At that point, the seller system generates a dispatch transaction for a driver to send one or more invoices to the JDISPATCH API. Once JDISPATCH receives notice of the delivery, it will notify the driver of a pending delivery and push the order detail to their device. From there, the driver would deliver the product and take a signature of the party receiving the product. That signature is then passed back to the JDISPATCH server where it is saved off and available for future use. Once the signature is saved on the JDISPATCH server, it can optionally be passed back to the sellers system via the API if they wish to merge it on to an electronic copy of the invoice the customer received. After a delivery is made, the confirmation signature is instantly available within the JDISPATCH dashboard for any proof-of-delivery queries that may come in.

In addition, the seller has access to a number of tools to help them analyze their delivery performance. From within the JDISPATCH dashboard, a user sees real-time statistics of average processing and delivery time by driver and customer as well as driver efficiency. Beyond the real time statistics and graphs, the JDISPATCH user has the ability to extract detailed delivery information for analysis after the fact.

Communication between the driver’s mobile device and the JDISPATCH server does not have to be on-going. If the mobile device notices a loss of connectivity, it will operate in a ‘batch mode’ until connectivity is restored, at which point it will send through any deliveries that were processed during the loss of connectivity. Subsequently, any ‘batch’ transactions will be pushed back to the seller system at the time they are confirmed on the JDISPATCH server.

## 2.2 JDISPATCH Features

<table id="bkmrk-jdispatch-mobile-app" style="height: 729px;" width="692"><tbody><tr><td style="width: 385.556px;">**jDispatch Mobile Application**

</td><td style="width: 152.222px;">**Connected**

</td><td style="width: 152.222px;">**Batch Mode**

</td></tr><tr><td style="width: 385.556px;">Signature capture

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;">Yes

</td></tr><tr><td style="width: 385.556px;">Part delivery confirmation

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;">Yes

</td></tr><tr><td style="width: 385.556px;">Background location services

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">System to driver communication

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">Part pickup confirmation

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;">Yes

</td></tr><tr><td style="width: 385.556px;">‘One Off’ invoice scan and confirm

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">Push notifications

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">Driving directions

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">Route Optimization

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">**jDispatch Dashboard**

</td><td style="width: 152.222px;">**Connected**

</td><td style="width: 152.222px;">**Batch Mode**

</td></tr><tr><td style="width: 385.556px;">Real-time delivery analysis

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">Real-time corporate delivery metrics

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">Signature recall

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;">Yes

</td></tr><tr><td style="width: 385.556px;">Delivery analysis extracts

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;">Yes

</td></tr><tr><td style="width: 385.556px;">Pickup dispatch

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;">Yes

</td></tr><tr><td style="width: 385.556px;">Driver communication

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">Driver 'on map' location tracking

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;"></td></tr><tr><td style="width: 385.556px;">Dashboard configuration

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;">Yes

</td></tr><tr><td style="width: 385.556px;">Quick phone registration

</td><td style="width: 152.222px;">Yes

</td><td style="width: 152.222px;">Yes

</td></tr></tbody></table>

## 2.3 JDISPATCH Flow Diagram - Integrated

## 2.4 JDISPATCH Flow Diagram – Non-Integrated

# 3 Transaction API

## 3.1 Overview

In order for third-party systems to utilize the integrated features of JDISPATCH, they must utilize the JDISPATCH Transaction API, which allows third-party systems to create dispatch requests, and accept back subsequent delivery confirmations and signatures. The two transaction types utilized are a dispatch transaction and a delivery transaction

## <a name="_Toc448474574"></a>3.2 Basic JDISPATCH order transaction architecture

Overall, the JDISPATCH document stack can be broken down in to 2 main segments, delivery dispatch and delivery receipt. These two transactions would be the only **<u>required </u>**integration points for any third party system, as all other functionality of the product can be handled by the JDISPATCH web and mobile applications

1. **Delivery Dispatch:** This is the point where a delivery is dispatched from the third-party system
2. **Delivery Receipt**: This is a transaction that is passed back to a pre-configured URL utilized by the third-party system to take back delivery confirmations once they are processed by the JDISPATCH web application.

## <a name="_Toc448474576"></a>3.3 Document Structure

The information passed within a JDISPATCH API document can be sent via XML or JSON. All necessary information within a JDISPATCH API document is contained within an element tag. This is recognized by both a root &lt;jDispatchElement&gt; tag, and an ending &lt;/jDispatchElement&gt; tag. Empty elements are allowed within a JDISPATCH API document and will be ignored upon document validation on the JDISPATCH server.

AMS has done their best to select semantic element names to avoid confusion when translating documents. Also, all tag names use Camel Case, indicating that the first letter of each word will be capitalized, and all subsequent letters are lower case. The first letter of the &lt;jDispatchElement&gt; elements will, however, be lower case.

## <a name="_Toc448474578"></a>3.4 XML Schema

Each of the JDISPATCH document layouts are described in an XML schema document, or, template. If you are unfamiliar with a schema document, the W3C site provides more information on this topic here: [http://www.w3.org/standards/xml/schema](http://www.w3.org/standards/xml/schema). Detailed schemas are listed in Appendix B.

## <a name="_Toc448474579"></a>3.5 Document Sections

Each document contains 3 basic elements, a root &lt;jDispatchElement&gt; element, which will be named by the transaction type, either a &lt;jDispatchRequest&gt; or a &lt;jDispatchResponse&gt; &lt;DocHeader&gt; element and a &lt;DocContent&gt; element.

## <a name="_Toc448474581"></a>3.6 DocHeader

The header of each document contains identifying information that validates the request and the user sending the request. The required information will not change, regardless of the document type being used. The following attributes **<u>must</u>** exist on each incoming request’s header element

<table id="bkmrk-attribute-required-d" style="height: 1157px;" width="628"><tbody><tr><td style="width: 78.8889px;">**Attribute**

</td><td style="width: 78.8889px;">**Required**

</td><td style="width: 468.889px;">**Description**

</td></tr><tr><td style="width: 78.8889px;">**DocID**

</td><td style="width: 78.8889px;">Required

</td><td style="width: 468.889px;">A GUID to make each document uniquely identifiable

</td></tr><tr><td style="width: 78.8889px;">**DocType**

</td><td style="width: 78.8889px;">Required

</td><td style="width: 468.889px;">Defining the document type that is being sent

</td></tr><tr><td style="width: 78.8889px;">**Sender**

</td><td style="width: 78.8889px;">Required

</td><td style="width: 468.889px;">A unique identifier assigned to the sender.

</td></tr><tr><td style="width: 78.8889px;">**Date**

</td><td style="width: 78.8889px;">Required

</td><td style="width: 468.889px;">Time stamp of the document, to the millisecond per the ISO 8601 standard. YYYY-MM-DDThh:mm:ss

</td></tr><tr><td style="width: 78.8889px;">**apikey**

</td><td style="width: 78.8889px;">Required

</td><td style="width: 468.889px;">API Key provided to you from AMS

</td></tr><tr><td style="width: 78.8889px;">**env**

</td><td style="width: 78.8889px;">Required

</td><td style="width: 468.889px;">“TEST” or “PROD”

</td></tr></tbody></table>

## 3.7 DocType Types

<table id="bkmrk-document-description" width="0"><tbody><tr><td width="205">**Document**

</td><td width="418">**Description**

</td></tr><tr><td width="205">**deliveryDispatch**

</td><td width="418">Document to create a delivery

</td></tr><tr><td width="205">**deliveryReceipt**

</td><td width="418">Document sent on delivery confirmation

</td></tr><tr><td width="205">**deliveryResponse**

</td><td width="418">Document sent to confirm deliverReceipt

</td></tr><tr><td width="205">**jdCustomer**

</td><td width="418">Document to add a customer to the web

</td></tr><tr><td width="205">**jdDriver**

</td><td width="418">Document To add a driver to the web.

</td></tr><tr><td width="205">**deliveryDispatchResponse**

</td><td width="418">Response from deliveryDispatch document

</td></tr><tr><td width="205">**jdCustomerResponse**

</td><td width="418">Response from jdCustomer document

</td></tr><tr><td width="205">**jdDriverResponse**

</td><td width="418">Response from jdDriver document

</td></tr></tbody></table>

## <a name="_Toc448474584"></a><a name="_Toc448474582"></a>3.8 DocContent

The DocContent is much different than the DocHeader element in that the DocContent element will contain all of the information unique to the requested transaction type. A DocContent element may contain many elements of the same type, sending many invoices in one deliveryDispatch document. For example, this allows many invoices to be dispatched at a single time.

XML document examples can be found in Appendix A, and JSON examples can be found in Appendix B, defining element types and requirements.

# 4 Transaction Overviews

This section will give a general outline of each of the unique transaction types. For detailed XML examples, please refer to Appendix A, and for JSON examples, please refer to Appendix B.

## 4.1 jDispatchRequest DocType Overviews

**deliveryDispatch:** The **deliveryDispatch** transaction is the initial dispatch of a delivery to the JDISPATCH web application, and subsequently through to the defined mobile application running on a smart device. Additionally, any cancellations, manual receipts and deletions will be processed via this transaction.

The decision of what type of transaction is being passed is determined by the resquest document’s &lt;Status&gt; tag.

**A –** Add a delivery in to the jDispatch system. Drivers are notified of new deliveries added to their device via a push notification

**R –** Mark a delivery as Received, this is usually in the case of a delivery being as being picked up or received by the host system

**D –** Delete a delivery from the jDispatch system. This is usually a scenario where an invoice was inadvertently dispatched, and needs to be ‘pulled back’ to the host system for dispatch at a later time.

**C –** Cancel a delivery. This will mark a delivery as cancelled within the jDispatch system. Drivers are notified of cancelled deliveries, and confirmations are done against cancelled deliveries, putting them into a ‘Retired’ state when confirmed.

Deliveries are sent to the jDispatch system, one delivery batch per driver, and the response of the delivery will be within the &lt;Status&gt; tag of the response, with a response based on the response status table found in Appendix C, with the detail of any failures being reported in the response’s &lt;Message&gt; tag. A successful load of all deliveries will result in a SUCCESS &lt;Status&gt;, with the &lt;Message&gt; tag returning the unique run ID assigned to the delivery batch.

**jdCustomer:** Any maintenance to customer information (Add/Change/Delete) in the JDISPATCH web application needs to be done via the **jdCustomer** function &amp; transaction. Only basic information is passed for the purpose of enabling the functionality of the JDISPATCH web &amp; mobile applications. This transaction can have multiple customers passed, so bulk actions are possible. The possible statuses for this document are:

**A –** Add a new customer. Records passed with this status are assumed to be new customers, and the data is added to the system. If, for some reason, the customerID that is passed is already in the system, that customerID will be updated with the detailed information found in the document

**D –** Delete a customer. The customerID associated with this status will be deleted from the jDispatch system

**C –** Change a customer. The customer record associated with the customerID passed in this document will have its information updated based on the detail passed within the document.

**jdDriver:** Any maintenance to driver information (Add/Change/Delete) in the JDISPATCH web application needs to be done via the **jdDriver** function &amp; transaction. Only basic information is passed for the purpose of enabling the functionality of the JDISPATCH web &amp; mobile applications. This transaction can have multiple drivers passed, so bulk actions are possible. The possible statuses for this document are:

**A –** Add a new driver. Records passed with this status are assumed to be new drivers, and the data is added to the system. If, for some reason, the driverID that is passed is already in the system, that driverID will be updated with the detailed information found in the document

**D –** Delete a driver. The driverID associated with this status will be deleted from the jDispatch system

**C –** Change a driver. The driver record associated with the driverID passed in this document will have its information updated based on the detail passed within the document.

## 4.2 jDispatchResponse DocType Overviews

**deliveryReceipt:** The **deliveryReceipt** transaction is a transaction sent from the JDISPATCH web application to a pre-configured URL defined by the third-party system (if required). This document passes back the delivery time, signature and recipient for use within the third-party system. The signature image is a JPEG image, encoded with base64 encoding, passed through as an ASCII string and to be decompressed and converted to an image by the host system.

**deliveryResponse:** The **deliveryResponse** transaction is a transaction sent from the third-party system back to the JDISPATCH api server. This document will pass a status message indicating whether the deliveryReceipt document was accepted and properly processed, and whether to try re-sending. In the case of a failure and re-send request, the JDISPATCH api server will begin attempting to re-send the document. Upon 5 failures, the admin email on the sponsor’s account will be notified of the error.

**deliveryDispatchResponse:** This document will be in the format of the general jDispatchResponse. The basic SUCCESS or FAIL status will be reported by the &lt;Status&gt; tag, a &lt;Code&gt; tag will report a more detailed status with a response based on the response status table found in Appendix C for a **deliveryDispatch** document. Any detailed failure information is contained in the &lt;Message&gt; tag.

**jdCustomerResponse:** This document will be in the format of the general jDispatchResponse. The basic SUCCESS or FAIL status will be reported by the &lt;Status&gt; tag, a &lt;Code&gt; tag will report a more detailed status with a response based on the response status table found in Appendix C for a **jdCustomer** document. Any detailed failure information is contained in the &lt;Message&gt; tag.

**jdDriverResponse:** This document will be in the format of the general jDispatchResponse. The basic SUCCESS or FAIL status will be reported by the &lt;Status&gt; tag, a &lt;Code&gt; tag will report a more detailed status with a response based on the response status table found in Appendix C for a **jdDriver** document. Any detailed failure information is contained in the &lt;Message&gt; tag.

## 4.3 Notable Field Limits

**CustomerID –** Alpha/Numeric, Limit 15 characters.

**DriverID** – Alpha/Numeric, Limit 6 Characters.

**BranchID** = Numeric, Limit 4 digits.

# 5 Appendix A

## 5.1 XML Request Transaction Examples

**deliveryDispatch**

&lt;jDispatchRequest&gt;

 &lt;DocHeader&gt;

 &lt;DocID&gt;&lt;/DocID&gt;

 &lt;DocType&gt;deliveryDispatch&lt;/DocType&gt;

 &lt;SenderID&gt;&lt;/SenderID&gt;

 &lt;apiKey&gt;&lt;/apiKey&gt;

 &lt;env&gt;&lt;/env&gt;

 &lt;Date&gt;&lt;/Date&gt;

 &lt;/DocHeader&gt;

 &lt;DocContent&gt;

 &lt;DeliveryCount&gt;&lt;/DeliveryCount&gt;

 &lt;Delivery&gt;

&lt;BranchID&gt;&lt;/BranchID&gt;

 &lt;Status&gt;&lt;/Status&gt;

 &lt;OrderDate&gt;&lt;/OrderDate&gt;

 &lt;CustomerID&gt;&lt;/CustomerID &gt;

 &lt;DriverID&gt;&lt;/DriverID&gt;

 &lt;Invoice&gt;&lt;/Invoice&gt;

 &lt;SubTotal&gt;&lt;/SubTotal&gt;

 &lt;Taxes&gt;&lt;/Taxes&gt;

 &lt;Freight&gt;&lt;/Freight&gt;

 &lt;OtherChg&gt;&lt;/OtherChg&gt;

 &lt;DeliveryType&gt;&lt;/DeliveryType&gt;

 &lt;Total&gt;&lt;/Total&gt;

 &lt;Items&gt;

 &lt;LineCode&gt;&lt;/LineCode&gt;

 &lt;PartNumber&gt;&lt;/PartNumber&gt;

 &lt;Qty&gt;&lt;/Qty&gt;

 &lt;Price&gt;&lt;/Price&gt;

 &lt;Discount&gt;&lt;/Discount&gt;

 &lt;Extend&gt;&lt;/Extend&gt;

 &lt;/Items&gt;

 &lt;OverrideAddress&gt;

 &lt;Address&gt;&lt;/Address&gt;

 &lt;City&gt;&lt;/City &gt;

 &lt;Province&gt;&lt;/Province&gt;

 &lt;PostalCode&gt;&lt;/PostalCode&gt;

&lt;/OverrideAddress&gt;

 &lt;SignatureRequired&gt;&lt;/SignatureRequired&gt;

 &lt;/Delivery&gt;

 &lt;/DocContent&gt;

&lt;/jDispatchRequest&gt;

**jdCustomer**

&lt;jDispatchRequest&gt;

&lt;DocHeader&gt;

 &lt;DocID&gt;&lt;/DocID&gt;

 &lt;DocType&gt;jdCustomer&lt;/DocType&gt;

 &lt;SenderID&gt;&lt;/SenderID&gt;

 &lt;apiKey&gt;&lt;/apiKey&gt;

 &lt;env&gt;&lt;/env&gt;

 &lt;Date&gt;&lt;/Date&gt;

 &lt;/DocHeader&gt;

 &lt;DocContent&gt;

&lt;BranchID&gt;&lt;/BranchID&gt;

 &lt;Customer&gt;

 &lt;Status&gt;&lt;/Status&gt;

 &lt;CustomerID&gt;&lt;/CustomerID&gt;

 &lt;CustomerName&gt;&lt;/CustomerName&gt;

 &lt;Address&gt;&lt;/Address&gt;

 &lt;City&gt;&lt;/City&gt;

 &lt;Province&gt;&lt;/Province&gt;

 &lt;Country&gt;&lt;/Country&gt;

&lt;PhoneNumber&gt;&lt;/PhoneNumber&gt;

 &lt;/Customer&gt;

 &lt;/DocContent&gt;

&lt;/jDispatchRequest&gt;

**jdDriver**

&lt;jDispatchRequest&gt;

 &lt;DocHeader&gt;

 &lt;DocID&gt;&lt;/DocID&gt;

 &lt;DocType&gt;jdDriver&lt;/DocType&gt;

 &lt;SenderID&gt;&lt;/SenderID&gt;

 &lt;apiKey&gt;&lt;/apiKey&gt;

 &lt;env&gt;&lt;/env&gt;

 &lt;Date&gt;&lt;/Date&gt;

 &lt;/DocHeader&gt;

 &lt;DocContent&gt;

 &lt;Drivers&gt;

 &lt;Status&gt;&lt;/Status&gt;

&lt;BranchID&gt;&lt;/BranchID&gt;

 &lt;DriverID&gt;&lt;/DriverID&gt;

 &lt;DriverName&gt;&lt;/DriverName&gt;

 &lt;/Drivers&gt;

 &lt;/DocContent&gt;

&lt;/jDispatchRequest&gt;

## 5.2 XML Response Transaction Examples

**deliveryReceipt**

&lt;jDispatchResponse&gt;

 &lt;DocHeader&gt;

 &lt;DocID&gt;&lt;/DocID&gt;

 &lt;DocType&gt;deliveryReceipt&lt;/DocType&gt;

 &lt;SenderID&gt;&lt;/SenderID&gt;

 &lt;apiKey&gt;&lt;/apiKey&gt;

 &lt;env&gt;&lt;/env&gt;

 &lt;Date&gt;&lt;/Date&gt;

 &lt;/DocHeader&gt;

 &lt;DocContent&gt;

 &lt;CustomerID&gt;&lt;/CustomerID&gt;

 &lt;DriverID&gt;&lt;/DriverID&gt;

 &lt;DeliveryDate&gt;&lt;/DeliveryDate&gt;

 &lt;DeliveryTime&gt;&lt;/DeliveryTime&gt;

 &lt;Recipient&gt;&lt;/Recipient&gt;

 &lt;SignatureCode&gt;&lt;/SignatureCode&gt;

 &lt;Delivery&gt;

 &lt;Invoice&gt;&lt;/Invoice&gt;

 &lt;/Delivery&gt;

 &lt;/DocContent&gt;

&lt;/jDispatchResponse&gt;

**jdispatchResponse**

&lt;jDispatchResponse&gt;

 &lt;DocHeader&gt;

 &lt;DocID&gt;&lt;/DocID&gt;

 &lt;DocType&gt;&lt;/DocType&gt;

 &lt;SenderID&gt;&lt;/SenderID&gt;

 &lt;apiKey&gt;&lt;/apiKey&gt;

 &lt;env&gt;&lt;/env&gt;

 &lt;Date&gt;&lt;/Date&gt;

 &lt;/DocHeader&gt;

 &lt;DocContent&gt;

&lt;Status&gt;&lt;/Status&gt;

&lt;Code&gt;&lt;/Code&gt;

&lt;Message&gt;&lt;/Message&gt;

 &lt;/DocContent&gt;

&lt;/jDispatchResponse&gt;

**deliveryResponse**

&lt;jDispatchResponse&gt;

 &lt;DocHeader&gt;

 &lt;DocID&gt;&lt;/DocID&gt;

 &lt;DocType&gt;deliveryResponse&lt;/DocType&gt;

 &lt;SenderID&gt;&lt;/SenderID&gt;

 &lt;apiKey&gt;&lt;/apiKey&gt;

 &lt;env&gt;&lt;/env&gt;

 &lt;Date&gt;&lt;/Date&gt;

 &lt;/DocHeader&gt;

 &lt;DocContent&gt;

&lt;Status&gt;&lt;/Status&gt;

&lt;Code&gt;&lt;/Code&gt;

&lt;Message&gt;&lt;/Message&gt;

 &lt;/DocContent&gt;

&lt;/jDispatchResponse&gt;

# 6 Appendix B

## 6.1 JSON Request Examples

**deliveryDispatch**

{

 "jDispatchRequest": {

 "DocHeader": {

 "DocID": "",

 "DocType": "deliveryDispatch",

 "SenderID": "",

 "apiKey": "",

 "env": "",

 "Date": ""

 },

 "DocContent": {

 "DeliveryCount": "",

 "Delivery": {

 "BranchID": "",

 "Status": "",

 "OrderDate": "",

 "CustomerID": "",

 "DriverID": "",

 "Invoice": "",

 "SubTotal": "",

 "Taxes": "",

 "Freight": "",

 "OtherChg": "",

 "DeliveryType": "",

 "Total": "",

 "Items": {

 "LineCode": "",

 "PartNumber": "",

 "Qty": "",

 "Price": "",

 "Discount": "",

 "Extend": ""

 },

 "OverrideAddress": {

 "Address": "",

 "City": "",

 "Province": "",

 "PostalCode": ""

 },

 "SignatureRequired": ""

 }

 }

 }

}

**jdCustomer**

{

 "jDispatchRequest": {

 "DocHeader": {

 "DocID": "",

 "DocType": "jdCustomer",

 "SenderID": "",

 "apiKey": "",

 "env": "",

 "Date": ""

 },

 "DocContent": {

 "BranchID": "",

 "Customer": {

 "Status": "",

 "CustomerID": "",

 "CustomerName": "",

 "Address": "",

 "City": "",

 "Province": "",

 "Country": "",

 "PhoneNumber": ""

 }

 }

 }

}

**jdDriver**

{

 "jDispatchRequest": {

 "DocHeader": {

 "DocID": "",

 "DocType": "jdDriver",

 "SenderID": "",

 "apiKey": "",

 "env": "",

 "Date": ""

 },

 "DocContent": {

 "Driver": {

 "Status": "",

 "BranchID": "",

 "DriverID": "",

 "DriverName": ""

 }

 }

 }

}

## 6.2 XML Response Transaction Examples

**deliveryReceipt**

{

 "jDispatchResponse": {

 "DocHeader": {

 "DocID": "",

 "DocType": "deliveryReceipt",

 "SenderID": "",

 "apiKey": "",

 "env": "",

 "Date": ""

 },

 "DocContent": {

 "CustomerID": "",

 "DriverID": "",

 "DeliveryDate": "",

 "DeliveryTime": "",

 "Recipient": "",

 "SignatureCode": "",

 "Delivery": {

 "Invoice": ""

 }

 }

 }

}

**jdispatchResponse**

{

 "jDispatchResponse": {

 "DocHeader": {

 "DocID": "",

 "DocType": "",

 "SenderID": "",

 "apiKey": "",

 "env": "",

 "Date": ""

 },

 "DocContent": {

 "Status": "",

 "Code": "",

 "Message": ""

 }

 }

}

**deliveryReceipt**

{

 "jDispatchResponse": {

 "DocHeader": {

 "DocID": "",

 "DocType": "deliveryResponse",

 "SenderID": "",

 "apiKey": "",

 "env": "",

 "Date": ""

 },

 "DocContent": {

 "DocContent": {

 "Status": "",

 "Code": "",

 "Message": ""

 }

 }

}

# 7 Appendix C

## <a name="_Toc448474588"></a>7.1 Status Codes

The status codes below are used to report the status of requests sent to this API.

2XX - Success of some kind

4XX - Error occurred in client’s part

5XX - Error occurred in server’s part

<table id="bkmrk-status-code-descript" width="0"><tbody><tr><td width="112">**Status Code**

</td><td width="482">**Description**

</td></tr><tr><td width="112">200

</td><td width="482">OK

</td></tr><tr><td width="112">400

</td><td width="482">Bad request

</td></tr><tr><td width="112">401

</td><td width="482">Authentication failure

</td></tr><tr><td width="112">403

</td><td width="482">Improper Data Format

</td></tr><tr><td width="112">404

</td><td width="482">Invalid Document Type Passed

</td></tr><tr><td width="112">405

</td><td width="482">Invalid Document Structure

</td></tr><tr><td width="112">412

</td><td width="482">Condition Failed

</td></tr><tr><td width="112">413

</td><td width="482">Request Entity Too Large

</td></tr><tr><td width="112">460

</td><td width="482">dispatchReceipt failed – Resend requested

</td></tr><tr><td width="112">465

</td><td width="482">dispatchReceipt failed – Resend not required

</td></tr><tr><td width="112">500

</td><td width="482">Internal Server Error

</td></tr><tr><td width="112">501

</td><td width="482">Not Implemented

</td></tr><tr><td width="112">503

</td><td width="482">Service Unavailable

</td></tr></tbody></table>