{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ea9a016f-c479-4cb4-aa36-63a63e95429c","name":"Replenishment","description":"**Welcome to gStore API Documentation!**\n\nThe APIs follow the principles of\n\n*   [Domain driven design](https://en.wikipedia.org/wiki/Domain-driven_design)\n*   [Google REST API design](https://cloud.google.com/apis/design)\n*   [Semantic versioning](https://semver.org/)\n    \n\nWe will define some critical domain glossary which is used in all the APIs.\n\n> Please note that these domain terms may have slightly difference in the nomenclature that might be used in another specific context\n\n# Domain glossary for APIs\n\n## General\n\n*   **`Request`**: a request is an object representation an intent to do something or an action. It's an intent. The are actors which act on ensuring the intent is met (such as executors etc). For the most part, it should remain immutable unless otherwise modified\n*   **`Executor`**: an entity that can or acts on a request and understand the series of steps to meet the intent of the request\n*   **`Execution`**: the act performed by an executor\n*   **`Task`**: a task is an action that can performed by an actor (usually a human). A task in isolation can be understood well, be assigned and executed. Task generation can happen from multiple sources. An executor can also create task(s) for requests\n*   **`Event`**: a record of a systemic event that happened in a time at a certain system due to something. It is immutable\n*   **`History`**: a timeline of immutable record of all the mutations of an object e.g. TaskHistory captures all changes that happened to task\n*   **`Progress`**: A domain based state representation of the current state of execution, request and it's history summed up\n    \n\n## Realm & User Authorization\n\n*   **`Store`**: Store is entity defined that is directly mapped to a physical store\n*   **`Network`**: Networks are hierarchical. Networks can be have either a mix of child networks and/or store/warehouses\n*   **`Realm`**: Realms refer to an node in the hierarchical tree whether it is a network or a store/warehouse\n*   **`AssignedRealm`**: these are the set of realms that are assigned to a particular user and he/she is allowed to access them\n    \n\n![](https://i.imgur.com/arKGOA6.jpg)\n\n## Product master & Inventory management\n\n*   **`Product`** : lowest-level physical entity which cannot be further broken down physically into another set of different products (e.g. a M-size, Black T-shirt)\n*   **`ProductUOM`**: different unit of measures in which the product can be stored, transported, sold or is packed (3 level support for outer, inner and eaches)\n*   **`Inventory`**: accounting of entities and it's quantity with known physical locations if possible (e.g. accounting of printers, products etc.)\n*   **`ProductInventory`**: accounting of products and it's quantities with known physical locations if possible\n*   **`ProductEachesQuantity`**: eaches quantities for product\n*   **`ProductUomQuantity`**: `UOM` quantity for product\n*   **`Trackers`**: uniquely identifiable entities that are supposed to track / locate other entities (e.g. serialized barcode)\n*   **`ProductTracker`**: trackers used on products (e.g RFID or serialized barcode)\n*   **`RFIDDevice`**: Any `RFID` device that might be used to read inventory and ingest it in the database\n*   **`ProductGroup`**: A group of products automatically created by a set of one or more grouping attributions together. ProductGroups that are grouped by multiple sets naturally contain the set of products in ProductGroups that can be grouped\n    \n\nFollowing illustration highlights multiple `ProductGroup` created by grouping on a `color` and `size` attributes in a clothing store\n\n<img src=\"https://i.imgur.com/ZXJSKvz.png\" width=\"800\">\n\n## Fulfillment\n\n*   **`Order`**: In [business](https://en.wikipedia.org/wiki/Business) or [commerce](https://en.wikipedia.org/wiki/Commerce), an order is a stated intention, either spoken or written, to engage in a commercial transaction for specific products or services (from wikipedia)\n*   **`Fulfillment`**: the process of meeting the intent of an request\n    *   **`Order fulfillment`**: the process of fulfillment (= planning and execution) of an order (or more precisely meeting it's intent)\n    *   **`FulfillmentRequest`**: a general request that captures a request that can be \"fulfilled\". Usually this would refer to an order. A fulfillment request is a super class for pick request / pack request / ship requests. In case the order's fulfillment is complicated (such as a ship from store), fulfillment request can be created as an hybrid entity comprising of pick request / pack requests / ship requests\n        *   Subtypes\n            *   `PickRequest`\n            *   `PackRequest`\n            *   `ShipRequest`\n        *   `Expectations`: a capture of the intent of the order\n    *   **`FulfillmentEvent`**: a domain event that originates during the process of fulfillment\n    *   **`FulfillmentProgress`**: a domain object capturing the current state of fulfillment\n\n## Workforce task management\n\n*   **`Availability`**: an object representing whether user is allowed to take work and in what capacities\n*   **`Task`**: a task that can be assigned or is assigned to an user and is performed by a person\n*   **`TaskHistory`**: encapsulates the history (read general definition of task above)\n*   **`TaskFeed`**: an organized / scheduled feed for an user\n*   **`Work`**: set of tasks that creates work for an user","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"2628471","team":2471161,"collectionId":"ea9a016f-c479-4cb4-aa36-63a63e95429c","publishedId":"UVC8B5nK","public":true,"publicUrl":"https://apidocs.kalama.cloud","privateUrl":"https://go.postman.co/documentation/2628471-ea9a016f-c479-4cb4-aa36-63a63e95429c","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2022-08-24T11:13:11.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/67eccb4e9c7a652b19ffb215fe89242841b22e4969edb50ec1042881cc53a573","favicon":"https://kalama.cloud/favicon.ico"},"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://apidocs.kalama.cloud/view/metadata/UVC8B5nK"}