NAV Navbar
json

Introduction

Welcome to RouteMAX!

We optimize city pickup and delivery operations by reducing driver miles while consistently meeting all service commitments for LTL fleets with 5 to 5,000+ trucks across your network.

Authentication

HTTP Request

POST https://{tenant}.routemax.com/token

The response body will be in the following form:

{
    "access_token": "accesstoken",
    "token_type": "Bearer"
}

You will have to pass the token_type followed by the access_token in the header of every call in order to access the APIs.

(ex: Bearer accesstoken)

RouteMAX uses client credential grant for authentication.

The client will send a POST request with the following body parameters with form content type (x-www-form-urlencoded):

Request Body

Key Value
grant_type client_credentials
client_id {client_id}.RouteMAX.{tenant}
client_secret {client_secret}

Inbound Planning

RouteMAX Hosted APIs

Input Shipments

The request body is expected in the following form:

{
        "terminal": "TPA",
        "planDate": "2018-10-16",
        "proId": "98765",
        "originTerminal": "JAX",
        "destTerminal": "TPA",
        "currentTerminal": "JAX",
        "shipmentDueDate": "2018-10-16",
        "shipmentStatus": "Dock",
        "isDelivery": true,
        "pieces": 1,
        "hu": 1,
        "weight": 30,
        "cube": 60,
        "isHazmat": true,
        "isApt": true,
        "aptDueDate": "2018-10-16",
        "billType": "E",
        "isTrailerDrop": true,
        "prepTime": 10,
        "earlyCTA": "08:55",
        "lateCTA": "08:55",
        "ibETA": "2018-10-16 05:00",
        "customerId": "136480",
        "customerName": "US FOODSERVICE",
        "address": "7004 E HANNA AVE",
        "city": "Tampa",
        "state": "FL",
        "zip": "33610",
        "latitude": 28.004917,
        "longitude": -82.37527,
        "openHours": "10:00",
        "closeHours": "17:00",
        "route": "21",
        "geoArea": "LCNH",
        "waveNumber": 1,
        "returnCode" :"",
        "receivingOpenHours1": "10:00",
        "receivingCloseHours1": "11:00",
        "receivingOpenHours2": "12:00",
        "receivingCloseHours2": "14:00",
        "shipperName": "ABC Freight",
        "shipperCode": "1016443",
        "shipperAddress": "7600, NW 5th Place",
        "shipperCity": "Gainesville",
        "shipperState": "FL",
        "shipperZip": "32607",
        "comments": "Use door no. 27",
        "priority": "GS5",
        "isLiftGate": true,
        "isPup": false,
        "isResidential": false,
        "isLimitedAccess": false,
        "iLine": "FED",
        "pse": 2.0
}

Push the shipment details into RouteMAX (information about each pro).

HTTP Request

POST https://{tenant}.routemax.com/api/io/InputShipments

Request Body

Parameter Description Required DataType
terminal Name of the terminal Yes String
planDate Date being routed Yes Date
proId Pro ID for the shipment Yes String
originTerminal Origin terminal for the shipment Yes String
destTerminal Destination terminal for the shipment Yes String
currentTerminal Current terminal of the shipment Yes String
shipmentDueDate Due date for the shipment Yes Date
shipmentStatus Shipment status No String
isDelivery Indicates if given shipment is a Delivery or Pickup Yes Boolean
pieces Bill of lading pieces (e.g., 1 pallet containing 25 boxes might be billed as 25 pieces) Yes Integer
hu Handling units (e.g., SW pallet containing 25 boxes is 1 HU) Yes Integer
weight Weight of the shipment Yes Integer
cube Cubic Feet No Integer
isHazmat Hazardous Material No Boolean
isApt Appointment Yes Boolean
aptDueDate Date for which appointment has been set, if applicable No Date
billType Early Bill or Late Bill based on Shipment Due date No String
isTrailerDrop Trailer Drop No Boolean
prepTime Minutes needed to crossdock shipment after arrival (e.g., if 60, then if ETA into terminal is 07:00, P&D route cannot leave before 08:00). No Integer
earlyCTA Early committed time of arrival Yes Time
lateCTA Late committed time of arrival Yes Time
ibETA Estimated or actual arrival time of shipment to destination terminal Yes DateTime
customerId Customer Code Yes String
customerName Customer Name Yes String
address Customer Address Yes String
city Customer City Yes String
state Customer State Yes String
zip Customer Zip Yes String
latitude Customer Latitude Yes Decimal
longitude Customer Longitude Yes Decimal
openHours Customer Receiving Open time Yes Time
closeHours Customer Receiving Close time Yes Time
route Carrier can give default route as starting point Yes String
geoArea The delivery route zone or geo-area the shipment typically belongs to Yes String
waveNumber Carrier can provide wave number to limit P&D departure time (e.g., shipment with linehaul ETA of 09:30 will not be put on P&D route leaving at 08:00) No Integer
returnCode Shipment return code (If null then the shipment is new, else it should contain any of the Return codes) No String
receivingOpenHours1 Default beginning of receiving hours for consignee (if not given, can be assumed as 08:00) Yes Time
receivingCloseHours1 Default end of receiving hours for consignee (if not given, can be assumed as 17:00) Yes Time
receivingOpenHours2 Receiving hours for consignee if there is a lunch break (if not given, can be assumed as blank) No Time
receivingCloseHours2 Default end of receiving hours for consignee if there is a lunch break (if not given, can be assumed as blank) No Time
shipperName Name of the shipper No String
shipperCode Shipper code No String
shipperAddress Address of the shipper No String
shipperCity City in which the shipper is located in No String
shipperState State in which the shipper is located in No String
shipperZip Zipcode of the shipper No String
comments User added comments for the shipments No String
priority Guaranteed Delivery Code No String
isLiftGate Does shipment require Lift Gate? Yes Boolean
isPup Does the shipment require pup trailer? Yes Boolean
isResidential Is shipment residential? Yes Boolean
isLimitedAccess Does the driver require any special paperwork/documentation to gain access to the customer facility? Yes Boolean
iLine Interline/ Agent (or) Partner Freight Code/ Name No String
pse Pallet Space Equivalent / Calculated Skid Equivalency Yes Integer

If posted successfully, the response will be a guid which can be used for tracking of the request.

Client Hosted APIs

Freight Bill Details (Optional)

The response body will be in the following form:

[{
    "proId": "1023256562",
    "itemLength": 4,
    "itemWidth": 5,
    "itemHeight": 6, 
    "isFreezable": true,
    "packageCode": "Box",
    "description": "",
    "pieces": 1,
    "weight": 275,
    "isFood": false,
    "isPoison": false
}]

