Skip to main content

Dispatch and routes

Create and change routes, assign and unassign stops, work with transfers, and look up addresses on the map.

Paths are relative to https://api.rushhourapp.com/api/v1. See the API reference overview for how to read each entry.

Routes​

MethodPathSummary
POST/RoutesAdd route.
GET/Routes/{id}Get route.
PUT/Routes/{id}Update route.
DELETE/Routes/{id}Delete route.
POST/Routes/{id}/assign-unassigned-stopAssign unassigned stop.
POST/Routes/{id}/auto-rerouteAuto reroute.
GET/Routes/{id}/optimization-statusGet optimization status.
PUT/Routes/{id}/RouteItems/CloseAllClose all route items for route.
PUT/Routes/{id}/routeItems/updateStatus/{status}Update route items status.
PUT/Routes/{id}/stopsUpdate route stops.
PUT/Routes/{id}/updateStatus/{status}Update route status.
GET/Routes/activeGet active routes.
PUT/Routes/AvoidTollsSwitch avoid tolls.
PUT/Routes/ChangeOrderRouteChange order route.
PUT/Routes/MoveOrderOnRouteToUnassignedMove order on route to unassigned.
PUT/Routes/MoveToUnassignedMove to unassigned.
POST/Routes/NewTransferCreate transfer.
GET/Routes/OrderRouteSnapshotGet order route snapshot.
GET/Routes/RouteIdsGet route IDs for order stop.
GET/Routes/RouteItemDetailsGet route item details.
GET/Routes/RouteItemGroupsGet route item groups.
GET/Routes/RoutesGet routes.
POST/Routes/TransferOptionsGet transfer options.
GET/Routes/TransferRouteItemsGet transfer route items.
DELETE/Routes/Transfers/{transferStopId}Delete transfer.
PUT/Routes/TransferStops/{transferStopId}/AddressUpdate transfer address.
GET/Routes/UnassignedFiltersLocation options for the dispatch "Add Pickup" search box.
GET/Routes/UnassignedRoutesUnassigned stops for the dispatch "Add Pickup" panel.
GET/Routes/UnassignedStopRouteSuggestionsRanks the active routes by how well they could take an unassigned pickup, best first.

POST /Routes​

Add route.

Required access: the Edit/Delete/Create Route permission.

Request body: Route (JSON).

Response: envelope; data is Route.

GET /Routes/{id}​

Get route.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes
separateCompletedDirectionsquerybooleanNoDefault: false.

Also accepts the shared list parameters.

Response: envelope; data is RouteResponse.

PUT /Routes/{id}​

Update route.

Required access: the Edit/Delete/Create Route permission.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes

Request body: Route (JSON).

Response: envelope; data is Route.

DELETE /Routes/{id}​

Delete route.

Required access: the Edit/Delete/Create Route permission.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes

Response: envelope; data is Route.

POST /Routes/{id}/assign-unassigned-stop​

Assign unassigned stop.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes

Request body: AssignUnassignedStopRequest (JSON).

Response: envelope; data has no documented shape.

POST /Routes/{id}/auto-reroute​

Auto reroute.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes

Request body: AutoRerouteRouteRequest (JSON).

Response: envelope; data has no documented shape.

GET /Routes/{id}/optimization-status​

Get optimization status.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes
countryIdsqueryarray of integer (int32)No

Response: RouteOptimizationStatus as the whole response body, without the envelope.

PUT /Routes/{id}/RouteItems/CloseAll​

Close all route items for route.

Required access: the Close All permission.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes

Response: envelope; data has no documented shape.

PUT /Routes/{id}/routeItems/updateStatus/{status}​

Update route items status.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes
statuspathinteger (int32)YesOne of: 0 (ToDo), 1 (Done), 2 (Pending).
allowIncreaseDeliveryQuantityquerybooleanNoDefault: true.
closeOrderquerybooleanNoDefault: true.
getUpdateStatusquerybooleanNoDefault: false.

Request body: RouteItemStopGroup (JSON).

Response: envelope; data is Route.

PUT /Routes/{id}/stops​

Update route stops.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes
validateIsAssignedquerybooleanNoDefault: false.

Request body: array of RouteItemGroup (JSON).

Response: envelope; data is Route.

PUT /Routes/{id}/updateStatus/{status}​

Update route status.

Required access: the Archive permission.

Parameters

NameInTypeRequiredDescription
idpathinteger (int32)Yes
statuspathstringYesOne of: Archive, StartNow, StartNext, Restore, Completed.

Response: envelope; data has no documented shape.

GET /Routes/active​

Get active routes.

Response: envelope; data is RoutePagedList.

PUT /Routes/AvoidTolls​

Switch avoid tolls.

Required access: the Edit/Delete/Create Route permission.

Parameters

NameInTypeRequiredDescription
avoidTollsquerybooleanNo
routeIdqueryinteger (int32)No

Response: envelope; data has no documented shape.

PUT /Routes/ChangeOrderRoute​

Change order route.

Request body: ChangeOrderRouteRequest (JSON).

Response: envelope; data has no documented shape.

PUT /Routes/MoveOrderOnRouteToUnassigned​

Move order on route to unassigned.

Parameters

