{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"1e015a03-5612-42b2-b617-ebc551403b04","name":"Shyft API","description":"| **Document Control**  |                                                              |\n| ----------------- | ------------------------------------------------------------ |\n| Status            | Live                                                         |\n| Classification    | Confidential                                                 |\n| Document Owner    | Locus                                                        |\n| Document Location | [Click Here](https://documenter.getpostman.com/view/9772198/TW76BPKi) |\n| Release Date      | 04 FEB 2021                                                   |\n| Latest Version           | 1.0                                                       |\n\n<div class=text-justify>\n\n**Change Record**\n\n| Date        | Author          | Version | Change Description                  |\n| ----------- | --------------- | ------- | ----------------------------------- |\n| 03 Feb 2021 | Ganesh Raja | 1.0     | Initial APIs and their descriptions |\n\n\n**Authentication**\n\nLocus uses Basic Authentication for authentication. The credentials are shared separately over email.\n\nYour API keys can be used to access and modify the data related to your account, so be sure to keep them secure. Do not share your secret API key in publicly accessible areas such as GitHub, client-side code, and so forth. Locus APIs operate exclusively on HTTPS. Requests that are over HTTP without encryption will fail. Requests without authentication will also fail.\n\n**Errors** \n\nWhen the API request encounters an error with your request, it will respond with an HTTP status code and a JSON-formatted body with additional details. Locus uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx series indicate success. Codes in the 4xx series indicate an error that failed given the information provided. Codes in the 5xx series indicate an error with Locus servers. Although 5xx are rare we would recommend setting retries for the API request in-case an error code in this series is received.\n\nHuman readable error messages can be found under message key in the response JSON.\n\nA sample response is provided below \n\n{\n\n \"errorCode\": -1, \n\n\"message\": \"A human readable error message\"\n\n }\n \n **Prerequisites**\n\n- Create Teams\n- Create Homebases\n- Create Riders\n- Create Vehicle Models\n\n**Team**\n\nA team is a group of riders. Tasks are assigned to teams and personnel can manage tasks using teams. \nNOTE: A team can have multiple homebases\nExample: Manhattan_East\nUse-case: All\nDependencies: None\n\n**Homebase**\n\nA Homebase is the centre of operations from where riders start, and end routes and/or goods are collected for delivery. A homebase can have multiple teams and a team can have multiple homebases.\nExample: A warehouse, kitchen\nUse-case: SPMD and MPSD\nDependencies: Team\n\n**Riders**\n\nMembers of a team who perform ground actions using the LOTR app. They execute task visits to complete a task.\nExample: Delivery person, Field executive\nUse-case: ALL\nDependencies: Team\n\n**Vehicle**\n\nA four/two-wheeler for the rider to complete the task.\nExample: KA53X1000\nUse-case: Mandatory when using Fleet Config and Vehicle is the primary resource of the client\nDependencies: Team, Vehicle Model\n\n**Vehicle Model**\n\nA generic entity that represents a type of vehicle from a specific manufacturer with attributes such as volume and weight capacity, limits, dimensions, skills etc.\nExample: TATA Ace Mega\nUse-case: Mandatory if Vehicle is the primary resource of the client\nDependencies: Transporter\n\n**Plan**\n\nA plan is the outcome of LOCUS’ algorithm executed on a batch of tasks. The outcome is a set of routes called TOURS which are performed by riders to complete the tasks.\nDependencies: Batch\n\n**Batch**\n\nA set of tasks that are to be performed by a single or multiple riders from a team in a day. \nDependencies: Task\n\n**Tasks**\n\nTasks are your customer’s orders. They have visits associated with them, that personnel create and assign to riders for completion.\nDependencies: Team, Homebase (if SPMD/MPSD)\n\n \n</div>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"9772198","team":1136576,"collectionId":"1e015a03-5612-42b2-b617-ebc551403b04","publishedId":"TW76BPKi","public":true,"publicUrl":"https://documenter-api.postman.tech/view/9772198/TW76BPKi","privateUrl":"https://go.postman.co/documentation/9772198-1e015a03-5612-42b2-b617-ebc551403b04","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.0","publishDate":"2021-02-08T10:15:29.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/7d39c4991a99712b99771f3d36cd98837ca9a6faae029cd29b139adc54a86e08","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/TW76BPKi"}