To get additional details of shipments like Re-weigh, IsFreezable, Priority etc.

Note: This API is optional if we get PSE/SKE value in InputShipments

HTTP Request

GET https://{tenant}/api/freightBillDetails

Query Parameters

Parameter Description
Terminal Terminal Code

Response Body

Parameter Description Required DataType
proId Pro ID for the shipment Yes String
itemLength Length in inches of the item Yes Integer
itemWidth Width in inches of the item No Integer
itemHeight Height in inches the item No Integer
isFreezable Is the freight freezable? No Boolean
packageCode Package Code No String
description Freight Description No String
pieces Pieces Yes Integer
weight Weight Yes Integer
isFood Food Yes Boolean
isPoison Poison Yes Boolean

Special Instructions Details (Optional)

The response body will be in the following form:

[{
    "customerId": "9000001",
    "specialInstruction": "PUP REQUIRED"
}]

To get special instructions for a given CustomerID.

HTTP Request GET https://{tenant}/api/getSpecialInstructions

Query Parameters

Parameter Description
Terminal Terminal Code

Response Body

Parameter Description Required DataType
customerId Customer Code Yes String
specialInstruction Special Instructions No String

Wave Planning Data (Optional)

The response body will be in the following form:


  [{
    "waveNumber": 1,
    "waveCutoffTime1": "10:00",
    "waveCutoffTime2": "",
    "waveCutoffTime3": "",
    "waveCutoffTime4": "",
    "waveCutoffTime5": ""
  }]

To get wave data for a given Terminal and Plan date.

HTTP Request

GET https://{tenant}/api/getWavePlanningData

Query Parameters

Parameter Description
Terminal Terminal Code
Date Plan Date

Response Body

Parameter Description Required DataType
waveNumber Number of waves Yes Integer
waveCutoffTime1 Cutoff Time for Wave 1 Yes HH:MM
waveCutoffTime2 Cutoff Time for Wave 2 No HH:MM
waveCutoffTime3 Cutoff Time for Wave 3 No HH:MM
waveCutoffTime4 Cutoff Time for Wave 4 No HH:MM
waveCutoffTime5 Cutoff Time for Wave 5 No HH:MM

Anchor Point

The response body will be in the following form:

[{
    "anchorPointName":"West",
    "anchorPointLatitude":28.004917,
    "anchorPointLongitude":-82.37527,
    "anchorPointZip":"32065",
    "emptyTime": "12:00"
  }]

To get Anchor Point details.

Note: Anchor points can be generated from historical data also. Please refer Historical Data Analysis

HTTP Request

GET https://{tenant}/api/getAnchorPointData

Query String

Parameter Description
Terminal Terminal Code

Response Body

Parameter Description Required DataType
anchorPointName Anchor Point Name Yes String
anchorPointLatitude Anchor point Latitude Yes Decimal
anchorPointLongitude Anchor point Longitude Yes Decimal
anchorPointZip Anchor point Zip Yes String
emptyTime Time at which route should become empty at anchor point to begin pickups Yes Time

Driver Preferences (Optional)

The response body will be in the following form:

[{
    "driverId": "42345",
    "driverName": "John D",
    "driverStartTime": "11:00",
    "preferredZone": "SAN",
    "driverCutOffTime": "11:45"
  }]

To get driver area preferences and route start times.

HTTP Request

GET https://{tenant}/api/getDriverPreferencesData

Query String

Parameter Description
Terminal Terminal Code

Response Body

Parameter Description Required DataType
driverId ID/Code of Driver Yes String
driverName Name of Driver No String
driverStartTime Earliest route start time for driver Yes Time
preferredZone Zone / Geo Area the driver typically operates in No String
driverCutOffTime The latest time a driver can start a route No Time

Terminal Information

The response body will be in the following form:

[{
    "terminalCode": "ABY",
    "terminalName": "Albany, NY",
    "region": "NWB",
    "division": "4",
    "address": "4315 Albany St",
    "city": "COLONIE",
    "state": "NY",
    "zip": "12205",
    "latitude": "42.72858",
    "longitude": "-73.85264",
    "timezoneOffset": "-1.00",
    "terminalType": "Terminal"
  }]

To get a list of all terminals (or) service centers and their metadata (addresses, lat/lon, etc.).

Note: This information can be shared in CSV file format also, but we recommend APIs to automate tasks like new service center onboarding and daylight saving changes. CSV file format: Terminal Information File Template

HTTP Request

GET https://{tenant}/api/terminalinfo

Query String

Parameter Description
Terminal Terminal Code

Response Body

Parameter Description Required DataType
terminalCode Terminal Code Yes String
terminalName Name of terminal Yes String
region Region that the terminal belongs to (if applicable) Yes String
division Division that the terminal belongs to (if applicable) Yes Integer
address Street address of the terminal Yes String
city City of terminal Yes String
state State of terminal Yes String
zip Zip code of terminal Yes String
latitude Latitude of terminal Yes Decimal
longitude Longitude of terminal Yes Decimal
timezoneOffset Hours different from GMT during current routing day Yes Integer
terminalType Terminal Type Yes String

Trailer Inventory

The response body will be in the following form:

  [{
    "equipmentNumber": "123456",
    "class": "Van48LG",
    "liftGate": true,
    "length": 48,
    "capacity": 26
    }]

To get a list of all P&D trailers available for use at a terminal.

Note: This data can be shared in CSV file format also, we recommend API to get the trailer inventory dynamically. CSV file format:Trailer Inventory File Template

HTTP Request

GET https://{tenant}/api/trailerInventory

Query String

Parameter Description
Terminal Terminal Code

Response Body

Parameter Description Required DataType
equipmentNumber Equipment Number Yes String
class Class No String
liftGate If the trailer is liftgate Yes Boolean
length Length Yes Integer
capacity Pallet space capacity of the trailer Yes Integer

Output Routes Data

The request body is expected in the following form:


[{  
   "terminal":"TPA",
   "planDate":"2019-07-22",
   "routes":[  
      {  
         "route":"015",
         "loadCloseTime":"02:00",
         "routeStartTime":"09:00",
         "equipmentType":"Pup LG",
         "waveNumber":1,
         "inboundCutOffTime":"08:00",
         "routeMTYTime":"15:18",
         "isTrapRoute":false,
         "anchorPointLatitude":null,
         "anchorPointLongitude":null,
         "anchorPointZip":null,
         "shipments":[  
            {  
               "proId":"52955189871",
               "stopSeq":1,
               "loadZone":"T",
               "customerId":"1046800",
               "planArrivalTime":"09:38",
               "planDepatureTime":"11:10",
               "latitude":27.9350662231445,
               "longitude":-82.4505386352539
            }
         ]
       }
     ]
}]        