NameInTypeRequiredDescription
orderIdqueryinteger (int32)No
routeIdqueryinteger (int32)No

Response: envelope; data has no documented shape.

PUT /Routes/MoveToUnassigned​

Move to unassigned.

Required access: the Assign/Unassign Orders permission.

Request body: MoveToUnassignedRequest (JSON).

Response: envelope; data is Route.

POST /Routes/NewTransfer​

Create transfer.

Request body: TransferStop (JSON).

Response: envelope; data is OrderStop.

GET /Routes/OrderRouteSnapshot​

Get order route snapshot.

Parameters

NameInTypeRequiredDescription
orderIdqueryinteger (int32)No

Response: envelope; data is OrderRouteSnapshotDto.

GET /Routes/RouteIds​

Get route IDs for order stop.

Parameters

NameInTypeRequiredDescription
orderStopIdqueryinteger (int32)No

Response: envelope; data is array of integer (int32).

GET /Routes/RouteItemDetails​

Get route item details.

Parameters

NameInTypeRequiredDescription
AddressNamequerystringNo
FullAddressquerystringNo
IsAllItemsDonequerybooleanNo
isUsePaginationquerybooleanNoDefault: false.
LocationCompanyNamequerystringNo
LocationContactNumberquerystringNo
LocationContactNumberExtensionquerystringNo
orderIdqueryinteger (int32)No
OrderStopIdqueryinteger (int32)No
routeIdqueryinteger (int32)No
Statusqueryinteger (int32)NoOne of: 0 (ToDo), 1 (Done), 2 (Pending).
Typesqueryarray of stringNoOne of: Pickup, DeliveryToTransfer, PickupFromTransfer, Delivery.

Also accepts the shared list parameters.

Response: envelope; data is RouteItemGroupPagedList.

GET /Routes/RouteItemGroups​

Get route item groups.

Parameters

NameInTypeRequiredDescription
AddressNamequerystringNo
FullAddressquerystringNo
IsAllItemsDonequerybooleanNo
LocationCompanyNamequerystringNo
LocationContactNumberquerystringNo
LocationContactNumberExtensionquerystringNo
OrderStopIdqueryinteger (int32)No
routeIdqueryinteger (int32)No
Statusqueryinteger (int32)NoOne of: 0 (ToDo), 1 (Done), 2 (Pending).
Typesqueryarray of stringNoOne of: Pickup, DeliveryToTransfer, PickupFromTransfer, Delivery.

Also accepts the shared list parameters.

Response: envelope; data is RouteItemGroupPagedList.

GET /Routes/Routes​

Get routes.

Parameters

NameInTypeRequiredDescription
completedRoutesquerybooleanNoDefault: false.
routeItemStatusqueryinteger (int32)NoOne of: 0 (ToDo), 1 (Done), 2 (Pending).
separateCompletedDirectionsquerybooleanNoDefault: false.

Also accepts the shared list parameters.

Response: envelope; data is RouteResponsePagedList.

POST /Routes/TransferOptions​

Get transfer options.

Request body: TransferStop (JSON).

Response: envelope; data is TransferStop.

GET /Routes/TransferRouteItems​

Get transfer route items.

Parameters

NameInTypeRequiredDescription
routeIdqueryinteger (int32)No
transferStopIdsqueryarray of integer (int32)No

Response: envelope; data is array of RouteItem.

DELETE /Routes/Transfers/{transferStopId}​

Delete transfer.

Parameters

NameInTypeRequiredDescription
transferStopIdpathinteger (int32)Yes

Response: envelope; data has no documented shape.

PUT /Routes/TransferStops/{transferStopId}/Address​

Update transfer address.

Parameters

NameInTypeRequiredDescription
transferStopIdpathinteger (int32)Yes

Request body: Address (JSON).

Response: envelope; data is TransferStop.

GET /Routes/UnassignedFilters​

Location options for the dispatch "Add Pickup" search box.

Also accepts the shared list parameters.

Response: envelope; data is UnassignedFiltersRes.

GET /Routes/UnassignedRoutes​

Unassigned stops for the dispatch "Add Pickup" panel.

Parameters

NameInTypeRequiredDescription
orderIdqueryinteger (int32)No
orderItemIdqueryinteger (int32)No
orderStopIdqueryinteger (int32)No

Also accepts the shared list parameters.

Response: envelope; data is UnassignedRoutesSlimResData.

GET /Routes/UnassignedStopRouteSuggestions​

Ranks the active routes by how well they could take an unassigned pickup, best first.

Parameters

NameInTypeRequiredDescription
orderStopIdqueryinteger (int32)No

Response: envelope; data is array of UnassignedStopRouteSuggestionDto.

Maps​

MethodPathSummary
POST/Maps/ExpandUrlExpand a shortened map link.
GET/Maps/ReverseGeocodeGet the address at a map coordinate.

POST /Maps/ExpandUrl​

Expand a shortened map link.

Request body: ExpandUrlRequestDto (JSON).

Response: envelope; data is ExpandUrlResponseDto.

GET /Maps/ReverseGeocode​

Get the address at a map coordinate.

Parameters

NameInTypeRequiredDescription
latquerynumber (double)No
lngquerynumber (double)No

Response: envelope; data is Address.