Push the plan (routes and shipments assigned to route) generated by RouteMAX to client system.

HTTP Request

POST https://{tenant}/api/publishRoutes

Request Body

Parameter Description Required DataType
terminal Terminal Name Yes String
planDate Plan Date Yes Date
routes
route Route Name Yes String
loadCloseTime Time at which city trailer loading will be complete and ready to leave Yes Time
routeStartTime Gate out time for driver Yes Time
equipmentType Trailer type assigned to given route No String
waveNumber Wave Yes Integer
inboundCutOffTime Wave cut off time Yes Time
routeMTYTime Route empty Time Yes Time
isTrapRoute Whether the route is trap or delivery route Yes Boolean
anchorPointLatitude Anchor point latitude No Decimal
anchorPointLongitude Anchor point longitude No Decimal
anchorPointZip Anchor point zip No String
shipments
proId Pro ID Yes String
stopSeq Stop Sequence Yes Integer
loadZone Loading Zone Yes String
customerId Customer Code Yes String
planArrivalTime Estimated arrival time Yes Time
planDepatureTime Estimated departure time Yes Time
latitude Latitude of customer Yes Decimal
longitude Longitude of customer Yes Decimal

Dispatch

RouteMAX Hosted APIs

Close Trailer

The request body is expected in the following form:

{
    "manifestNumber": "123456",
    "terminalCode": "ABC",
    "trailerNumber": "568994",
    "routeName": "35_1",
    "dispatchDate": "2020-12-13",
    "tractorNumber": "985755",
    "eventDateTime": "2020-12-13 18:39:13"
}

Push the trailer and manifest data to RouteMAX whenever a trailer is closed

HTTP Request

POST https://{tenant}.routemax.com/api/dispatch/CloseTrailer

Request Body

Parameter Description Required DataType
manifestNumber Manifest Number Yes String
terminalCode Terminal Code Yes String
trailerNumber Trailer Number Yes String
routeName Name the route Yes String
dispatchDate Date on when this dispatch is happened Yes Date
tractorNumber Tractor Number No String
eventDataTime Time at when this event happened Yes Date Time

If posted successfully, 200 response code will be returned.

Create Pickup

The request body is expected in the following form:

{
  "pickupNumber": "1234567",
  "terminalCode": "DAL",
  "eventDateTime": "2021-02-01 06:49:17"
}

Trigger to send pickup to RouteMAX when it is created in different systems

HTTP Request

POST https://{tenant}.routemax.com/api/dispatch/pickup/create

Request Body

Parameter Description Required DataType
pickupNumber Pickup Number Yes String
terminalCode Terminal Code Yes String
eventDataTime Time at when this event happened Yes Date Time

If posted successfully, 200 response code will be returned.

Update Pickup

The request body is expected in the following form:

{
  "pickupNumber": "1234567",
  "terminalCode": "DAL",
  "eventDateTime": "2021-02-01 06:49:17"
}

Trigger to send pickup to RouteMAX when it is updated in different systems

HTTP Request

POST https://{tenant}.routemax.com/api/dispatch/pickup/update

Request Body

Parameter Description Required DataType
pickupNumber Pickup Number Yes String
terminalCode Terminal Code Yes String
eventDataTime Time at when this event happened Yes Date Time

If posted successfully, 200 response code will be returned.

Create BOL

The request body is expected in the following form:

{
  "proNumber": "77003860500",
  "terminalCode": "ATL",
  "eventDateTime": "2021-02-01 06:40:07"
}


HTTP Request

POST https://{tenant}.routemax.com/api/dispatch/pickup/addBol

Request Body

Parameter Description Required DataType
proNumber EDI Pro Number Yes String
terminalCode Terminal Code Yes String
eventDataTime Time at when this event happened Yes Date Time

If posted successfully, 200 response code will be returned.

Dispatch Cancel

The request body is expected in the following form:

{
    "terminalCode": "ATL",
    "trailerNumber": "12334",
    "manifestNumber": "123456",
    "driverNumber": "1243",
    "tractorNumber": "",
    "eventDateTime": "2021-02-08 08:11:00.000"
}

API to send dispatch cancellation event to RouteMAX

HTTP Request

POST https://{tenant}.routemax.com/api/dispatch/dispatchCancel

Request Body

Parameter Description Required DataType
terminalCode Terminal Code Yes String
manifestNumber Manifest Number Yes String
trailerNumber Trailer Number Yes String
driverNumber Driver Number for which dispatch is being cancelled No String
tractorNumber Tractor Number No String
eventDataTime Time at when this event happened Yes Date Time

If posted successfully, 200 response code will be returned.

Arrive Trailer

The request body is expected in the following form:

{
    "terminalCode": "ATL",
    "trailerNumber": "12234",
    "manifestNumber": "1234567",
    "driverNumber": "1234",
    "tractorNumber": "",
    "arrivalStatus": "ArrivedAtYardUnloading",
    "eventDateTime": "2021-02-08 08:11:00.000"
}

API to send data to RouteMAX when dispatcher updates the trailer status on behalf of the driver

HTTP Request

POST https://{tenant}.routemax.com/api/dispatch/trailer/arriveTrailer

Request Body

Parameter Description Required DataType
terminalCode Terminal Code Yes String
manifestNumber Manifest Number Yes String
trailerNumber Trailer Number Yes String
driverNumber Driver Number for which trailer is being arrived Yes String
tractorNumber Tractor Number No String
arrivalStatus Arrival Status for the trailer Yes String
eventDataTime Time at when this event happened Yes Date Time

If posted successfully, 200 response code will be returned.

Update Trailer

The request body is expected in the following form:

{
    "terminalCode": "ATL",
    "trailerNumber": "123456",
    "destTerminal": "TPA",
    "trailerStatus": "MTY",
    "latitude": 78.123,
    "longitude": -67.124,
    "eventDateTime": "2021-02-08 08:11:00.000"
}

API to send trailer status to RouteMAX whenever it gets updated.

HTTP Request

POST https://{tenant}.routemax.com/api/dispatch/trailer/updateTrailer

Request Body

Parameter Description Required DataType
terminalCode Terminal Code Yes String
trailerNumber Trailer Number Yes String
destTerminal Destination terminal for the trailer Yes String
trailerStatus Trailer Status Yes String
latitude Latitude No Decimal
longitude Longitude No Decimal
eventDataTime Time at when this event happened Yes Date Time

If posted successfully, 200 response code will be returned.

Client Hosted APIs

Manifest Details

The request body is expected in the following form:

[
  {
    "terminalCode": "ABC",
    "trailerNumber": "78954138",
    "manifestNumber": "7877774",
    "routeName": "0026",
    "shipmentType": "D",
    "proNumber": "748596445689",
    "manifestStatus": "EMPTY",
    "loadingZone": "F",
    "dockWorkerCode": "98778",
    "dockWorkerName": "",
    "codAmount": 0,
    "freightAmount": 0,
    "pickupDate": "2020-11-03",
    "planDate": "",
    "companyCheck": false,
    "cash": false,
    "isAPT": false,
    "earlyCTA": null,
    "lateCTA": null,
    "closeDateTime": "2020-11-09 14:46:00",
    "dispatchDateTime": "2020-11-09 14:48:00",
    "returnCode": ""
  }
]

To fetch the shipments details loaded into the trailer as part of the manifest

HTTP Request

GET https://{tenant}/api/manifest/<<ManifestNumber>>

Response Body

Parameter Description Required DataType
terminalCode Terminal Code Yes String
trailerNumber TrailerNumber to which this manifest is associated to No String
manifestNumber Manifest Number Yes String
routeName Name of the route Yes String
shipmentType Delivery(D) or Pickup(P) Yes String
proNumber Pro Number Yes String
manifestStatus Status of the manifest No String
loadingZone Zone in which shipment is loaded Yes String
dockWorkerCode Dock worker code No String
dockWorkerName Name of the dock worker who loaded the shipment into the trailer No String
codAmount Cash on Delivery Amount No Number
freightAmount Freight Amount No Number
pickupDate Date on when pickup was made Yes Date
companyCheck Whether company check is required for this shipment No Boolean
cash Whether cash is accepted for this shipment Yes Boolean
isAPT Is Appointment Yes Boolean
earlyCTA Early committed time of arrival No Time
lateCTA Late committed time of arrival No Time
closeDateTime Date & Time at which this shipment is loaded into the trailer Yes Time
dispatchDateTime Date and Time at which shipment is dispatched No Time
returnCode Return code of the shipment if it is returned No String

Shipment Details

The response body will be in the following form:

[
  {
        "terminal": "TPA",
        "planDate": "2018-10-16",
        "proId": "98765",
        "originTerminal": "JAX",
        "destTerminal": "TPA",
        "currentTerminal": "JAX",
        "shipmentDueDate": "2018-10-16",
        "shipmentStatus": "Dock",
        "isDelivery": true,
        "pieces": 1,
        "hu": 1,
        "weight": 30,
        "cube": 60,
        "isHazmat": true,
        "isApt": true,
        "aptDueDate": "2018-10-16",
        "billType": "E",
        "isTrailerDrop": true,
        "prepTime": 10,
        "earlyCTA": "08:55",
        "lateCTA": "08:55",
        "ibETA": "2018-10-16 05:00",
        "customerId": "136480",
        "customerName": "US FOODSERVICE",
        "address": "7004 E HANNA AVE",
        "city": "Tampa",
        "state": "FL",
        "zip": "33610",
        "latitude": 28.004917,
        "longitude": -82.37527,
        "openHours": "10:00",
        "closeHours": "17:00",
        "route": "21",
        "geoArea": "LCNH",
        "waveNumber": 1,
        "returnCode" :"",
        "receivingOpenHours1": "10:00",
        "receivingCloseHours1": "11:00",
        "receivingOpenHours2": "12:00",
        "receivingCloseHours2": "14:00",
        "shipperName": "ABC Freight",
        "shipperCode": "1016443",
        "shipperAddress": "7600, NW 5th Place",
        "shipperCity": "Gainesville",
        "shipperState": "FL",
        "shipperZip": "32607",
        "comments": "Use door no. 27",
        "priority": "GS5",
        "isLiftGate": true,
        "isPup": false,
        "isResidential": false,
        "isLimitedAccess": false
  }
]

To fetch the shipment metadata for those shipments that were not part of Inbound Planning

HTTP Request POST https://{tenant}/api/shipmentDetails

Request Body Parameters

Parameter Description
terminalCode Terminal Code
proNumbers List of Pro Numbers

Response Body

Response Body should be same as InputShipments in Inbound Planning

Parameter Description Required DataType
terminal Name of the terminal Yes String
planDate Date being routed Yes Date
proId Pro ID for the shipment Yes String
originTerminal Origin terminal for the shipment Yes String
destTerminal Destination terminal for the shipment Yes String
currentTerminal Current terminal of the shipment Yes String
shipmentDueDate Due date for the shipment Yes Date
shipmentStatus Shipment status No String
isDelivery Indicates if given shipment is a Delivery or Pickup Yes Boolean
pieces Bill of lading pieces (e.g., 1 pallet containing 25 boxes might be billed as 25 pieces) Yes Integer
hu Handling units (e.g., SW pallet containing 25 boxes is 1 HU) Yes Integer
weight Weight of the shipment Yes Integer
cube Cubic Feet No Integer
isHazmat Hazardous Material No Boolean
isApt Appointment Yes Boolean
aptDueDate Date for which appointment has been set, if applicable No Date
billType Early Bill or Late Bill based on Shipment Due date No String
isTrailerDrop Trailer Drop No Boolean
prepTime Minutes needed to crossdock shipment after arrival (e.g., if 60, then if ETA into terminal is 07:00, P&D route cannot leave before 08:00). No Integer
earlyCTA Early committed time of arrival Yes Time
lateCTA Late committed time of arrival Yes Time
ibETA Estimated or actual arrival time of shipment to destination terminal Yes DateTime
customerId Customer Code Yes String
customerName Customer Name Yes String
address Customer Address Yes String
city Customer City Yes String
state Customer State Yes String
zip Customer Zip Yes String
latitude Customer Latitude Yes Decimal
longitude Customer Longitude Yes Decimal
openHours Customer Receiving Open time Yes Time
closeHours Customer Receiving Close time Yes Time
route Carrier can give default route as starting point Yes String
geoArea The delivery route zone or geo-area the shipment typically belongs to Yes String
waveNumber Carrier can provide wave number to limit P&D departure time (e.g., shipment with linehaul ETA of 09:30 will not be put on P&D route leaving at 08:00) No Integer
returnCode Shipment return code (If null then the shipment is new, else it should contain any of the Return codes) No String
receivingOpenHours1 Default beginning of receiving hours for consignee (if not given, can be assumed as 08:00) Yes Time
receivingCloseHours1 Default end of receiving hours for consignee (if not given, can be assumed as 17:00) Yes Time
receivingOpenHours2 Receiving hours for consignee if there is a lunch break (if not given, can be assumed as blank) No Time
receivingCloseHours2 Default end of receiving hours for consignee if there is a lunch break (if not given, can be assumed as blank) No Time
shipperName Name of the shipper No String
shipperCode Shipper code No String
shipperAddress Address of the shipper No String
shipperCity City in which the shipper is located in No String
shipperState State in which the shipper is located in No String
shipperZip Zipcode of the shipper No String
comments User added comments for the shipments No String
priority Any special Expedite requirements No String
isLiftGate Does shipment require Lift Gate? Yes Boolean
isPup Does the shipment require pup trailer? Yes Boolean
isResidential Is shipment residential? Yes Boolean
isLimitedAccess Does the driver require any special paperwork/documentation to gain access to the customer facility? Yes Boolean

Pickup Details

The response body will be in the following form:

{
  "pickupNumber": "1234557",
  "pickupDate": "2020-01-05",
  "weight": 36701,
  "packageCode": "",
  "pieces": 0,
  "readyTime": "17:00",
  "closeTime": "23:00",
  "shipperCode": "5555353",
  "shipperName": "ABC CORP",
  "shipperAddress": "4688 COBB PKWY",
  "shipperCity": "KENNESAW",
  "shipperState": "GA",
  "shipperZip": "12345",
  "contactName": "Andy Johnson",
  "contactPhone": "1234567890",
  "latitude": 30.0565,
  "longitude": -80.5545,
  "referenceNumber": "",
  "isPriority": false,
  "pickupMadeDateTime": null,
  "voidedDateTime": null,
  "pickupMadeBy": null,
  "pros": [
    {
      "proNumber": 0,
      "referenceNumber": null,
      "cube": null,
      "handlingUnits": 0,
      "isFreezable": false,
      "isLiftgate": false,
      "isResidential": false,
      "isLimitedAccess": false,
      "isInsidePickup": false,
      "isExcessiveLength": false,
      "isFood": false,
      "isPoison": false,
      "consigneeName": "",
      "consigneeAddress": null,
      "consigneeCity": "",
      "consigneeState": "",
      "consigneeZip": "",
      "consigneeCode": "",
      "consigneeCountry": null,
      "weight": 36701,
      "pieces": 0,
      "packageCode": "",
      "priority": "",
      "hazmatInfo": [
        {
          "uNumber": "UN3337",
          "packageType": "",
          "pieces": 1,
          "packageCode": "PT",
          "bulk": "",
          "class": "2.2",
          "weight": 499,
          "emergencyPhone": "0"
        }
      ]
    }
  ],
  "comments": [
    {
      "comment": "STACKABLE; No prefeence"
    },
    {
      "comment": "96894"
    },
    {
      "comment": "Done by Internet"
    }
  ]
}

To fetch the pickup metadata for the pickups

HTTP Request GET https://{tenant}/api/pickup/details/<<pickupNumber>>

Response Body

Parameter Description Required DataType
pickupNumber pickup number for the pickup Yes String
pickupDate Date for the pickup No String
weight weight of the pickup (in Lbs) No Integer
packageCode Package Code No String
pieces pieces in the pickup No Integer
readyTime Time at which pickup will be ready Yes Time
closeTime Time before which pickup should be collected Yes Time
shipperCode Shipper Code Yes String
shipperName Shipper Name Yes String
shipperAddress Address of the shipper Yes String
shipperCity City in which the shipper is located in Yes String
shipperState State in which the shipper is located in Yes String
shipperZip Zipcode of the shipper Yes String
contactName Contact Name No String
contactPhone Contact Phone No String
latitude Latitude Yes Decimal
longitude Longitude Yes Decimal
referenceNumber Reference Number No String
isPriority Is Pickup a Priority Pickup No Boolean
pickupMadeDateTime When pickup was Completed No String
voidedDateTime When pickup was Voided No String
pickupMadeBy Driver who completed the pickup No String
pros
proNumber Pro Number for the pickup shipment (Fill this if it is a preAssigned pro) No Integer
referenceNumber ReferenceNumber – pro level No String
cube Cubic Feet No Integer
handlingUnits Handling Unit No Integer
isFreezable Is the shipment freezable? Yes Boolean
isLiftgate Does shipment require Lift Gate? Yes Boolean
isResidential Is shipment residential? Yes Boolean
isLimitedAccess Does the driver require any special paperwork/documentation to gain access to the customer facility? Yes Boolean
isInsidePickup Does the driver need to do an inside pickup Yes Boolean
isExcessiveLength Is Shipment exceeding length Yes Boolean
isFood Is the shipment a food shipment Yes Boolean
isPoison Is the shipment a poison shipment Yes Boolean
consigneeName Consignee Name No String
consigneeAddress Consignee Address No String
consigneeCity City in which the Consignee is located in No String
consigneeState State in which the Consignee is located in No String
consigneeZip Zipcode of the Consignee Yes String
consigneeCode Consignee Code No String
consigneeCountry Country in which the Consignee is located in No String
weight weight of the shipment No Integer
pieces pieces in the shipment No Integer
packageCode package code of the shipment No String
priority Any special Expedite requirements No String
hazmatInfo
uNumber Hazmat Package UNumber No String
packageType Hazmat Package Type No String
pieces Hazmat pieces No Integer
packageCode Hazmat package code No String
bulk Hazmat bulk No String
class Hazmat Class No String
weight Hazmat weight No Integer
emergencyPhone Emergency Phone No String
comments
comment User added comments for the shipments No String

BOL Details

The response body will be in the following form:

{
  "ediProNumber": 77091480380,
  "consigneeCode": "",
  "consigneeName": "ABC CORP",
  "consigneeAddress1": "10234 N.W. 30TH STREET",
  "consigneeAddress2": "SUITE 11",
  "consigneeCity": "DORAL",
  "consigneeState": "DL",
  "consigneeZip": "12234",
  "consigneeCountry": "US",
  "shipperNumber": "",
  "shipperZip": "53610",
  "originTerminal": "HOU",
  "pieces": 1,
  "weight": 300,
  "packageCode": "SK",
  "addDateTime": "2020-01-02 13:07:49",
  "bolNumber": "",
  "referenceNumber": "",
  "handlingUnits": 1,
  "isFood": false,
  "isFreezable": false,
  "isLiftgate": false,
  "isResidential": false,
  "isLimitedAccess": false,
  "isInsidePickup": false,
  "isExcessiveLength": false,
  "isPoison": false,
  "priority": null,
  "hazmatInfo": [
    {
      "uNumber": "UN3337",
      "packageType": "",
      "pieces": 1,
      "packageCode": "PT",
      "bulk": "",
      "class": "2.2",
      "weight": 499,
      "emergencyPhone": "0"
    }
  ]
}

To fetch the BOL metadata for the pickup shipments

HTTP Request GET https://{tenant}/api/bol/<<ediProNumber>>

Response Body

Parameter Description Required DataType
ediProNumber Edi Pro Number Yes Integer
consigneeCode Consignee Code No String
consigneeName Consignee Name No String
consigneeAddress1 Consignee Address Line 1 No String
consigneeAddress2 Consignee Address Line 2 No String
consigneeCity City in which the Consignee is located in No String
consigneeState State in which the Consignee is located in No String
consigneeZip Zipcode of the Consignee Yes String
consigneeCountry Country in which the Consignee is located in No String
shipperNumber Shipper Number No String
shipperZip Zipcode of the Shipper Yes String
originTerminal Origin terminal for the shipment Yes String
pieces Pieces in the shipment No Integer
weight Weight of the shipment No Integer
packageCode package code of the shipment No String
addDateTime Add Date Time of the shipment No String
bolNumber Bill Of Lading Number No String
referenceNumber Reference number No String
handlingUnits Handling Unit No Integer
isFood Is the shipment a food shipment Yes Boolean
isFreezable Is the shipment freezable? Yes Boolean
isLiftgate Does shipment require Lift Gate? Yes Boolean
isResidential Is shipment residential? Yes Boolean
isLimitedAccess Does the driver require any special paperwork/documentation to gain access to the customer facility? Yes Boolean
isInsidePickup Does the driver need to do an inside pickup Yes Boolean
isExcessiveLength Is Shipment exceeding length Yes Boolean
isPoison Is the shipment a poison shipment Yes Boolean
priority Any special Expedite requirements No String
hazmatInfo
uNumber Hazmat Package UNumber No String
packageType Hazmat Package Type No String
pieces Hazmat pieces No Integer
packageCode Hazmat package code No String
bulk Hazmat bulk No String
class Hazmat Class No String
weight Hazmat weight No Integer
emergencyPhone Emergency Phone No String

Output APIs

Shipment Delivered

The response body will be in the following form:

{
    "deviceMACAddress": "vfg33y767xvdfbfs",
    "driverNumber": 1234,
    "ipAddress": "127.0.0.1",
    "deviceModel": "POCO X2",
    "deviceLatitude": "22.99813",
    "deviceLongitude": "-76.50723",
    "devicePhone": "",
    "terminalID": "ABC",
    "manifestNumber": "123456",
    "proNumber": "11111111111",
    "deliveryCode": "Delivered",
    "limitedCode": "",
    "accessorials": [],
    "deliveryExceptionNumber": 0,
    "excessiveLength": 0,
    "isShrinkWrap": true,
    "palletCount": 805,
    "signature": "REBECCA RUDD",
    "receiverPhone": 0,
    "receiverEmail": "",
    "deliveryDate": "2021-03-04",
    "customerPhone": 1234567890,
    "comments": "",
    "codCash": 10.87,
    "codCheck": "12345",
    "freightCash": 10.34,
    "freightCheck": "12345",
    "dispatcherName": "",
    "driverAllowedInsideDock": true,
    "driverArrivalTime": "2021-03-04 02:00:57:573",
    "driverDepartureTime": "2021-03-04 02:00:57:573",
    "eventDateTimeTerminal": "2021-03-04 02:00:57:573",
    "eventDateTime": "2021-03-04 02:00:57:573"
}

API to post the data back to client systems when a shipment is delivered through RouteMAX Driver App or Dispatch Web Application.

HTTP Request POST https://{tenant}/api/shipmentDelivered

Response Body

Parameter Description Required DataType
deviceMACAddress MAC Address of the device Yes String
driverNumber Driver Number Yes Integer
ipAddress IP Address of the device Yes String
deviceModel Model Number of the device Yes String
deviceLatitude Current latitude of the device Yes String
deviceLongitude Current longitude of the device Yes String
devicePhone Device phone number Yes String
terminalID Terminal for which delivery is done Yes String
manifestNumber Manifest Number Yes String
proNumber Pro Number which is delivered Yes String
deliveryCode Delivery Code Yes String
limitedCode Limited Access Code Yes String
accessorials Accessorials used for delivering Yes String Array
deliveryExceptionNumber Delivery Exception Number Yes Integer
excessiveLength Excessive Length of the shipment Yes String
isShrinkWrap Is Shrink Wrap Intact Yes Boolean
palletCount Pallet Count Yes Integer
signature Receiver's Name Yes String
receiverPhone Receiver's Phone Number Yes Integer
receiverEmail Receiver's Email Address Yes String
deliveryDate Date of Delivery Yes String
customerPhone Customer Phone Number Yes Integer
comments Driver added comments for dispatcher Yes String
codCash COD Amount Yes Decimal
codCheck COD payment check number Yes String
freightCash Freight Amount Yes Decimal
freightCheck Freight payment check number Yes String
dispatcherName Dispatcher Name if event is being triggered from the web application No String
driverAllowedInsideDock Is Driver allowed to inside to complete the delivery? Yes Boolean
driverArrivalTime Arrival time of driver at customer location in terminal's local time zone Yes String
driverDepartureTime Departure time of driver from customer location in terminal's local time zone Yes String
eventDateTimeTerminal Event occured Date time in terminal's local time zone Yes String
eventDateTime Event occured Date Time in UTC Yes String

Shipment Picked Up

The response body will be in the following form:

{
    "deviceMACAddress": "vfg33y767xvdfbfs",
    "driverNumber": 1234,
    "ipAddress": "127.0.0.1",
    "deviceModel": "POCO X2",
    "deviceLatitude": "22.28368",
    "deviceLongitude": "-76.40643",
    "devicePhone": "",
    "terminalID": "ABC",
    "manifestNumber": "123456",
    "proNumber": "11111111111",
    "limitedCode": "",
    "accessorials": [],
    "excessiveLength": 0,
    "trailer": "123456",
    "pickupNumber": "123456",
    "consignee": {
        "code": "",
        "name": "Pi9",
        "address1": "",
        "address2": "",
        "city": "TLAXCALA",
        "state": "MX",
        "zip": "90021",
        "country": "MX"
    },
    "shipper": {
        "code": "11111",
        "name": "QUALITY TOOL",
        "address1": "TUXEDO",
        "address2": "",
        "city": "NORCROSS",
        "state": "GA",
        "zip": "30071"
    },
    "isFood": true,
    "isSLC": false,
    "isFreezable": true,
    "isAmmunition": false,
    "pieces": 9,
    "comment": "",
    "totalHandlingUnits": 9,
    "totalWeight": 9,
    "packageType": "PL",
    "ediProNumber": "0",
    "receivedCanadianDocumentation": false,
    "driverAllowedInsideDock": true,
    "isGuaranteed": true,
    "hazardInfo": [
        {
            "unCode": "UN3214",
            "packageType": "",
            "handlingUnits": 2,
            "packageCode": "TB",
            "weight": 2,
            "bulk": "N",
            "emergencyPhone": "1234567890"
        }
    ],
    "package": [
        {
            "handlingUnits": 9,
            "weight": 0,
            "packageType": "PL"
        }
    ],
    "dispatcherName": "",
    "driverArrivalTime": "2021-03-04 02:00:57:573",
    "driverDepartureTime": "2021-03-04 02:00:57:573",
    "eventDateTimeTerminal": "2021-03-04 02:00:57:573",
    "eventDateTime": "2021-03-02 09:12:11:867"
}

API to post the data back to client systems when a shipment is picked up through RouteMAX Driver App or Dispatch Web Application.

HTTP Request POST https://{tenant}/api/shipmentPickedUp

Response Body

Parameter Description Required DataType
deviceMACAddress MAC Address of the device Yes String
driverNumber Driver Number Yes Integer
ipAddress IP Address of the device Yes String
deviceModel Model Number of the device Yes String
deviceLatitude Current latitude of the device Yes String
deviceLongitude Current longitude of the device Yes String
devicePhone Device phone number Yes String
terminalID Terminal for which delivery is done Yes String
manifestNumber Manifest Number Yes String
proNumber Pro Number which is Picked up Yes String
limitedCode Limited Access Code Yes String
accessorials Accessorials used for delivering Yes String Array
excessiveLength Excessive Length of the shipment Yes String
trailer Trailer Number in which shipment is picked up Yes String
pickupNumber Pickup Number for which shipment is being Picked up Yes String
consignee
code Consignee Code Yes String
name Consignee Name Yes String
address1 Address Line 1 Yes String
address2 Address Line 2 Yes String
city Consignee City Yes String
state Consignee State Yes String
zip Consignee Zip Yes String
country Consignee Country Yes String
shipper
code Consignee Code Yes String
name Consignee Name Yes String
address1 Address Line 1 Yes String
address2 Address Line 2 Yes String
city Consignee City Yes String
state Consignee State Yes String
zip Consignee Zip Yes String
isFood Is the pickedup shipment food shiment? Yes Boolean
isSLC Is Shipper Load And Count? Yes Boolean
isFreezable Is the pickedup shipment freezable shiment? Yes Boolean
isAmmunition Is the pickedup shipment ammunition shiment? Yes Boolean
pieces Number of pieces picked up Yes Integer
comment Driver added comments for dispatcher Yes String
totalHandlingUnits Total Handling Units Picked Up Yes Integer
totalWeight Total Weight of Shipment being Picked Up Yes Integer
packageType Package Type Yes String
ediProNumber EDI ProNumber for the shipment Yes String
receivedCanadianDocumentation Did Driver receive Canadian Documentation? Yes Boolean
driverAllowedInsideDock Was the driver allowed inside to complete pickup? Yes Boolean
isGuaranteed Is the pickup a guarantee pickup? Yes Boolean
hazmatInfo
unCode Hazmat Package UNumber Yes String
packageType Hazmat Package Type Yes String
handlingUnits Hazmat handling units Yes Integer
packageCode Hazmat package code Yes String
bulk Hazmat bulk Yes String
weight Hazmat weight Yes Integer
emergencyPhone Emergency Phone Yes String
package
handlingUnits Number of handling units Yes Number
weight Weight of the package Yes Number
packageType Package Type Yes String
dispatcherName Dispatcher Name if event is being triggered from the web application No String
driverArrivalTime Arrival time of driver at shipper location in terminal's local time zone Yes String
driverDepartureTime Departure time of driver from shipper location in terminal's local time zone Yes String
eventDateTimeTerminal Event occured Date time in terminal's local time zone Yes String
eventDateTime Event occured Date Time In UTC Yes String

No Freight Picked Up

The response body will be in the following form:

{
    "deviceMACAddress": "vfg33y767xvdfbfs",
    "driverNumber": 1234,
    "ipAddress": "127.0.0.1",
    "deviceModel": "motorola one fusion+",
    "deviceLatitude": "22.28368",
    "deviceLongitude": "-76.40643",
    "devicePhone": "",
    "terminalID": "ABC",
    "pickupNumber": "1234567",
    "contactName": "Charlie",
    "dispatcherName": "",
    "driverArrivalTime": "2021-06-25 02:36:15:767",
    "driverDepartureTime": "2021-06-25 02:36:57:556",
    "eventDateTimeTerminal": "2021-06-25 02:36:57:556",
    "eventDateTime": "2021-06-25 07:36:57:556"
}

API to post the data back to client systems when no freight is picked up through RouteMAX Driver App or Dispatch Web Application.

HTTP Request POST https://{tenant}/api/noFreightPickedUp

Response Body

Parameter Description Required DataType
deviceMACAddress MAC Address of the device Yes String
driverNumber Driver Number Yes Integer
ipAddress IP Address of the device Yes String
deviceModel Model Number of the device Yes String
deviceLatitude Current latitude of the device Yes String
deviceLongitude Current longitude of the device Yes String
devicePhone Device phone number Yes String
terminalID Terminal for which delivery is done Yes String
pickupNumber Pickup Number which is being completed Yes String
contactName Contact name Yes String
dispatcherName Dispatcher Name if event is being triggered from the web application No String
driverArrivalTime Arrival time of driver at shipper location in terminal's local time zone Yes String
driverDepartureTime Departure time of driver from shipper location in terminal's local time zone Yes String
eventDateTimeTerminal Event occured Date time in terminal's local time zone Yes String
eventDateTime Event occured Date Time In UTC Yes String

Trailer Dropped

The response body will be in the following form:

{
    "deviceMACAddress": "vfg33y767xvdfbfs",
    "driverNumber": 12345,
    "ipAddress": "127.0.0.1",
    "deviceModel": "TC57",
    "deviceLatitude": "76.09729",
    "deviceLongitude": "-12.38836",
    "devicePhone": "",
    "terminalID": "ABC",
    "trailerNumber": "123456",
    "deliveryDate": "2020-12-04",
    "dropType": "CD",
    "driverArrivalTime": "2020-12-04 13:04:30:958",
    "driverDepartureTime": "2020-12-04 13:04:30:958",
    "signature": "",
    "locationName": "A & A DISCOUNT VACUUM",
    "gpsAddress": "9743 W HILLSBOROUGH AVE",
    "gpsCity": "TAMPA",
    "gpsState": "FL",
    "gpsZip": "33615",
    "eventDateTimeTerminal": "2021-06-25 02:36:57:556",
    "eventDateTime": "2020-12-04 13:04:30:958"
}

API to post the data back to client systems when a trailer is dropped through RouteMAX Driver App.

HTTP Request POST https://{tenant}/api/dropTrailer

Response Body

Parameter Description Required DataType
deviceMACAddress MAC Address of the device Yes String
driverNumber Driver Number Yes Integer
ipAddress IP Address of the device Yes String
deviceModel Model Number of the device Yes String
deviceLatitude Current latitude of the device Yes String
deviceLongitude Current longitude of the device Yes String
devicePhone Device phone number Yes String
terminalID Terminal for which trailer drop is done Yes String
trailerNumber Trailer number which is being dropped Yes String
deliveryDate Delivery Date Yes String
dropType Type of trailer drop Yes String
CD - Customer Delivery
ET - Empty Trailer
TL - Temporary Location
AI - Agent Interline
driverArrivalTime Arrival time of driver in terminal's local time zone Yes String
driverDepartureTime Departure time of driver in terminal's local time zone Yes String
signature Receiver name for trailer drop Yes String
locationName location where trailer is being dropped Yes String
gpsAddress GPS Address of the drop location Yes String
gpsCity GPS City of drop location Yes String
gpsState GPS State of drop location Yes String
gpsZip GPS Zip of drop location Yes String
eventDateTimeTerminal Event occured Date time in terminal's local time zone Yes String
eventDateTime Event occured Date Time In UTC Yes String

Trailer Hooked

The response body will be in the following form:

{
    "deviceMACAddress": "vfg33y767xvdfbfs",
    "driverNumber": 123456,
    "ipAddress": "127.0.0.1",
    "deviceModel": "TC57",
    "deviceLatitude": "76.09731",
    "deviceLongitude": "-21.38835",
    "devicePhone": "",
    "terminalID": "ABC",
    "trailerNumber": "12345",
    "eventDateTimeTerminal": "2021-06-25 02:36:57:556",
    "eventDateTime": "2020-11-16 15:29:09:479"
}

API to post the data back to client systems when a trailer is hooked through RouteMAX Driver App.

HTTP Request POST https://{tenant}/api/hookTrailer

Response Body

Parameter Description Required DataType
deviceMACAddress MAC Address of the device Yes String
driverNumber Driver Number Yes Integer
ipAddress IP Address of the device Yes String
deviceModel Model Number of the device Yes String
deviceLatitude Current latitude of the device Yes String
deviceLongitude Current longitude of the device Yes String
devicePhone Device phone number Yes String
terminalID Terminal for which trailer hook is done Yes String
trailerNumber Trailer number which is being hooked Yes String
eventDateTimeTerminal Event occured Date time in terminal's local time zone Yes String
eventDateTime Event occured Date Time In UTC Yes String

Bills Moved

The response body will be in the following form:

{
    "deviceMACAddress": "vfg33y767xvdfbfs",
    "driverNumber": 12345,
    "ipAddress": "127.0.0.1",
    "deviceModel": "EDA71_G",
    "deviceLatitude": "56.96471",
    "deviceLongitude": "-12.37683",
    "devicePhone": "",
    "terminalID": "ABC",
    "proNumbers": ["12345678900"],
    "fromTrailer": "123456",
    "toTrailer": "234567",
    "eventDateTimeTerminal": "2021-06-25 02:36:57:556",
    "eventDateTime": "2021-01-04 06:57:09:793"
}

API to post the data back to client systems when a bill is moved to a different trailer through RouteMAX Driver App.

HTTP Request POST https://{tenant}/api/moveBill

Response Body

Parameter Description Required DataType
deviceMACAddress MAC Address of the device Yes String
driverNumber Driver Number Yes Integer
ipAddress IP Address of the device Yes String
deviceModel Model Number of the device Yes String
deviceLatitude Current latitude of the device Yes String
deviceLongitude Current longitude of the device Yes String
devicePhone Device phone number Yes String
terminalID Terminal for which move bill is done Yes String
proNumbers ProNumbers which are being moved Yes String Array
fromTrailer Trailer number from which bill is being moved Yes String
toTrailer Trailer number to which bill is being moved Yes String
eventDateTimeTerminal Event occured Date time in terminal's local time zone Yes String
eventDateTime Event occured Date Time In UTC Yes String

Bobtail

The response body will be in the following form:

{
    "deviceMACAddress": "vfg33y767xvdfbfs",
    "driverNumber": 12345,
    "ipAddress": "127.0.0.1",
    "deviceModel": "EDA71_G",
    "deviceLatitude": "56.96471",
    "deviceLongitude": "-12.37683",
    "devicePhone": "",
    "terminalID": "ABC",
    "eventDateTimeTerminal": "2021-06-25 02:36:57:556",
    "eventDateTime": "2021-01-04 06:57:09:793"
}

API to post the data back to client systems when bobtail is perfomed through RouteMAX Driver App.

HTTP Request POST https://{tenant}/api/bobtail

Response Body

Parameter Description Required DataType
deviceMACAddress MAC Address of the device Yes String
driverNumber Driver Number Yes Integer
ipAddress IP Address of the device Yes String
deviceModel Model Number of the device Yes String
deviceLatitude Current latitude of the device Yes String
deviceLongitude Current longitude of the device Yes String
devicePhone Device phone number Yes String
terminalID Terminal for which move bill is done Yes String
eventDateTimeTerminal Event occured Date time in terminal's local time zone Yes String
eventDateTime Event occured Date Time In UTC Yes String

Historical Data

RouteMAX will use historical data of actual implementation of routes in the street, to do the following analysis-

  1. Calibrate machine learning model with your historical data to predict dwell time at each customer location.
  2. Adjust travel times such that the ETAs at stops are predicted accurately.

We recommend having this data for 1 year.

This data can be given in an excel or csv file. Please open the link given below to download the template of the excel file.

Historical Data File Template

Errors

The RouteMAX APIs uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The API requested is hidden for administrators only.
404 Not Found -- The specified API could not be found.
405 Method Not Allowed -- You tried to access with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
409 Version Conflict -- Conflict with the current state of the target resource.
410 Gone -- The requested API has been removed from our servers.
429 Too Many Requests -- You have sent too many requests in a given amount of time.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.