{"info":{"_postman_id":"e0cdfdf7-1b08-498d-9c97-3a1a05f8a008","name":"Tenant Manager","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"39693684","collectionId":"e0cdfdf7-1b08-498d-9c97-3a1a05f8a008","publishedId":"2sAYBbepAc","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-12-07T02:38:10.000Z"},"item":[{"name":"User","item":[{"name":"Login","id":"71ec1213-b1d4-45a4-a44b-c8409f22bbf3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"username\": \"ric\",\n    \"password\": \"ric\",\n    \"tenant\": \"polloxkytem\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/login/","description":"<h2 id=\"api-request-description\">API Request Description</h2>\n<p>This endpoint is used to authenticate and login a user. The request should be sent as an HTTP POST to the specified URL with the user's credentials in the request body.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><p><code>username</code> (string): The username of the user.</p>\n</li>\n<li><p><code>password</code> (string): The password of the user.</p>\n</li>\n</ul>\n<h2 id=\"api-response\">API Response</h2>\n<p>The response to the login request is in JSON format and includes the following fields:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"refresh\": \"\",\n  \"access\": \"\"\n}\n\n</code></pre>\n<h3 id=\"response-json-schema\">Response JSON Schema</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"refresh\": {\n      \"type\": \"string\"\n    },\n    \"access\": {\n      \"type\": \"string\"\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","login",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"71ec1213-b1d4-45a4-a44b-c8409f22bbf3"},{"name":"Register","id":"df1a0013-d501-4777-90f5-80cfa62698e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"username\": \"donric221\",\n    \"email\": \"ricardo.amador@xkytem.com\",\n    \"password\": \"password\",\n    \"tenant_name\": \"Pollo XKYTEM\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/register/","description":"<h3 id=\"register-user\">Register User</h3>\n<p>This endpoint allows the client to register a new user.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>username</code> (string): The username of the user.</p>\n</li>\n<li><p><code>email</code> (string): The email address of the user.</p>\n</li>\n<li><p><code>password</code> (string): The password for the user account.</p>\n</li>\n<li><p><code>tenant_name</code> (string): The name of the tenant.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"detail\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n<ul>\n<li><code>detail</code> (string): A message providing details about the registration process.</li>\n</ul>\n<h4 id=\"example\">Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"detail\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","register",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"df1a0013-d501-4777-90f5-80cfa62698e4"}],"id":"3ed48fe6-b8e4-4e61-bb70-3f6314075ae9","_postman_id":"3ed48fe6-b8e4-4e61-bb70-3f6314075ae9","description":""},{"name":"Tenants","item":[{"name":"Tenants","id":"a6e0a125-c152-4676-b288-7a617e1d772c","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/tenants","description":"<h3 id=\"get-apitenants\">GET /api/tenants</h3>\n<p>This endpoint retrieves a list of tenants.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body is required for this endpoint.</p>\n<h4 id=\"response\">Response</h4>\n<p>The response will be a JSON array containing tenant objects with the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the tenant.</p>\n</li>\n<li><p><code>name</code> (string): The name of the tenant.</p>\n</li>\n<li><p><code>created_at</code> (string): The timestamp indicating when the tenant was created.</p>\n</li>\n<li><p><code>updated_at</code> (string): The timestamp indicating when the tenant was last updated.</p>\n</li>\n<li><p><code>active</code> (boolean): Indicates whether the tenant is currently active.</p>\n</li>\n</ul>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"id\": 0,\n    \"name\": \"\",\n    \"created_at\": \"\",\n    \"updated_at\": \"\",\n    \"active\": true\n  }\n]\n\n</code></pre>\n","urlObject":{"path":["api","tenants"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"a6e0a125-c152-4676-b288-7a617e1d772c"},{"name":"Create Tenant","id":"44c2db6a-b929-4bce-801f-10a55521bacf","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"test postman tenant2\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/tenants/","urlObject":{"path":["api","tenants",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"44c2db6a-b929-4bce-801f-10a55521bacf"},{"name":"Register Tenant User","id":"aae3d285-b1c7-44b2-a125-30caf44855c3","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"username\": \"javi\",\n    \"email\": \"javi@xky.com\",\n    \"password\": \"javi\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/register-tenant-user/","urlObject":{"path":["api","register-tenant-user",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"b97b6a9e-6ff4-454c-bcd6-97c6f6906b38","name":"Create Tenant Copy","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"username\": \"javi\",\n    \"email\": \"javi@xky.com\",\n    \"password\": \"javi\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/register-tenant-user/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Feb 2025 02:15:59 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"112"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User successfully registered in your tenant\",\n    \"user_id\": 53,\n    \"username\": \"javi\",\n    \"tenant\": \"Pollo XKYTEM\"\n}"}],"_postman_id":"aae3d285-b1c7-44b2-a125-30caf44855c3"},{"name":"User Tenants","event":[{"listen":"test","script":{"id":"3321a416-a5cb-4f5f-8a44-8342b7fcafce","exec":["pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","","pm.test(\"Response has the required fields - id, user, and tenant\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('array');","    responseData.forEach(function(item) {","        pm.expect(item).to.have.property('id');","        pm.expect(item).to.have.property('user');","        pm.expect(item).to.have.property('tenant');","    });","});","","","pm.test(\"ID, user, and tenant are non-negative integers\", function () {","  const responseData = pm.response.json();","  ","  pm.expect(responseData).to.be.an('array').that.is.not.empty;","  responseData.forEach(item => {","    pm.expect(item.id).to.be.a('number').that.is.at.least(0);","    pm.expect(item.user).to.be.a('number').that.is.at.least(0);","    pm.expect(item.tenant).to.be.a('number').that.is.at.least(0);","  });","});","","","pm.test(\"Content-Type header is application/json\", function () {","    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");","});","","","pm.test(\"Response time is less than 200ms\", function () {","  pm.expect(pm.response.responseTime).to.be.below(200);","});",""],"type":"text/javascript","packages":{}}}],"id":"327fde3a-4a2a-479d-be4f-c9162f1efc92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/user-tenants/","description":"<p>The <code>GET</code> request to <code>/api/user-tenants/</code> endpoint retrieves a list of user-tenant relationships. The response is a JSON array containing objects with the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the user-tenant relationship.</p>\n</li>\n<li><p><code>user</code> (number): The ID of the user associated with the relationship.</p>\n</li>\n<li><p><code>tenant</code> (number): The ID of the tenant associated with the relationship.</p>\n</li>\n</ul>\n<p>Here is the JSON schema for the response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"type\": \"object\",\n    \"properties\": {\n      \"id\": {\n        \"type\": \"number\"\n      },\n      \"user\": {\n        \"type\": \"number\"\n      },\n      \"tenant\": {\n        \"type\": \"number\"\n      }\n    }\n  }\n]\n\n</code></pre>\n","urlObject":{"path":["api","user-tenants",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"327fde3a-4a2a-479d-be4f-c9162f1efc92"},{"name":"User Tenants List","event":[{"listen":"test","script":{"id":"3321a416-a5cb-4f5f-8a44-8342b7fcafce","exec":["pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","","pm.test(\"Response has the required fields - id, user, and tenant\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('array');","    responseData.forEach(function(item) {","        pm.expect(item).to.have.property('id');","        pm.expect(item).to.have.property('user');","        pm.expect(item).to.have.property('tenant');","    });","});","","","pm.test(\"ID, user, and tenant are non-negative integers\", function () {","  const responseData = pm.response.json();","  ","  pm.expect(responseData).to.be.an('array').that.is.not.empty;","  responseData.forEach(item => {","    pm.expect(item.id).to.be.a('number').that.is.at.least(0);","    pm.expect(item.user).to.be.a('number').that.is.at.least(0);","    pm.expect(item.tenant).to.be.a('number').that.is.at.least(0);","  });","});","","","pm.test(\"Content-Type header is application/json\", function () {","    pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");","});","","","pm.test(\"Response time is less than 200ms\", function () {","  pm.expect(pm.response.responseTime).to.be.below(200);","});",""],"type":"text/javascript","packages":{}}}],"id":"50adabbd-ebd9-4494-8990-a2b2de05e9aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/user-tenants/list","description":"<p>The <code>GET</code> request to <code>/api/user-tenants/list</code> endpoint retrieves a list of user-tenant relationships. The response is a JSON array containing objects with the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the user-tenant relationship.</p>\n</li>\n<li><p><code>user</code> (number): The ID of the user associated with the relationship.</p>\n</li>\n<li><p><code>tenant</code> (number): The ID of the tenant associated with the relationship.</p>\n</li>\n</ul>\n<p>Here is the JSON schema for the response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"type\": \"object\",\n    \"properties\": {\n      \"id\": {\n        \"type\": \"number\"\n      },\n      \"user\": {\n        \"type\": \"number\"\n      },\n      \"tenant\": {\n        \"type\": \"number\"\n      }\n    }\n  }\n]\n\n</code></pre>\n","urlObject":{"path":["api","user-tenants","list"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"9e24c2f3-687d-4cfe-8b24-726056a3f6f1","name":"User Tenants Copy","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/user-tenants/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Feb 2025 07:33:27 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"335"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 51,\n        \"user\": 52,\n        \"tenant\": 11,\n        \"username\": \"ric\",\n        \"email\": \"ricardo.amador@xkytem.com\",\n        \"is_active\": true,\n        \"date_joined\": \"2025-02-25T22:53:02Z\",\n        \"last_login\": \"2025-02-26T07:27:33.359195Z\"\n    },\n    {\n        \"id\": 52,\n        \"user\": 53,\n        \"tenant\": 11,\n        \"username\": \"javi\",\n        \"email\": \"javi@xky.com\",\n        \"is_active\": true,\n        \"date_joined\": \"2025-02-26T02:15:58.917438Z\",\n        \"last_login\": null\n    }\n]"}],"_postman_id":"50adabbd-ebd9-4494-8990-a2b2de05e9aa"}],"id":"428e7624-7ead-46df-9278-1d8ba0dcb3a1","_postman_id":"428e7624-7ead-46df-9278-1d8ba0dcb3a1","description":""},{"name":"Permissions and Roles","item":[{"name":"Roles","id":"0ada0732-799a-46c3-8684-bd87882a8a87","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"url":"http://127.0.0.1:8000/api/roles/","description":"<p>This endpoint makes an HTTP GET request to retrieve a list of roles from the server.</p>\n<h3 id=\"request\">Request</h3>\n<p>No request body is required for this endpoint.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution, the server responds with a status code of 200 and a JSON array containing role objects. Each role object includes the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the role.</p>\n</li>\n<li><p><code>name</code> (string): The name of the role.</p>\n</li>\n<li><p><code>group</code> (number): The group to which the role belongs.</p>\n</li>\n<li><p><code>tenant</code> (number): The tenant associated with the role.</p>\n</li>\n</ul>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"name\": \"\",\n        \"group\": 0,\n        \"tenant\": 0\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","roles",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"0ada0732-799a-46c3-8684-bd87882a8a87"},{"name":"Permissions Available","id":"c4f98950-4051-43e7-83fd-7b9868deebca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/permission-groups/list","description":"<p>This endpoint makes an HTTP GET request to retrieve a list of roles from the server.</p>\n<h3 id=\"request\">Request</h3>\n<p>No request body is required for this endpoint.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution, the server responds with a status code of 200 and a JSON array containing role objects. Each role object includes the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the role.</p>\n</li>\n<li><p><code>name</code> (string): The name of the role.</p>\n</li>\n<li><p><code>group</code> (number): The group to which the role belongs.</p>\n</li>\n<li><p><code>tenant</code> (number): The tenant associated with the role.</p>\n</li>\n</ul>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"name\": \"\",\n        \"group\": 0,\n        \"tenant\": 0\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","permission-groups","list"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"216ebe22-828c-46cc-904c-6e6106dd3d26","name":"Roles Copy","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/permission-groups/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Feb 2025 20:56:56 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"3578"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"tenant_management\": {\n        \"name\": \"Tenant Management\",\n        \"description\": \"Permissions related to tenant configuration and management\",\n        \"permissions\": [\n            {\n                \"id\": 60,\n                \"codename\": \"can_manage_tenants\",\n                \"name\": \"Can manage tenants\"\n            }\n        ]\n    },\n    \"user_management\": {\n        \"name\": \"User Management\",\n        \"description\": \"Permissions related to user accounts and access control\",\n        \"permissions\": [\n            {\n                \"id\": 49,\n                \"codename\": \"add_permissionsmanager\",\n                \"name\": \"Can add permissions manager\"\n            },\n            {\n                \"id\": 94,\n                \"codename\": \"add_user\",\n                \"name\": \"add_user\"\n            },\n            {\n                \"id\": 62,\n                \"codename\": \"can_manage_permissions\",\n                \"name\": \"Can manage permissions\"\n            },\n            {\n                \"id\": 61,\n                \"codename\": \"can_manage_roles\",\n                \"name\": \"Can manage roles\"\n            },\n            {\n                \"id\": 53,\n                \"codename\": \"can_manage_users\",\n                \"name\": \"Can manage users\"\n            },\n            {\n                \"id\": 50,\n                \"codename\": \"change_permissionsmanager\",\n                \"name\": \"Can change permissions manager\"\n            },\n            {\n                \"id\": 95,\n                \"codename\": \"change_user\",\n                \"name\": \"change_user\"\n            },\n            {\n                \"id\": 51,\n                \"codename\": \"delete_permissionsmanager\",\n                \"name\": \"Can delete permissions manager\"\n            },\n            {\n                \"id\": 96,\n                \"codename\": \"delete_user\",\n                \"name\": \"delete_user\"\n            },\n            {\n                \"id\": 52,\n                \"codename\": \"view_permissionsmanager\",\n                \"name\": \"Can view permissions manager\"\n            },\n            {\n                \"id\": 97,\n                \"codename\": \"view_user\",\n                \"name\": \"view_user\"\n            }\n        ]\n    },\n    \"branch_management\": {\n        \"name\": \"Branch Management\",\n        \"description\": \"Permissions related to branch operations\",\n        \"permissions\": [\n            {\n                \"id\": 98,\n                \"codename\": \"add_branch\",\n                \"name\": \"add_branch\"\n            },\n            {\n                \"id\": 64,\n                \"codename\": \"can_manage_branches\",\n                \"name\": \"Can manage branches\"\n            },\n            {\n                \"id\": 99,\n                \"codename\": \"change_branch\",\n                \"name\": \"change_branch\"\n            },\n            {\n                \"id\": 100,\n                \"codename\": \"delete_branch\",\n                \"name\": \"delete_branch\"\n            },\n            {\n                \"id\": 101,\n                \"codename\": \"view_branch\",\n                \"name\": \"view_branch\"\n            }\n        ]\n    },\n    \"payment_management\": {\n        \"name\": \"Payment Management\",\n        \"description\": \"Permissions related to payment processing and transactions\",\n        \"permissions\": [\n            {\n                \"id\": 59,\n                \"codename\": \"can_manage_payments\",\n                \"name\": \"Can manage payments\"\n            }\n        ]\n    },\n    \"subscription_management\": {\n        \"name\": \"Subscription Management\",\n        \"description\": \"Permissions related to subscription plans and features\",\n        \"permissions\": [\n            {\n                \"id\": 65,\n                \"codename\": \"can_manage_features\",\n                \"name\": \"Can manage features\"\n            },\n            {\n                \"id\": 63,\n                \"codename\": \"can_manage_subscription_plans\",\n                \"name\": \"Can manage subscription plans\"\n            },\n            {\n                \"id\": 58,\n                \"codename\": \"can_manage_subscriptions\",\n                \"name\": \"Can manage subscriptions\"\n            }\n        ]\n    },\n    \"configuration\": {\n        \"name\": \"Configuration\",\n        \"description\": \"General configuration permissions\",\n        \"permissions\": [\n            {\n                \"id\": 102,\n                \"codename\": \"add_configuration\",\n                \"name\": \"add_configuration\"\n            },\n            {\n                \"id\": 103,\n                \"codename\": \"change_configuration\",\n                \"name\": \"change_configuration\"\n            },\n            {\n                \"id\": 104,\n                \"codename\": \"delete_configuration\",\n                \"name\": \"delete_configuration\"\n            },\n            {\n                \"id\": 116,\n                \"codename\": \"view_configuration\",\n                \"name\": \"view_configuration\"\n            },\n            {\n                \"id\": 105,\n                \"codename\": \"view_configurations\",\n                \"name\": \"view_configurations\"\n            }\n        ]\n    },\n    \"other\": {\n        \"name\": \"Other Permissions\",\n        \"description\": \"Miscellaneous permissions\",\n        \"permissions\": [\n            {\n                \"id\": 106,\n                \"codename\": \"add_invoice\",\n                \"name\": \"add_invoice\"\n            },\n            {\n                \"id\": 110,\n                \"codename\": \"add_money\",\n                \"name\": \"add_money\"\n            },\n            {\n                \"id\": 56,\n                \"codename\": \"can_access_admin_panel\",\n                \"name\": \"Can access admin panel\"\n            },\n            {\n                \"id\": 55,\n                \"codename\": \"can_edit_settings\",\n                \"name\": \"Can edit settings\"\n            },\n            {\n                \"id\": 57,\n                \"codename\": \"can_generate_invoice\",\n                \"name\": \"Can generate invoices\"\n            },\n            {\n                \"id\": 54,\n                \"codename\": \"can_view_reports\",\n                \"name\": \"Can view reports\"\n            },\n            {\n                \"id\": 107,\n                \"codename\": \"change_invoice\",\n                \"name\": \"change_invoice\"\n            },\n            {\n                \"id\": 111,\n                \"codename\": \"change_money\",\n                \"name\": \"change_money\"\n            },\n            {\n                \"id\": 108,\n                \"codename\": \"delete_invoice\",\n                \"name\": \"delete_invoice\"\n            },\n            {\n                \"id\": 112,\n                \"codename\": \"delete_money\",\n                \"name\": \"delete_money\"\n            },\n            {\n                \"id\": 115,\n                \"codename\": \"manage_money\",\n                \"name\": \"manage_money\"\n            },\n            {\n                \"id\": 109,\n                \"codename\": \"view_invoice\",\n                \"name\": \"view_invoice\"\n            },\n            {\n                \"id\": 114,\n                \"codename\": \"view_kds\",\n                \"name\": \"view_kds\"\n            },\n            {\n                \"id\": 113,\n                \"codename\": \"view_money\",\n                \"name\": \"view_money\"\n            }\n        ]\n    }\n}"}],"_postman_id":"c4f98950-4051-43e7-83fd-7b9868deebca"},{"name":"Permissions Available Flat","id":"4c07774a-09c0-4299-8fc4-b6275fc9f0ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/permission-groups/flat-list","description":"<p>This endpoint makes an HTTP GET request to retrieve a list of roles from the server.</p>\n<h3 id=\"request\">Request</h3>\n<p>No request body is required for this endpoint.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution, the server responds with a status code of 200 and a JSON array containing role objects. Each role object includes the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the role.</p>\n</li>\n<li><p><code>name</code> (string): The name of the role.</p>\n</li>\n<li><p><code>group</code> (number): The group to which the role belongs.</p>\n</li>\n<li><p><code>tenant</code> (number): The tenant associated with the role.</p>\n</li>\n</ul>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"name\": \"\",\n        \"group\": 0,\n        \"tenant\": 0\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","permission-groups","flat-list"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"b79c65a9-1aeb-47a0-9453-b0c17b88be50","name":"Permissions Available Copy","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/permission-groups/flat-list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Feb 2025 20:57:17 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"2691"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 98,\n        \"codename\": \"add_branch\",\n        \"name\": \"add_branch\"\n    },\n    {\n        \"id\": 102,\n        \"codename\": \"add_configuration\",\n        \"name\": \"add_configuration\"\n    },\n    {\n        \"id\": 106,\n        \"codename\": \"add_invoice\",\n        \"name\": \"add_invoice\"\n    },\n    {\n        \"id\": 110,\n        \"codename\": \"add_money\",\n        \"name\": \"add_money\"\n    },\n    {\n        \"id\": 49,\n        \"codename\": \"add_permissionsmanager\",\n        \"name\": \"Can add permissions manager\"\n    },\n    {\n        \"id\": 94,\n        \"codename\": \"add_user\",\n        \"name\": \"add_user\"\n    },\n    {\n        \"id\": 56,\n        \"codename\": \"can_access_admin_panel\",\n        \"name\": \"Can access admin panel\"\n    },\n    {\n        \"id\": 55,\n        \"codename\": \"can_edit_settings\",\n        \"name\": \"Can edit settings\"\n    },\n    {\n        \"id\": 57,\n        \"codename\": \"can_generate_invoice\",\n        \"name\": \"Can generate invoices\"\n    },\n    {\n        \"id\": 64,\n        \"codename\": \"can_manage_branches\",\n        \"name\": \"Can manage branches\"\n    },\n    {\n        \"id\": 65,\n        \"codename\": \"can_manage_features\",\n        \"name\": \"Can manage features\"\n    },\n    {\n        \"id\": 59,\n        \"codename\": \"can_manage_payments\",\n        \"name\": \"Can manage payments\"\n    },\n    {\n        \"id\": 62,\n        \"codename\": \"can_manage_permissions\",\n        \"name\": \"Can manage permissions\"\n    },\n    {\n        \"id\": 61,\n        \"codename\": \"can_manage_roles\",\n        \"name\": \"Can manage roles\"\n    },\n    {\n        \"id\": 63,\n        \"codename\": \"can_manage_subscription_plans\",\n        \"name\": \"Can manage subscription plans\"\n    },\n    {\n        \"id\": 58,\n        \"codename\": \"can_manage_subscriptions\",\n        \"name\": \"Can manage subscriptions\"\n    },\n    {\n        \"id\": 60,\n        \"codename\": \"can_manage_tenants\",\n        \"name\": \"Can manage tenants\"\n    },\n    {\n        \"id\": 53,\n        \"codename\": \"can_manage_users\",\n        \"name\": \"Can manage users\"\n    },\n    {\n        \"id\": 54,\n        \"codename\": \"can_view_reports\",\n        \"name\": \"Can view reports\"\n    },\n    {\n        \"id\": 99,\n        \"codename\": \"change_branch\",\n        \"name\": \"change_branch\"\n    },\n    {\n        \"id\": 103,\n        \"codename\": \"change_configuration\",\n        \"name\": \"change_configuration\"\n    },\n    {\n        \"id\": 107,\n        \"codename\": \"change_invoice\",\n        \"name\": \"change_invoice\"\n    },\n    {\n        \"id\": 111,\n        \"codename\": \"change_money\",\n        \"name\": \"change_money\"\n    },\n    {\n        \"id\": 50,\n        \"codename\": \"change_permissionsmanager\",\n        \"name\": \"Can change permissions manager\"\n    },\n    {\n        \"id\": 95,\n        \"codename\": \"change_user\",\n        \"name\": \"change_user\"\n    },\n    {\n        \"id\": 100,\n        \"codename\": \"delete_branch\",\n        \"name\": \"delete_branch\"\n    },\n    {\n        \"id\": 104,\n        \"codename\": \"delete_configuration\",\n        \"name\": \"delete_configuration\"\n    },\n    {\n        \"id\": 108,\n        \"codename\": \"delete_invoice\",\n        \"name\": \"delete_invoice\"\n    },\n    {\n        \"id\": 112,\n        \"codename\": \"delete_money\",\n        \"name\": \"delete_money\"\n    },\n    {\n        \"id\": 51,\n        \"codename\": \"delete_permissionsmanager\",\n        \"name\": \"Can delete permissions manager\"\n    },\n    {\n        \"id\": 96,\n        \"codename\": \"delete_user\",\n        \"name\": \"delete_user\"\n    },\n    {\n        \"id\": 115,\n        \"codename\": \"manage_money\",\n        \"name\": \"manage_money\"\n    },\n    {\n        \"id\": 101,\n        \"codename\": \"view_branch\",\n        \"name\": \"view_branch\"\n    },\n    {\n        \"id\": 116,\n        \"codename\": \"view_configuration\",\n        \"name\": \"view_configuration\"\n    },\n    {\n        \"id\": 105,\n        \"codename\": \"view_configurations\",\n        \"name\": \"view_configurations\"\n    },\n    {\n        \"id\": 109,\n        \"codename\": \"view_invoice\",\n        \"name\": \"view_invoice\"\n    },\n    {\n        \"id\": 114,\n        \"codename\": \"view_kds\",\n        \"name\": \"view_kds\"\n    },\n    {\n        \"id\": 113,\n        \"codename\": \"view_money\",\n        \"name\": \"view_money\"\n    },\n    {\n        \"id\": 52,\n        \"codename\": \"view_permissionsmanager\",\n        \"name\": \"Can view permissions manager\"\n    },\n    {\n        \"id\": 97,\n        \"codename\": \"view_user\",\n        \"name\": \"view_user\"\n    }\n]"}],"_postman_id":"4c07774a-09c0-4299-8fc4-b6275fc9f0ad"},{"name":"Get Roles with permissions","id":"d58e3c93-365e-4012-a302-a1b3d882421a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/manage-role-permissions/1","description":"<p>This endpoint makes an HTTP GET request to retrieve a list of roles from the server.</p>\n<h3 id=\"request\">Request</h3>\n<p>No request body is required for this endpoint.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution, the server responds with a status code of 200 and a JSON array containing role objects. Each role object includes the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the role.</p>\n</li>\n<li><p><code>name</code> (string): The name of the role.</p>\n</li>\n<li><p><code>group</code> (number): The group to which the role belongs.</p>\n</li>\n<li><p><code>tenant</code> (number): The tenant associated with the role.</p>\n</li>\n</ul>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"name\": \"\",\n        \"group\": 0,\n        \"tenant\": 0\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","manage-role-permissions","1"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"d58e3c93-365e-4012-a302-a1b3d882421a"},{"name":"Get Roles with permissions List Same Tenant","id":"f69bc88b-4849-468f-b462-006db0245cf9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/manage-role-permissions/1","description":"<p>This endpoint makes an HTTP GET request to retrieve a list of roles from the server.</p>\n<h3 id=\"request\">Request</h3>\n<p>No request body is required for this endpoint.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution, the server responds with a status code of 200 and a JSON array containing role objects. Each role object includes the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the role.</p>\n</li>\n<li><p><code>name</code> (string): The name of the role.</p>\n</li>\n<li><p><code>group</code> (number): The group to which the role belongs.</p>\n</li>\n<li><p><code>tenant</code> (number): The tenant associated with the role.</p>\n</li>\n</ul>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"name\": \"\",\n        \"group\": 0,\n        \"tenant\": 0\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","manage-role-permissions","1"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"8c6d7abb-cc9e-431b-937e-95b98f881508","name":"Get Roles with permissions Copy","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/manage-role-permissions/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Feb 2025 01:09:32 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"110"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"tenant\": \"Pollo XKYTEM\",\n    \"roles\": [\n        {\n            \"id\": 51,\n            \"role_name\": \"mesero\",\n            \"group\": \"mesero_tenant_11\",\n            \"permissions\": []\n        }\n    ]\n}"},{"id":"301589c8-d6ee-4b51-a6fb-4a1c30abdf47","name":"Get Roles with permissions Copy","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/manage-role-permissions/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Feb 2025 01:28:38 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"219"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"tenant\": \"Pollo XKYTEM\",\n    \"roles\": [\n        {\n            \"id\": 51,\n            \"role_name\": \"mesero\",\n            \"group\": \"mesero_tenant_11\",\n            \"permissions\": [\n                \"add_branch\",\n                \"change_branch\",\n                \"delete_branch\",\n                \"view_branch\",\n                \"add_user\",\n                \"change_user\",\n                \"delete_user\",\n                \"view_user\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"f69bc88b-4849-468f-b462-006db0245cf9"},{"name":"Create/Update Role Permissions","id":"07adc517-a49e-4576-ad73-b7c9d89d919e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\"id\": 1,  \n\"permissions\": [\n        \"add_branch\",\n        \"add_configurations\",\n        \"add_invoice\",\n        \"add_money\",\n        \"add_user\",\n        \"change_branch\",\n        \"change_configurations\",\n        \"change_invoice\",\n        \"change_money\",\n        \"change_user\",\n        \"delete_branch\",\n        \"delete_configurations\",\n        \"delete_invoice\",\n        \"delete_money\",\n        \"delete_user\",\n        \"view_branch\",\n        \"view_configurations\",\n        \"view_invoice\",\n        \"view_money\",\n        \"view_user\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/manage-role-permissions/","description":"<h3 id=\"manage-role-permissions\">Manage Role Permissions</h3>\n<p>This endpoint allows the user to manage role permissions by assigning or removing specific permissions for a role.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>id</code> (integer): The ID of the role for which permissions are being managed.</p>\n</li>\n<li><p><code>permissions</code> (array of strings): An array of permissions to be assigned to the role.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful execution, the endpoint returns a status code of 200 and an empty JSON object with the key \"detail\".</p>\n","urlObject":{"path":["api","manage-role-permissions",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"07adc517-a49e-4576-ad73-b7c9d89d919e"},{"name":"Permissions Configuration","id":"0f6b74c3-9708-4484-bc88-6908eb6b38b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/permissions-configuration/list","description":"<h3 id=\"api-request-description\">API Request Description</h3>\n<p>This endpoint makes an HTTP GET request to retrieve the list of permissions configuration available for all users.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>This request does not require a request body.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<p>The response returns a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"available_permissions\": [\"string\"]\n}\n\n</code></pre>\n<p>The <code>available_permissions</code> key is an array containing the available permissions.</p>\n","urlObject":{"path":["api","permissions-configuration","list"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"0f6b74c3-9708-4484-bc88-6908eb6b38b3"},{"name":"Permissions Configuration Current User","id":"0a6fc48b-5b72-42c2-9ddf-9bdc9da90205","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/permissions-configuration/","description":"<h3 id=\"api-request-description\">API Request Description</h3>\n<p>This endpoint makes an HTTP GET request to retrieve the list of permissions configuration for the current user.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>This request does not require a request body.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<p>The response returns a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"available_permissions\": [\"string\"]\n}\n\n</code></pre>\n<p>The <code>available_permissions</code> key is an array containing the available permissions.</p>\n","urlObject":{"path":["api","permissions-configuration",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a6fc48b-5b72-42c2-9ddf-9bdc9da90205"},{"name":"Assign Role to User","id":"94030775-9cd9-4881-b8c5-3e4b4c455851","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\":52,\n    \"role_id\":51\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/user-role/","description":"<h3 id=\"post-apiroles\">POST /api/roles/</h3>\n<p>This endpoint allows the client to create a new role.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>name</code> (string, required): The name of the role.</p>\n</li>\n<li><p><code>group</code> (string, required): The group to which the role belongs.</p>\n</li>\n<li><p><code>tenant</code> (string, required): The tenant to which the role is associated.</p>\n</li>\n</ul>\n<h4 id=\"response-400---bad-request\">Response (400 - Bad Request)</h4>\n<p>The response will be in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"name\": [\"string\"],\n  \"group\": [\"string\"],\n  \"tenant\": [\"string\"]\n}\n\n</code></pre>\n<p>The response will indicate that the request was unsuccessful due to missing or empty values for the <code>name</code>, <code>group</code>, and <code>tenant</code> parameters.</p>\n","urlObject":{"path":["api","user-role",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"94030775-9cd9-4881-b8c5-3e4b4c455851"},{"name":"Assign Role to User Update","id":"ac6cefad-e19c-423f-9882-ced24cef3e12","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\":52,\n    \"role_id\":51\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/user-role/update/51/","description":"<h3 id=\"put-apiuser-roleupdate51\">PUT /api/user-role/update/51/</h3>\n<p>This endpoint updates the role of a specific user. 51 is user_id</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>user_id</code> (number, required): The ID of the user for whom the role is being updated.</p>\n</li>\n<li><p><code>role_id</code> (number, required): The ID of the role to be assigned to the user.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful execution, the response will be in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": 0,\n  \"user\": 0,\n  \"tenant\": 0\n}\n\n</code></pre>\n<p>The response will contain the updated IDs for the user, role, and tenant.</p>\n","urlObject":{"path":["api","user-role","update","51",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"ac6cefad-e19c-423f-9882-ced24cef3e12"},{"name":"Remove  Role to User","id":"96dcee8b-50a4-4f3d-bb12-cda909c125fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\":52,\n    \"role_id\":51\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/user-role/delete/51/","description":"<h3 id=\"delete-apiuser-roledelete51\">DELETE /api/user-role/delete/51/</h3>\n<p>This endpoint is used to delete a user role with the specified ID.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>user_id</code> (number, required): The ID of the user for whom the role is to be deleted.</p>\n</li>\n<li><p><code>role_id</code> (number, required): The ID of the role to be deleted.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful deletion, the server will return a status code of 200 with an empty JSON response body.</p>\n","urlObject":{"path":["api","user-role","delete","51",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"96dcee8b-50a4-4f3d-bb12-cda909c125fd"},{"name":"Create Role with Permissions UI","id":"29a37e73-1c5e-4f8b-924f-e7df711532ef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/role-with-permissions/","description":"<h3 id=\"add-role-with-permissions\">Add Role with Permissions</h3>\n<p>This endpoint allows you to add a new role along with its associated permissions.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>role_name</code> (text, required): The name of the new role.</p>\n</li>\n<li><p><code>permissions</code> (text, required): The list of permissions to be associated with the role.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p>Status: 400</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n<li><p>{ \"error\": \"\"}</p>\n</li>\n</ul>\n<p>When making a POST request to this endpoint, ensure that the <code>role_name</code> and <code>permissions</code> are included in the request body. In case of an error, the response will include a JSON object with an <code>error</code> key indicating the nature of the error.</p>\n","urlObject":{"path":["api","role-with-permissions",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"29a37e73-1c5e-4f8b-924f-e7df711532ef"}],"id":"31391090-1bcd-4835-bd7f-3cc2fa4b064c","_postman_id":"31391090-1bcd-4835-bd7f-3cc2fa4b064c","description":""},{"name":"Branches (Sucursales)","item":[{"name":"Branches of User","id":"9f664d63-d8ad-43a1-8005-f80a85bd938a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/branches","description":"<h3 id=\"get-branches\">Get Branches</h3>\n<p>This endpoint makes an HTTP GET request to retrieve a list of branches.</p>\n<p><strong>Request Body</strong><br />This request does not require a request body.</p>\n<p><strong>Response</strong></p>\n<ul>\n<li><p>Status: 200</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n</ul>\n<p>The response will contain an array of branch objects, each with the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier of the branch.</p>\n</li>\n<li><p><code>name</code> (string): The name of the branch.</p>\n</li>\n<li><p><code>location</code> (string): The location of the branch.</p>\n</li>\n</ul>\n<p>Example response body:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"name\": \"\",\n        \"location\": \"\"\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","branches"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"9f664d63-d8ad-43a1-8005-f80a85bd938a"},{"name":"Get All Branches of a Tenant","id":"312bd156-2c7d-4d44-9cb1-6a4bf7ed844c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/branches/list","description":"<h3 id=\"get-branches-list\">Get Branches List</h3>\n<p>This endpoint makes an HTTP GET request to retrieve a list of branches.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<p>This request does not require a request body.</p>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p>Status: 200</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n</ul>\n<p>The response will contain an array of branch objects, where each object includes the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier of the branch.</p>\n</li>\n<li><p><code>name</code> (string): The name of the branch.</p>\n</li>\n<li><p><code>location</code> (string): The location of the branch.</p>\n</li>\n</ul>\n<p>Example Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"name\": \"\",\n        \"location\": \"\"\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","branches","list"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"312bd156-2c7d-4d44-9cb1-6a4bf7ed844c"},{"name":"Create Branch","id":"2cef6437-5182-40e4-87c7-e6549ca5e18a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Postman Branch2\",\n    \"location\": \"Test location\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/branches/create","description":"<p>This endpoint allows you to create a new branch using an HTTP POST request to http://127.0.0.1:8000/api/branches/create.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request should include the following parameters in the raw request body:</p>\n<ul>\n<li><p><code>name</code>: (string) The name of the branch.</p>\n</li>\n<li><p><code>location</code>: (string) The location of the branch.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>Upon successful creation, the endpoint will return a 201 status code with a JSON response containing the newly created branch details, including:</p>\n<ul>\n<li><p><code>id</code>: The unique identifier for the created branch.</p>\n</li>\n<li><p><code>name</code>: The name of the branch.</p>\n</li>\n<li><p><code>location</code>: The location of the branch.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","branches","create"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"2cef6437-5182-40e4-87c7-e6549ca5e18a"}],"id":"5ee21850-10e7-479b-be6f-2752919a73c6","_postman_id":"5ee21850-10e7-479b-be6f-2752919a73c6","description":""},{"name":"Inventory","item":[{"name":"Actions","item":[{"name":"New Inventory","id":"db8543c0-e288-4779-aed1-475462c77219","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\",\n  \"quantity_change\": 10,  // Positive to add inventory, negative to reduce\n  \"action\": \"nuevas existencias\",  // Or any other action type\n  \"notes\": \"Optional notes about the adjustment\",\n  \"reference_id\": \"Optional reference ID\",\n  \"reference_type\": \"Optional reference type\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/update-quantity/INS713d8fa6/","urlObject":{"path":["api","inventory","update-quantity","INS713d8fa6",""],"host":["http://127.0.0.1:8000"],"query":[{"disabled":true,"key":"branch_id","value":"102"}],"variable":[]}},"response":[{"id":"71f77216-6d00-4deb-b4e3-0069efd8402c","name":"New Inventory","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\",\n  \"quantity_change\": 10,  // Positive to add inventory, negative to reduce\n  \"action\": \"nuevas existencias\",  // Or any other action type\n  \"notes\": \"Optional notes about the adjustment\",\n  \"reference_id\": \"Optional reference ID\",\n  \"reference_type\": \"Optional reference type\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/inventory/update-quantity/INS713d8fa6/","host":["http://127.0.0.1:8000"],"path":["api","inventory","update-quantity","INS713d8fa6",""],"query":[{"key":"branch_id","value":"102","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 05 Apr 2025 00:49:20 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"165"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Inventory quantity updated successfully\",\n    \"previous_quantity\": 9.28,\n    \"new_quantity\": 19.28,\n    \"difference\": 10,\n    \"history_id\": \"inventory_INS713d8fa6_1743814160\"\n}"}],"_postman_id":"db8543c0-e288-4779-aed1-475462c77219"},{"name":"Set Inventory","id":"8b31c453-16d3-4319-be6d-6f013910244d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"BranchID\": \"102\",\n    \"new_quantity\": 100,  // The exact quantity to set\n    \"action\": \"Recuento de Inventario\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/set-quantity/INS0041c8e6/","urlObject":{"path":["api","inventory","set-quantity","INS0041c8e6",""],"host":["http://127.0.0.1:8000"],"query":[{"disabled":true,"key":"branch_id","value":"102"}],"variable":[]}},"response":[{"id":"c2f10927-4e21-4a79-814f-887de76aac99","name":"Set Inventory","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"BranchID\": \"102\",\n    \"new_quantity\": 100,  // The exact quantity to set\n    \"action\": \"Recuento de Inventario\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/inventory/set-quantity/INS0041c8e6/","host":["http://127.0.0.1:8000"],"path":["api","inventory","set-quantity","INS0041c8e6",""],"query":[{"key":"branch_id","value":"102","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"177"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Inventory quantity set successfully\",\n    \"previous_quantity\": 199.99,\n    \"new_quantity\": 100,\n    \"difference\": -99.99000000000001,\n    \"history_id\": \"inventory_INS0041c8e6_1744266890\"\n}"}],"_postman_id":"8b31c453-16d3-4319-be6d-6f013910244d"}],"id":"a4aeb9ff-0dcb-4b26-bf0a-1e19c11d021e","_postman_id":"a4aeb9ff-0dcb-4b26-bf0a-1e19c11d021e","description":""},{"name":"Create Inventory Article","id":"14cb364a-391d-413c-a0fb-e38f34fe388c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Chicken Breast\",\n  \"costPerUnit\": 15.99,\n  \"measurementUnit\": \"kg\",\n  \"cost\": 12.50,\n  \"category\": \"Meat\",\n  \"quantity\": 25,\n  \"tracking\": {\n    \"existenciasBajas\": true,\n    \"existenciasAltas\": false,\n    \"bloquearArticulos\": true,\n    \"bloquearModificadores\": false,\n    \"bloquearInsumos\": true,\n    \"bloquearPorciones\": false\n  },\n  \"selectedSucursales\": [\n    {\n      \"name\": \"Main Kitchen\",\n      \"address\": \"123 Restaurant Ave\",\n      \"group\": \"Downtown\",\n      \"id\": 102\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/create/","description":"<h3 id=\"create-inventory-item\">Create Inventory Item</h3>\n<p>This endpoint allows the client to create a new inventory item.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>BranchID</code> (text, required): The ID of the branch where the inventory item is located.</p>\n</li>\n<li><p><code>ProductName</code> (text, required): The name of the product.</p>\n</li>\n<li><p><code>Category</code> (text, required): The category of the product.</p>\n</li>\n<li><p><code>Quantity</code> (text, required): The quantity of the product.</p>\n</li>\n<li><p><code>Unit</code> (text, required): The unit of measurement for the product.</p>\n</li>\n<li><p><code>Price</code> (text, required): The price of the product.</p>\n</li>\n<li><p><code>MinimumLevel</code> (text, required): The minimum level of the product in inventory.</p>\n</li>\n<li><p><code>MaximumLevel</code> (text, required): The maximum level of the product in inventory.</p>\n</li>\n<li><p><code>ExpiryPeriod</code> (text, required): The expiry period of the product.</p>\n</li>\n<li><p><code>IsPerishable</code> (text, required): Indicates if the product is perishable.</p>\n</li>\n<li><p><code>PreferredSupplierID</code> (text, required): The ID of the preferred supplier for the product.</p>\n</li>\n<li><p><code>IsActive</code> (text, required): Indicates if the product is active.</p>\n</li>\n<li><p><code>AvgDailyUsage</code> (text, required): The average daily usage of the product.</p>\n</li>\n<li><p><code>BatchTracking</code> (text, required): An array of objects containing batch tracking information including BatchID, Quantity, ExpiryDate, and ReceivedDate.</p>\n</li>\n<li><p><code>WarehouseDistribution</code> (text, required): An array of objects containing warehouse distribution information including WarehouseID and Quantity.</p>\n</li>\n<li><p><code>details</code> (text, required): Additional details about the product including Brand, Origin, Allergens, NutritionalInfo, and StorageInstructions.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        },\n        \"ProductID\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n<p>The response contains a status code of 201 indicating the successful creation of the inventory item. The <code>ProductID</code> field in the response contains the ID of the newly created product.</p>\n","urlObject":{"path":["api","inventory","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"5dd3cb91-3684-41e3-a097-f9097e26a7e4","name":"Create Inventory Article","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\",\n  \"ProductName\": \"Organic Flour\",\n  \"Category\": \"Baking Supplies\",\n  \"Quantity\": 100,\n  \"Unit\": \"kg\",\n  \"Price\": 2.50,\n  \"MinimumLevel\": 20,\n  \"MaximumLevel\": 200,\n  \"ExpiryPeriod\": 180,\n  \"IsPerishable\": 1,\n  \"PreferredSupplierID\": \"supplier-101\",\n  \"IsActive\": 1,\n  \"AvgDailyUsage\": 3.5,\n  \"BatchTracking\": [\n    {\n      \"BatchID\": \"batch-001\",\n      \"Quantity\": 50,\n      \"ExpiryDate\": 1672531200,\n      \"ReceivedDate\": 1640995200\n    },\n    {\n      \"BatchID\": \"batch-002\",\n      \"Quantity\": 50,\n      \"ExpiryDate\": 1675209600,\n      \"ReceivedDate\": 1643673600\n    }\n  ],\n  \"WarehouseDistribution\": [\n    {\n      \"WarehouseID\": \"warehouse-789\",\n      \"Quantity\": 70\n    },\n    {\n      \"WarehouseID\": \"warehouse-102\",\n      \"Quantity\": 30\n    }\n  ],\n  \"details\": {\n    \"Brand\": \"Nature's Best\",\n    \"Origin\": \"Local\",\n    \"Allergens\": [\"Gluten\"],\n    \"NutritionalInfo\": {\n      \"Calories\": 364,\n      \"Protein\": 10.33,\n      \"Carbohydrates\": 76.31,\n      \"Fat\": 1.07\n    },\n    \"StorageInstructions\": \"Store in a cool, dry place\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Mar 2025 07:44:35 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"105"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Inventory item created successfully\",\n    \"ProductID\": \"prod-e76fd61d-1478-42e0-be6f-de254cd48849\"\n}"},{"id":"b9b49466-1b83-4147-af3b-2d3943a675cf","name":"Create Inventory Article","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Chicken Breast\",\n  \"costPerUnit\": 15.99,\n  \"measurementUnit\": \"kg\",\n  \"cost\": 12.50,\n  \"category\": \"Meat\",\n  \"quantity\": 25,\n  \"tracking\": {\n    \"existenciasBajas\": true,\n    \"existenciasAltas\": false,\n    \"bloquearArticulos\": true,\n    \"bloquearModificadores\": false,\n    \"bloquearInsumos\": true,\n    \"bloquearPorciones\": false\n  },\n  \"selectedSucursales\": [\n    {\n      \"name\": \"Main Kitchen\",\n      \"address\": \"123 Restaurant Ave\",\n      \"group\": \"Downtown\",\n      \"id\": 102\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 07 Mar 2025 06:45:39 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"92"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Inventory item created successfully\",\n    \"BranchID\": \"102\",\n    \"ProductID\": \"INS4abf736f\"\n}"}],"_postman_id":"14cb364a-391d-413c-a0fb-e38f34fe388c"},{"name":"Create Inventory compound","id":"8794b567-be96-4d93-a5e0-06d8600ad5f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":" {\n  \"name\": \"pollo salado\",\n  \"email\": \"\",\n  \"password\": \"\",\n  \"role\": \"\",\n  \"branch\": \"\",\n  \"costPerUnit\": 30,\n  \"measurementUnit\": \"g\",\n  \"cost\": 25,\n  \"category\": \"SIN CATEGORÍA\",\n  \"config\": null,\n  \"selectedSucursales\": [\n    {\n      \"name\": \"Kensaladas Centro\",\n      \"address\": \"Av pajaro loko\",\n      \"group\": \"SIN GRUPO\",\n      \"id\": 102\n    }\n  ],\n  \"ingredients\": [\n    {\n      \"id\": \"INS4abf736f\",\n      \"name\": \"Chicken Breast\",\n      \"quantity\": \"23\",\n      \"unit\": \"g\",\n      \"locationsCount\": 0,\n      \"warehouseCount\": 1,\n      \"selectedLocations\": [],\n      \"selectedWarehouses\": [\n        \"WH9b34e84c\"\n      ]\n    },\n    {\n      \"id\": \"INSfb5075de\",\n      \"name\": \"Sal del Himalaya\",\n      \"quantity\": \"2\",\n      \"unit\": \"g\",\n      \"locationsCount\": 0,\n      \"warehouseCount\": 1,\n      \"selectedLocations\": [],\n      \"selectedWarehouses\": [\n        \"WH9b34e84c\"\n      ]\n    }\n  ],\n  \"tracking\": {\n    \"seguimiento\": true,\n    \"existenciasBajas\": true,\n    \"existenciasAltas\": false,\n    \"bloquearArticulos\": false,\n    \"bloquearModificadores\": false,\n    \"bloquearInsumos\": false,\n    \"bloquearPorciones\": false,\n    \"lowStockThreshold\": 50,\n    \"highStockThreshold\": 850\n  },\n  \"step5WizardStep\": 1,\n  \"step5WizardData\": {\n    \"selectedInsumo\": null,\n    \"selectedSucursales\": [],\n    \"quantity\": \"\",\n    \"unit\": \"g\"\n  },\n  \"step5ShowWizard\": false\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/create/?BranchID=102&isCompound=true","description":"<h3 id=\"create-inventory-item\">Create Inventory Item</h3>\n<p>This endpoint allows the client to create a new inventory item.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>BranchID</code> (text, required): The ID of the branch where the inventory item is located.</p>\n</li>\n<li><p><code>ProductName</code> (text, required): The name of the product.</p>\n</li>\n<li><p><code>Category</code> (text, required): The category of the product.</p>\n</li>\n<li><p><code>Quantity</code> (text, required): The quantity of the product.</p>\n</li>\n<li><p><code>Unit</code> (text, required): The unit of measurement for the product.</p>\n</li>\n<li><p><code>Price</code> (text, required): The price of the product.</p>\n</li>\n<li><p><code>MinimumLevel</code> (text, required): The minimum level of the product in inventory.</p>\n</li>\n<li><p><code>MaximumLevel</code> (text, required): The maximum level of the product in inventory.</p>\n</li>\n<li><p><code>ExpiryPeriod</code> (text, required): The expiry period of the product.</p>\n</li>\n<li><p><code>IsPerishable</code> (text, required): Indicates if the product is perishable.</p>\n</li>\n<li><p><code>PreferredSupplierID</code> (text, required): The ID of the preferred supplier for the product.</p>\n</li>\n<li><p><code>IsActive</code> (text, required): Indicates if the product is active.</p>\n</li>\n<li><p><code>AvgDailyUsage</code> (text, required): The average daily usage of the product.</p>\n</li>\n<li><p><code>BatchTracking</code> (text, required): An array of objects containing batch tracking information including BatchID, Quantity, ExpiryDate, and ReceivedDate.</p>\n</li>\n<li><p><code>WarehouseDistribution</code> (text, required): An array of objects containing warehouse distribution information including WarehouseID and Quantity.</p>\n</li>\n<li><p><code>details</code> (text, required): Additional details about the product including Brand, Origin, Allergens, NutritionalInfo, and StorageInstructions.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        },\n        \"ProductID\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n<p>The response contains a status code of 201 indicating the successful creation of the inventory item. The <code>ProductID</code> field in the response contains the ID of the newly created product.</p>\n","urlObject":{"path":["api","inventory","create",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"},{"key":"isCompound","value":"true"}],"variable":[]}},"response":[{"id":"7e957c87-7d16-4c63-a88d-af6eccccbc9c","name":"Create Inventory Article Copy","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":" {\n  \"name\": \"pollo salado\",\n  \"email\": \"\",\n  \"password\": \"\",\n  \"role\": \"\",\n  \"branch\": \"\",\n  \"costPerUnit\": 30,\n  \"measurementUnit\": \"g\",\n  \"cost\": 25,\n  \"category\": \"SIN CATEGORÍA\",\n  \"config\": null,\n  \"selectedSucursales\": [\n    {\n      \"name\": \"Kensaladas Centro\",\n      \"address\": \"Av pajaro loko\",\n      \"group\": \"SIN GRUPO\",\n      \"id\": 102\n    }\n  ],\n  \"ingredients\": [\n    {\n      \"id\": \"INS4abf736f\",\n      \"name\": \"Chicken Breast\",\n      \"quantity\": \"23\",\n      \"unit\": \"g\",\n      \"locationsCount\": 0,\n      \"warehouseCount\": 1,\n      \"selectedLocations\": [],\n      \"selectedWarehouses\": [\n        \"WH9b34e84c\"\n      ]\n    },\n    {\n      \"id\": \"INSfb5075de\",\n      \"name\": \"Sal del Himalaya\",\n      \"quantity\": \"2\",\n      \"unit\": \"g\",\n      \"locationsCount\": 0,\n      \"warehouseCount\": 1,\n      \"selectedLocations\": [],\n      \"selectedWarehouses\": [\n        \"WH9b34e84c\"\n      ]\n    }\n  ],\n  \"tracking\": {\n    \"seguimiento\": true,\n    \"existenciasBajas\": true,\n    \"existenciasAltas\": false,\n    \"bloquearArticulos\": false,\n    \"bloquearModificadores\": false,\n    \"bloquearInsumos\": false,\n    \"bloquearPorciones\": false,\n    \"lowStockThreshold\": 50,\n    \"highStockThreshold\": 850\n  },\n  \"step5WizardStep\": 1,\n  \"step5WizardData\": {\n    \"selectedInsumo\": null,\n    \"selectedSucursales\": [],\n    \"quantity\": \"\",\n    \"unit\": \"g\"\n  },\n  \"step5ShowWizard\": false\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/inventoryCompound/create/?BranchID=102","host":["http://127.0.0.1:8000"],"path":["api","inventoryCompound","create",""],"query":[{"key":"BranchID","value":"102"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 12 Mar 2025 08:07:23 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"102"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Compound inventory item created successfully\",\n    \"BranchID\": \"102\",\n    \"CompoundID\": \"CMP877044f2\"\n}"}],"_postman_id":"8794b567-be96-4d93-a5e0-06d8600ad5f9"},{"name":"Create Warehouse","id":"f5b76bd3-e5d4-4069-9abf-ee63d9d69e4e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\",\n  \"Name\": \"Barra 1\",\n  \"WarehouseType\": \"Bebidas\",\n  \"details\": {\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/warehouse/create/","description":"<h3 id=\"create-inventory-item\">Create Inventory Item</h3>\n<p>This endpoint allows the client to create a new inventory item.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>BranchID</code> (text, required): The ID of the branch where the inventory item is located.</p>\n</li>\n<li><p><code>ProductName</code> (text, required): The name of the product.</p>\n</li>\n<li><p><code>Category</code> (text, required): The category of the product.</p>\n</li>\n<li><p><code>Quantity</code> (text, required): The quantity of the product.</p>\n</li>\n<li><p><code>Unit</code> (text, required): The unit of measurement for the product.</p>\n</li>\n<li><p><code>Price</code> (text, required): The price of the product.</p>\n</li>\n<li><p><code>MinimumLevel</code> (text, required): The minimum level of the product in inventory.</p>\n</li>\n<li><p><code>MaximumLevel</code> (text, required): The maximum level of the product in inventory.</p>\n</li>\n<li><p><code>ExpiryPeriod</code> (text, required): The expiry period of the product.</p>\n</li>\n<li><p><code>IsPerishable</code> (text, required): Indicates if the product is perishable.</p>\n</li>\n<li><p><code>PreferredSupplierID</code> (text, required): The ID of the preferred supplier for the product.</p>\n</li>\n<li><p><code>IsActive</code> (text, required): Indicates if the product is active.</p>\n</li>\n<li><p><code>AvgDailyUsage</code> (text, required): The average daily usage of the product.</p>\n</li>\n<li><p><code>BatchTracking</code> (text, required): An array of objects containing batch tracking information including BatchID, Quantity, ExpiryDate, and ReceivedDate.</p>\n</li>\n<li><p><code>WarehouseDistribution</code> (text, required): An array of objects containing warehouse distribution information including WarehouseID and Quantity.</p>\n</li>\n<li><p><code>details</code> (text, required): Additional details about the product including Brand, Origin, Allergens, NutritionalInfo, and StorageInstructions.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        },\n        \"ProductID\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n<p>The response contains a status code of 201 indicating the successful creation of the inventory item. The <code>ProductID</code> field in the response contains the ID of the newly created product.</p>\n","urlObject":{"path":["api","warehouse","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"4132fc0a-fbf1-42ba-ab00-3b00e716afa4","name":"Create Inventory Article Copy","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\",\n  \"Name\": \"Barra 1\",\n  \"WarehouseType\": \"Bebidas\",\n  \"details\": {\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/warehouse/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 12 Mar 2025 04:24:27 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"88"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Warehouse created successfully\",\n    \"BranchID\": \"102\",\n    \"WarehouseID\": \"WHe1b93862\"\n}"}],"_postman_id":"f5b76bd3-e5d4-4069-9abf-ee63d9d69e4e"},{"name":"Get Inventory Compounds","id":"a9c32123-5fe3-40ac-b678-3efc3b416df8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Chicken Breast\",\n  \"costPerUnit\": 15.99,\n  \"measurementUnit\": \"kg\",\n  \"cost\": 12.50,\n  \"category\": \"Meat\",\n  \"quantity\": 25,\n  \"tracking\": {\n    \"existenciasBajas\": true,\n    \"existenciasAltas\": false,\n    \"bloquearArticulos\": true,\n    \"bloquearModificadores\": false,\n    \"bloquearInsumos\": true,\n    \"bloquearPorciones\": false\n  },\n  \"selectedSucursales\": [\n    {\n      \"name\": \"Main Kitchen\",\n      \"address\": \"123 Restaurant Ave\",\n      \"group\": \"Downtown\",\n      \"id\": 102\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/list/?BranchID=102&isCompound=true","description":"<h3 id=\"create-inventory-item\">Create Inventory Item</h3>\n<p>This endpoint allows the client to create a new inventory item.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>BranchID</code> (text, required): The ID of the branch where the inventory item is located.</p>\n</li>\n<li><p><code>ProductName</code> (text, required): The name of the product.</p>\n</li>\n<li><p><code>Category</code> (text, required): The category of the product.</p>\n</li>\n<li><p><code>Quantity</code> (text, required): The quantity of the product.</p>\n</li>\n<li><p><code>Unit</code> (text, required): The unit of measurement for the product.</p>\n</li>\n<li><p><code>Price</code> (text, required): The price of the product.</p>\n</li>\n<li><p><code>MinimumLevel</code> (text, required): The minimum level of the product in inventory.</p>\n</li>\n<li><p><code>MaximumLevel</code> (text, required): The maximum level of the product in inventory.</p>\n</li>\n<li><p><code>ExpiryPeriod</code> (text, required): The expiry period of the product.</p>\n</li>\n<li><p><code>IsPerishable</code> (text, required): Indicates if the product is perishable.</p>\n</li>\n<li><p><code>PreferredSupplierID</code> (text, required): The ID of the preferred supplier for the product.</p>\n</li>\n<li><p><code>IsActive</code> (text, required): Indicates if the product is active.</p>\n</li>\n<li><p><code>AvgDailyUsage</code> (text, required): The average daily usage of the product.</p>\n</li>\n<li><p><code>BatchTracking</code> (text, required): An array of objects containing batch tracking information including BatchID, Quantity, ExpiryDate, and ReceivedDate.</p>\n</li>\n<li><p><code>WarehouseDistribution</code> (text, required): An array of objects containing warehouse distribution information including WarehouseID and Quantity.</p>\n</li>\n<li><p><code>details</code> (text, required): Additional details about the product including Brand, Origin, Allergens, NutritionalInfo, and StorageInstructions.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        },\n        \"ProductID\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n<p>The response contains a status code of 201 indicating the successful creation of the inventory item. The <code>ProductID</code> field in the response contains the ID of the newly created product.</p>\n","urlObject":{"path":["api","inventory","list",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"},{"key":"isCompound","value":"true"}],"variable":[]}},"response":[],"_postman_id":"a9c32123-5fe3-40ac-b678-3efc3b416df8"},{"name":"Search Inventory Items By Name","id":"6e82e717-6703-48a4-8da0-da4396a8ffad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/search/?BranchID=102&term=ch","description":"<h3 id=\"search-inventory\">Search Inventory</h3>\n<p>This endpoint allows the client to search for inventory items based on the BranchID and a search term.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<ul>\n<li><p><code>BranchID</code> (required): The ID of the branch where the inventory items are located.</p>\n</li>\n<li><p><code>term</code> (required): The search term to filter the inventory items.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"count\": {\n            \"type\": \"integer\"\n        },\n        \"results\": {\n            \"type\": \"array\",\n            \"items\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"type\": {\n                        \"type\": \"string\"\n                    },\n                    \"item\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"BranchID\": {\n                                \"type\": \"string\"\n                            },\n                            \"ProductID\": {\n                                \"type\": \"string\"\n                            },\n                            \"TenantID\": {\n                                \"type\": \"string\"\n                            },\n                            \"WarehouseID\": {\n                                \"type\": \"string\"\n                            },\n                            \"ProductName\": {\n                                \"type\": \"string\"\n                            },\n                            \"Category\": {\n                                \"type\": \"string\"\n                            },\n                            \"Quantity\": {\n                                \"type\": \"integer\"\n                            },\n                            \"Unit\": {\n                                \"type\": \"string\"\n                            },\n                            \"Price\": {\n                                \"type\": \"integer\"\n                            },\n                            \"LastUpdated\": {\n                                \"type\": \"integer\"\n                            },\n                            \"MinimumLevel\": {\n                                \"type\": \"string\"\n                            },\n                            \"MaximumLevel\": {\n                                \"type\": \"string\"\n                            },\n                            \"ExpiryPeriod\": {\n                                \"type\": \"string\"\n                            },\n                            \"IsPerishable\": {\n                                \"type\": \"integer\"\n                            },\n                            \"PreferredSupplierID\": {\n                                \"type\": \"string\"\n                            },\n                            \"IsActive\": {\n                                \"type\": \"integer\"\n                            },\n                            \"AvgDailyUsage\": {\n                                \"type\": \"string\"\n                            },\n                            \"BatchTracking\": {\n                                \"type\": \"string\"\n                            },\n                            \"WarehouseDistribution\": {\n                                \"type\": \"string\"\n                            },\n                            \"details\": {\n                                \"type\": \"object\",\n                                \"properties\": {\n                                    \"cost\": {\n                                        \"type\": \"integer\"\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n        }\n    }\n}\n\n</code></pre>\n<p>The response contains a status code of 200 and provides the inventory items based on the search criteria. The <code>count</code> field indicates the total number of matching results, and the <code>results</code> field contains an array of inventory items with their details.</p>\n","urlObject":{"path":["api","inventory","search",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"},{"key":"term","value":"ch"}],"variable":[]}},"response":[{"id":"49d0b980-f9f9-4bcd-8c5c-760d1f07d865","name":"Create Warehouse Copy","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/inventory/search/?BranchID=102&term=ch","host":["http://127.0.0.1:8000"],"path":["api","inventory","search",""],"query":[{"key":"BranchID","value":"102"},{"key":"term","value":"ch"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 12 Mar 2025 07:25:25 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1325"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 3,\n    \"results\": [\n        {\n            \"type\": \"inventory\",\n            \"item\": {\n                \"BranchID\": \"102\",\n                \"ProductID\": \"INS4abf736f\",\n                \"TenantID\": \"11\",\n                \"WarehouseID\": null,\n                \"ProductName\": \"Chicken Breast\",\n                \"Category\": \"Meat\",\n                \"Quantity\": 25,\n                \"Unit\": \"kg\",\n                \"Price\": 15.99,\n                \"LastUpdated\": 1741329939,\n                \"MinimumLevel\": null,\n                \"MaximumLevel\": null,\n                \"ExpiryPeriod\": null,\n                \"IsPerishable\": 0,\n                \"PreferredSupplierID\": null,\n                \"IsActive\": 1,\n                \"AvgDailyUsage\": null,\n                \"BatchTracking\": null,\n                \"WarehouseDistribution\": null,\n                \"details\": {\n                    \"cost\": 12.5\n                }\n            }\n        },\n        {\n            \"type\": \"inventory\",\n            \"item\": {\n                \"BranchID\": \"102\",\n                \"ProductID\": \"INS94eff38b\",\n                \"TenantID\": \"11\",\n                \"WarehouseID\": null,\n                \"ProductName\": \"Chicken Breast\",\n                \"Category\": \"Meat\",\n                \"Quantity\": 25,\n                \"Unit\": \"kg\",\n                \"Price\": 15.99,\n                \"LastUpdated\": 1741331425,\n                \"MinimumLevel\": null,\n                \"MaximumLevel\": null,\n                \"ExpiryPeriod\": null,\n                \"IsPerishable\": 0,\n                \"PreferredSupplierID\": null,\n                \"IsActive\": 1,\n                \"AvgDailyUsage\": null,\n                \"BatchTracking\": null,\n                \"WarehouseDistribution\": null,\n                \"details\": {\n                    \"cost\": 12.5\n                }\n            }\n        },\n        {\n            \"type\": \"inventory\",\n            \"item\": {\n                \"BranchID\": \"102\",\n                \"ProductID\": \"INS9bc4d0c0\",\n                \"TenantID\": \"11\",\n                \"WarehouseID\": null,\n                \"ProductName\": \"Chicken Breast\",\n                \"Category\": \"Meat\",\n                \"Quantity\": 25,\n                \"Unit\": \"kg\",\n                \"Price\": 15.99,\n                \"LastUpdated\": 1741330680,\n                \"MinimumLevel\": null,\n                \"MaximumLevel\": null,\n                \"ExpiryPeriod\": null,\n                \"IsPerishable\": 0,\n                \"PreferredSupplierID\": null,\n                \"IsActive\": 1,\n                \"AvgDailyUsage\": null,\n                \"BatchTracking\": null,\n                \"WarehouseDistribution\": null,\n                \"details\": {\n                    \"cost\": 12.5\n                }\n            }\n        }\n    ]\n}"}],"_postman_id":"6e82e717-6703-48a4-8da0-da4396a8ffad"},{"name":"Get Warehouses By Branch Copy","id":"2ea711f8-d4b1-4f61-8e0c-05099afa2167","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Chicken Breast\",\n  \"costPerUnit\": 15.99,\n  \"measurementUnit\": \"kg\",\n  \"cost\": 12.50,\n  \"category\": \"Meat\",\n  \"quantity\": 25,\n  \"tracking\": {\n    \"existenciasBajas\": true,\n    \"existenciasAltas\": false,\n    \"bloquearArticulos\": true,\n    \"bloquearModificadores\": false,\n    \"bloquearInsumos\": true,\n    \"bloquearPorciones\": false\n  },\n  \"selectedSucursales\": [\n    {\n      \"name\": \"Main Kitchen\",\n      \"address\": \"123 Restaurant Ave\",\n      \"group\": \"Downtown\",\n      \"id\": 102\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/create/","description":"<h3 id=\"create-inventory-item\">Create Inventory Item</h3>\n<p>This endpoint allows the client to create a new inventory item.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>BranchID</code> (text, required): The ID of the branch where the inventory item is located.</p>\n</li>\n<li><p><code>ProductName</code> (text, required): The name of the product.</p>\n</li>\n<li><p><code>Category</code> (text, required): The category of the product.</p>\n</li>\n<li><p><code>Quantity</code> (text, required): The quantity of the product.</p>\n</li>\n<li><p><code>Unit</code> (text, required): The unit of measurement for the product.</p>\n</li>\n<li><p><code>Price</code> (text, required): The price of the product.</p>\n</li>\n<li><p><code>MinimumLevel</code> (text, required): The minimum level of the product in inventory.</p>\n</li>\n<li><p><code>MaximumLevel</code> (text, required): The maximum level of the product in inventory.</p>\n</li>\n<li><p><code>ExpiryPeriod</code> (text, required): The expiry period of the product.</p>\n</li>\n<li><p><code>IsPerishable</code> (text, required): Indicates if the product is perishable.</p>\n</li>\n<li><p><code>PreferredSupplierID</code> (text, required): The ID of the preferred supplier for the product.</p>\n</li>\n<li><p><code>IsActive</code> (text, required): Indicates if the product is active.</p>\n</li>\n<li><p><code>AvgDailyUsage</code> (text, required): The average daily usage of the product.</p>\n</li>\n<li><p><code>BatchTracking</code> (text, required): An array of objects containing batch tracking information including BatchID, Quantity, ExpiryDate, and ReceivedDate.</p>\n</li>\n<li><p><code>WarehouseDistribution</code> (text, required): An array of objects containing warehouse distribution information including WarehouseID and Quantity.</p>\n</li>\n<li><p><code>details</code> (text, required): Additional details about the product including Brand, Origin, Allergens, NutritionalInfo, and StorageInstructions.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        },\n        \"ProductID\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n<p>The response contains a status code of 201 indicating the successful creation of the inventory item. The <code>ProductID</code> field in the response contains the ID of the newly created product.</p>\n","urlObject":{"path":["api","inventory","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"2ea711f8-d4b1-4f61-8e0c-05099afa2167"},{"name":"Get Inventory Articles List","event":[{"listen":"test","script":{"id":"6cc0badd-3f29-4589-808b-236c99448928","exec":["var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Branch ID</th>","        <th>Product ID</th>","        <th>Tenant ID</th>","        <th>Warehouse ID</th>","        <th>Product Name</th>","        <th>Category</th>","        <th>Quantity</th>","        <th>Unit</th>","        <th>Price</th>","        <th>Last Updated</th>","        <th>Minimum Level</th>","        <th>Maximum Level</th>","        <th>Expiry Period</th>","        <th>Is Perishable</th>","        <th>Preferred Supplier ID</th>","        <th>Is Active</th>","        <th>Avg Daily Usage</th>","        <th>Batch Tracking</th>","        <th>Warehouse Distribution</th>","        <th>Brand</th>","        <th>Origin</th>","        <th>Allergens</th>","        <th>Nutritional Info (Fat, Carbohydrates, Calories, Protein)</th>","        <th>Storage Instructions</th>","    </tr>","    ","    {{#each response}}","        <tr>","            <td>{{BranchID}}</td>","            <td>{{ProductID}}</td>","            <td>{{TenantID}}</td>","            <td>{{WarehouseID}}</td>","            <td>{{ProductName}}</td>","            <td>{{Category}}</td>","            <td>{{Quantity}}</td>","            <td>{{Unit}}</td>","            <td>{{Price}}</td>","            <td>{{LastUpdated}}</td>","            <td>{{MinimumLevel}}</td>","            <td>{{MaximumLevel}}</td>","            <td>{{ExpiryPeriod}}</td>","            <td>{{IsPerishable}}</td>","            <td>{{PreferredSupplierID}}</td>","            <td>{{IsActive}}</td>","            <td>{{AvgDailyUsage}}</td>","            <td>{{JSON.stringify batchTracking}}</td>","            <td>{{JSON.stringify warehouseDistribution}}</td>","            <td>{{details.Brand}}</td>","            <td>{{details.Origin}}</td>","            <td>{{details.Allergens}}</td>","            <td>{{JSON.stringify details.NutritionalInfo}}</td>","            <td>{{details.StorageInstructions}}</td>","        </tr>","    {{/each}}","</table>","`;","","function constructVisualizerPayload() {","    return {response: pm.response.json()}","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"68e0f426-97bb-4ab5-852e-b675cc7ab1d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/list/?BranchID=102&isCompound=false","description":"<h3 id=\"get-inventory-list\">Get Inventory List</h3>\n<p>This endpoint retrieves a list of inventory items based on the provided BranchID.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>Endpoint: <code>http://127.0.0.1:8000/api/inventory/list/?BranchID=102</code></p>\n</li>\n</ul>\n<h5 id=\"request-body\">Request Body</h5>\n<ul>\n<li>{ \"BranchID\": \"102\"}</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p>Status: 200</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n</ul>\n<h5 id=\"example-response\">Example Response</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"BranchID\": \"\",\n    \"ProductID\": \"\",\n    \"TenantID\": \"\",\n    \"WarehouseID\": null,\n    \"ProductName\": \"\",\n    \"Category\": \"\",\n    \"Quantity\": 0,\n    \"Unit\": \"\",\n    \"Price\": 0,\n    \"LastUpdated\": 0,\n    \"MinimumLevel\": 0,\n    \"MaximumLevel\": 0,\n    \"ExpiryPeriod\": 0,\n    \"IsPerishable\": 0,\n    \"PreferredSupplierID\": \"\",\n    \"IsActive\": 0,\n    \"AvgDailyUsage\": 0,\n    \"BatchTracking\": [\n      {\n        \"Quantity\": 0,\n        \"ExpiryDate\": 0,\n        \"ReceivedDate\": 0,\n        \"BatchID\": \"\"\n      }\n    ],\n    \"WarehouseDistribution\": [\n      {\n        \"Quantity\": 0,\n        \"WarehouseID\": \"\"\n      }\n    ],\n    \"details\": {\n      \"Brand\": \"\",\n      \"Origin\": \"\",\n      \"Allergens\": [\"\"],\n      \"NutritionalInfo\": {\n        \"Fat\": 0,\n        \"Carbohydrates\": 0,\n        \"Calories\": 0,\n        \"Protein\": 0\n      },\n      \"StorageInstructions\": \"\"\n    }\n  }\n]\n\n</code></pre>\n","urlObject":{"path":["api","inventory","list",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"},{"disabled":true,"key":"category","value":"Baking Supplies"},{"key":"isCompound","value":"false"}],"variable":[]}},"response":[{"id":"1e1df9da-ceca-422e-b827-6e4b4a15b574","name":"Get Inventory Articles List","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/inventory/list/?BranchID=102","host":["http://127.0.0.1:8000"],"path":["api","inventory","list",""],"query":[{"key":"BranchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Mar 2025 07:58:59 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"900"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"BranchID\": \"102\",\n        \"ProductID\": \"prod-e76fd61d-1478-42e0-be6f-de254cd48849\",\n        \"TenantID\": \"11\",\n        \"WarehouseID\": null,\n        \"ProductName\": \"Organic Flour\",\n        \"Category\": \"Baking Supplies\",\n        \"Quantity\": 100,\n        \"Unit\": \"kg\",\n        \"Price\": 2.5,\n        \"LastUpdated\": 1741160675,\n        \"MinimumLevel\": 20,\n        \"MaximumLevel\": 200,\n        \"ExpiryPeriod\": 180,\n        \"IsPerishable\": 1,\n        \"PreferredSupplierID\": \"supplier-101\",\n        \"IsActive\": 1,\n        \"AvgDailyUsage\": 3.5,\n        \"BatchTracking\": [\n            {\n                \"Quantity\": 50,\n                \"ExpiryDate\": 1672531200,\n                \"ReceivedDate\": 1640995200,\n                \"BatchID\": \"batch-001\"\n            },\n            {\n                \"Quantity\": 50,\n                \"ExpiryDate\": 1675209600,\n                \"ReceivedDate\": 1643673600,\n                \"BatchID\": \"batch-002\"\n            }\n        ],\n        \"WarehouseDistribution\": [\n            {\n                \"Quantity\": 70,\n                \"WarehouseID\": \"warehouse-789\"\n            },\n            {\n                \"Quantity\": 30,\n                \"WarehouseID\": \"warehouse-102\"\n            }\n        ],\n        \"details\": {\n            \"Brand\": \"Nature's Best\",\n            \"Origin\": \"Local\",\n            \"Allergens\": [\n                \"Gluten\"\n            ],\n            \"NutritionalInfo\": {\n                \"Fat\": 1.07,\n                \"Carbohydrates\": 76.31,\n                \"Calories\": 364,\n                \"Protein\": 10.33\n            },\n            \"StorageInstructions\": \"Store in a cool, dry place\"\n        }\n    }\n]"}],"_postman_id":"68e0f426-97bb-4ab5-852e-b675cc7ab1d0"},{"name":"Get Inventory Articles Retrieve","id":"5371e29b-e449-4e3f-8cd8-ad7c3216bdf9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory/retrieve/prod-e935d14c-6f07-40c1-a706-d822137ecc77/?BranchID=102","description":"<p>This endpoint makes an HTTP GET request to retrieve product inventory information based on the provided BranchID. The request should include the BranchID as a query parameter in the URL.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request does not include a request body, as it is a GET request.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution (Status: 200), the response will be in JSON format and will contain detailed inventory information for the specified BranchID. The response includes fields such as BranchID, ProductID, TenantID, WarehouseID, ProductName, Category, Quantity, Unit, Price, LastUpdated, MinimumLevel, MaximumLevel, ExpiryPeriod, IsPerishable, PreferredSupplierID, IsActive, AvgDailyUsage, BatchTracking, WarehouseDistribution, and details about Brand, Origin, Allergens, NutritionalInfo, and StorageInstructions.</p>\n<h4 id=\"example-response\">Example Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"BranchID\": \"\",\n        \"ProductID\": \"\",\n        \"TenantID\": \"\",\n        \"WarehouseID\": null,\n        \"ProductName\": \"\",\n        \"Category\": \"\",\n        \"Quantity\": 0,\n        \"Unit\": \"\",\n        \"Price\": 0,\n        \"LastUpdated\": 0,\n        \"MinimumLevel\": 0,\n        \"MaximumLevel\": 0,\n        \"ExpiryPeriod\": 0,\n        \"IsPerishable\": 0,\n        \"PreferredSupplierID\": \"\",\n        \"IsActive\": 0,\n        \"AvgDailyUsage\": 0,\n        \"BatchTracking\": [\n            {\n                \"Quantity\": 0,\n                \"ExpiryDate\": 0,\n                \"ReceivedDate\": 0,\n                \"BatchID\": \"\"\n            }\n        ],\n        \"WarehouseDistribution\": [\n            {\n                \"Quantity\": 0,\n                \"WarehouseID\": \"\"\n            }\n        ],\n        \"details\": {\n            \"Brand\": \"\",\n            \"Origin\": \"\",\n            \"Allergens\": [\"\"],\n            \"NutritionalInfo\": {\n                \"Fat\": 0,\n                \"Carbohydrates\": 0,\n                \"Calories\": 0,\n                \"Protein\": 0\n            },\n            \"StorageInstructions\": \"\"\n        }\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","inventory","retrieve","prod-e935d14c-6f07-40c1-a706-d822137ecc77",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"1d698bf2-cd8e-4f03-8653-8da8fa3377f4","name":"Get Inventory Articles Retrieve","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/inventory/retrieve/prod-e935d14c-6f07-40c1-a706-d822137ecc77/?BranchID=102","host":["http://127.0.0.1:8000"],"path":["api","inventory","retrieve","prod-e935d14c-6f07-40c1-a706-d822137ecc77",""],"query":[{"key":"BranchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 06 Mar 2025 07:31:01 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"898"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"BranchID\": \"102\",\n    \"ProductID\": \"prod-e935d14c-6f07-40c1-a706-d822137ecc77\",\n    \"TenantID\": \"11\",\n    \"WarehouseID\": null,\n    \"ProductName\": \"Organic Flour\",\n    \"Category\": \"Baking Supplies\",\n    \"Quantity\": 100,\n    \"Unit\": \"kg\",\n    \"Price\": 2.5,\n    \"LastUpdated\": 1741245747,\n    \"MinimumLevel\": 20,\n    \"MaximumLevel\": 200,\n    \"ExpiryPeriod\": 180,\n    \"IsPerishable\": 1,\n    \"PreferredSupplierID\": \"supplier-101\",\n    \"IsActive\": 1,\n    \"AvgDailyUsage\": 3.5,\n    \"BatchTracking\": [\n        {\n            \"Quantity\": 50,\n            \"ExpiryDate\": 1672531200,\n            \"ReceivedDate\": 1640995200,\n            \"BatchID\": \"batch-001\"\n        },\n        {\n            \"Quantity\": 50,\n            \"ExpiryDate\": 1675209600,\n            \"ReceivedDate\": 1643673600,\n            \"BatchID\": \"batch-002\"\n        }\n    ],\n    \"WarehouseDistribution\": [\n        {\n            \"Quantity\": 70,\n            \"WarehouseID\": \"warehouse-789\"\n        },\n        {\n            \"Quantity\": 30,\n            \"WarehouseID\": \"warehouse-102\"\n        }\n    ],\n    \"details\": {\n        \"Brand\": \"Nature's Best\",\n        \"Origin\": \"Local\",\n        \"Allergens\": [\n            \"Gluten\"\n        ],\n        \"NutritionalInfo\": {\n            \"Fat\": 1.07,\n            \"Carbohydrates\": 76.31,\n            \"Calories\": 364,\n            \"Protein\": 10.33\n        },\n        \"StorageInstructions\": \"Store in a cool, dry place\"\n    }\n}"}],"_postman_id":"5371e29b-e449-4e3f-8cd8-ad7c3216bdf9"},{"name":"Inventory History","id":"1bae783b-b188-4c76-ba04-4928b4bd9ef9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/inventory-history/by-item/?itemId=INS713d8fa6","description":"<p>This endpoint makes an HTTP GET request to retrieve product inventory information based on the provided BranchID. The request should include the BranchID as a query parameter in the URL.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request does not include a request body, as it is a GET request.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution (Status: 200), the response will be in JSON format and will contain detailed inventory information for the specified BranchID. The response includes fields such as BranchID, ProductID, TenantID, WarehouseID, ProductName, Category, Quantity, Unit, Price, LastUpdated, MinimumLevel, MaximumLevel, ExpiryPeriod, IsPerishable, PreferredSupplierID, IsActive, AvgDailyUsage, BatchTracking, WarehouseDistribution, and details about Brand, Origin, Allergens, NutritionalInfo, and StorageInstructions.</p>\n<h4 id=\"example-response\">Example Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"BranchID\": \"\",\n        \"ProductID\": \"\",\n        \"TenantID\": \"\",\n        \"WarehouseID\": null,\n        \"ProductName\": \"\",\n        \"Category\": \"\",\n        \"Quantity\": 0,\n        \"Unit\": \"\",\n        \"Price\": 0,\n        \"LastUpdated\": 0,\n        \"MinimumLevel\": 0,\n        \"MaximumLevel\": 0,\n        \"ExpiryPeriod\": 0,\n        \"IsPerishable\": 0,\n        \"PreferredSupplierID\": \"\",\n        \"IsActive\": 0,\n        \"AvgDailyUsage\": 0,\n        \"BatchTracking\": [\n            {\n                \"Quantity\": 0,\n                \"ExpiryDate\": 0,\n                \"ReceivedDate\": 0,\n                \"BatchID\": \"\"\n            }\n        ],\n        \"WarehouseDistribution\": [\n            {\n                \"Quantity\": 0,\n                \"WarehouseID\": \"\"\n            }\n        ],\n        \"details\": {\n            \"Brand\": \"\",\n            \"Origin\": \"\",\n            \"Allergens\": [\"\"],\n            \"NutritionalInfo\": {\n                \"Fat\": 0,\n                \"Carbohydrates\": 0,\n                \"Calories\": 0,\n                \"Protein\": 0\n            },\n            \"StorageInstructions\": \"\"\n        }\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","inventory-history","by-item",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"itemId","value":"INS713d8fa6"}],"variable":[]}},"response":[{"id":"233d5202-f0df-4b33-94e2-c6cc29309e40","name":"Inventory History","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/inventory-history/by-item/?itemId=INS713d8fa6","host":["http://127.0.0.1:8000"],"path":["api","inventory-history","by-item",""],"query":[{"key":"itemId","value":"INS713d8fa6"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 04 Apr 2025 08:05:34 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"628"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 2,\n    \"total\": 2,\n    \"results\": [\n        {\n            \"historyId\": \"INS713d8fa6_1743750402\",\n            \"branchId\": \"102\",\n            \"itemName\": \"Limon\",\n            \"timestamp\": 1743750402,\n            \"action\": \"order_creation\",\n            \"previousQuantity\": 9.37,\n            \"newQuantity\": 9.28,\n            \"difference\": 0.08999999999999986,\n            \"unit\": \"kg\",\n            \"referenceId\": \"ORDf95298ac\",\n            \"userName\": \"ric\",\n            \"date\": \"2025-04-04 07:06:42\"\n        },\n        {\n            \"historyId\": \"INS713d8fa6_1743750384\",\n            \"branchId\": \"102\",\n            \"itemName\": \"Limon\",\n            \"timestamp\": 1743750384,\n            \"action\": \"order_creation\",\n            \"previousQuantity\": 9.46,\n            \"newQuantity\": 9.37,\n            \"difference\": 0.09000000000000163,\n            \"unit\": \"kg\",\n            \"referenceId\": \"ORD6d5c1473\",\n            \"userName\": \"ric\",\n            \"date\": \"2025-04-04 07:06:24\"\n        }\n    ],\n    \"itemId\": \"INS713d8fa6\"\n}"}],"_postman_id":"1bae783b-b188-4c76-ba04-4928b4bd9ef9"},{"name":"Import Inventory","id":"bbf974c8-473d-4c6a-b332-bd03d6eadf23","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"BranchID","value":"3","type":"text","uuid":"bf483bc4-b22c-4207-82a6-41b54808e1cd"},{"key":"file","type":"file","uuid":"621579a0-9ead-4cc1-b6d1-4863fbbe1f59","src":"/Users/ramadorc/Downloads/Documento_unidades_estandarizadas.xlsx"}]},"url":"http://127.0.0.1:8000/api/inventory/import-excel/","urlObject":{"path":["api","inventory","import-excel",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"bbf974c8-473d-4c6a-b332-bd03d6eadf23"}],"id":"f63548b0-6f35-4fa9-aef4-ac0e6863c933","_postman_id":"f63548b0-6f35-4fa9-aef4-ac0e6863c933","description":""},{"name":"Products","item":[{"name":"Create Product","id":"a89aa39a-22c8-493b-adb9-cd96bff65287","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Enchiladas Keto\",\n  \"description\": \"enchiladas sin carbos\",\n  \"email\": \"\",\n  \"password\": \"\",\n  \"role\": \"\",\n  \"branch\": \"\",\n  \"config\": null,\n  \"selectedLocations\": [\n    \"Kensaladas Zapopan\",\n    \"Kensaladas Centro\"\n  ],\n  \"selectedSucursales\": [\n    {\n      \"id\": 102,\n      \"name\": \"Kensaladas Centro\",\n      \"address\": \"Av pajaro loko\",\n      \"group\": \"SIN GRUPO\"\n    },\n    {\n      \"id\": 104,\n      \"name\": \"Kensaladas Zapopan\",\n      \"address\": \"Av Zapopillo 2030\",\n      \"group\": \"SIN GRUPO\"\n    }\n  ],\n  \"selectedModes\": [],\n  \"consumptionOptions\": [\n    {\n      \"id\": \"dineIn\",\n      \"label\": \"Comer Aquí\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"takeaway\",\n      \"label\": \"Para Llevar\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"delivery\",\n      \"label\": \"A Domicilio\",\n      \"isActive\": false\n    }\n  ],\n  \"modifiers\": [\n    {\n      \"id\": \"modifier-1742369618370\",\n      \"name\": \"Modificador 1\",\n      \"instruction\": \"\",\n      \"isRequired\": false,\n      \"minOptional\": \"0\",\n      \"maxOptional\": \"1\",\n      \"canSelectMultiple\": false,\n      \"availableInPackages\": false,\n      \"rules\": [],\n      \"insumos\": [\n        {\n          \"id\": \"insumo-1742369624722\",\n          \"name\": \"Sal del Himalaya\",\n          \"price\": \"0\",\n          \"locationsCount\": 1,\n          \"consumptionCount\": 1,\n          \"warehouseCount\": \"0\"\n        }\n      ]\n    }\n  ],\n  \"rules\": [\n    {\n      \"id\": \"rule-1742369633721\",\n      \"name\": \"Regla 1\",\n      \"rules\": [\n        {\n          \"id\": \"rule-option-1742369634769\",\n          \"name\": \"cvg\",\n          \"price\": \"0\",\n          \"locationsCount\": 1,\n          \"consumptionCount\": 0,\n          \"warehouseCount\": \"0\",\n          \"selectedLocations\": [\n            \"Kensaladas Zapopan\"\n          ],\n          \"selectedModes\": []\n        }\n      ]\n    }\n  ],\n  \"ingredients\": [\n    {\n      \"id\": \"INS4cb59212\",\n      \"name\": \"Pollo\",\n      \"quantity\": \"3\",\n      \"unit\": \"g\",\n      \"locationsCount\": 0,\n      \"warehouseCount\": 1,\n      \"selectedLocations\": [],\n      \"selectedWarehouses\": [\n        \"WH9b34e84c\"\n      ]\n    },\n    {\n      \"id\": \"INSfb5075de\",\n      \"name\": \"Sal del Himalaya\",\n      \"quantity\": \"2\",\n      \"unit\": \"g\",\n      \"locationsCount\": 0,\n      \"warehouseCount\": 2,\n      \"selectedLocations\": [],\n      \"selectedWarehouses\": [\n        \"WH9b34e84c\",\n        \"WHd47a9bc3\"\n      ]\n    }\n  ],\n  \"step5WizardStep\": 1,\n  \"step5WizardData\": {\n    \"selectedInsumo\": null,\n    \"selectedSucursales\": [],\n    \"quantity\": \"\",\n    \"unit\": \"g\"\n  },\n  \"step5ShowWizard\": false,\n  \"price\": \"120\",\n  \"category\": \"CATEGORÍA 1\",\n  \"tracking\": {\n    \"seguimiento\": true\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product/create/","description":"<h3 id=\"request-body\">Request Body</h3>\n<p>The request body should be in the raw format and include the following parameters:</p>\n<ul>\n<li><p><code>name</code>: (string) The name of the product.</p>\n</li>\n<li><p><code>description</code>: (string) The description of the product.</p>\n</li>\n<li><p><code>email</code>: (string) The email associated with the product.</p>\n</li>\n<li><p><code>password</code>: (string) The password associated with the product.</p>\n</li>\n<li><p><code>role</code>: (string) The role of the product.</p>\n</li>\n<li><p><code>branch</code>: (string) The branch of the product.</p>\n</li>\n<li><p><code>config</code>: (null) Configuration details for the product.</p>\n</li>\n<li><p><code>selectedLocations</code>: (array) The selected locations for the product.</p>\n</li>\n<li><p><code>selectedSucursales</code>: (array) The selected sucursales for the product.</p>\n</li>\n<li><p><code>selectedModes</code>: (array) The selected modes for the product.</p>\n</li>\n<li><p><code>consumptionOptions</code>: (array) The consumption options for the product.</p>\n</li>\n<li><p><code>modifiers</code>: (array) The modifiers for the product.</p>\n</li>\n<li><p><code>rules</code>: (array) The rules for the product.</p>\n</li>\n<li><p><code>ingredients</code>: (array) The ingredients for the product.</p>\n</li>\n<li><p><code>step5WizardStep</code>: (number) The step of the wizard for the product.</p>\n</li>\n<li><p><code>step5WizardData</code>: (object) Data for the wizard step of the product.</p>\n</li>\n<li><p><code>step5ShowWizard</code>: (boolean) Indicates whether the wizard should be shown for the product.</p>\n</li>\n<li><p><code>price</code>: (string) The price of the product.</p>\n</li>\n<li><p><code>category</code>: (string) The category of the product.</p>\n</li>\n<li><p><code>tracking</code>: (object) Tracking details for the product.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response is in the form of a JSON schema and includes the following fields:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    },\n    \"primaryItem\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"BranchID\": {\n          \"type\": \"string\"\n        },\n        \"ProductID\": {\n          \"type\": \"string\"\n        }\n      }\n    },\n    \"additionalItems\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"BranchID\": {\n            \"type\": \"string\"\n          },\n          \"ProductID\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","product","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"fb4e236e-9ca9-4fb8-8ee6-9d5f0d558306","name":"Create Product","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Enchiladas Keto\",\n  \"description\": \"enchiladas sin carbos\",\n  \"email\": \"\",\n  \"password\": \"\",\n  \"role\": \"\",\n  \"branch\": \"\",\n  \"config\": null,\n  \"selectedLocations\": [\n    \"Kensaladas Zapopan\",\n    \"Kensaladas Centro\"\n  ],\n  \"selectedSucursales\": [\n    {\n      \"id\": 102,\n      \"name\": \"Kensaladas Centro\",\n      \"address\": \"Av pajaro loko\",\n      \"group\": \"SIN GRUPO\"\n    },\n    {\n      \"id\": 104,\n      \"name\": \"Kensaladas Zapopan\",\n      \"address\": \"Av Zapopillo 2030\",\n      \"group\": \"SIN GRUPO\"\n    }\n  ],\n  \"selectedModes\": [],\n  \"consumptionOptions\": [\n    {\n      \"id\": \"dineIn\",\n      \"label\": \"Comer Aquí\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"takeaway\",\n      \"label\": \"Para Llevar\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"delivery\",\n      \"label\": \"A Domicilio\",\n      \"isActive\": false\n    }\n  ],\n  \"modifiers\": [\n    {\n      \"id\": \"modifier-1742369618370\",\n      \"name\": \"Modificador 1\",\n      \"instruction\": \"\",\n      \"isRequired\": false,\n      \"minOptional\": \"0\",\n      \"maxOptional\": \"1\",\n      \"canSelectMultiple\": false,\n      \"availableInPackages\": false,\n      \"rules\": [],\n      \"insumos\": [\n        {\n          \"id\": \"insumo-1742369624722\",\n          \"name\": \"Sal del Himalaya\",\n          \"price\": \"0\",\n          \"locationsCount\": 1,\n          \"consumptionCount\": 1,\n          \"warehouseCount\": \"0\"\n        }\n      ]\n    }\n  ],\n  \"rules\": [\n    {\n      \"id\": \"rule-1742369633721\",\n      \"name\": \"Regla 1\",\n      \"rules\": [\n        {\n          \"id\": \"rule-option-1742369634769\",\n          \"name\": \"cvg\",\n          \"price\": \"0\",\n          \"locationsCount\": 1,\n          \"consumptionCount\": 0,\n          \"warehouseCount\": \"0\",\n          \"selectedLocations\": [\n            \"Kensaladas Zapopan\"\n          ],\n          \"selectedModes\": []\n        }\n      ]\n    }\n  ],\n  \"ingredients\": [\n    {\n      \"id\": \"INS4cb59212\",\n      \"name\": \"Pollo\",\n      \"quantity\": \"3\",\n      \"unit\": \"g\",\n      \"locationsCount\": 0,\n      \"warehouseCount\": 1,\n      \"selectedLocations\": [],\n      \"selectedWarehouses\": [\n        \"WH9b34e84c\"\n      ]\n    },\n    {\n      \"id\": \"INSfb5075de\",\n      \"name\": \"Sal del Himalaya\",\n      \"quantity\": \"2\",\n      \"unit\": \"g\",\n      \"locationsCount\": 0,\n      \"warehouseCount\": 2,\n      \"selectedLocations\": [],\n      \"selectedWarehouses\": [\n        \"WH9b34e84c\",\n        \"WHd47a9bc3\"\n      ]\n    }\n  ],\n  \"step5WizardStep\": 1,\n  \"step5WizardData\": {\n    \"selectedInsumo\": null,\n    \"selectedSucursales\": [],\n    \"quantity\": \"\",\n    \"unit\": \"g\"\n  },\n  \"step5ShowWizard\": false,\n  \"price\": \"120\",\n  \"category\": \"CATEGORÍA 1\",\n  \"tracking\": {\n    \"seguimiento\": true\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 19 Mar 2025 08:25:49 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"167"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Products created successfully\",\n    \"primaryItem\": {\n        \"BranchID\": \"102\",\n        \"ProductID\": \"PRD8efd9b18\"\n    },\n    \"additionalItems\": [\n        {\n            \"BranchID\": \"104\",\n            \"ProductID\": \"PRD2544b5c0\"\n        }\n    ]\n}"}],"_postman_id":"a89aa39a-22c8-493b-adb9-cd96bff65287"},{"name":"Create Product Category","id":"33bd9e75-0cb1-47e4-9bdf-fe6d80ebfc3d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\":\"bebidas frias\",\n    \"description\":\"categoria para beber frio\",\n    \"displayOrdder\":\"2\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product-category/create/","description":"<h3 id=\"request-body\">Request Body</h3>\n<p>The request body should be in the raw format and include the following parameters:</p>\n<ul>\n<li><p><code>name</code>: (string) The name of the product.</p>\n</li>\n<li><p><code>description</code>: (string) The description of the product.</p>\n</li>\n<li><p><code>email</code>: (string) The email associated with the product.</p>\n</li>\n<li><p><code>password</code>: (string) The password associated with the product.</p>\n</li>\n<li><p><code>role</code>: (string) The role of the product.</p>\n</li>\n<li><p><code>branch</code>: (string) The branch of the product.</p>\n</li>\n<li><p><code>config</code>: (null) Configuration details for the product.</p>\n</li>\n<li><p><code>selectedLocations</code>: (array) The selected locations for the product.</p>\n</li>\n<li><p><code>selectedSucursales</code>: (array) The selected sucursales for the product.</p>\n</li>\n<li><p><code>selectedModes</code>: (array) The selected modes for the product.</p>\n</li>\n<li><p><code>consumptionOptions</code>: (array) The consumption options for the product.</p>\n</li>\n<li><p><code>modifiers</code>: (array) The modifiers for the product.</p>\n</li>\n<li><p><code>rules</code>: (array) The rules for the product.</p>\n</li>\n<li><p><code>ingredients</code>: (array) The ingredients for the product.</p>\n</li>\n<li><p><code>step5WizardStep</code>: (number) The step of the wizard for the product.</p>\n</li>\n<li><p><code>step5WizardData</code>: (object) Data for the wizard step of the product.</p>\n</li>\n<li><p><code>step5ShowWizard</code>: (boolean) Indicates whether the wizard should be shown for the product.</p>\n</li>\n<li><p><code>price</code>: (string) The price of the product.</p>\n</li>\n<li><p><code>category</code>: (string) The category of the product.</p>\n</li>\n<li><p><code>tracking</code>: (object) Tracking details for the product.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response is in the form of a JSON schema and includes the following fields:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    },\n    \"primaryItem\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"BranchID\": {\n          \"type\": \"string\"\n        },\n        \"ProductID\": {\n          \"type\": \"string\"\n        }\n      }\n    },\n    \"additionalItems\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"BranchID\": {\n            \"type\": \"string\"\n          },\n          \"ProductID\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","product-category","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"873f66aa-fe5b-40e8-8254-6cce02a387ee","name":"CPC","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\":\"bebidas frias\",\n    \"description\":\"categoria para beber frio\",\n    \"displayOrdder\":\"2\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product-category/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 31 Mar 2025 21:56:26 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"101"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Product category created successfully\",\n    \"categoryID\": \"CATf2cf084e\",\n    \"name\": \"bebidas frias\"\n}"}],"_postman_id":"33bd9e75-0cb1-47e4-9bdf-fe6d80ebfc3d"},{"name":"Get Products","id":"a5cf088d-7b82-44d6-bb3b-f54b78f1ea59","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product/list?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","product","list"],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"369ca0d9-c343-47b0-8344-c8235ed63247","name":"Get Products List","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/product/list?BranchID=102","host":["http://127.0.0.1:8000"],"path":["api","product","list"],"query":[{"key":"BranchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 19 Mar 2025 08:27:23 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1639"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"BranchID\": \"102\",\n        \"ProductID\": \"PRD8efd9b18\",\n        \"TenantID\": \"11\",\n        \"Name\": \"Enchiladas Keto\",\n        \"Description\": \"enchiladas sin carbos\",\n        \"Price\": 120,\n        \"Category\": \"CATEGORÍA 1\",\n        \"IsActive\": 1,\n        \"LastUpdated\": 1742372749,\n        \"Locations\": [\n            \"Kensaladas Zapopan\",\n            \"Kensaladas Centro\"\n        ],\n        \"LocationDetails\": [\n            {\n                \"name\": \"Kensaladas Centro\",\n                \"id\": 102,\n                \"address\": \"Av pajaro loko\",\n                \"group\": \"SIN GRUPO\"\n            },\n            {\n                \"name\": \"Kensaladas Zapopan\",\n                \"id\": 104,\n                \"address\": \"Av Zapopillo 2030\",\n                \"group\": \"SIN GRUPO\"\n            }\n        ],\n        \"ConsumptionOptions\": [\n            {\n                \"isActive\": true,\n                \"id\": \"dineIn\",\n                \"label\": \"Comer Aquí\"\n            },\n            {\n                \"isActive\": true,\n                \"id\": \"takeaway\",\n                \"label\": \"Para Llevar\"\n            },\n            {\n                \"isActive\": false,\n                \"id\": \"delivery\",\n                \"label\": \"A Domicilio\"\n            }\n        ],\n        \"Modifiers\": [\n            {\n                \"isRequired\": false,\n                \"canSelectMultiple\": false,\n                \"insumos\": [\n                    {\n                        \"name\": \"Sal del Himalaya\",\n                        \"id\": \"insumo-1742369624722\",\n                        \"locationsCount\": 1,\n                        \"consumptionCount\": 1,\n                        \"price\": \"0\",\n                        \"warehouseCount\": \"0\"\n                    }\n                ],\n                \"instruction\": \"\",\n                \"name\": \"Modificador 1\",\n                \"maxOptional\": \"1\",\n                \"minOptional\": \"0\",\n                \"availableInPackages\": false,\n                \"rules\": [],\n                \"id\": \"modifier-1742369618370\"\n            }\n        ],\n        \"Rules\": [\n            {\n                \"name\": \"Regla 1\",\n                \"rules\": [\n                    {\n                        \"locationsCount\": 1,\n                        \"selectedModes\": [],\n                        \"consumptionCount\": 0,\n                        \"price\": \"0\",\n                        \"warehouseCount\": \"0\",\n                        \"name\": \"cvg\",\n                        \"id\": \"rule-option-1742369634769\",\n                        \"selectedLocations\": [\n                            \"Kensaladas Zapopan\"\n                        ]\n                    }\n                ],\n                \"id\": \"rule-1742369633721\"\n            }\n        ],\n        \"Ingredients\": [\n            {\n                \"unit\": \"g\",\n                \"quantity\": \"3\",\n                \"locationsCount\": 0,\n                \"warehouseCount\": 1,\n                \"name\": \"Pollo\",\n                \"selectedWarehouses\": [\n                    \"WH9b34e84c\"\n                ],\n                \"id\": \"INS4cb59212\",\n                \"selectedLocations\": []\n            },\n            {\n                \"unit\": \"g\",\n                \"quantity\": \"2\",\n                \"locationsCount\": 0,\n                \"warehouseCount\": 2,\n                \"name\": \"Sal del Himalaya\",\n                \"selectedWarehouses\": [\n                    \"WH9b34e84c\",\n                    \"WHd47a9bc3\"\n                ],\n                \"id\": \"INSfb5075de\",\n                \"selectedLocations\": []\n            }\n        ],\n        \"Tracking\": {\n            \"seguimiento\": true\n        },\n        \"Config\": null\n    }\n]"}],"_postman_id":"a5cf088d-7b82-44d6-bb3b-f54b78f1ea59"},{"name":"Update Product","id":"557e530e-e1a8-432f-ae8a-0f62cd60b896","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Café Americano Grande\",\n  \"price\": 45.50,\n  \"category\": \"Bebidas Calientes\",\n  \"description\": \"Café americano preparado con granos 100% arábica, servido en tamaño grande\",\n  \"selectedLocations\": [\"bar\", \"sala\", \"terraza\"],\n  \"selectedSucursales\": [ \n    {\n      \"id\": \"sucursal-1\",\n      \"name\": \"Sucursal Centro\",\n      \"price\": 45.50,\n      \"available\": true\n    },\n    {\n      \"id\": \"sucursal-2\",\n      \"name\": \"Sucursal Norte\",\n      \"price\": 48.00,\n      \"available\": true\n    }\n  ],\n  \"consumptionOptions\": [\n    {\n      \"id\": \"dineIn\",\n      \"label\": \"Comer Aquí\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"takeAway\", \n      \"label\": \"Para Llevar\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"delivery\",\n      \"label\": \"Entrega a Domicilio\", \n      \"isActive\": false\n    }\n  ],\n  \"modifiers\": [\n    {\n      \"id\": \"mod-1\",\n      \"name\": \"Tipo de leche\",\n      \"required\": false,\n      \"options\": [\n        {\"id\": \"opt-1\", \"name\": \"Regular\", \"price\": 0},\n        {\"id\": \"opt-2\", \"name\": \"Deslactosada\", \"price\": 5},\n        {\"id\": \"opt-3\", \"name\": \"Almendra\", \"price\": 10}\n      ]\n    },\n    {\n      \"id\": \"mod-2\",\n      \"name\": \"Extra shot\",\n      \"required\": false,\n      \"options\": [\n        {\"id\": \"opt-4\", \"name\": \"1 shot\", \"price\": 15},\n        {\"id\": \"opt-5\", \"name\": \"2 shots\", \"price\": 25}\n      ]\n    }\n  ],\n  \"rules\": [\n    {\n      \"id\": \"rule-1\",\n      \"name\": \"Availability Rule\",\n      \"maxModifiers\": 3,\n      \"maxOptions\": 2,\n      \"availability\": {\n        \"days\": [\"lun\", \"mar\", \"mie\", \"jue\", \"vie\", \"sab\", \"dom\"],\n        \"startTime\": \"07:00\",\n        \"endTime\": \"22:00\"\n      }\n    }\n  ],\n  \"ingredients\": [\n    {\n      \"id\": \"ing-1\",\n      \"name\": \"Café molido\",\n      \"quantity\": 25,\n      \"unit\": \"g\"\n    },\n    {\n      \"id\": \"ing-2\",\n      \"name\": \"Agua\",\n      \"quantity\": 300,\n      \"unit\": \"ml\"\n    }\n  ],\n  \"tracking\": {\n    \"enabled\": true,\n    \"reduceInventory\": true,\n    \"trackSales\": true\n  },\n  \"kds\": \"Barra\",\n  \"prepTime\": 150\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product/update/{{product_id}}/?BranchID=5","description":"<h3 id=\"update-product\">Update Product</h3>\n<p>This endpoint is used to update a specific product by its ID and BranchID.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: PUT</p>\n</li>\n<li><p>URL: <code>http://127.0.0.1:8000/api/product/update/{{product_id}}/?BranchID=5</code></p>\n</li>\n<li><p>Headers:</p>\n<ul>\n<li>Content-Type: application/json</li>\n</ul>\n</li>\n<li><p>Parameters:</p>\n<ul>\n<li>BranchID (query parameter): The ID of the branch</li>\n</ul>\n</li>\n<li><p>{ \"name\": \"Café Americano Grande\", \"price\": 45.5, \"category\": \"Bebidas Calientes\", \"description\": \"Café americano preparado con g ...\", \"selectedLocations\": [\"bar\"], \"selectedSucursales\": [{\"id\": \"sucursal-1\", \"name\": \"Sucursal Centro\", \"price\": 45.5, \"available\": true}], \"consumptionOptions\": {\"dineIn\": true, \"takeAway\": true, \"delivery\": false}, \"modifiers\": [{\"id\": \"mod-1\", \"name\": \"Tipo de leche\", \"required\": false, \"options\": [{\"id\": \"opt-1\", \"name\": \"Regular\", \"price\": 0}] }], \"rules\": {\"maxModifiers\": 3, \"maxOptions\": 2, \"availability\": {\"days\": [\"lun\"], \"startTime\": \"07:00\", \"endTime\": \"22:00\"}}, \"ingredients\": [{\"id\": \"ing-1\", \"name\": \"Café molido\", \"quantity\": 25, \"unit\": \"g\"}], \"tracking\": {\"enabled\": true, \"reduceInventory\": true, \"trackSales\": true}, \"kds\": {\"enabled\": true, \"station\": \"Barra\", \"prepSteps\": [{\"id\": 1, \"name\": \"Moler café\", \"time\": 30}]}, \"prepTime\": 150}</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p>Status: 200</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n<li><p>{ \"message\": \"\", \"BranchID\": \"\", \"ProductID\": \"\"}</p>\n</li>\n</ul>\n<p>This endpoint allows the client to update a specific product with the provided product ID and branch ID.</p>\n<h2 id=\"request-1\">Request</h2>\n<h3 id=\"request-url\">Request URL</h3>\n<p><code>PUT http://127.0.0.1:8000/api/product/update/{{product_id}}/?BranchID=5</code></p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><p>Type: JSON</p>\n<ul>\n<li><p><code>name</code>: The name of the product.</p>\n</li>\n<li><p><code>price</code>: The price of the product.</p>\n</li>\n<li><p><code>category</code>: The category of the product.</p>\n</li>\n<li><p><code>description</code>: A detailed description of the product.</p>\n</li>\n<li><p><code>selectedLocations</code>: An array of selected locations for the product.</p>\n</li>\n<li><p><code>selectedSucursales</code>: An array of selected branches with their details.</p>\n</li>\n<li><p><code>consumptionOptions</code>: Options for consumption (dine-in, take-away, delivery).</p>\n</li>\n<li><p><code>modifiers</code>: An array of modifiers for the product.</p>\n</li>\n<li><p><code>rules</code>: Rules and restrictions for the product.</p>\n</li>\n<li><p><code>ingredients</code>: An array of ingredients for the product.</p>\n</li>\n<li><p><code>tracking</code>: Tracking settings for the product.</p>\n</li>\n<li><p><code>kds</code>: Kitchen Display System settings for the product.</p>\n</li>\n<li><p><code>prepTime</code>: The preparation time for the product.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><code>BranchID</code>: The ID of the branch.</li>\n</ul>\n<h2 id=\"response-1\">Response</h2>\n<h3 id=\"response-body\">Response Body</h3>\n<ul>\n<li><p>Type: JSON</p>\n<ul>\n<li><p><code>message</code>: A message indicating the status of the update operation.</p>\n</li>\n<li><p><code>BranchID</code>: The ID of the branch.</p>\n</li>\n<li><p><code>ProductID</code>: The ID of the updated product.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"response-headers\">Response Headers</h3>\n<ul>\n<li><p><code>Status</code>: 200</p>\n</li>\n<li><p><code>Content-Type</code>: application/json</p>\n</li>\n</ul>\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"\",\n  \"BranchID\": \"\",\n  \"ProductID\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","product","update","{{product_id}}",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"5"}],"variable":[]}},"response":[{"id":"3a827576-fed0-4a42-bbd4-742634eba4e4","name":"Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"price\":35\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/product/update/{{product_id}}/?BranchID=5","host":["http://127.0.0.1:8000"],"path":["api","product","update","{{product_id}}",""],"query":[{"key":"BranchID","value":"5"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 14 May 2025 02:34:04 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"PUT, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"85"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Product updated successfully\",\n    \"BranchID\": \"102\",\n    \"ProductID\": \"PRD13f2b8ac\"\n}"}],"_postman_id":"557e530e-e1a8-432f-ae8a-0f62cd60b896"},{"name":"Get Categories","id":"add4d0b1-1a77-4e00-b9f4-9863f8504f9f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product-category/list?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","product-category","list"],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"e345c303-facc-4c42-aab9-65208098a128","name":"Get Categories","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/product-category/list?BranchID=102","host":["http://127.0.0.1:8000"],"path":["api","product-category","list"],"query":[{"key":"BranchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 31 Mar 2025 22:06:56 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"188"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"categoryID\": \"CATf2cf084e\",\n        \"name\": \"bebidas frias\",\n        \"description\": \"categoria para beber frio\",\n        \"branchID\": null,\n        \"displayOrder\": null,\n        \"branches\": null,\n        \"isActive\": true,\n        \"lastUpdated\": 1743458185\n    }\n]"}],"_postman_id":"add4d0b1-1a77-4e00-b9f4-9863f8504f9f"},{"name":"Search Product","id":"82919c11-d893-4674-890e-93e97e5b167a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product/list?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","product","list"],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"f90af614-80ee-4cea-ac84-5e468f05f6b2","name":"Search","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/product/search?BranchID=102&term=En","host":["http://127.0.0.1:8000"],"path":["api","product","search"],"query":[{"key":"BranchID","value":"102"},{"key":"term","value":"En"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 16 Apr 2025 07:45:08 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"5021"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 2,\n    \"results\": [\n        {\n            \"BranchID\": \"102\",\n            \"ProductID\": \"PRD8efd9b18\",\n            \"TenantID\": \"11\",\n            \"Name\": \"Enchiladas Keto\",\n            \"Description\": \"enchiladas sin carbos\",\n            \"Price\": 120,\n            \"Category\": \"CATEGORÍA 1\",\n            \"IsActive\": 1,\n            \"LastUpdated\": 1742372749,\n            \"Locations\": [\n                \"Kensaladas Zapopan\",\n                \"Kensaladas Centro\"\n            ],\n            \"LocationDetails\": [\n                {\n                    \"name\": \"Kensaladas Centro\",\n                    \"id\": 102,\n                    \"address\": \"Av pajaro loko\",\n                    \"group\": \"SIN GRUPO\"\n                },\n                {\n                    \"name\": \"Kensaladas Zapopan\",\n                    \"id\": 104,\n                    \"address\": \"Av Zapopillo 2030\",\n                    \"group\": \"SIN GRUPO\"\n                }\n            ],\n            \"ConsumptionOptions\": [\n                {\n                    \"isActive\": true,\n                    \"id\": \"dineIn\",\n                    \"label\": \"Comer Aquí\"\n                },\n                {\n                    \"isActive\": true,\n                    \"id\": \"takeaway\",\n                    \"label\": \"Para Llevar\"\n                },\n                {\n                    \"isActive\": false,\n                    \"id\": \"delivery\",\n                    \"label\": \"A Domicilio\"\n                }\n            ],\n            \"Modifiers\": [\n                {\n                    \"isRequired\": false,\n                    \"canSelectMultiple\": false,\n                    \"insumos\": [\n                        {\n                            \"name\": \"Sal del Himalaya\",\n                            \"id\": \"insumo-1742369624722\",\n                            \"locationsCount\": 1,\n                            \"consumptionCount\": 1,\n                            \"price\": \"0\",\n                            \"warehouseCount\": \"0\"\n                        }\n                    ],\n                    \"instruction\": \"\",\n                    \"name\": \"Modificador 1\",\n                    \"maxOptional\": \"1\",\n                    \"minOptional\": \"0\",\n                    \"availableInPackages\": false,\n                    \"rules\": [],\n                    \"id\": \"modifier-1742369618370\"\n                }\n            ],\n            \"Rules\": [\n                {\n                    \"name\": \"Regla 1\",\n                    \"rules\": [\n                        {\n                            \"locationsCount\": 1,\n                            \"selectedModes\": [],\n                            \"consumptionCount\": 0,\n                            \"price\": \"0\",\n                            \"warehouseCount\": \"0\",\n                            \"name\": \"cvg\",\n                            \"id\": \"rule-option-1742369634769\",\n                            \"selectedLocations\": [\n                                \"Kensaladas Zapopan\"\n                            ]\n                        }\n                    ],\n                    \"id\": \"rule-1742369633721\"\n                }\n            ],\n            \"Ingredients\": [\n                {\n                    \"unit\": \"g\",\n                    \"quantity\": \"3\",\n                    \"locationsCount\": 0,\n                    \"warehouseCount\": 1,\n                    \"name\": \"Pollo\",\n                    \"selectedWarehouses\": [\n                        \"WH9b34e84c\"\n                    ],\n                    \"id\": \"INS4cb59212\",\n                    \"selectedLocations\": []\n                },\n                {\n                    \"unit\": \"g\",\n                    \"quantity\": \"2\",\n                    \"locationsCount\": 0,\n                    \"warehouseCount\": 2,\n                    \"name\": \"Sal del Himalaya\",\n                    \"selectedWarehouses\": [\n                        \"WH9b34e84c\",\n                        \"WHd47a9bc3\"\n                    ],\n                    \"id\": \"INSfb5075de\",\n                    \"selectedLocations\": []\n                }\n            ],\n            \"Tracking\": {\n                \"seguimiento\": true\n            },\n            \"Config\": null\n        },\n        {\n            \"BranchID\": \"102\",\n            \"ProductID\": \"PRDf20194cf\",\n            \"TenantID\": \"11\",\n            \"Name\": \"Ensalada de Aguacate\",\n            \"Description\": \"Ensalada basada en aguacatito\",\n            \"Price\": 190,\n            \"Category\": \"CATEGORÍA 2\",\n            \"IsActive\": 1,\n            \"LastUpdated\": 1744529449,\n            \"Locations\": [\n                \"Kensaladas Centro\",\n                \"Kensaladas Zapopan\"\n            ],\n            \"LocationDetails\": [\n                {\n                    \"name\": \"Kensaladas Centro\",\n                    \"id\": 102,\n                    \"address\": \"Av pajaro loko\",\n                    \"group\": \"SIN GRUPO\"\n                },\n                {\n                    \"name\": \"Kensaladas Zapopan\",\n                    \"id\": 104,\n                    \"address\": \"Av Zapopillo 2030\",\n                    \"group\": \"SIN GRUPO\"\n                }\n            ],\n            \"ConsumptionOptions\": [\n                {\n                    \"icon\": {\n                        \"_owner\": {\n                            \"actualStartTime\": 27575.899999976158,\n                            \"updateQueue\": null,\n                            \"deletions\": null,\n                            \"flags\": 8650752,\n                            \"actualDuration\": 0,\n                            \"memoizedProps\": null,\n                            \"_debugInfo\": null,\n                            \"mode\": 27,\n                            \"ref\": null,\n                            \"treeBaseDuration\": 2.600000023841858,\n                            \"lanes\": 0,\n                            \"stateNode\": null,\n                            \"_debugHookTypes\": [\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useEffect\",\n                                \"useMemo\",\n                                \"useMemo\",\n                                \"useEffect\",\n                                \"useEffect\"\n                            ],\n                            \"tag\": 0,\n                            \"selfBaseDuration\": 0.5,\n                            \"memoizedState\": null,\n                            \"key\": null,\n                            \"refCleanup\": null,\n                            \"index\": 0,\n                            \"alternate\": null,\n                            \"dependencies\": null,\n                            \"_debugOwner\": null,\n                            \"sibling\": null,\n                            \"childLanes\": 0,\n                            \"pendingProps\": null,\n                            \"_debugNeedsRemount\": false,\n                            \"subtreeFlags\": 0,\n                            \"return\": null,\n                            \"child\": null\n                        },\n                        \"_store\": {},\n                        \"key\": null,\n                        \"props\": {\n                            \"size\": 24\n                        }\n                    },\n                    \"id\": \"dineIn\",\n                    \"label\": \"Comer Aquí\",\n                    \"isActive\": true\n                },\n                {\n                    \"icon\": {\n                        \"_owner\": {\n                            \"actualStartTime\": 27575.899999976158,\n                            \"updateQueue\": null,\n                            \"deletions\": null,\n                            \"flags\": 8650752,\n                            \"actualDuration\": 0,\n                            \"memoizedProps\": null,\n                            \"_debugInfo\": null,\n                            \"mode\": 27,\n                            \"ref\": null,\n                            \"treeBaseDuration\": 2.600000023841858,\n                            \"lanes\": 0,\n                            \"stateNode\": null,\n                            \"_debugHookTypes\": [\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useEffect\",\n                                \"useMemo\",\n                                \"useMemo\",\n                                \"useEffect\",\n                                \"useEffect\"\n                            ],\n                            \"tag\": 0,\n                            \"selfBaseDuration\": 0.5,\n                            \"memoizedState\": null,\n                            \"key\": null,\n                            \"refCleanup\": null,\n                            \"index\": 0,\n                            \"alternate\": null,\n                            \"dependencies\": null,\n                            \"_debugOwner\": null,\n                            \"sibling\": null,\n                            \"childLanes\": 0,\n                            \"pendingProps\": null,\n                            \"_debugNeedsRemount\": false,\n                            \"subtreeFlags\": 0,\n                            \"return\": null,\n                            \"child\": null\n                        },\n                        \"_store\": {},\n                        \"key\": null,\n                        \"props\": {\n                            \"size\": 24\n                        }\n                    },\n                    \"id\": \"takeaway\",\n                    \"label\": \"Para Llevar\",\n                    \"isActive\": true\n                },\n                {\n                    \"icon\": {\n                        \"_owner\": {\n                            \"actualStartTime\": 27575.899999976158,\n                            \"updateQueue\": null,\n                            \"deletions\": null,\n                            \"flags\": 8650752,\n                            \"actualDuration\": 0,\n                            \"memoizedProps\": null,\n                            \"_debugInfo\": null,\n                            \"mode\": 27,\n                            \"ref\": null,\n                            \"treeBaseDuration\": 2.600000023841858,\n                            \"lanes\": 0,\n                            \"stateNode\": null,\n                            \"_debugHookTypes\": [\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useState\",\n                                \"useEffect\",\n                                \"useMemo\",\n                                \"useMemo\",\n                                \"useEffect\",\n                                \"useEffect\"\n                            ],\n                            \"tag\": 0,\n                            \"selfBaseDuration\": 0.5,\n                            \"memoizedState\": null,\n                            \"key\": null,\n                            \"refCleanup\": null,\n                            \"index\": 0,\n                            \"alternate\": null,\n                            \"dependencies\": null,\n                            \"_debugOwner\": null,\n                            \"sibling\": null,\n                            \"childLanes\": 0,\n                            \"pendingProps\": null,\n                            \"_debugNeedsRemount\": false,\n                            \"subtreeFlags\": 0,\n                            \"return\": null,\n                            \"child\": null\n                        },\n                        \"_store\": {},\n                        \"key\": null,\n                        \"props\": {\n                            \"size\": 24\n                        }\n                    },\n                    \"id\": \"delivery\",\n                    \"label\": \"A Domicilio\",\n                    \"isActive\": false\n                }\n            ],\n            \"Modifiers\": null,\n            \"Rules\": null,\n            \"Ingredients\": [\n                {\n                    \"unit\": \"pza\",\n                    \"quantity\": \"1\",\n                    \"locationsCount\": 0,\n                    \"warehouseCount\": 2,\n                    \"name\": \"Guacamole\",\n                    \"selectedWarehouses\": [\n                        \"WH7e1236f9\",\n                        \"WHd47a9bc3\"\n                    ],\n                    \"id\": \"INS02eee435\",\n                    \"selectedLocations\": []\n                },\n                {\n                    \"unit\": \"g\",\n                    \"quantity\": \"100\",\n                    \"locationsCount\": 0,\n                    \"warehouseCount\": 2,\n                    \"name\": \"Pollo\",\n                    \"selectedWarehouses\": [\n                        \"WH7e1236f9\",\n                        \"WHd47a9bc3\"\n                    ],\n                    \"id\": \"INS4cb59212\",\n                    \"selectedLocations\": []\n                }\n            ],\n            \"Tracking\": null,\n            \"Config\": null\n        }\n    ]\n}"}],"_postman_id":"82919c11-d893-4674-890e-93e97e5b167a"},{"name":"Get Product Images List","id":"52927741-c9a0-4395-a45c-60970ff0dc3f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product-image/list/?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","product-image","list",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[],"_postman_id":"52927741-c9a0-4395-a45c-60970ff0dc3f"},{"name":"Upload Image","id":"27dfabbd-d575-4c31-b4cc-5314a1046345","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","uuid":"67a186a9-4ae3-4218-9201-09b2fe8881ca","src":"/Users/ramadorc/Downloads/566708cc06bc3971c7e85d35436d253c.jpg"}]},"url":"http://127.0.0.1:8000/api/product/upload-image/?BranchID=102&image","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","product","upload-image",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"},{"key":"image","value":null}],"variable":[]}},"response":[],"_postman_id":"27dfabbd-d575-4c31-b4cc-5314a1046345"},{"name":"Update Image","id":"fa2715f7-b463-4590-82e3-27b14a0d2fe1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"imageURL\": \"https://your-bucket.s3.amazonaws.com/tenant/branch/products/yourimage.jpg\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product/update-image/PROD123/?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","product","update-image","PROD123",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[],"_postman_id":"fa2715f7-b463-4590-82e3-27b14a0d2fe1"},{"name":"Delete Image","id":"dd420e38-43a5-433e-a5b5-e48742083354","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/product-image/delete/IMG38990558/?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","product-image","delete","IMG38990558",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[],"_postman_id":"dd420e38-43a5-433e-a5b5-e48742083354"}],"id":"997b0eb3-0fba-4553-8867-a51fa76478ac","_postman_id":"997b0eb3-0fba-4553-8867-a51fa76478ac","description":""},{"name":"Menu","item":[{"name":"Create Menu","id":"49c6e1a1-103c-4f91-a8ac-e40c0fccd2de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"menuName\": \"Desayuno\",\n  \"sections\": [\n    {\n      \"name\": \"Bebida\",\n      \"items\": [\n        {\n          \"id\": \"PRDf063805a\",\n          \"nameArticle\": \"Cafe De Mazapan\",\n          \"price\": \"$60.00 MXN\",\n          \"label_article\": \"Disponible\",\n          \"status\": \"active\",\n          \"img\": \"/static/media/article_pic.b20ff24607a1a7c52186.png\"\n        }\n      ]\n    }\n  ],\n  \"schedules\": [\n    {\n      \"day\": \"Lunes\",\n      \"startTime\": \"01:29\",\n      \"endTime\": \"01:29\"\n    },\n    {\n      \"day\": \"Martes\",\n      \"startTime\": \"05:30\",\n      \"endTime\": \"01:35\"\n    }\n  ],\n  \"sucursales\": [\n    {\n      \"id\": 102,\n      \"name\": \"Kensaladas Centro\",\n      \"address\": \"Av pajaro loko\",\n      \"groupLabel\": \"SIN GRUPO\"\n    },\n    {\n      \"id\": 104,\n      \"name\": \"Kensaladas Zapopan\",\n      \"address\": \"Av Zapopillo 2030\",\n      \"groupLabel\": \"SIN GRUPO\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/menu/create/","description":"<h3 id=\"request-body\">Request Body</h3>\n<p>The request body should be in the raw format and include the following parameters:</p>\n<ul>\n<li><p><code>name</code>: (string) The name of the product.</p>\n</li>\n<li><p><code>description</code>: (string) The description of the product.</p>\n</li>\n<li><p><code>email</code>: (string) The email associated with the product.</p>\n</li>\n<li><p><code>password</code>: (string) The password associated with the product.</p>\n</li>\n<li><p><code>role</code>: (string) The role of the product.</p>\n</li>\n<li><p><code>branch</code>: (string) The branch of the product.</p>\n</li>\n<li><p><code>config</code>: (null) Configuration details for the product.</p>\n</li>\n<li><p><code>selectedLocations</code>: (array) The selected locations for the product.</p>\n</li>\n<li><p><code>selectedSucursales</code>: (array) The selected sucursales for the product.</p>\n</li>\n<li><p><code>selectedModes</code>: (array) The selected modes for the product.</p>\n</li>\n<li><p><code>consumptionOptions</code>: (array) The consumption options for the product.</p>\n</li>\n<li><p><code>modifiers</code>: (array) The modifiers for the product.</p>\n</li>\n<li><p><code>rules</code>: (array) The rules for the product.</p>\n</li>\n<li><p><code>ingredients</code>: (array) The ingredients for the product.</p>\n</li>\n<li><p><code>step5WizardStep</code>: (number) The step of the wizard for the product.</p>\n</li>\n<li><p><code>step5WizardData</code>: (object) Data for the wizard step of the product.</p>\n</li>\n<li><p><code>step5ShowWizard</code>: (boolean) Indicates whether the wizard should be shown for the product.</p>\n</li>\n<li><p><code>price</code>: (string) The price of the product.</p>\n</li>\n<li><p><code>category</code>: (string) The category of the product.</p>\n</li>\n<li><p><code>tracking</code>: (object) Tracking details for the product.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response is in the form of a JSON schema and includes the following fields:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    },\n    \"primaryItem\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"BranchID\": {\n          \"type\": \"string\"\n        },\n        \"ProductID\": {\n          \"type\": \"string\"\n        }\n      }\n    },\n    \"additionalItems\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"BranchID\": {\n            \"type\": \"string\"\n          },\n          \"ProductID\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","menu","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"313fe9f1-6f6f-4715-87d5-812b3d8f1f45","name":"Create Menu","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"menuName\": \"Desayuno\",\n  \"sections\": [\n    {\n      \"name\": \"Bebida\",\n      \"items\": [\n        {\n          \"id\": \"PRDf063805a\",\n          \"nameArticle\": \"Cafe De Mazapan\",\n          \"price\": \"$60.00 MXN\",\n          \"label_article\": \"Disponible\",\n          \"status\": \"active\",\n          \"img\": \"/static/media/article_pic.b20ff24607a1a7c52186.png\"\n        }\n      ]\n    }\n  ],\n  \"schedules\": [\n    {\n      \"day\": \"Lunes\",\n      \"startTime\": \"01:29\",\n      \"endTime\": \"01:29\"\n    },\n    {\n      \"day\": \"Martes\",\n      \"startTime\": \"05:30\",\n      \"endTime\": \"01:35\"\n    }\n  ],\n  \"sucursales\": [\n    {\n      \"id\": 102,\n      \"name\": \"Kensaladas Centro\",\n      \"address\": \"Av pajaro loko\",\n      \"groupLabel\": \"SIN GRUPO\"\n    },\n    {\n      \"id\": 104,\n      \"name\": \"Kensaladas Zapopan\",\n      \"address\": \"Av Zapopillo 2030\",\n      \"groupLabel\": \"SIN GRUPO\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/menu/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 21 Mar 2025 07:32:28 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"227"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Menus created successfully\",\n    \"primaryItem\": {\n        \"BranchID\": \"102\",\n        \"MenuID\": \"MENU046b4054\",\n        \"BranchName\": \"Kensaladas Centro\"\n    },\n    \"additionalItems\": [\n        {\n            \"BranchID\": \"104\",\n            \"MenuID\": \"MENU8dfc8ad0\",\n            \"BranchName\": \"Kensaladas Zapopan\"\n        }\n    ]\n}"}],"_postman_id":"49c6e1a1-103c-4f91-a8ac-e40c0fccd2de"},{"name":"Create Menu Package","id":"2c6218f0-e67d-4aac-8798-af35fd45d295","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Paquete Pruebas\",\n  \"description\": \"\",\n  \"email\": \"\",\n  \"password\": \"\",\n  \"role\": \"\",\n  \"branch\": \"\",\n  \"config\": null,\n  \"selectedLocations\": [],\n  \"selectedSucursales\": [\n    {\n      \"id\": 102,\n      \"name\": \"Kensaladas Centro\",\n      \"address\": \"Av pajaro loko\",\n      \"group\": \"SIN GRUPO\"\n    },\n    {\n      \"id\": 104,\n      \"name\": \"Kensaladas Zapopan\",\n      \"address\": \"Av Zapopillo 2030\",\n      \"group\": \"SIN GRUPO\"\n    }\n  ],\n  \"selectedModes\": [],\n  \"consumptionOptions\": [\n    {\n      \"id\": \"dineIn\",\n      \"icon\": {\n        \"key\": null,\n        \"props\": {\n          \"size\": 24\n        },\n        \"_owner\": {\n          \"tag\": 0,\n          \"key\": null,\n          \"stateNode\": null,\n          \"return\": null,\n          \"child\": null,\n          \"sibling\": null,\n          \"index\": 0,\n          \"ref\": null,\n          \"refCleanup\": null,\n          \"pendingProps\": null,\n          \"memoizedProps\": null,\n          \"updateQueue\": null,\n          \"memoizedState\": null,\n          \"dependencies\": null,\n          \"mode\": 27,\n          \"flags\": 8650752,\n          \"subtreeFlags\": 0,\n          \"deletions\": null,\n          \"lanes\": 0,\n          \"childLanes\": 0,\n          \"alternate\": null,\n          \"actualDuration\": 0,\n          \"actualStartTime\": 23876.800000190735,\n          \"selfBaseDuration\": 0.2999999523162842,\n          \"treeBaseDuration\": 3,\n          \"_debugInfo\": null,\n          \"_debugOwner\": null,\n          \"_debugNeedsRemount\": false,\n          \"_debugHookTypes\": [\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useEffect\",\n            \"useEffect\",\n            \"useMemo\",\n            \"useMemo\"\n          ]\n        },\n        \"_store\": {}\n      },\n      \"label\": \"Comer Aquí\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"takeaway\",\n      \"icon\": {\n        \"key\": null,\n        \"props\": {\n          \"size\": 24\n        },\n        \"_owner\": {\n          \"tag\": 0,\n          \"key\": null,\n          \"stateNode\": null,\n          \"return\": null,\n          \"child\": null,\n          \"sibling\": null,\n          \"index\": 0,\n          \"ref\": null,\n          \"refCleanup\": null,\n          \"pendingProps\": null,\n          \"memoizedProps\": null,\n          \"updateQueue\": null,\n          \"memoizedState\": null,\n          \"dependencies\": null,\n          \"mode\": 27,\n          \"flags\": 8650752,\n          \"subtreeFlags\": 0,\n          \"deletions\": null,\n          \"lanes\": 0,\n          \"childLanes\": 0,\n          \"alternate\": null,\n          \"actualDuration\": 0,\n          \"actualStartTime\": 23876.800000190735,\n          \"selfBaseDuration\": 0.2999999523162842,\n          \"treeBaseDuration\": 3,\n          \"_debugInfo\": null,\n          \"_debugOwner\": null,\n          \"_debugNeedsRemount\": false,\n          \"_debugHookTypes\": [\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useEffect\",\n            \"useEffect\",\n            \"useMemo\",\n            \"useMemo\"\n          ]\n        },\n        \"_store\": {}\n      },\n      \"label\": \"Para Llevar\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"delivery\",\n      \"icon\": {\n        \"key\": null,\n        \"props\": {\n          \"size\": 24\n        },\n        \"_owner\": {\n          \"tag\": 0,\n          \"key\": null,\n          \"stateNode\": null,\n          \"return\": null,\n          \"child\": null,\n          \"sibling\": null,\n          \"index\": 0,\n          \"ref\": null,\n          \"refCleanup\": null,\n          \"pendingProps\": null,\n          \"memoizedProps\": null,\n          \"updateQueue\": null,\n          \"memoizedState\": null,\n          \"dependencies\": null,\n          \"mode\": 27,\n          \"flags\": 8650752,\n          \"subtreeFlags\": 0,\n          \"deletions\": null,\n          \"lanes\": 0,\n          \"childLanes\": 0,\n          \"alternate\": null,\n          \"actualDuration\": 0,\n          \"actualStartTime\": 23876.800000190735,\n          \"selfBaseDuration\": 0.2999999523162842,\n          \"treeBaseDuration\": 3,\n          \"_debugInfo\": null,\n          \"_debugOwner\": null,\n          \"_debugNeedsRemount\": false,\n          \"_debugHookTypes\": [\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useEffect\",\n            \"useEffect\",\n            \"useMemo\",\n            \"useMemo\"\n          ]\n        },\n        \"_store\": {}\n      },\n      \"label\": \"A Domicilio\",\n      \"isActive\": false\n    }\n  ],\n  \"modifiers\": [\n    {\n      \"id\": \"modifier-1742971301978\",\n      \"name\": \"Modificador 1\",\n      \"instruction\": \"\",\n      \"isRequired\": false,\n      \"minOptional\": \"0\",\n      \"maxOptional\": \"1\",\n      \"canSelectMultiple\": false,\n      \"availableInPackages\": false,\n      \"rules\": [],\n      \"insumos\": [\n        {\n          \"id\": \"PRDf063805a\",\n          \"name\": \"Cafe De Mazapan\",\n          \"price\": \"0\",\n          \"quantity\": \"1\",\n          \"unit\": \"unidad\",\n          \"locationsCount\": 1,\n          \"warehouseCount\": 0,\n          \"selectedLocations\": [\n            \"Kensaladas Centro\"\n          ],\n          \"selectedWarehouses\": [],\n          \"selectedModes\": [],\n          \"consumptionCount\": 1\n        }\n      ]\n    }\n  ],\n  \"rules\": [\n    {\n      \"id\": \"rule-1742971312009\",\n      \"name\": \"Regla 1\",\n      \"rules\": [\n        {\n          \"id\": \"rule-option-1742971312835\",\n          \"name\": \"\",\n          \"price\": \"0\",\n          \"locationsCount\": 2,\n          \"consumptionCount\": 2,\n          \"warehouseCount\": \"0\",\n          \"selectedLocations\": [\n            \"Kensaladas Centro\",\n            \"Kensaladas Zapopan\"\n          ],\n          \"selectedModes\": [\n            \"delivery\",\n            \"takeaway\"\n          ]\n        }\n      ]\n    }\n  ],\n  \"category\": \"CATEGORÍA 1\",\n  \"schedules\": {\n    \"lunes\": {\n      \"in\": \"00:55\",\n      \"out\": \"15:58\"\n    },\n    \"martes\": {\n      \"in\": \"04:55\",\n      \"out\": \"05:55\"\n    },\n    \"miércoles\": null,\n    \"jueves\": null,\n    \"viernes\": null,\n    \"sábado\": null,\n    \"domingo\": null\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/package/create/","description":"<h3 id=\"request-body\">Request Body</h3>\n<p>The request body should be in the raw format and include the following parameters:</p>\n<ul>\n<li><p><code>name</code>: (string) The name of the product.</p>\n</li>\n<li><p><code>description</code>: (string) The description of the product.</p>\n</li>\n<li><p><code>email</code>: (string) The email associated with the product.</p>\n</li>\n<li><p><code>password</code>: (string) The password associated with the product.</p>\n</li>\n<li><p><code>role</code>: (string) The role of the product.</p>\n</li>\n<li><p><code>branch</code>: (string) The branch of the product.</p>\n</li>\n<li><p><code>config</code>: (null) Configuration details for the product.</p>\n</li>\n<li><p><code>selectedLocations</code>: (array) The selected locations for the product.</p>\n</li>\n<li><p><code>selectedSucursales</code>: (array) The selected sucursales for the product.</p>\n</li>\n<li><p><code>selectedModes</code>: (array) The selected modes for the product.</p>\n</li>\n<li><p><code>consumptionOptions</code>: (array) The consumption options for the product.</p>\n</li>\n<li><p><code>modifiers</code>: (array) The modifiers for the product.</p>\n</li>\n<li><p><code>rules</code>: (array) The rules for the product.</p>\n</li>\n<li><p><code>ingredients</code>: (array) The ingredients for the product.</p>\n</li>\n<li><p><code>step5WizardStep</code>: (number) The step of the wizard for the product.</p>\n</li>\n<li><p><code>step5WizardData</code>: (object) Data for the wizard step of the product.</p>\n</li>\n<li><p><code>step5ShowWizard</code>: (boolean) Indicates whether the wizard should be shown for the product.</p>\n</li>\n<li><p><code>price</code>: (string) The price of the product.</p>\n</li>\n<li><p><code>category</code>: (string) The category of the product.</p>\n</li>\n<li><p><code>tracking</code>: (object) Tracking details for the product.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response is in the form of a JSON schema and includes the following fields:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    },\n    \"primaryItem\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"BranchID\": {\n          \"type\": \"string\"\n        },\n        \"ProductID\": {\n          \"type\": \"string\"\n        }\n      }\n    },\n    \"additionalItems\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"BranchID\": {\n            \"type\": \"string\"\n          },\n          \"ProductID\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","package","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"9cbbdd8a-134d-45a3-8c6d-326be58776ae","name":"Create Package","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Paquete Pruebas\",\n  \"description\": \"\",\n  \"email\": \"\",\n  \"password\": \"\",\n  \"role\": \"\",\n  \"branch\": \"\",\n  \"config\": null,\n  \"selectedLocations\": [],\n  \"selectedSucursales\": [\n    {\n      \"id\": 102,\n      \"name\": \"Kensaladas Centro\",\n      \"address\": \"Av pajaro loko\",\n      \"group\": \"SIN GRUPO\"\n    },\n    {\n      \"id\": 104,\n      \"name\": \"Kensaladas Zapopan\",\n      \"address\": \"Av Zapopillo 2030\",\n      \"group\": \"SIN GRUPO\"\n    }\n  ],\n  \"selectedModes\": [],\n  \"consumptionOptions\": [\n    {\n      \"id\": \"dineIn\",\n      \"icon\": {\n        \"key\": null,\n        \"props\": {\n          \"size\": 24\n        },\n        \"_owner\": {\n          \"tag\": 0,\n          \"key\": null,\n          \"stateNode\": null,\n          \"return\": null,\n          \"child\": null,\n          \"sibling\": null,\n          \"index\": 0,\n          \"ref\": null,\n          \"refCleanup\": null,\n          \"pendingProps\": null,\n          \"memoizedProps\": null,\n          \"updateQueue\": null,\n          \"memoizedState\": null,\n          \"dependencies\": null,\n          \"mode\": 27,\n          \"flags\": 8650752,\n          \"subtreeFlags\": 0,\n          \"deletions\": null,\n          \"lanes\": 0,\n          \"childLanes\": 0,\n          \"alternate\": null,\n          \"actualDuration\": 0,\n          \"actualStartTime\": 23876.800000190735,\n          \"selfBaseDuration\": 0.2999999523162842,\n          \"treeBaseDuration\": 3,\n          \"_debugInfo\": null,\n          \"_debugOwner\": null,\n          \"_debugNeedsRemount\": false,\n          \"_debugHookTypes\": [\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useEffect\",\n            \"useEffect\",\n            \"useMemo\",\n            \"useMemo\"\n          ]\n        },\n        \"_store\": {}\n      },\n      \"label\": \"Comer Aquí\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"takeaway\",\n      \"icon\": {\n        \"key\": null,\n        \"props\": {\n          \"size\": 24\n        },\n        \"_owner\": {\n          \"tag\": 0,\n          \"key\": null,\n          \"stateNode\": null,\n          \"return\": null,\n          \"child\": null,\n          \"sibling\": null,\n          \"index\": 0,\n          \"ref\": null,\n          \"refCleanup\": null,\n          \"pendingProps\": null,\n          \"memoizedProps\": null,\n          \"updateQueue\": null,\n          \"memoizedState\": null,\n          \"dependencies\": null,\n          \"mode\": 27,\n          \"flags\": 8650752,\n          \"subtreeFlags\": 0,\n          \"deletions\": null,\n          \"lanes\": 0,\n          \"childLanes\": 0,\n          \"alternate\": null,\n          \"actualDuration\": 0,\n          \"actualStartTime\": 23876.800000190735,\n          \"selfBaseDuration\": 0.2999999523162842,\n          \"treeBaseDuration\": 3,\n          \"_debugInfo\": null,\n          \"_debugOwner\": null,\n          \"_debugNeedsRemount\": false,\n          \"_debugHookTypes\": [\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useEffect\",\n            \"useEffect\",\n            \"useMemo\",\n            \"useMemo\"\n          ]\n        },\n        \"_store\": {}\n      },\n      \"label\": \"Para Llevar\",\n      \"isActive\": true\n    },\n    {\n      \"id\": \"delivery\",\n      \"icon\": {\n        \"key\": null,\n        \"props\": {\n          \"size\": 24\n        },\n        \"_owner\": {\n          \"tag\": 0,\n          \"key\": null,\n          \"stateNode\": null,\n          \"return\": null,\n          \"child\": null,\n          \"sibling\": null,\n          \"index\": 0,\n          \"ref\": null,\n          \"refCleanup\": null,\n          \"pendingProps\": null,\n          \"memoizedProps\": null,\n          \"updateQueue\": null,\n          \"memoizedState\": null,\n          \"dependencies\": null,\n          \"mode\": 27,\n          \"flags\": 8650752,\n          \"subtreeFlags\": 0,\n          \"deletions\": null,\n          \"lanes\": 0,\n          \"childLanes\": 0,\n          \"alternate\": null,\n          \"actualDuration\": 0,\n          \"actualStartTime\": 23876.800000190735,\n          \"selfBaseDuration\": 0.2999999523162842,\n          \"treeBaseDuration\": 3,\n          \"_debugInfo\": null,\n          \"_debugOwner\": null,\n          \"_debugNeedsRemount\": false,\n          \"_debugHookTypes\": [\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useState\",\n            \"useEffect\",\n            \"useEffect\",\n            \"useMemo\",\n            \"useMemo\"\n          ]\n        },\n        \"_store\": {}\n      },\n      \"label\": \"A Domicilio\",\n      \"isActive\": false\n    }\n  ],\n  \"modifiers\": [\n    {\n      \"id\": \"modifier-1742971301978\",\n      \"name\": \"Modificador 1\",\n      \"instruction\": \"\",\n      \"isRequired\": false,\n      \"minOptional\": \"0\",\n      \"maxOptional\": \"1\",\n      \"canSelectMultiple\": false,\n      \"availableInPackages\": false,\n      \"rules\": [],\n      \"insumos\": [\n        {\n          \"id\": \"PRDf063805a\",\n          \"name\": \"Cafe De Mazapan\",\n          \"price\": \"0\",\n          \"quantity\": \"1\",\n          \"unit\": \"unidad\",\n          \"locationsCount\": 1,\n          \"warehouseCount\": 0,\n          \"selectedLocations\": [\n            \"Kensaladas Centro\"\n          ],\n          \"selectedWarehouses\": [],\n          \"selectedModes\": [],\n          \"consumptionCount\": 1\n        }\n      ]\n    }\n  ],\n  \"rules\": [\n    {\n      \"id\": \"rule-1742971312009\",\n      \"name\": \"Regla 1\",\n      \"rules\": [\n        {\n          \"id\": \"rule-option-1742971312835\",\n          \"name\": \"\",\n          \"price\": \"0\",\n          \"locationsCount\": 2,\n          \"consumptionCount\": 2,\n          \"warehouseCount\": \"0\",\n          \"selectedLocations\": [\n            \"Kensaladas Centro\",\n            \"Kensaladas Zapopan\"\n          ],\n          \"selectedModes\": [\n            \"delivery\",\n            \"takeaway\"\n          ]\n        }\n      ]\n    }\n  ],\n  \"category\": \"CATEGORÍA 1\",\n  \"schedules\": {\n    \"lunes\": {\n      \"in\": \"00:55\",\n      \"out\": \"15:58\"\n    },\n    \"martes\": {\n      \"in\": \"04:55\",\n      \"out\": \"05:55\"\n    },\n    \"miércoles\": null,\n    \"jueves\": null,\n    \"viernes\": null,\n    \"sábado\": null,\n    \"domingo\": null\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/package/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Mar 2025 07:53:08 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"167"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Packages created successfully\",\n    \"primaryItem\": {\n        \"BranchID\": \"102\",\n        \"PackageID\": \"PKG0054b52a\"\n    },\n    \"additionalItems\": [\n        {\n            \"BranchID\": \"104\",\n            \"PackageID\": \"PKG037cd88a\"\n        }\n    ]\n}"}],"_postman_id":"2c6218f0-e67d-4aac-8798-af35fd45d295"},{"name":"Update Menu","id":"dcb0aa09-41c8-4e53-8ba3-80e28ae8b7a1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/menu/update/MENU238041be/?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","menu","update","MENU238041be",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"7f463bf6-c09a-449e-8542-0228aa250790","name":"Update Menu","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/menu/update/MENU238041be/?BranchID=102","host":["http://127.0.0.1:8000"],"path":["api","menu","update","MENU238041be",""],"query":[{"key":"BranchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 28 Mar 2025 06:23:31 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"PUT, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"80"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Menu updated successfully\",\n    \"BranchID\": \"102\",\n    \"MenuID\": \"MENU238041be\"\n}"}],"_postman_id":"dcb0aa09-41c8-4e53-8ba3-80e28ae8b7a1"},{"name":"Update Package","id":"a04db3b5-e383-49c6-9920-6fbddd4e5c99","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/menu/update/MENU238041be/?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","menu","update","MENU238041be",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"96dd9e9d-b984-43ca-8f41-fc813f3b26a0","name":"Update Menu","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/menu/update/MENU238041be/?BranchID=102","host":["http://127.0.0.1:8000"],"path":["api","menu","update","MENU238041be",""],"query":[{"key":"BranchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 28 Mar 2025 06:23:31 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"PUT, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"80"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Menu updated successfully\",\n    \"BranchID\": \"102\",\n    \"MenuID\": \"MENU238041be\"\n}"}],"_postman_id":"a04db3b5-e383-49c6-9920-6fbddd4e5c99"},{"name":"Get Menus","id":"24884f7c-5d63-4477-8bbc-861b7948bfd1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/menu/list/?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","menu","list",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"c9f29867-d1ac-42b0-912f-6a9281ac5e59","name":"Get Menus","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/menu/list/?BranchID=102","host":["http://127.0.0.1:8000"],"path":["api","menu","list",""],"query":[{"key":"BranchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 21 Mar 2025 07:44:52 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1453"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"BranchID\": \"102\",\n        \"MenuID\": \"MENU046b4054\",\n        \"TenantID\": \"11\",\n        \"MenuName\": \"Desayuno\",\n        \"Sections\": [\n            {\n                \"name\": \"Bebida\",\n                \"items\": [\n                    {\n                        \"label_article\": \"Disponible\",\n                        \"img\": \"/static/media/article_pic.b20ff24607a1a7c52186.png\",\n                        \"id\": \"PRDf063805a\",\n                        \"price\": \"$60.00 MXN\",\n                        \"nameArticle\": \"Cafe De Mazapan\",\n                        \"status\": \"active\"\n                    }\n                ]\n            }\n        ],\n        \"Schedules\": [\n            {\n                \"day\": \"Lunes\",\n                \"startTime\": \"01:29\",\n                \"endTime\": \"01:29\"\n            },\n            {\n                \"day\": \"Martes\",\n                \"startTime\": \"05:30\",\n                \"endTime\": \"01:35\"\n            }\n        ],\n        \"Sucursales\": [\n            {\n                \"name\": \"Kensaladas Centro\",\n                \"groupLabel\": \"SIN GRUPO\",\n                \"id\": 102,\n                \"address\": \"Av pajaro loko\"\n            },\n            {\n                \"name\": \"Kensaladas Zapopan\",\n                \"groupLabel\": \"SIN GRUPO\",\n                \"id\": 104,\n                \"address\": \"Av Zapopillo 2030\"\n            }\n        ],\n        \"IsActive\": 1,\n        \"LastUpdated\": 1742542348\n    },\n    {\n        \"BranchID\": \"102\",\n        \"MenuID\": \"MENU238041be\",\n        \"TenantID\": \"11\",\n        \"MenuName\": \"Comida\",\n        \"Sections\": [\n            {\n                \"name\": \"Plato Fuerte\",\n                \"items\": [\n                    {\n                        \"label_article\": \"Disponible\",\n                        \"img\": \"/static/media/article_pic.b20ff24607a1a7c52186.png\",\n                        \"id\": \"PRD2198f7b6\",\n                        \"price\": \"$80.00 MXN\",\n                        \"nameArticle\": \"burguer \",\n                        \"status\": \"active\"\n                    },\n                    {\n                        \"label_article\": \"Disponible\",\n                        \"img\": \"/static/media/article_pic.b20ff24607a1a7c52186.png\",\n                        \"id\": \"PRD8efd9b18\",\n                        \"price\": \"$120.00 MXN\",\n                        \"nameArticle\": \"Enchiladas Keto\",\n                        \"status\": \"active\"\n                    }\n                ]\n            }\n        ],\n        \"Schedules\": [\n            {\n                \"day\": \"Miércoles\",\n                \"startTime\": \"03:34\",\n                \"endTime\": \"19:30\"\n            }\n        ],\n        \"Sucursales\": [\n            {\n                \"name\": \"Kensaladas Centro\",\n                \"groupLabel\": \"SIN GRUPO\",\n                \"id\": 102,\n                \"address\": \"Av pajaro loko\"\n            },\n            {\n                \"name\": \"Kensaladas Zapopan\",\n                \"groupLabel\": \"SIN GRUPO\",\n                \"id\": 104,\n                \"address\": \"Av Zapopillo 2030\"\n            }\n        ],\n        \"IsActive\": 1,\n        \"LastUpdated\": 1742542487\n    }\n]"}],"_postman_id":"24884f7c-5d63-4477-8bbc-861b7948bfd1"},{"name":"Get Packages","id":"b13c5ad0-1841-4e8e-82c2-00d2de323713","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/package/list/?BranchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","package","list",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"591a94fb-a028-4e30-8810-1a674b93bf27","name":"Get Packages","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/package/list/?BranchID=102","host":["http://127.0.0.1:8000"],"path":["api","package","list",""],"query":[{"key":"BranchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Mar 2025 21:02:16 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"8626"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"BranchID\": \"102\",\n        \"PackageID\": \"PKG0054b52a\",\n        \"TenantID\": \"11\",\n        \"Name\": \"Paquete Pruebas\",\n        \"Description\": null,\n        \"Category\": \"CATEGORÍA 1\",\n        \"Email\": null,\n        \"Password\": null,\n        \"Role\": null,\n        \"Locations\": null,\n        \"Sucursales\": [\n            {\n                \"name\": \"Kensaladas Centro\",\n                \"id\": 102,\n                \"address\": \"Av pajaro loko\",\n                \"group\": \"SIN GRUPO\"\n            },\n            {\n                \"name\": \"Kensaladas Zapopan\",\n                \"id\": 104,\n                \"address\": \"Av Zapopillo 2030\",\n                \"group\": \"SIN GRUPO\"\n            }\n        ],\n        \"SelectedModes\": null,\n        \"ConsumptionOptions\": [\n            {\n                \"icon\": {\n                    \"_owner\": {\n                        \"actualStartTime\": 23876.800000190735,\n                        \"updateQueue\": null,\n                        \"deletions\": null,\n                        \"flags\": 8650752,\n                        \"actualDuration\": 0,\n                        \"memoizedProps\": null,\n                        \"_debugInfo\": null,\n                        \"mode\": 27,\n                        \"ref\": null,\n                        \"treeBaseDuration\": 3,\n                        \"lanes\": 0,\n                        \"stateNode\": null,\n                        \"_debugHookTypes\": [\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useEffect\",\n                            \"useEffect\",\n                            \"useMemo\",\n                            \"useMemo\"\n                        ],\n                        \"tag\": 0,\n                        \"selfBaseDuration\": 0.2999999523162842,\n                        \"memoizedState\": null,\n                        \"key\": null,\n                        \"refCleanup\": null,\n                        \"index\": 0,\n                        \"alternate\": null,\n                        \"dependencies\": null,\n                        \"_debugOwner\": null,\n                        \"sibling\": null,\n                        \"childLanes\": 0,\n                        \"pendingProps\": null,\n                        \"_debugNeedsRemount\": false,\n                        \"subtreeFlags\": 0,\n                        \"return\": null,\n                        \"child\": null\n                    },\n                    \"_store\": {},\n                    \"key\": null,\n                    \"props\": {\n                        \"size\": 24\n                    }\n                },\n                \"id\": \"dineIn\",\n                \"label\": \"Comer Aquí\",\n                \"isActive\": true\n            },\n            {\n                \"icon\": {\n                    \"_owner\": {\n                        \"actualStartTime\": 23876.800000190735,\n                        \"updateQueue\": null,\n                        \"deletions\": null,\n                        \"flags\": 8650752,\n                        \"actualDuration\": 0,\n                        \"memoizedProps\": null,\n                        \"_debugInfo\": null,\n                        \"mode\": 27,\n                        \"ref\": null,\n                        \"treeBaseDuration\": 3,\n                        \"lanes\": 0,\n                        \"stateNode\": null,\n                        \"_debugHookTypes\": [\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useEffect\",\n                            \"useEffect\",\n                            \"useMemo\",\n                            \"useMemo\"\n                        ],\n                        \"tag\": 0,\n                        \"selfBaseDuration\": 0.2999999523162842,\n                        \"memoizedState\": null,\n                        \"key\": null,\n                        \"refCleanup\": null,\n                        \"index\": 0,\n                        \"alternate\": null,\n                        \"dependencies\": null,\n                        \"_debugOwner\": null,\n                        \"sibling\": null,\n                        \"childLanes\": 0,\n                        \"pendingProps\": null,\n                        \"_debugNeedsRemount\": false,\n                        \"subtreeFlags\": 0,\n                        \"return\": null,\n                        \"child\": null\n                    },\n                    \"_store\": {},\n                    \"key\": null,\n                    \"props\": {\n                        \"size\": 24\n                    }\n                },\n                \"id\": \"takeaway\",\n                \"label\": \"Para Llevar\",\n                \"isActive\": true\n            },\n            {\n                \"icon\": {\n                    \"_owner\": {\n                        \"actualStartTime\": 23876.800000190735,\n                        \"updateQueue\": null,\n                        \"deletions\": null,\n                        \"flags\": 8650752,\n                        \"actualDuration\": 0,\n                        \"memoizedProps\": null,\n                        \"_debugInfo\": null,\n                        \"mode\": 27,\n                        \"ref\": null,\n                        \"treeBaseDuration\": 3,\n                        \"lanes\": 0,\n                        \"stateNode\": null,\n                        \"_debugHookTypes\": [\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useEffect\",\n                            \"useEffect\",\n                            \"useMemo\",\n                            \"useMemo\"\n                        ],\n                        \"tag\": 0,\n                        \"selfBaseDuration\": 0.2999999523162842,\n                        \"memoizedState\": null,\n                        \"key\": null,\n                        \"refCleanup\": null,\n                        \"index\": 0,\n                        \"alternate\": null,\n                        \"dependencies\": null,\n                        \"_debugOwner\": null,\n                        \"sibling\": null,\n                        \"childLanes\": 0,\n                        \"pendingProps\": null,\n                        \"_debugNeedsRemount\": false,\n                        \"subtreeFlags\": 0,\n                        \"return\": null,\n                        \"child\": null\n                    },\n                    \"_store\": {},\n                    \"key\": null,\n                    \"props\": {\n                        \"size\": 24\n                    }\n                },\n                \"id\": \"delivery\",\n                \"label\": \"A Domicilio\",\n                \"isActive\": false\n            }\n        ],\n        \"Modifiers\": [\n            {\n                \"isRequired\": false,\n                \"canSelectMultiple\": false,\n                \"insumos\": [\n                    {\n                        \"unit\": \"unidad\",\n                        \"quantity\": \"1\",\n                        \"locationsCount\": 1,\n                        \"selectedModes\": [],\n                        \"consumptionCount\": 1,\n                        \"price\": \"0\",\n                        \"warehouseCount\": 0,\n                        \"name\": \"Cafe De Mazapan\",\n                        \"selectedWarehouses\": [],\n                        \"id\": \"PRDf063805a\",\n                        \"selectedLocations\": [\n                            \"Kensaladas Centro\"\n                        ]\n                    }\n                ],\n                \"instruction\": \"\",\n                \"name\": \"Modificador 1\",\n                \"maxOptional\": \"1\",\n                \"minOptional\": \"0\",\n                \"availableInPackages\": false,\n                \"rules\": [],\n                \"id\": \"modifier-1742971301978\"\n            }\n        ],\n        \"Rules\": [\n            {\n                \"name\": \"Regla 1\",\n                \"rules\": [\n                    {\n                        \"locationsCount\": 2,\n                        \"selectedModes\": [\n                            \"delivery\",\n                            \"takeaway\"\n                        ],\n                        \"consumptionCount\": 2,\n                        \"price\": \"0\",\n                        \"warehouseCount\": \"0\",\n                        \"name\": \"\",\n                        \"id\": \"rule-option-1742971312835\",\n                        \"selectedLocations\": [\n                            \"Kensaladas Centro\",\n                            \"Kensaladas Zapopan\"\n                        ]\n                    }\n                ],\n                \"id\": \"rule-1742971312009\"\n            }\n        ],\n        \"Schedules\": {\n            \"miércoles\": null,\n            \"sábado\": null,\n            \"domingo\": null,\n            \"martes\": {\n                \"in\": \"04:55\",\n                \"out\": \"05:55\"\n            },\n            \"jueves\": null,\n            \"lunes\": {\n                \"in\": \"00:55\",\n                \"out\": \"15:58\"\n            },\n            \"viernes\": null\n        },\n        \"Config\": null,\n        \"IsActive\": 1,\n        \"LastUpdated\": 1742975587\n    },\n    {\n        \"BranchID\": \"102\",\n        \"PackageID\": \"PKGa571ff60\",\n        \"TenantID\": \"11\",\n        \"Name\": \"Paquete San Valentin\",\n        \"Description\": \"Promo para los enamoraos\",\n        \"Category\": null,\n        \"Email\": null,\n        \"Password\": null,\n        \"Role\": null,\n        \"Locations\": null,\n        \"Sucursales\": [\n            {\n                \"name\": \"Kensaladas Centro\",\n                \"id\": 102,\n                \"address\": \"Av pajaro loko\",\n                \"group\": \"SIN GRUPO\"\n            },\n            {\n                \"name\": \"Kensaladas Zapopan\",\n                \"id\": 104,\n                \"address\": \"Av Zapopillo 2030\",\n                \"group\": \"SIN GRUPO\"\n            }\n        ],\n        \"SelectedModes\": null,\n        \"ConsumptionOptions\": [\n            {\n                \"icon\": {\n                    \"_owner\": {\n                        \"actualStartTime\": 93365.19999980927,\n                        \"updateQueue\": null,\n                        \"deletions\": null,\n                        \"flags\": 8650752,\n                        \"actualDuration\": 0,\n                        \"memoizedProps\": null,\n                        \"_debugInfo\": null,\n                        \"mode\": 27,\n                        \"ref\": null,\n                        \"treeBaseDuration\": 1.5999999046325684,\n                        \"lanes\": 0,\n                        \"stateNode\": null,\n                        \"_debugHookTypes\": [\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useEffect\",\n                            \"useEffect\",\n                            \"useMemo\",\n                            \"useMemo\"\n                        ],\n                        \"tag\": 0,\n                        \"selfBaseDuration\": 0.10000014305114746,\n                        \"memoizedState\": null,\n                        \"key\": null,\n                        \"refCleanup\": null,\n                        \"index\": 0,\n                        \"alternate\": null,\n                        \"dependencies\": null,\n                        \"_debugOwner\": null,\n                        \"sibling\": null,\n                        \"childLanes\": 0,\n                        \"pendingProps\": null,\n                        \"_debugNeedsRemount\": false,\n                        \"subtreeFlags\": 0,\n                        \"return\": null,\n                        \"child\": null\n                    },\n                    \"_store\": {},\n                    \"key\": null,\n                    \"props\": {\n                        \"size\": 24\n                    }\n                },\n                \"id\": \"dineIn\",\n                \"label\": \"Comer Aquí\",\n                \"isActive\": true\n            },\n            {\n                \"icon\": {\n                    \"_owner\": {\n                        \"actualStartTime\": 93365.19999980927,\n                        \"updateQueue\": null,\n                        \"deletions\": null,\n                        \"flags\": 8650752,\n                        \"actualDuration\": 0,\n                        \"memoizedProps\": null,\n                        \"_debugInfo\": null,\n                        \"mode\": 27,\n                        \"ref\": null,\n                        \"treeBaseDuration\": 1.5999999046325684,\n                        \"lanes\": 0,\n                        \"stateNode\": null,\n                        \"_debugHookTypes\": [\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useEffect\",\n                            \"useEffect\",\n                            \"useMemo\",\n                            \"useMemo\"\n                        ],\n                        \"tag\": 0,\n                        \"selfBaseDuration\": 0.10000014305114746,\n                        \"memoizedState\": null,\n                        \"key\": null,\n                        \"refCleanup\": null,\n                        \"index\": 0,\n                        \"alternate\": null,\n                        \"dependencies\": null,\n                        \"_debugOwner\": null,\n                        \"sibling\": null,\n                        \"childLanes\": 0,\n                        \"pendingProps\": null,\n                        \"_debugNeedsRemount\": false,\n                        \"subtreeFlags\": 0,\n                        \"return\": null,\n                        \"child\": null\n                    },\n                    \"_store\": {},\n                    \"key\": null,\n                    \"props\": {\n                        \"size\": 24\n                    }\n                },\n                \"id\": \"takeaway\",\n                \"label\": \"Para Llevar\",\n                \"isActive\": true\n            },\n            {\n                \"icon\": {\n                    \"_owner\": {\n                        \"actualStartTime\": 93365.19999980927,\n                        \"updateQueue\": null,\n                        \"deletions\": null,\n                        \"flags\": 8650752,\n                        \"actualDuration\": 0,\n                        \"memoizedProps\": null,\n                        \"_debugInfo\": null,\n                        \"mode\": 27,\n                        \"ref\": null,\n                        \"treeBaseDuration\": 1.5999999046325684,\n                        \"lanes\": 0,\n                        \"stateNode\": null,\n                        \"_debugHookTypes\": [\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useState\",\n                            \"useEffect\",\n                            \"useEffect\",\n                            \"useMemo\",\n                            \"useMemo\"\n                        ],\n                        \"tag\": 0,\n                        \"selfBaseDuration\": 0.10000014305114746,\n                        \"memoizedState\": null,\n                        \"key\": null,\n                        \"refCleanup\": null,\n                        \"index\": 0,\n                        \"alternate\": null,\n                        \"dependencies\": null,\n                        \"_debugOwner\": null,\n                        \"sibling\": null,\n                        \"childLanes\": 0,\n                        \"pendingProps\": null,\n                        \"_debugNeedsRemount\": false,\n                        \"subtreeFlags\": 0,\n                        \"return\": null,\n                        \"child\": null\n                    },\n                    \"_store\": {},\n                    \"key\": null,\n                    \"props\": {\n                        \"size\": 24\n                    }\n                },\n                \"id\": \"delivery\",\n                \"label\": \"A Domicilio\",\n                \"isActive\": true\n            }\n        ],\n        \"Modifiers\": [\n            {\n                \"isRequired\": false,\n                \"canSelectMultiple\": false,\n                \"insumos\": [\n                    {\n                        \"unit\": \"unidad\",\n                        \"quantity\": \"1\",\n                        \"locationsCount\": 0,\n                        \"selectedModes\": [],\n                        \"consumptionCount\": 0,\n                        \"price\": \"0\",\n                        \"warehouseCount\": 0,\n                        \"name\": \"Enchiladas Keto\",\n                        \"selectedWarehouses\": [],\n                        \"id\": \"PRD8efd9b18\",\n                        \"selectedLocations\": []\n                    },\n                    {\n                        \"unit\": \"unidad\",\n                        \"quantity\": \"1\",\n                        \"locationsCount\": 0,\n                        \"selectedModes\": [],\n                        \"consumptionCount\": 0,\n                        \"price\": \"0\",\n                        \"warehouseCount\": 0,\n                        \"name\": \"burguer \",\n                        \"selectedWarehouses\": [],\n                        \"id\": \"PRD2198f7b6\",\n                        \"selectedLocations\": []\n                    }\n                ],\n                \"instruction\": \"Elije tu alimento\",\n                \"name\": \"Modificador 1\",\n                \"maxOptional\": \"1\",\n                \"minOptional\": \"0\",\n                \"availableInPackages\": false,\n                \"rules\": [],\n                \"id\": \"modifier-1743022540318\"\n            },\n            {\n                \"isRequired\": false,\n                \"canSelectMultiple\": false,\n                \"insumos\": [\n                    {\n                        \"unit\": \"unidad\",\n                        \"quantity\": \"1\",\n                        \"locationsCount\": 0,\n                        \"selectedModes\": [],\n                        \"consumptionCount\": 0,\n                        \"price\": \"0\",\n                        \"warehouseCount\": 0,\n                        \"name\": \"Cafe De Mazapan\",\n                        \"selectedWarehouses\": [],\n                        \"id\": \"PRDf063805a\",\n                        \"selectedLocations\": []\n                    }\n                ],\n                \"instruction\": \"Elije tu bebida\",\n                \"name\": \"Modificador 2\",\n                \"maxOptional\": \"1\",\n                \"minOptional\": \"0\",\n                \"availableInPackages\": false,\n                \"rules\": [],\n                \"id\": \"modifier-1743022580420\"\n            },\n            {\n                \"isRequired\": false,\n                \"canSelectMultiple\": false,\n                \"insumos\": [\n                    {\n                        \"unit\": \"unidad\",\n                        \"quantity\": \"1\",\n                        \"locationsCount\": 0,\n                        \"selectedModes\": [],\n                        \"consumptionCount\": 0,\n                        \"price\": \"25\",\n                        \"warehouseCount\": 0,\n                        \"name\": \"Pastel de zanahoria\",\n                        \"selectedWarehouses\": [],\n                        \"id\": \"PRD9341d654\",\n                        \"selectedLocations\": []\n                    }\n                ],\n                \"instruction\": \"Elije tu postre\",\n                \"name\": \"Modificador 3\",\n                \"maxOptional\": \"1\",\n                \"minOptional\": \"0\",\n                \"availableInPackages\": false,\n                \"rules\": [],\n                \"id\": \"modifier-1743022599319\"\n            }\n        ],\n        \"Rules\": [\n            {\n                \"name\": \"Regla 1\",\n                \"rules\": [\n                    {\n                        \"locationsCount\": 1,\n                        \"selectedModes\": [\n                            \"delivery\"\n                        ],\n                        \"consumptionCount\": 1,\n                        \"price\": \"10\",\n                        \"warehouseCount\": \"0\",\n                        \"name\": \"Delivery\",\n                        \"id\": \"rule-option-1743022617202\",\n                        \"selectedLocations\": [\n                            \"Kensaladas Zapopan\"\n                        ]\n                    }\n                ],\n                \"id\": \"rule-1743022615687\"\n            }\n        ],\n        \"Schedules\": {\n            \"miércoles\": {\n                \"in\": \"16:55\",\n                \"out\": \"19:55\"\n            },\n            \"sábado\": null,\n            \"domingo\": null,\n            \"martes\": null,\n            \"jueves\": null,\n            \"lunes\": {\n                \"in\": \"08:00\",\n                \"out\": \"19:00\"\n            },\n            \"viernes\": null\n        },\n        \"Config\": null,\n        \"IsActive\": 1,\n        \"LastUpdated\": 1743022638\n    }\n]"}],"_postman_id":"b13c5ad0-1841-4e8e-82c2-00d2de323713"},{"name":"Get Device Menu","event":[{"listen":"test","script":{"id":"81e773df-e2b3-4722-b34e-0c762b0a59b3","exec":["var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Token Class</th>","        <th>Token Type</th>","        <th>Message</th>","    </tr>","    ","    {{#each response.messages}}","        <tr>","            <td>{{token_class}}</td>","            <td>{{token_type}}</td>","            <td>{{message}}</td>","        </tr>","    {{/each}}","</table>","`;","","function constructVisualizerPayload() {","    return {response: pm.response.json()}","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"f2744bb0-8b7f-47bd-a619-11135de65c1b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/menu-data/by-branch/?branchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","menu-data","by-branch",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchID","value":"102"}],"variable":[]}},"response":[{"id":"a82ca75f-0e16-4526-a0d7-31957fc6fec8","name":"Get Device Menu","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/menu-data/by-branch/?branchID=102","host":["http://127.0.0.1:8000"],"path":["api","menu-data","by-branch",""],"query":[{"key":"branchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 02 Apr 2025 23:34:10 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"239"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"menuID\": \"MENU238041be\",\n        \"name\": \"Comida\",\n        \"branchID\": \"102\",\n        \"sectionsCount\": 2,\n        \"isActive\": true,\n        \"lastUpdated\": 1743492161\n    },\n    {\n        \"menuID\": \"MENU046b4054\",\n        \"name\": \"Desayuno\",\n        \"branchID\": \"102\",\n        \"sectionsCount\": 3,\n        \"isActive\": true,\n        \"lastUpdated\": 1743570603\n    }\n]"}],"_postman_id":"f2744bb0-8b7f-47bd-a619-11135de65c1b"},{"name":"Get Device Menu Retrieve","id":"73142bc6-ee58-400f-a21c-9159089a5d25","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/menu-data/retrieve/MENU238041be/?branchID=102","description":"<p>The HTTP GET request to <code>http://127.0.0.1:8000/api/product/list?BranchID=102</code> retrieves a list of products based on the provided <code>BranchID</code>. The response will be in JSON format and will contain various details for each product, including <code>BranchID</code>, <code>ProductID</code>, <code>TenantID</code>, <code>Name</code>, <code>Description</code>, <code>Price</code>, <code>Category</code>, <code>IsActive</code>, <code>LastUpdated</code>, <code>Locations</code>, <code>LocationDetails</code>, <code>ConsumptionOptions</code>, <code>Modifiers</code>, <code>Rules</code>, <code>Ingredients</code>, <code>Tracking</code>, and <code>Config</code>. The response may include an array of products with their respective details.</p>\n<h4 id=\"response-example\">Response Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[{\"BranchID\":\"\",\"ProductID\":\"\",\"TenantID\":\"\",\"Name\":\"\",\"Description\":\"\",\"Price\":0,\"Category\":\"\",\"IsActive\":0,\"LastUpdated\":0,\"Locations\":[\"\"],\"LocationDetails\":[{\"name\":\"\",\"id\":0,\"address\":\"\",\"group\":\"\"}],\"ConsumptionOptions\":[{\"isActive\":true,\"id\":\"\",\"label\":\"\"}],\"Modifiers\":[{\"isRequired\":true,\"canSelectMultiple\":true,\"insumos\":[{\"name\":\"\",\"id\":\"\",\"locationsCount\":0,\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\"}],\"instruction\":\"\",\"name\":\"\",\"maxOptional\":\"\",\"minOptional\":\"\",\"availableInPackages\":true,\"rules\":[],\"id\":\"\"}],\"Rules\":[{\"name\":\"\",\"rules\":[{\"locationsCount\":0,\"selectedModes\":[],\"consumptionCount\":0,\"price\":\"\",\"warehouseCount\":\"\",\"name\":\"\",\"id\":\"\",\"selectedLocations\":[\"\"]}],\"id\":\"\"}],\"Ingredients\":[{\"unit\":\"\",\"quantity\":\"\",\"locationsCount\":0,\"warehouseCount\":0,\"name\":\"\",\"selectedWarehouses\":[\"\"],\"id\":\"\",\"selectedLocations\":[]}],\"Tracking\":{\"seguimiento\":true},\"Config\":null}]\n\n</code></pre>\n<p>This request does not require a request body as the parameters are included in the URL.</p>\n","urlObject":{"path":["api","menu-data","retrieve","MENU238041be",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchID","value":"102"}],"variable":[]}},"response":[{"id":"12074f6a-f1d5-4d3b-b9b4-d0da057781d8","name":"Get Device Menu Retrieve","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/menu-data/retrieve/MENU238041be/?branchID=102","host":["http://127.0.0.1:8000"],"path":["api","menu-data","retrieve","MENU238041be",""],"query":[{"key":"branchID","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 02 Apr 2025 23:33:05 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"3984"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"menuID\": \"MENU238041be\",\n    \"name\": \"Comida\",\n    \"branchID\": \"102\",\n    \"sections\": [\n        {\n            \"name\": \"Plato Fuerte\",\n            \"categories\": [\n                {\n                    \"id\": \"uncategorized\",\n                    \"name\": \"Uncategorized\",\n                    \"products\": [\n                        {\n                            \"id\": \"PRD2198f7b6\",\n                            \"name\": \"burguer \",\n                            \"price\": 80,\n                            \"image\": \"/static/media/article_pic.b20ff24607a1a7c52186.png\",\n                            \"category\": \"CATEGORÍA 3\",\n                            \"details\": {\n                                \"description\": \"best burguer\"\n                            },\n                            \"active\": false,\n                            \"consumptionOptions\": [\n                                {\n                                    \"id\": \"dineIn\",\n                                    \"label\": \"Comer Aquí\",\n                                    \"isActive\": true\n                                },\n                                {\n                                    \"id\": \"takeaway\",\n                                    \"label\": \"Para Llevar\",\n                                    \"isActive\": true\n                                },\n                                {\n                                    \"id\": \"delivery\",\n                                    \"label\": \"A Domicilio\",\n                                    \"isActive\": true\n                                }\n                            ],\n                            \"locations\": [\n                                \"Kensaladas Zapopan\"\n                            ],\n                            \"locationDetails\": [\n                                {\n                                    \"name\": \"Kensaladas Zapopan\",\n                                    \"address\": \"Av Zapopillo 2030\",\n                                    \"id\": 104,\n                                    \"group\": \"SIN GRUPO\"\n                                }\n                            ]\n                        },\n                        {\n                            \"id\": \"PRD9341d654\",\n                            \"name\": \"Pastel de zanahoria\",\n                            \"price\": 50,\n                            \"image\": \"/static/media/article_pic.b20ff24607a1a7c52186.png\",\n                            \"category\": \"CATEGORÍA 1\",\n                            \"details\": {\n                                \"description\": \"pastelito\"\n                            },\n                            \"active\": true,\n                            \"consumptionOptions\": [\n                                {\n                                    \"id\": \"dineIn\",\n                                    \"label\": \"Comer Aquí\",\n                                    \"isActive\": true\n                                },\n                                {\n                                    \"id\": \"takeaway\",\n                                    \"label\": \"Para Llevar\",\n                                    \"isActive\": true\n                                },\n                                {\n                                    \"id\": \"delivery\",\n                                    \"label\": \"A Domicilio\",\n                                    \"isActive\": false\n                                }\n                            ],\n                            \"locations\": [\n                                \"Kensaladas Centro\"\n                            ],\n                            \"locationDetails\": [\n                                {\n                                    \"name\": \"Kensaladas Centro\",\n                                    \"id\": 102,\n                                    \"address\": \"Av pajaro loko\",\n                                    \"group\": \"SIN GRUPO\"\n                                }\n                            ],\n                            \"modifiers\": [\n                                {\n                                    \"id\": \"modifier-1742418898794\",\n                                    \"type\": \"multiple_choice\",\n                                    \"title\": \"Modificador 1\",\n                                    \"instruction\": \"\",\n                                    \"isRequired\": true,\n                                    \"minOptional\": 2,\n                                    \"maxOptional\": 3,\n                                    \"canSelectMultiple\": true,\n                                    \"sameOptionMultipleTime\": true,\n                                    \"options\": [\n                                        {\n                                            \"id\": \"insumo-1742418925883\",\n                                            \"name\": \"Sal del Himalaya\",\n                                            \"price\": 0\n                                        }\n                                    ]\n                                }\n                            ],\n                            \"rules\": [\n                                {\n                                    \"name\": \"Regla 1\",\n                                    \"rules\": [],\n                                    \"id\": \"rule-1742418938984\"\n                                }\n                            ]\n                        },\n                        {\n                            \"id\": \"PRD8efd9b18\",\n                            \"name\": \"Enchiladas Keto\",\n                            \"price\": 120,\n                            \"image\": \"/static/media/article_pic.b20ff24607a1a7c52186.png\",\n                            \"category\": \"CATEGORÍA 1\",\n                            \"details\": {\n                                \"description\": \"enchiladas sin carbos\"\n                            },\n                            \"active\": true,\n                            \"consumptionOptions\": [\n                                {\n                                    \"isActive\": true,\n                                    \"id\": \"dineIn\",\n                                    \"label\": \"Comer Aquí\"\n                                },\n                                {\n                                    \"isActive\": true,\n                                    \"id\": \"takeaway\",\n                                    \"label\": \"Para Llevar\"\n                                },\n                                {\n                                    \"isActive\": false,\n                                    \"id\": \"delivery\",\n                                    \"label\": \"A Domicilio\"\n                                }\n                            ],\n                            \"locations\": [\n                                \"Kensaladas Zapopan\",\n                                \"Kensaladas Centro\"\n                            ],\n                            \"locationDetails\": [\n                                {\n                                    \"name\": \"Kensaladas Centro\",\n                                    \"id\": 102,\n                                    \"address\": \"Av pajaro loko\",\n                                    \"group\": \"SIN GRUPO\"\n                                },\n                                {\n                                    \"name\": \"Kensaladas Zapopan\",\n                                    \"id\": 104,\n                                    \"address\": \"Av Zapopillo 2030\",\n                                    \"group\": \"SIN GRUPO\"\n                                }\n                            ],\n                            \"modifiers\": [\n                                {\n                                    \"id\": \"modifier-1742369618370\",\n                                    \"type\": \"multiple_choice\",\n                                    \"title\": \"Modificador 1\",\n                                    \"instruction\": \"\",\n                                    \"isRequired\": false,\n                                    \"minOptional\": 0,\n                                    \"maxOptional\": 1,\n                                    \"canSelectMultiple\": false,\n                                    \"sameOptionMultipleTime\": false,\n                                    \"options\": [\n                                        {\n                                            \"id\": \"insumo-1742369624722\",\n                                            \"name\": \"Sal del Himalaya\",\n                                            \"price\": 0\n                                        }\n                                    ]\n                                }\n                            ],\n                            \"rules\": [\n                                {\n                                    \"name\": \"Regla 1\",\n                                    \"rules\": [\n                                        {\n                                            \"locationsCount\": 1,\n                                            \"selectedModes\": [],\n                                            \"consumptionCount\": 0,\n                                            \"price\": \"0\",\n                                            \"warehouseCount\": \"0\",\n                                            \"name\": \"cvg\",\n                                            \"id\": \"rule-option-1742369634769\",\n                                            \"selectedLocations\": [\n                                                \"Kensaladas Zapopan\"\n                                            ]\n                                        }\n                                    ],\n                                    \"id\": \"rule-1742369633721\"\n                                }\n                            ],\n                            \"tracking\": {\n                                \"seguimiento\": true\n                            }\n                        }\n                    ]\n                }\n            ]\n        },\n        {\n            \"name\": \"Bebidas\",\n            \"categories\": [\n                {\n                    \"id\": \"uncategorized\",\n                    \"name\": \"Uncategorized\",\n                    \"products\": [\n                        {\n                            \"id\": \"PRDf063805a\",\n                            \"name\": \"Cafe De Mazapan\",\n                            \"price\": 60,\n                            \"image\": \"/static/media/article_pic.b20ff24607a1a7c52186.png\",\n                            \"category\": \"CATEGORÍA 2\",\n                            \"details\": {\n                                \"description\": \"Mazapan con cafe\"\n                            },\n                            \"active\": true,\n                            \"consumptionOptions\": [\n                                {\n                                    \"id\": \"dineIn\",\n                                    \"label\": \"Comer Aquí\",\n                                    \"isActive\": true\n                                },\n                                {\n                                    \"id\": \"takeaway\",\n                                    \"label\": \"Para Llevar\",\n                                    \"isActive\": true\n                                },\n                                {\n                                    \"id\": \"delivery\",\n                                    \"label\": \"A Domicilio\",\n                                    \"isActive\": false\n                                }\n                            ],\n                            \"locations\": [\n                                \"Kensaladas Centro\"\n                            ],\n                            \"locationDetails\": [\n                                {\n                                    \"name\": \"Kensaladas Centro\",\n                                    \"id\": 102,\n                                    \"address\": \"Av pajaro loko\",\n                                    \"group\": \"SIN GRUPO\"\n                                }\n                            ],\n                            \"modifiers\": [\n                                {\n                                    \"id\": \"modifier-1742418067332\",\n                                    \"type\": \"multiple_choice\",\n                                    \"title\": \"Modificador 1\",\n                                    \"instruction\": \"Elije extra\",\n                                    \"isRequired\": false,\n                                    \"minOptional\": 0,\n                                    \"maxOptional\": 1,\n                                    \"canSelectMultiple\": false,\n                                    \"sameOptionMultipleTime\": false,\n                                    \"options\": [\n                                        {\n                                            \"id\": \"insumo-1742418110786\",\n                                            \"name\": \"Aceite de Oliva\",\n                                            \"price\": 10\n                                        }\n                                    ]\n                                }\n                            ],\n                            \"rules\": [\n                                {\n                                    \"name\": \"Regla 1\",\n                                    \"rules\": [\n                                        {\n                                            \"locationsCount\": 0,\n                                            \"selectedModes\": [],\n                                            \"consumptionCount\": 0,\n                                            \"price\": \"0\",\n                                            \"warehouseCount\": \"0\",\n                                            \"name\": \"\",\n                                            \"id\": \"rule-option-1742418130144\",\n                                            \"selectedLocations\": []\n                                        }\n                                    ],\n                                    \"id\": \"rule-1742418128561\"\n                                }\n                            ]\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"73142bc6-ee58-400f-a21c-9159089a5d25"}],"id":"90331ce0-f143-4dfb-b7d9-afa1e0cd62a6","_postman_id":"90331ce0-f143-4dfb-b7d9-afa1e0cd62a6","description":""},{"name":"Orders","item":[{"name":"Transactions","item":[{"name":"Create Egress Transaction","id":"83058425-fc6b-4f11-9865-9da845de7ad5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"amount\": 150,\n  \"paymentMethod\": \"cash\",\n  \"category\": \"supplier_payment\",\n  \"recipient\": \"Proveedor ABC\",\n  \"reference\": \"FACT-12345\",\n  \"notes\": \"Pago de material de oficina\",\n  \"egress_type\": \"operating_expense\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/payment-transaction/create-egress/?branchId=102","urlObject":{"path":["api","payment-transaction","create-egress",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"102"}],"variable":[]}},"response":[],"_postman_id":"83058425-fc6b-4f11-9865-9da845de7ad5"},{"name":"Create Ingress Transaction","id":"f9fbfe7b-2756-43e3-9b67-46d660b6f2a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"amount\": 150,\n  \"paymentMethod\": \"cash\",\n  \"category\": \"supplier_payment\",\n  \"recipient\": \"Proveedor ABC\",\n  \"reference\": \"FACT-12345\",\n  \"notes\": \"Pago de material de oficina\",\n  \"egress_type\": \"operating_expense\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/payment-transaction/create-egress/?branchId=102","urlObject":{"path":["api","payment-transaction","create-egress",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"102"}],"variable":[]}},"response":[],"_postman_id":"f9fbfe7b-2756-43e3-9b67-46d660b6f2a5"},{"name":"Get Egress Transactions","id":"a19ae22c-d50d-479f-a2c6-f996ce8feb55","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/payment-transaction/list-egress/?branchId=102&dateFrom=2025-05-01&dateTo=2025-05-30","urlObject":{"path":["api","payment-transaction","list-egress",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"102"},{"key":"dateFrom","value":"2025-05-01"},{"key":"dateTo","value":"2025-05-30"}],"variable":[]}},"response":[],"_postman_id":"a19ae22c-d50d-479f-a2c6-f996ce8feb55"},{"name":"Get Transactions","id":"0ad0508b-d52e-457e-8f31-7938c3c96aa4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"count\": 2,\n    \"transactions\": [\n        {\n            \"transactionID\": \"TRXf8c4e464\",\n            \"orderID\": \"ORD42ef6efd\",\n            \"amount\": 120,\n            \"paymentMethod\": \"card\",\n            \"status\": \"success\",\n            \"createdAt\": 1747091278,\n            \"formattedCreatedAt\": \"2025-05-12 17:07:58\",\n            \"formattedUpdatedAt\": \"2025-05-12 17:07:58\",\n            \"transactionType\": \"payment\",\n            \"processedBy\": \"rac\"\n        },\n        {\n            \"transactionID\": \"TRXa0ece25d\",\n            \"orderID\": \"ORD159af890\",\n            \"amount\": 120,\n            \"paymentMethod\": \"cash\",\n            \"status\": \"success\",\n            \"createdAt\": 1747091144,\n            \"formattedCreatedAt\": \"2025-05-12 17:05:44\",\n            \"formattedUpdatedAt\": \"2025-05-12 17:06:44\",\n            \"transactionType\": \"payment\",\n            \"processedBy\": \"ric\"\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/payment-transaction/list/?branchId=102&dateFrom=2025-05-01&dateTo=2025-05-12","urlObject":{"path":["api","payment-transaction","list",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"102"},{"key":"dateFrom","value":"2025-05-01"},{"key":"dateTo","value":"2025-05-12"}],"variable":[]}},"response":[],"_postman_id":"0ad0508b-d52e-457e-8f31-7938c3c96aa4"}],"id":"8c918bba-6009-431f-80b5-87a4699cf37f","_postman_id":"8c918bba-6009-431f-80b5-87a4699cf37f","description":""},{"name":"Create Order","id":"df54f6ec-2690-4fc6-8c43-280680db3124","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\"BranchID\":\"102\",\"OrderID\":\"ORD17435795538118137\",\"TenantID\":\"TENANT001\",\"TableNumber\":\"T001\",\"CustomerName\":null,\"CustomerPhone\":null,\"OrderType\":\"dineIn\",\"OrderStatus\":\"new\",\"PaymentStatus\":\"paid\",\"PaymentMethod\":\"card\",\"CreatedAt\":1743579553,\"UpdatedAt\":1743579553,\"CompletedAt\":null,\"EstimatedDeliveryTime\":null,\"Subtotal\":180,\"Tax\":28.8,\"DiscountAmount\":0,\"TipAmount\":0,\"Total\":208.8,\"ServerID\":null,\"ServerName\":null,\"Items\":[{\"itemID\":\"ITEM17435795530\",\"type\":\"product\",\"productID\":\"PRD33bc0b69\",\"name\":\"Burrito\",\"quantity\":1,\"unitPrice\":180,\"basePrice\":180,\"modifierPrice\":60,\"totalPrice\":180,\"modifiers\":[{\"modifierID\":\"modifier-1743570349458\",\"optionID\":\"insumo-1743570366861\",\"name\":\"Modificador 1: Carne Asada Porcion\",\"price\":50,\"count\":2},{\"modifierID\":\"modifier-1743570404553\",\"optionID\":\"insumo-1743570423263\",\"name\":\"Modificador 2: Aguacate\",\"price\":10,\"count\":1}],\"specialInstructions\":\"\",\"kds\":{\"station\":\"main\",\"status\":\"new\",\"priority\":1,\"startedAt\":null,\"completedAt\":null,\"estimatedPrepTime\":10,\"actualPrepTime\":null,\"assignedTo\":null,\"notes\":\"\"}}],\"DeliveryAddress\":null,\"Notes\":\"\",\"Tags\":[\"kiosk\"],\"Config\":{}}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/create/?branchID=102","urlObject":{"path":["api","order-management","create",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchID","value":"102"}],"variable":[]}},"response":[{"id":"f58318d1-b24d-46dc-9cf9-81a3d4d2ff93","name":"Create Order","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\"BranchID\":\"102\",\"OrderID\":\"ORD17436397056523529\",\"TenantID\":\"TENANT001\",\"TableNumber\":\"T001\",\"CustomerName\":null,\"CustomerPhone\":null,\"OrderType\":\"dineIn\",\"OrderStatus\":\"new\",\"PaymentStatus\":\"paid\",\"PaymentMethod\":\"card\",\"CreatedAt\":1743639705,\"UpdatedAt\":1743639705,\"CompletedAt\":null,\"EstimatedDeliveryTime\":null,\"Subtotal\":50,\"Tax\":8,\"DiscountAmount\":0,\"TipAmount\":0,\"Total\":58,\"ServerID\":null,\"ServerName\":null,\"Items\":[{\"itemID\":\"ITEM17436397050\",\"type\":\"product\",\"productID\":\"PRD258a973a\",\"name\":\"Papas BeetleJuce\",\"quantity\":1,\"unitPrice\":50,\"basePrice\":50,\"modifierPrice\":20,\"totalPrice\":50,\"modifiers\":[{\"modifierID\":\"modifier-1743639425815\",\"optionID\":\"insumo-1743639448567\",\"name\":\"Modificador 1: Carne Asada Porcion\",\"price\":20,\"count\":1}],\"specialInstructions\":\"\",\"kds\":{\"station\":\"main\",\"status\":\"new\",\"priority\":1,\"startedAt\":null,\"completedAt\":null,\"estimatedPrepTime\":10,\"actualPrepTime\":null,\"assignedTo\":null,\"notes\":\"\"}}],\"DeliveryAddress\":null,\"Notes\":\"\",\"Tags\":[\"kiosk\"],\"Config\":{}}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/order-management/create/?branchID=102","host":["http://127.0.0.1:8000"],"path":["api","order-management","create",""],"query":[{"key":"branchID","value":"102"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"584"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Order created successfully\",\n    \"orderID\": \"ORDb27dd9e6\",\n    \"total\": 70,\n    \"receipt\": {\n        \"orderID\": \"ORDb27dd9e6\",\n        \"date\": \"2025-04-03 00:23:05\",\n        \"type\": \"dineIn\",\n        \"status\": \"new\",\n        \"customer\": {\n            \"name\": null,\n            \"phone\": null\n        },\n        \"deliveryAddress\": null,\n        \"items\": [\n            {\n                \"quantity\": 1,\n                \"name\": \"Papas BeetleJuce\",\n                \"totalPrice\": 70,\n                \"modifiers\": [\n                    {\n                        \"name\": \"Carne Asada Porcion\",\n                        \"count\": 1,\n                        \"price\": 20\n                    }\n                ],\n                \"specialInstructions\": \"\"\n            }\n        ],\n        \"subtotal\": 70,\n        \"tax\": 0,\n        \"discountAmount\": 0,\n        \"tipAmount\": 0,\n        \"total\": 70,\n        \"payment\": {\n            \"status\": \"paid\",\n            \"method\": \"card\"\n        },\n        \"notes\": \"\",\n        \"thankYouMessage\": \"Thank you for your order!\"\n    }\n}"}],"_postman_id":"df54f6ec-2690-4fc6-8c43-280680db3124"},{"name":"Get Transaction ID by Order","id":"5c0470df-46a0-401b-8b02-d49d79f89d51","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/payment-transaction/by-order/?branchId={branch_id}&orderID={order_id}","urlObject":{"path":["api","payment-transaction","by-order",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"{branch_id}"},{"key":"orderID","value":"{order_id}"}],"variable":[]}},"response":[{"id":"2231b328-5e71-4e0a-861a-da1801f80fff","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:8000/api/payment-transaction/by-order/?branchId=102&orderID=ORD92269227","host":["http://127.0.0.1:8000"],"path":["api","payment-transaction","by-order",""],"query":[{"key":"branchId","value":"102"},{"key":"orderID","value":"ORD92269227"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"576"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"order\": {\n        \"orderID\": \"ORD98e73a8f\",\n        \"status\": \"ready\",\n        \"paymentStatus\": \"paid\",\n        \"total\": 120,\n        \"subtotal\": 120,\n        \"tax\": 0,\n        \"tipAmount\": 0,\n        \"createdAt\": 1747090832,\n        \"formattedCreatedAt\": \"2025-05-12 17:00:32\"\n    },\n    \"transactions\": [\n        {\n            \"transactionID\": \"TRX303ce46c\",\n            \"amount\": 120,\n            \"paymentMethod\": \"cash\",\n            \"status\": \"pending\",\n            \"createdAt\": 1747090832,\n            \"formattedCreatedAt\": \"2025-05-12 17:00:32\",\n            \"formattedUpdatedAt\": \"2025-05-12 17:00:32\",\n            \"transactionType\": \"payment\",\n            \"processedBy\": \"ric\",\n            \"completedAt\": null,\n            \"formattedCompletedAt\": null\n        }\n    ],\n    \"totalPaid\": 0,\n    \"remainingBalance\": 120,\n    \"isFullyPaid\": false,\n    \"transactionCount\": 1\n}"}],"_postman_id":"5c0470df-46a0-401b-8b02-d49d79f89d51"},{"name":"Update Payment Status","id":"d7f9f9e4-892f-471c-b9e4-a68de5ccad3c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n  \"status\": \"success\",\n  \"notes\": \"Pago en efectivo recibido\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/payment-transaction/update-status/{{transaction_id}}/?branchId=102","urlObject":{"path":["api","payment-transaction","update-status","{{transaction_id}}",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"102"}],"variable":[]}},"response":[{"id":"3eec1c32-f3c2-4d45-aa4a-c0bfb636d311","name":"Updated","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n  \"status\": \"success\",\n  \"notes\": \"Pago en efectivo recibido\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/payment-transaction/update-status/{{transaction_id}}/?branchId=102","host":["http://127.0.0.1:8000"],"path":["api","payment-transaction","update-status","{{transaction_id}}",""],"query":[{"key":"branchId","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"PATCH, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"253"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Transaction status updated to success\",\n    \"transactionID\": \"TRXd2e9715d\",\n    \"branchID\": \"102\",\n    \"previousStatus\": \"pending\",\n    \"newStatus\": \"success\",\n    \"updatedAt\": 1747088890,\n    \"updatedBy\": \"ric\",\n    \"orderID\": \"ORD9c6818f6\",\n    \"paymentMethod\": \"cash\",\n    \"kdsUpdated\": true\n}"}],"_postman_id":"d7f9f9e4-892f-471c-b9e4-a68de5ccad3c"},{"name":"Ticket Information","id":"873934c6-b267-4e48-92a4-8514a63b47e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"873934c6-b267-4e48-92a4-8514a63b47e9"},{"name":"Delete Order","id":"b48daa45-4bc5-4ab2-bb2e-305539b777ff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"b48daa45-4bc5-4ab2-bb2e-305539b777ff"}],"id":"13128037-4e4f-4f30-a1a4-fb19b7fd4f52","_postman_id":"13128037-4e4f-4f30-a1a4-fb19b7fd4f52","description":""},{"name":"KDS","item":[{"name":"Test Notification","id":"68137a14-d7e2-439f-ac81-a75a44421b21","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"68137a14-d7e2-439f-ac81-a75a44421b21"},{"name":"Create Station","id":"e15aeba9-91e3-4ce7-b741-f945ddf0ecf2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"branchID\": \"102\",\n  \"name\": \"Parrilla\",\n  \"identifier\": \"grill\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kds/create-station/","urlObject":{"path":["api","kds","create-station",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"d50029bf-a917-45e6-8e7a-c1eec233479f","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"branchID\": \"102\",\n  \"name\": \"Parrilla\",\n  \"identifier\": \"grill\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kds/create-station/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 06 May 2025 07:33:59 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"149"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Station created successfully\",\n    \"station\": {\n        \"stationID\": \"station-e912e090\",\n        \"name\": \"Parrilla\",\n        \"description\": \"\",\n        \"active\": true\n    }\n}"}],"_postman_id":"e15aeba9-91e3-4ce7-b741-f945ddf0ecf2"},{"name":"Get Stations Branch","id":"9e69dd74-dd6b-40f3-a94a-19ad6bd040f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kds/stations/?branchId=102","urlObject":{"path":["api","kds","stations",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"102"}],"variable":[]}},"response":[{"id":"aa8974a8-ed3f-4dba-b656-6ad19499a7e2","name":"succes","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"branchID\": \"branch-123\",\n  \"name\": \"Parrilla\",\n  \"identifier\": \"grill\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/kds/stations/?branchId=102","host":["http://127.0.0.1:8000"],"path":["api","kds","stations",""],"query":[{"key":"branchId","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 06 May 2025 07:39:14 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"125"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"stations\": [\n        {\n            \"stationID\": \"station-e912e090\",\n            \"name\": \"Parrilla\",\n            \"description\": \"\",\n            \"active\": true,\n            \"displayOrder\": 839\n        }\n    ],\n    \"count\": 1\n}"}],"_postman_id":"9e69dd74-dd6b-40f3-a94a-19ad6bd040f6"},{"name":"Get KDS Order","id":"f67c716a-3420-4e0b-a53e-fd6b847a9a06","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"branchID\": \"branch-123\",\n  \"name\": \"Parrilla\",\n  \"identifier\": \"grill\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kds/active-orders/?branchId=104","urlObject":{"path":["api","kds","active-orders",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"104"}],"variable":[]}},"response":[{"id":"95d3dd78-7adc-43e9-b927-6d35583d02bd","name":"success","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"branchID\": \"branch-123\",\n  \"name\": \"Parrilla\",\n  \"identifier\": \"grill\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/kds/active-orders/?branchId=104","host":["http://127.0.0.1:8000"],"path":["api","kds","active-orders",""],"query":[{"key":"branchId","value":"104"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 06 May 2025 08:22:21 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1048"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"activeOrderCount\": 3,\n    \"activeOrders\": [\n        {\n            \"items\": [\n                {\n                    \"itemID\": \"ITEM17450235782380\",\n                    \"name\": \"Restador V2\",\n                    \"quantity\": 1,\n                    \"status\": \"new\",\n                    \"station\": \"main\",\n                    \"priority\": 1,\n                    \"startedAt\": null,\n                    \"estimatedPrepTime\": 10,\n                    \"specialInstructions\": \"\"\n                }\n            ],\n            \"stations\": [\n                \"main\"\n            ],\n            \"orderID\": \"ORD6d9f936b\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"createdAt\": 1745303034,\n            \"timeElapsed\": 1216707\n        },\n        {\n            \"items\": [\n                {\n                    \"itemID\": \"ITEM17450235782380\",\n                    \"name\": \"Restador V2\",\n                    \"quantity\": 1,\n                    \"status\": \"new\",\n                    \"station\": \"main\",\n                    \"priority\": 1,\n                    \"startedAt\": null,\n                    \"estimatedPrepTime\": 10,\n                    \"specialInstructions\": \"\"\n                }\n            ],\n            \"stations\": [\n                \"main\"\n            ],\n            \"orderID\": \"ORDbbf480cc\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"createdAt\": 1746517279,\n            \"timeElapsed\": 2462\n        },\n        {\n            \"items\": [\n                {\n                    \"itemID\": \"ITEM17450235782380\",\n                    \"name\": \"Restador V2\",\n                    \"quantity\": 1,\n                    \"status\": \"new\",\n                    \"station\": \"grill\",\n                    \"priority\": 1,\n                    \"startedAt\": null,\n                    \"estimatedPrepTime\": null,\n                    \"specialInstructions\": \"\"\n                }\n            ],\n            \"stations\": [\n                \"grill\"\n            ],\n            \"orderID\": \"ORD82977e13\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"createdAt\": 1746517380,\n            \"timeElapsed\": 2361\n        }\n    ]\n}"}],"_postman_id":"f67c716a-3420-4e0b-a53e-fd6b847a9a06"},{"name":"Get KDS Order By Station","id":"5f514983-a7b8-4293-909b-2b36bada98d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/kds/active-orders/?branchId=102&stationId=None","urlObject":{"path":["api","kds","active-orders",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"102"},{"key":"stationId","value":"None"}],"variable":[]}},"response":[{"id":"f5a53531-a415-4238-8d8e-c7571e0fe063","name":"success","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"branchID\": \"branch-123\",\n  \"name\": \"Parrilla\",\n  \"identifier\": \"grill\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/kds/active-orders/?branchId=104&stationId=grill","host":["http://127.0.0.1:8000"],"path":["api","kds","active-orders",""],"query":[{"key":"branchId","value":"104"},{"key":"stationId","value":"grill"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 06 May 2025 09:02:18 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1384"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"activeOrderCount\": 4,\n    \"activeOrders\": [\n        {\n            \"items\": [\n                {\n                    \"itemID\": \"ITEM17450235782380\",\n                    \"name\": \"Restador V2\",\n                    \"quantity\": 1,\n                    \"status\": \"new\",\n                    \"station\": \"main\",\n                    \"priority\": 1,\n                    \"startedAt\": null,\n                    \"estimatedPrepTime\": 10,\n                    \"specialInstructions\": \"\"\n                }\n            ],\n            \"stations\": [\n                \"main\"\n            ],\n            \"orderID\": \"ORD6d9f936b\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"createdAt\": 1745303034,\n            \"timeElapsed\": 1219104\n        },\n        {\n            \"items\": [\n                {\n                    \"itemID\": \"ITEM17450235782380\",\n                    \"name\": \"Restador V2\",\n                    \"quantity\": 1,\n                    \"status\": \"new\",\n                    \"station\": \"main\",\n                    \"priority\": 1,\n                    \"startedAt\": null,\n                    \"estimatedPrepTime\": 10,\n                    \"specialInstructions\": \"\"\n                }\n            ],\n            \"stations\": [\n                \"main\"\n            ],\n            \"orderID\": \"ORDbbf480cc\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"createdAt\": 1746517279,\n            \"timeElapsed\": 4859\n        },\n        {\n            \"items\": [\n                {\n                    \"itemID\": \"ITEM17450235782380\",\n                    \"name\": \"Restador V2\",\n                    \"quantity\": 1,\n                    \"status\": \"new\",\n                    \"station\": \"grill\",\n                    \"priority\": 1,\n                    \"startedAt\": null,\n                    \"estimatedPrepTime\": null,\n                    \"specialInstructions\": \"\"\n                }\n            ],\n            \"stations\": [\n                \"grill\"\n            ],\n            \"orderID\": \"ORD82977e13\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"createdAt\": 1746517380,\n            \"timeElapsed\": 4758\n        },\n        {\n            \"items\": [\n                {\n                    \"itemID\": \"ITEM17450235782380\",\n                    \"name\": \"Restador V2\",\n                    \"quantity\": 1,\n                    \"status\": \"new\",\n                    \"station\": \"grill\",\n                    \"priority\": 1,\n                    \"startedAt\": null,\n                    \"estimatedPrepTime\": null,\n                    \"specialInstructions\": \"\"\n                }\n            ],\n            \"stations\": [\n                \"grill\"\n            ],\n            \"orderID\": \"ORDc4cc572c\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"createdAt\": 1746522097,\n            \"timeElapsed\": 41\n        }\n    ]\n}"}],"_postman_id":"5f514983-a7b8-4293-909b-2b36bada98d4"},{"name":"Update KDS Order Status","id":"8a6ca475-1602-4029-919c-57f7c0862460","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"orderID\": \"ORDc4cc572c\",\n  \"itemID\": \"ITEM17450235782380\",\n  \"status\": \"ready\" // ready, delivered, new\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kds/update-item-status/","urlObject":{"path":["api","kds","update-item-status",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"3b085aef-3a83-40de-b450-5000642b398b","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"orderID\": \"ORDc4cc572c\",\n  \"itemID\": \"ITEM17450235782380\",\n  \"status\": \"ready\" // ready, delivered, new\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kds/update-item-status/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 06 May 2025 09:02:33 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"500"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Item status updated to ready\",\n    \"item\": {\n        \"orderID\": \"ORDc4cc572c\",\n        \"itemID\": \"ITEM17450235782380\",\n        \"previousStatus\": \"new\",\n        \"status\": \"ready\",\n        \"startedAt\": null,\n        \"completedAt\": null,\n        \"actualPrepTime\": null,\n        \"statusHistory\": [\n            {\n                \"notes\": \"Item created\",\n                \"userName\": \"ric\",\n                \"userID\": \"52\",\n                \"timestamp\": 1746522097,\n                \"status\": \"new\",\n                \"previousStatus\": null\n            },\n            {\n                \"timestamp\": 1746522152,\n                \"status\": \"ready\",\n                \"previousStatus\": \"new\",\n                \"userID\": \"52\",\n                \"userName\": \"ric\",\n                \"notes\": \"\"\n            }\n        ],\n        \"updatedAt\": 1746522152,\n        \"updatedBy\": \"ric\"\n    }\n}"}],"_postman_id":"8a6ca475-1602-4029-919c-57f7c0862460"},{"name":"Get Completed Orders","id":"ee324e8e-8f38-4115-9c62-6d589adf3be1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"branchID\": \"branch-123\",\n  \"name\": \"Parrilla\",\n  \"identifier\": \"grill\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kds/completed-orders/?branchId=104&hours=1","urlObject":{"path":["api","kds","completed-orders",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchId","value":"104"},{"key":"hours","value":"1"}],"variable":[]}},"response":[{"id":"67d0b3e6-91fe-4013-921f-df66c37c5f63","name":"success","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n  \"branchID\": \"branch-123\",\n  \"name\": \"Parrilla\",\n  \"identifier\": \"grill\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/kds/completed-orders/?branchId=104&hours=1","host":["http://127.0.0.1:8000"],"path":["api","kds","completed-orders",""],"query":[{"key":"branchId","value":"104"},{"key":"hours","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 06 May 2025 09:05:55 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1383"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 3,\n    \"completedOrders\": [\n        {\n            \"orderID\": \"ORDc4cc572c\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"status\": \"ready\",\n            \"createdAt\": 1746522097,\n            \"updatedAt\": 1746522152,\n            \"completedAt\": null,\n            \"total\": 50,\n            \"formattedCreatedAt\": \"03:01:37\",\n            \"formattedCompletedAt\": \"03:02:32\",\n            \"preparationTime\": 0,\n            \"itemsByStation\": {\n                \"grill\": [\n                    {\n                        \"itemID\": \"ITEM17450235782380\",\n                        \"name\": \"Restador V2\",\n                        \"quantity\": 1,\n                        \"status\": \"ready\",\n                        \"startedAt\": null,\n                        \"completedAt\": null,\n                        \"actualPrepTime\": null\n                    }\n                ]\n            },\n            \"itemCount\": 1\n        },\n        {\n            \"orderID\": \"ORD82977e13\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"status\": \"ready\",\n            \"createdAt\": 1746517380,\n            \"updatedAt\": 1746520843,\n            \"completedAt\": null,\n            \"total\": 50,\n            \"formattedCreatedAt\": \"01:43:00\",\n            \"formattedCompletedAt\": \"02:40:43\",\n            \"preparationTime\": 57,\n            \"itemsByStation\": {\n                \"grill\": [\n                    {\n                        \"itemID\": \"ITEM17450235782380\",\n                        \"name\": \"Restador V2\",\n                        \"quantity\": 1,\n                        \"status\": \"new\",\n                        \"startedAt\": null,\n                        \"completedAt\": null,\n                        \"actualPrepTime\": null\n                    }\n                ]\n            },\n            \"itemCount\": 1\n        },\n        {\n            \"orderID\": \"ORD63baf0fc\",\n            \"tableNumber\": null,\n            \"customerName\": null,\n            \"orderType\": \"dineIn\",\n            \"status\": \"ready\",\n            \"createdAt\": 1746520339,\n            \"updatedAt\": 1746520742,\n            \"completedAt\": null,\n            \"total\": 50,\n            \"formattedCreatedAt\": \"02:32:19\",\n            \"formattedCompletedAt\": \"02:39:02\",\n            \"preparationTime\": 6,\n            \"itemsByStation\": {\n                \"grill\": [\n                    {\n                        \"itemID\": \"ITEM17450235782380\",\n                        \"name\": \"Restador V2\",\n                        \"quantity\": 1,\n                        \"status\": \"ready\",\n                        \"startedAt\": 1746520634,\n                        \"completedAt\": null,\n                        \"actualPrepTime\": null\n                    }\n                ]\n            },\n            \"itemCount\": 1\n        }\n    ]\n}"}],"_postman_id":"ee324e8e-8f38-4115-9c62-6d589adf3be1"}],"id":"5a66aefc-af8b-4571-b7a2-50fe2d424a1b","_postman_id":"5a66aefc-af8b-4571-b7a2-50fe2d424a1b","description":""},{"name":"Subscriptions","item":[{"name":"Get Subscription Plans Available","id":"863c39a2-db30-4b63-ae0f-883579df504d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/subscriptions/list","description":"<h3 id=\"get-subscriptions-list\">Get Subscriptions List</h3>\n<p>This endpoint retrieves a list of subscriptions.</p>\n<p><strong>Request Body</strong><br />This endpoint does not require a request body.</p>\n<p><strong>Response</strong></p>\n<ul>\n<li><p>Status: 200 OK</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n</ul>\n<p>Example response body:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"name\": \"\",\n        \"price\": \"\",\n        \"duration\": 0,\n        \"features\": [0]\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","subscriptions","list"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"863c39a2-db30-4b63-ae0f-883579df504d"},{"name":"Get Tenant Subscriptions","id":"1e8b20a0-7579-4e14-9798-83d9753be210","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/subscriptions/","description":"<h3 id=\"get-subscriptions\">Get Subscriptions</h3>\n<p>This endpoint retrieves a list of subscriptions.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>URL: <code>http://127.0.0.1:8000/api/subscriptions/</code></p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p>Status: 200</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n<li><p>[ { \"id\": 0, \"start_date\": \"\", \"end_date\": \"\", \"status\": \"\", \"tenant\": 0, \"plan\": 0 } ]</p>\n</li>\n</ul>\n","urlObject":{"path":["api","subscriptions",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"1e8b20a0-7579-4e14-9798-83d9753be210"},{"name":"Create New Subscription for a Plan","event":[{"listen":"test","script":{"id":"60ef7bf1-cd14-4b41-a6e0-b0ed5c97405a","exec":["var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>ID</th>","        <th>Start Date</th>","        <th>End Date</th>","        <th>Status</th>","        <th>Tenant</th>","        <th>Plan</th>","    </tr>","    <tr>","        <td>{{response.id}}</td>","        <td>{{response.start_date}}</td>","        <td>{{response.end_date}}</td>","        <td>{{response.status}}</td>","        <td>{{response.tenant}}</td>","        <td>{{response.plan}}</td>","    </tr>","</table>","`;","","function constructVisualizerPayload() {","    return { response: pm.response.json() }","}","","pm.visualizer.set(template, constructVisualizerPayload());","// Stores the subscription ID in a global variable","var subscriptionId = pm.response.json().id;","pm.globals.set(\"subscriptionId\", subscriptionId);"],"type":"text/javascript","packages":{}}}],"id":"fd98454b-cfac-4dd3-a07f-b02d50506549","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"tenant\": 5,\n    \"plan\": 1,\n    \"status\": \"active\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/subscriptions/create","description":"<h3 id=\"create-subscription\">Create Subscription</h3>\n<p>This endpoint allows you to create a new subscription.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>tenant</code> (integer) - The ID of the tenant for whom the subscription is being created.</p>\n</li>\n<li><p><code>plan</code> (integer) - The ID of the plan for the subscription.</p>\n</li>\n<li><p><code>status</code> (string) - The status of the subscription (e.g., active, inactive).</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format and follows the schema below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": 4,\n    \"start_date\": \"2024-12-07T06:26:12.961538Z\",\n    \"end_date\": null,\n    \"status\": \"active\",\n    \"tenant\": 5,\n    \"plan\": 1\n}\n\n</code></pre>\n","urlObject":{"path":["api","subscriptions","create"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"fd98454b-cfac-4dd3-a07f-b02d50506549"}],"id":"0d56a589-5eff-471e-9164-44d523da8e57","_postman_id":"0d56a589-5eff-471e-9164-44d523da8e57","description":""},{"name":"Payments","item":[{"name":"Get Payments (All)","id":"4e9ea055-20c7-489f-a053-b7680cb468e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/payments/list","description":"<p>This endpoint retrieves a list of payments via an HTTP GET request to http://127.0.0.1:8000/api/payments/list.</p>\n<h3 id=\"request\">Request</h3>\n<p>No request body is required for this endpoint.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution, the endpoint returns a status code of 200 and a JSON array containing payment objects. Each payment object includes the following attributes:</p>\n<ul>\n<li><p><code>id</code>: The unique identifier for the payment</p>\n</li>\n<li><p><code>amount</code>: The amount of the payment</p>\n</li>\n<li><p><code>payment_date</code>: The date of the payment</p>\n</li>\n<li><p><code>status</code>: The status of the payment</p>\n</li>\n<li><p><code>transaction_id</code>: The ID of the transaction</p>\n</li>\n<li><p><code>payment_method</code>: The method used for the payment</p>\n</li>\n<li><p><code>tenant</code>: The ID of the tenant associated with the payment</p>\n</li>\n<li><p><code>subscription</code>: The ID of the subscription associated with the payment</p>\n</li>\n</ul>\n","urlObject":{"path":["api","payments","list"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"e387b5b7-d336-4fc3-985d-c011368cd27f","name":"Get Payments (All)","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/payments/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 09 Dec 2024 01:39:29 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"506"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"amount\": \"2500.00\",\n        \"payment_date\": \"2024-12-06T23:47:43.809144Z\",\n        \"status\": \"completed\",\n        \"transaction_id\": \"123\",\n        \"payment_method\": \"card\",\n        \"tenant\": 5,\n        \"subscription\": 1\n    },\n    {\n        \"id\": 2,\n        \"amount\": \"300.00\",\n        \"payment_date\": \"2024-12-07T00:58:06.961748Z\",\n        \"status\": \"pending\",\n        \"transaction_id\": \"2333\",\n        \"payment_method\": \"card\",\n        \"tenant\": 5,\n        \"subscription\": 1\n    },\n    {\n        \"id\": 3,\n        \"amount\": \"2500.00\",\n        \"payment_date\": \"2024-12-07T06:35:40.405411Z\",\n        \"status\": \"completed\",\n        \"transaction_id\": \"456\",\n        \"payment_method\": \"card\",\n        \"tenant\": 5,\n        \"subscription\": 2\n    }\n]"}],"_postman_id":"4e9ea055-20c7-489f-a053-b7680cb468e0"},{"name":"Get Payments (Completed)","id":"b2307ead-7890-42be-be12-bda2403a8c68","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/payments/","description":"<h3 id=\"get-apipayments\">GET /api/payments/</h3>\n<p>This endpoint retrieves a list of payments.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li>No request body is required for this endpoint.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p>Status: 200 OK</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n</ul>\n<p>Example response body:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"amount\": \"\",\n        \"payment_date\": \"\",\n        \"status\": \"\",\n        \"transaction_id\": \"\",\n        \"payment_method\": \"\",\n        \"tenant\": 0,\n        \"subscription\": 0\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","payments",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"fb4287e9-7adf-45ca-9274-0d83cc7f7ec8","name":"Get Payments (Completed)","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/payments/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 09 Dec 2024 01:39:44 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"339"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"amount\": \"2500.00\",\n        \"payment_date\": \"2024-12-06T23:47:43.809144Z\",\n        \"status\": \"completed\",\n        \"transaction_id\": \"123\",\n        \"payment_method\": \"card\",\n        \"tenant\": 5,\n        \"subscription\": 1\n    },\n    {\n        \"id\": 3,\n        \"amount\": \"2500.00\",\n        \"payment_date\": \"2024-12-07T06:35:40.405411Z\",\n        \"status\": \"completed\",\n        \"transaction_id\": \"456\",\n        \"payment_method\": \"card\",\n        \"tenant\": 5,\n        \"subscription\": 2\n    }\n]"}],"_postman_id":"b2307ead-7890-42be-be12-bda2403a8c68"},{"name":"Create Payment","id":"456be2e4-d9a7-4924-8f3d-cda743370687","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": 1,\n    \"amount\": \"2500.00\",\n    \"payment_date\": \"2024-12-06T23:47:43.809144Z\",\n    \"status\": \"completed\",\n    \"transaction_id\": \"456\",\n    \"payment_method\": \"card\",\n    \"tenant\": 5,\n    \"subscription\": 2\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/payments/create","description":"<h3 id=\"create-payment\">Create Payment</h3>\n<p>This endpoint allows you to create a new payment.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the payment.</p>\n</li>\n<li><p><code>amount</code> (string): The amount of the payment.</p>\n</li>\n<li><p><code>payment_date</code> (string): The date and time of the payment.</p>\n</li>\n<li><p><code>status</code> (string): The status of the payment.</p>\n</li>\n<li><p><code>transaction_id</code> (string): The transaction ID associated with the payment.</p>\n</li>\n<li><p><code>payment_method</code> (string): The method used for the payment.</p>\n</li>\n<li><p><code>tenant</code> (number): The ID of the tenant associated with the payment.</p>\n</li>\n<li><p><code>subscription</code> (number): The ID of the subscription associated with the payment.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the created payment.</p>\n</li>\n<li><p><code>amount</code> (string): The amount of the payment.</p>\n</li>\n<li><p><code>payment_date</code> (string): The date and time of the payment.</p>\n</li>\n<li><p><code>status</code> (string): The status of the payment.</p>\n</li>\n<li><p><code>transaction_id</code> (string): The transaction ID associated with the payment.</p>\n</li>\n<li><p><code>payment_method</code> (string): The method used for the payment.</p>\n</li>\n<li><p><code>tenant</code> (number): The ID of the tenant associated with the payment.</p>\n</li>\n<li><p><code>subscription</code> (number): The ID of the subscription associated with the payment.</p>\n</li>\n</ul>\n<p>Upon successful creation, the endpoint returns a status code of 201.</p>\n","urlObject":{"path":["api","payments","create"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"bd18f44b-fba7-4f76-bb2c-26de30231d54","name":"Create Payment","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": 1,\n    \"amount\": \"2500.00\",\n    \"payment_date\": \"2024-12-06T23:47:43.809144Z\",\n    \"status\": \"completed\",\n    \"transaction_id\": \"456\",\n    \"payment_method\": \"card\",\n    \"tenant\": 5,\n    \"subscription\": 2\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/payments/create"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 07 Dec 2024 06:35:40 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"168"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 3,\n    \"amount\": \"2500.00\",\n    \"payment_date\": \"2024-12-07T06:35:40.405411Z\",\n    \"status\": \"completed\",\n    \"transaction_id\": \"456\",\n    \"payment_method\": \"card\",\n    \"tenant\": 5,\n    \"subscription\": 2\n}"}],"_postman_id":"456be2e4-d9a7-4924-8f3d-cda743370687"},{"name":"Features","id":"555bd88f-98c3-4d2d-8ef4-eea82c67d6d8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/features/","description":"<h3 id=\"get-features\">Get Features</h3>\n<p>This endpoint retrieves a list of features. Features are what build a subscription and pricing.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body is required for this endpoint.</p>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>URL: <code>http://127.0.0.1:8000/api/features/</code></p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be a JSON array containing objects with the following properties:</p>\n<ul>\n<li><p><code>id</code> (number): The unique identifier for the feature.</p>\n</li>\n<li><p><code>name</code> (string): The name of the feature.</p>\n</li>\n<li><p><code>description</code> (string): The description of the feature.</p>\n</li>\n<li><p><code>active</code> (boolean): Indicates whether the feature is active or not.</p>\n</li>\n</ul>\n<p>Example response body:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 0,\n        \"name\": \"\",\n        \"description\": \"\",\n        \"active\": true\n    }\n]\n\n</code></pre>\n<h4 id=\"json-schema\">JSON Schema</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"array\",\n    \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\n                \"type\": \"number\"\n            },\n            \"name\": {\n                \"type\": \"string\"\n            },\n            \"description\": {\n                \"type\": \"string\"\n            },\n            \"active\": {\n                \"type\": \"boolean\"\n            }\n        },\n        \"required\": [\"id\", \"name\", \"description\", \"active\"]\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","features",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"c4490605-25d1-4c1f-8467-2eb785fa8a4e","name":"Features","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/features/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 07 Dec 2024 06:38:32 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"143"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"name\": \"PDV\",\n        \"description\": \"Punto de venta\",\n        \"active\": true\n    },\n    {\n        \"id\": 2,\n        \"name\": \"Kiosko\",\n        \"description\": \"Kiosko autoservicio\",\n        \"active\": true\n    }\n]"}],"_postman_id":"555bd88f-98c3-4d2d-8ef4-eea82c67d6d8"},{"name":"Validate Subscription and Setup Admin","id":"391a7afb-882e-4b29-aa3e-66238b2e8ba6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"url":"http://127.0.0.1:8000/api/validate-subscription-and-setup-admin/","urlObject":{"path":["api","validate-subscription-and-setup-admin",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"ccd66ecf-8bdb-411d-b554-6711e2a9a288","name":"Validate Subscription and Setup Admin","originalRequest":{"method":"POST","header":[],"url":"http://127.0.0.1:8000/api/validate-subscription-and-setup-admin/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 10 Dec 2024 09:36:49 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"125"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Admin role and permissions configured successfully\",\n    \"subscription_id\": 115,\n    \"role\": \"Admin\",\n    \"tenant\": \"Pollo Tester\"\n}"}],"_postman_id":"391a7afb-882e-4b29-aa3e-66238b2e8ba6"}],"id":"2b7d1004-9058-4cde-9b7f-6fdbfed66d0b","_postman_id":"2b7d1004-9058-4cde-9b7f-6fdbfed66d0b","description":""},{"name":"Devices","item":[{"name":"Batora Mercado Pago","item":[{"name":"Add API KEY to Tenant","id":"6655efc0-2442-4d80-8f49-899d09e1ec98","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"access_token\":\"-\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/update-mercado-pago-token/","description":"<h3 id=\"update-mercado-pago-token\">Update Mercado Pago Token</h3>\n<p>This endpoint is used to update the Mercado Pago token.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><code>access_token</code> (string, required): The access token for Mercado Pago.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is a JSON object with the following properties:</p>\n<ul>\n<li><p><code>message</code> (string): A message from the API.</p>\n</li>\n<li><p><code>tenant</code> (string): The tenant information.</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        },\n        \"tenant\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","update-mercado-pago-token",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"1cb8fcdf-a573-4650-ba73-bb71f663a53b","name":"Add API KEY to Tenant","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"access_token\":\"TOKEN\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/update-mercado-pago-token/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 11 Dec 2024 02:10:09 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"84"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Mercado Pago access token updated successfully\",\n    \"tenant\": \"Pollo Tester\"\n}"}],"_postman_id":"6655efc0-2442-4d80-8f49-899d09e1ec98"},{"name":"Create Store","id":"8b3e35e2-560b-4ce4-b7d8-915ac8985cf4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\": \"5\",\n    \"device_name\": \"Xky la perla\", \n    \"store_name\": \"Xky la perla\",\n    \"location\": {\n        \"street_number\": \"0123\",\n        \"street_name\": \"Example Street Name\",\n        \"city_name\": \"Guadalajara\",\n        \"state_name\": \"Jalisco\",\n        \"latitude\": 20.6123749,\n        \"longitude\": -103.3639096,\n        \"reference\": \"Local\"\n    },\n    \"business_hours\": {\n        \"monday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}],\n        \"tuesday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}],\n        \"wednesday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}],\n        \"thursday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}],\n        \"friday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/create-mercado-pago-store/","description":"<h3 id=\"create-mercado-pago-store\">Create Mercado Pago Store</h3>\n<p>This API endpoint is used to create a Mercado Pago store with the provided details.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>branch_id</code> (text) - The ID of the branch.</p>\n</li>\n<li><p><code>device_name</code> (text) - The name of the device.</p>\n</li>\n<li><p><code>store_name</code> (text) - The name of the store.</p>\n</li>\n<li><p><code>location</code> (object) - The location details of the store, including street number, street name, city name, state name, latitude, longitude, and reference.</p>\n</li>\n<li><p><code>business_hours</code> (object) - The business hours for each day of the week, including the opening and closing times.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful creation, the API returns a status code of 201 and a JSON response with the following fields:</p>\n<ul>\n<li><p><code>message</code> - A message regarding the store creation.</p>\n</li>\n<li><p><code>store_id</code> - The ID of the created store.</p>\n</li>\n<li><p><code>device_id</code> - The ID of the device associated with the store.</p>\n</li>\n</ul>\n<p>Example Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"\",\n    \"store_id\": \"\",\n    \"device_id\": 0\n}\n\n</code></pre>\n","urlObject":{"path":["api","create-mercado-pago-store",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"c42560d3-e553-4336-84be-541df0b60328","name":"Create Store","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\": \"5\",\n    \"device_name\": \"Store Terminal 2\", \n    \"store_name\": \"My Store Branch\",\n    \"location\": {\n        \"street_number\": \"0123\",\n        \"street_name\": \"Example Street Name\",\n        \"city_name\": \"Guadalajara\",\n        \"state_name\": \"Jalisco\",\n        \"latitude\": 20.6123749,\n        \"longitude\": -103.3639096,\n        \"reference\": \"Local\"\n    },\n    \"business_hours\": {\n        \"monday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}],\n        \"tuesday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}],\n        \"wednesday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}],\n        \"thursday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}],\n        \"friday\": [{\"open\": \"08:00\", \"close\": \"18:00\"}]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/create-mercado-pago-store/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 12 Dec 2024 00:05:12 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"87"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Store and device created successfully\",\n    \"store_id\": \"64742745\",\n    \"device_id\": 1\n}"}],"_postman_id":"8b3e35e2-560b-4ce4-b7d8-915ac8985cf4"},{"name":"Create POS","id":"713a3a5b-0ce0-4ca5-abb9-673378f32400","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\": 5,\n    \"device_name\": \"POS la perla\",\n    \"category\": \"smart_pos\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/create-mercado-pago-device/","description":"<h3 id=\"create-mercado-pago-device\">Create Mercado Pago Device</h3>\n<p>This endpoint allows the creation of a Mercado Pago device.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>branch_id</code> (integer) - The ID of the branch.</p>\n</li>\n<li><p><code>device_name</code> (string) - The name of the device.</p>\n</li>\n<li><p><code>category</code> (string) - The category of the device.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format and includes the following fields:</p>\n<ul>\n<li><p><code>message</code> (string) - A message related to the response.</p>\n</li>\n<li><p><code>device_id</code> (integer) - The ID of the device created.</p>\n</li>\n<li><p><code>pos_id</code> (integer) - The ID of the point of sale created.</p>\n</li>\n</ul>\n<h4 id=\"json-schema\">JSON Schema</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\"type\": \"string\"},\n        \"device_id\": {\"type\": \"integer\"},\n        \"pos_id\": {\"type\": \"integer\"}\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","create-mercado-pago-device",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"4e75c7f9-4a3e-4a03-a046-e28634c58e42","name":"Create POS","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\": 5,\n    \"device_name\": \"new pos bat\",\n    \"category\": \"smart_pos\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/create-mercado-pago-device/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 12 Dec 2024 00:10:33 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"78"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"POS device created successfully\",\n    \"device_id\": 2,\n    \"pos_id\": 107507878\n}"}],"_postman_id":"713a3a5b-0ce0-4ca5-abb9-673378f32400"},{"name":"Sync Terminals","id":"0822ec92-a961-44c6-bcb9-e200a6be9600","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"url":"http://127.0.0.1:8000/api/sync-mercado-pago-terminals/","description":"<h3 id=\"api-request-description\">API Request Description</h3>\n<p>This endpoint allows the user to sync Mercado Pago terminals by sending an HTTP POST request to the specified URL.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li>No specific request body parameters provided.</li>\n</ul>\n<h4 id=\"response-body\">Response Body</h4>\n<p>The response is in JSON format and includes the following fields:</p>\n<ul>\n<li><p><code>message</code> (string): A message related to the sync operation.</p>\n</li>\n<li><p><code>synced_terminals</code> (array): An array of synced terminals, each containing the following fields:</p>\n<ul>\n<li><p><code>terminal_id</code> (string): The ID of the synced terminal.</p>\n</li>\n<li><p><code>pos_id</code> (number): The ID of the Point of Sale (POS).</p>\n</li>\n<li><p><code>status</code> (string): The status of the synced terminal.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"json-schema-for-response\">JSON Schema for Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    },\n    \"synced_terminals\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"terminal_id\": {\n            \"type\": \"string\"\n          },\n          \"pos_id\": {\n            \"type\": \"number\"\n          },\n          \"status\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","sync-mercado-pago-terminals",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"7760bc30-6ffa-4813-94fe-46dc455489c0","name":"Sync Terminals","originalRequest":{"method":"POST","header":[],"url":"http://127.0.0.1:8000/api/sync-mercado-pago-terminals/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 12 Dec 2024 00:43:22 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"157"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Terminals synchronized successfully\",\n    \"synced_terminals\": [\n        {\n            \"terminal_id\": \"NEWLAND_N950__N950NCB700933872\",\n            \"pos_id\": 106349265,\n            \"status\": \"created\"\n        }\n    ]\n}"}],"_postman_id":"0822ec92-a961-44c6-bcb9-e200a6be9600"},{"name":"Create Mercado Device Batora","id":"cf5d2cbb-b76d-44e1-82f0-fd492e04b3d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"device_id\": \"NEWLAND_N950__N950NCB700933872\",\n  \"branch_id\": 102,\n  \"device_name\": \"Kiosk API Terminal\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/create-mercado-pago-device-from-api/","description":"<h3 id=\"api-request-description\">API Request Description</h3>\n<p>This endpoint allows the user to sync Mercado Pago terminals by sending an HTTP POST request to the specified URL.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li>No specific request body parameters provided.</li>\n</ul>\n<h4 id=\"response-body\">Response Body</h4>\n<p>The response is in JSON format and includes the following fields:</p>\n<ul>\n<li><p><code>message</code> (string): A message related to the sync operation.</p>\n</li>\n<li><p><code>synced_terminals</code> (array): An array of synced terminals, each containing the following fields:</p>\n<ul>\n<li><p><code>terminal_id</code> (string): The ID of the synced terminal.</p>\n</li>\n<li><p><code>pos_id</code> (number): The ID of the Point of Sale (POS).</p>\n</li>\n<li><p><code>status</code> (string): The status of the synced terminal.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"json-schema-for-response\">JSON Schema for Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    },\n    \"synced_terminals\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"terminal_id\": {\n            \"type\": \"string\"\n          },\n          \"pos_id\": {\n            \"type\": \"number\"\n          },\n          \"status\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","create-mercado-pago-device-from-api",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"2d367c61-d8af-4439-b66c-54c654cba156","name":"lCreate Batora Terminal","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"device_id\": \"NEWLAND_N950__N950NCB700933872\",\n  \"branch_id\": 102,\n  \"device_name\": \"Kiosk API Terminal\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/create-mercado-pago-device-from-api/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 29 Apr 2025 04:58:17 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"275"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Mercado Pago device and terminal created successfully\",\n    \"device\": {\n        \"id\": 3,\n        \"name\": \"Kiosk API Terminal\",\n        \"store_id\": \"69934460\",\n        \"category\": \"smart_pos\",\n        \"created\": false\n    },\n    \"terminal\": {\n        \"id\": 2,\n        \"terminal_id\": \"NEWLAND_N950__N950NCB700933872\",\n        \"pos_id\": 112487612,\n        \"created\": true\n    }\n}"}],"_postman_id":"cf5d2cbb-b76d-44e1-82f0-fd492e04b3d7"},{"name":"Update Operation Mode Terminal","id":"521fd122-a7a0-4477-857e-3cee9c8ef804","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"terminal_id\": \"NEWLAND_N950__N950NCB700933872\",\n  \"operation_mode\": \"PDV\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/update-device-operation-mode/","description":"<h3 id=\"api-request-description\">API Request Description</h3>\n<p>This endpoint allows the user to sync Mercado Pago terminals by sending an HTTP POST request to the specified URL.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li>No specific request body parameters provided.</li>\n</ul>\n<h4 id=\"response-body\">Response Body</h4>\n<p>The response is in JSON format and includes the following fields:</p>\n<ul>\n<li><p><code>message</code> (string): A message related to the sync operation.</p>\n</li>\n<li><p><code>synced_terminals</code> (array): An array of synced terminals, each containing the following fields:</p>\n<ul>\n<li><p><code>terminal_id</code> (string): The ID of the synced terminal.</p>\n</li>\n<li><p><code>pos_id</code> (number): The ID of the Point of Sale (POS).</p>\n</li>\n<li><p><code>status</code> (string): The status of the synced terminal.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"json-schema-for-response\">JSON Schema for Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    },\n    \"synced_terminals\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"terminal_id\": {\n            \"type\": \"string\"\n          },\n          \"pos_id\": {\n            \"type\": \"number\"\n          },\n          \"status\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","update-device-operation-mode",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"2f61653f-4f1a-4224-8d47-d6a175b97e23","name":"Update Operation Mode","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"terminal_id\": \"NEWLAND_N950__N950NCB700933872\",\n  \"operation_mode\": \"PDV\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/update-device-operation-mode/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 29 Apr 2025 05:51:43 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"248"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Device operation mode updated successfully to PDV\",\n    \"device\": {\n        \"terminal_id\": \"NEWLAND_N950__N950NCB700933872\",\n        \"operating_mode\": \"PDV\",\n        \"device_name\": \"Kiosk API Terminal\",\n        \"branch\": \"Kensaladas Centro\"\n    },\n    \"api_response\": {\n        \"operating_mode\": \"PDV\"\n    }\n}"}],"_postman_id":"521fd122-a7a0-4477-857e-3cee9c8ef804"},{"name":"Get Terminals for a Branch","id":"8d791f2d-cdb4-4e45-9eab-a36f90bc47a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/get-branch-terminals/102/","description":"<p>The endpoint retrieves the terminals associated with a specific branch identified by the <code>branch_id</code>.</p>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"branch_name\": {\n            \"type\": \"string\"\n        },\n        \"terminals\": {\n            \"type\": \"array\",\n            \"items\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"terminal_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"pos_id\": {\n                        \"type\": \"integer\"\n                    },\n                    \"store_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"external_pos_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"operating_mode\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_name\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_category\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_status\": {\n                        \"type\": \"string\"\n                    }\n                }\n            }\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","get-branch-terminals","102",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"2e3eab0d-bfd7-4f0a-8f4f-da28bfa54dcb","name":"Sample","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/get-branch-terminals/5/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 12 Dec 2024 00:53:03 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"255"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"branch_name\": \"Burguer Flies\",\n    \"terminals\": [\n        {\n            \"terminal_id\": \"NEWLAND_N950__N950NCB700933872\",\n            \"pos_id\": 106349265,\n            \"store_id\": \"65565362\",\n            \"external_pos_id\": \"\",\n            \"operating_mode\": \"PDV\",\n            \"device_name\": \"xky\",\n            \"device_category\": \"smart_pos\",\n            \"device_status\": \"pending\"\n        }\n    ]\n}"}],"_postman_id":"8d791f2d-cdb4-4e45-9eab-a36f90bc47a0"},{"name":"Delete MP device","id":"f38ac37e-45d8-47e3-a3b8-3161154f8b98","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n  \"terminal_id\": \"DSPREAD_D20__12098604524052404265\"  // Can be a MercadoPagoDevice ID or a terminal_id\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/delete-mercado-pago-terminal/","description":"<p>The endpoint retrieves the terminals associated with a specific branch identified by the <code>branch_id</code>.</p>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"branch_name\": {\n            \"type\": \"string\"\n        },\n        \"terminals\": {\n            \"type\": \"array\",\n            \"items\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"terminal_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"pos_id\": {\n                        \"type\": \"integer\"\n                    },\n                    \"store_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"external_pos_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"operating_mode\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_name\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_category\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_status\": {\n                        \"type\": \"string\"\n                    }\n                }\n            }\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","delete-mercado-pago-terminal",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"f24cb205-40f7-4d8f-8767-f63ff5ec1694","name":"Delete MP device","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n  \"terminal_id\": \"DSPREAD_D20__12098604524052404265\"  // Can be a MercadoPagoDevice ID or a terminal_id\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/delete-mercado-pago-terminal/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 29 Apr 2025 05:39:59 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"DELETE, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"312"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Device and associated terminals deleted successfully\",\n    \"device\": {\n        \"id\": 4,\n        \"name\": \"Point STAND\",\n        \"pos_id\": \"112586319\",\n        \"store_id\": \"69934460\",\n        \"branch_id\": 102,\n        \"branch_name\": \"Kensaladas Centro\"\n    },\n    \"terminals_deleted\": 1,\n    \"terminals\": [\n        {\n            \"id\": 3,\n            \"terminal_id\": \"DSPREAD_D20__12098604524052404265\",\n            \"pos_id\": 112586319\n        }\n    ]\n}"}],"_postman_id":"f38ac37e-45d8-47e3-a3b8-3161154f8b98"},{"name":"Get All Devices","id":"145a0f6a-275c-4dd6-984d-df92c4b42dcc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/get-mercado-pago-devices/","description":"<p>The endpoint retrieves the terminals associated with a specific branch identified by the <code>branch_id</code>.</p>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"branch_name\": {\n            \"type\": \"string\"\n        },\n        \"terminals\": {\n            \"type\": \"array\",\n            \"items\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"terminal_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"pos_id\": {\n                        \"type\": \"integer\"\n                    },\n                    \"store_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"external_pos_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"operating_mode\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_name\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_category\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_status\": {\n                        \"type\": \"string\"\n                    }\n                }\n            }\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","get-mercado-pago-devices",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"835f9864-ec33-468b-8313-c9148ccee08a","name":"Sample","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/get-branch-terminals/5/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 12 Dec 2024 00:53:03 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"255"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"branch_name\": \"Burguer Flies\",\n    \"terminals\": [\n        {\n            \"terminal_id\": \"NEWLAND_N950__N950NCB700933872\",\n            \"pos_id\": 106349265,\n            \"store_id\": \"65565362\",\n            \"external_pos_id\": \"\",\n            \"operating_mode\": \"PDV\",\n            \"device_name\": \"xky\",\n            \"device_category\": \"smart_pos\",\n            \"device_status\": \"pending\"\n        }\n    ]\n}"}],"_postman_id":"145a0f6a-275c-4dd6-984d-df92c4b42dcc"},{"name":"Get Payment Intent","id":"60ecfcef-e620-4dc7-a54a-03d710bc5a7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/get-payment-intent?payment_intent_id=72412c50-eea5-48dd-9226-1d1a97d0767d","description":"<p>The endpoint retrieves the terminals associated with a specific branch identified by the <code>branch_id</code>.</p>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"branch_name\": {\n            \"type\": \"string\"\n        },\n        \"terminals\": {\n            \"type\": \"array\",\n            \"items\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"terminal_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"pos_id\": {\n                        \"type\": \"integer\"\n                    },\n                    \"store_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"external_pos_id\": {\n                        \"type\": \"string\"\n                    },\n                    \"operating_mode\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_name\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_category\": {\n                        \"type\": \"string\"\n                    },\n                    \"device_status\": {\n                        \"type\": \"string\"\n                    }\n                }\n            }\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","get-payment-intent"],"host":["http://127.0.0.1:8000"],"query":[{"key":"payment_intent_id","value":"72412c50-eea5-48dd-9226-1d1a97d0767d"}],"variable":[]}},"response":[{"id":"e1491e6a-6aeb-4957-aec7-48864b733627","name":"Canceled","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:8000/api/get-payment-intent?payment_intent_id=c527c41d-cccf-4869-90a3-fbe1374c3fef","host":["http://127.0.0.1:8000"],"path":["api","get-payment-intent"],"query":[{"key":"payment_intent_id","value":"c527c41d-cccf-4869-90a3-fbe1374c3fef"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 25 Apr 2025 23:29:05 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"246"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"additional_info\": {\n        \"external_reference\": \"4561ads-das4das4-das4754-das4004\",\n        \"print_on_terminal\": false\n    },\n    \"amount\": 500,\n    \"device_id\": \"NEWLAND_N950__N950NCB700933872\",\n    \"id\": \"c527c41d-cccf-4869-90a3-fbe1374c3fef\",\n    \"payment_mode\": \"card\",\n    \"state\": \"CANCELED\"\n}"},{"id":"9f02e944-4974-42e8-b248-084dc8f1ce82","name":"Rejected v2","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:8000/api/get-payment-intent?payment_intent_id=adcd9453-e36d-414f-a9f3-babf6ec08106","host":["http://127.0.0.1:8000"],"path":["api","get-payment-intent"],"query":[{"key":"payment_intent_id","value":"adcd9453-e36d-414f-a9f3-babf6ec08106"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 26 Apr 2025 00:50:50 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"458"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"additional_info\": {\n        \"external_reference\": \"4561ads-das4das4-das4754-das4004\",\n        \"print_on_terminal\": false\n    },\n    \"amount\": 600,\n    \"device_id\": \"NEWLAND_N950__N950NCB700933872\",\n    \"id\": \"adcd9453-e36d-414f-a9f3-babf6ec08106\",\n    \"payment\": {\n        \"id\": \"109526394172\",\n        \"installments\": 1,\n        \"type\": \"credit_card\"\n    },\n    \"payment_mode\": \"card\",\n    \"state\": \"FINISHED\",\n    \"payment_details\": {\n        \"status\": \"rejected\",\n        \"status_detail\": \"cc_rejected_other_reason\",\n        \"payment_method_id\": \"visa\",\n        \"payment_type_id\": \"credit_card\"\n    }\n}"},{"id":"1dde7730-4259-4860-8e0d-9cf28d04ed3b","name":"Success v2","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1:8000/api/get-payment-intent?payment_intent_id=72412c50-eea5-48dd-9226-1d1a97d0767d","host":["http://127.0.0.1:8000"],"path":["api","get-payment-intent"],"query":[{"key":"payment_intent_id","value":"72412c50-eea5-48dd-9226-1d1a97d0767d"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 26 Apr 2025 00:52:04 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"444"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"additional_info\": {\n        \"external_reference\": \"4561ads-das4das4-das4754-das4004\",\n        \"print_on_terminal\": false\n    },\n    \"amount\": 500,\n    \"device_id\": \"NEWLAND_N950__N950NCB700933872\",\n    \"id\": \"72412c50-eea5-48dd-9226-1d1a97d0767d\",\n    \"payment\": {\n        \"id\": \"109085081703\",\n        \"installments\": 1,\n        \"type\": \"credit_card\"\n    },\n    \"payment_mode\": \"card\",\n    \"state\": \"FINISHED\",\n    \"payment_details\": {\n        \"status\": \"approved\",\n        \"status_detail\": \"accredited\",\n        \"payment_method_id\": \"amex\",\n        \"payment_type_id\": \"credit_card\"\n    }\n}"}],"_postman_id":"60ecfcef-e620-4dc7-a54a-03d710bc5a7d"},{"name":"Payment Intent","id":"0c3973ac-3383-40b4-9eab-d54e9658082e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 500,\n    \"device_id\": \"NEWLAND_N950__N950NCB700933872\",\n    \"external_reference\": \"4561ads-das4das4-das4754-das456\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/generate-payment-intent/","description":"<h3 id=\"generate-payment-intent\">Generate Payment Intent</h3>\n<p>This endpoint allows you to generate a payment intent.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>amount</code> (number) - The amount for the payment intent.</p>\n</li>\n<li><p><code>device_id</code> (string) - The ID of the device used for the payment.</p>\n</li>\n<li><p><code>external_reference</code> (string) - The external reference for the payment.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful execution, the endpoint returns the following fields:</p>\n<ul>\n<li><p><code>additional_info</code> (object) - Additional information related to the payment intent, including the external reference and print on terminal status.</p>\n</li>\n<li><p><code>amount</code> (number) - The amount of the payment intent.</p>\n</li>\n<li><p><code>device_id</code> (string) - The ID of the device used for the payment.</p>\n</li>\n<li><p><code>id</code> (string) - The ID of the payment intent.</p>\n</li>\n<li><p><code>payment_mode</code> (string) - The payment mode for the payment intent.</p>\n</li>\n</ul>\n<p>Example Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"additional_info\": {\n        \"external_reference\": \"\",\n        \"print_on_terminal\": true\n    },\n    \"amount\": 0,\n    \"device_id\": \"\",\n    \"id\": \"\",\n    \"payment_mode\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","generate-payment-intent",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"2c1c7fb2-1c8c-4a95-a36a-eec54dff918f","name":"Payment Intent","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 500,\n    \"device_id\": \"NEWLAND_N950__N950NCB700933872\",\n    \"external_reference\": \"4561ads-das4das4-das4754-das456\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/generate-payment-intent/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 12 Dec 2024 01:13:20 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.0"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"226"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"additional_info\": {\n        \"external_reference\": \"4561ads-das4das4-das4754-das456\",\n        \"print_on_terminal\": false\n    },\n    \"amount\": 500,\n    \"device_id\": \"NEWLAND_N950__N950NCB700933872\",\n    \"id\": \"8939c81a-8d55-4fe8-bbe3-ffb0652cee6a\",\n    \"payment_mode\": \"card\"\n}"}],"_postman_id":"0c3973ac-3383-40b4-9eab-d54e9658082e"}],"id":"3d57a4ff-725a-4c77-b53c-11c7480cac3f","_postman_id":"3d57a4ff-725a-4c77-b53c-11c7480cac3f","description":""}],"id":"76f32729-3bd9-4466-9735-dce1148b8056","_postman_id":"76f32729-3bd9-4466-9735-dce1148b8056","description":""},{"name":"Kiosk","item":[{"name":"Auth","item":[{"name":"Kiosk Auth","id":"2506310e-908d-4dce-b9d2-0f6c0beaaef0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"kiosk_id\": 1,\n  \"branch_id\": 102\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auths/","urlObject":{"path":["api","kiosk-auths",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"521405f3-42f3-48a2-816c-6c58459c5324","name":"Created","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"kiosk_id\": 11,\n  \"branch_id\": 102\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auths/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 01 May 2025 08:54:15 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1038"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Kiosk authentication created successfully\",\n    \"auth\": {\n        \"id\": 2,\n        \"kiosk\": 11,\n        \"kiosk_name\": \"Kiosk Test\",\n        \"user\": 59,\n        \"username\": \"kiosk_l021_1746089654\",\n        \"tenant\": 11,\n        \"branch\": 102,\n        \"branch_name\": \"Kensaladas Centro\",\n        \"created_at\": \"2025-05-01T08:54:15.142624Z\",\n        \"updated_at\": \"2025-05-01T08:54:15.142632Z\",\n        \"expires_at\": \"2025-05-31T08:54:15.142520Z\",\n        \"refresh_until\": \"2025-10-28T08:54:15.142528Z\",\n        \"last_login\": null,\n        \"days_until_expiry\": 29,\n        \"days_until_refresh_expiry\": 179\n    },\n    \"credentials\": {\n        \"username\": \"kiosk_l021_1746089654\",\n        \"password\": \"%8LL;QgHkj8s)4so\",\n        \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzQ2MTExMjU1LCJpYXQiOjE3NDYwODk2NTUsImp0aSI6IjU5YWQ4NzMwNTFjZjQ4YzZhZGY2ZGYyMzg3MDA2YWUxIiwidXNlcl9pZCI6NTl9.RkyXqOTwbMcFD9FMNKIRsqTMxnGWoHFc6agWLxQgx6w\",\n        \"refresh_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTc0NjE3NjA1NSwiaWF0IjoxNzQ2MDg5NjU1LCJqdGkiOiJjMzlhOWUzYzQ1MzI0MWM0OGY3NDExNTVjODE0YmYzOSIsInVzZXJfaWQiOjU5fQ.qXoHDNfhrav1Z4xda6aECUAl3njxh0_yvcg7V9iMBCY\"\n    }\n}"},{"id":"c68ff5c3-d674-40f0-bc83-c4e9548a7d5a","name":"Already exists","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"kiosk_id\": 11,\n  \"branch_id\": 102\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auths/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 01 May 2025 21:37:14 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"68"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Kiosk already has authentication credentials\",\n    \"auth_id\": 2\n}"}],"_postman_id":"2506310e-908d-4dce-b9d2-0f6c0beaaef0"},{"name":"Generate Auth Code for Kiosk","id":"01000f22-25a0-4695-9242-6f81dffd04e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"reset_password\": true\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auths/15/generate_code/","urlObject":{"path":["api","kiosk-auths","15","generate_code",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"01000f22-25a0-4695-9242-6f81dffd04e7"},{"name":"Validate Auth Code (Public)","id":"ae84f04f-2efa-44e6-98b6-780720840bd6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"code\": \"4TLJ5YYW\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/auth/validate-code/","urlObject":{"path":["api","kiosk","auth","validate-code",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"32db7e84-776c-4b98-96b3-bd514ddc3e5b","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"code\": \"4TLJ5YYW\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/auth/validate-code/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 02 May 2025 03:58:15 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"691"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"kiosk_id\": 12,\n    \"kiosk_name\": \"Kiosk Testing code\",\n    \"username\": \"kiosk_123412_1746139213\",\n    \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzQ2MTc5ODk1LCJpYXQiOjE3NDYxNTgyOTUsImp0aSI6IjdmYmY2M2VhZGJhZDQ2NDg5ZTY4NzcyNWE4Y2VhNGJlIiwidXNlcl9pZCI6NjB9.w1DQIEtht1Xn5a7oFGiXl-xy0tkFU0NkkBYBLJIpp1M\",\n    \"refresh_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTc0NjI0NDY5NSwiaWF0IjoxNzQ2MTU4Mjk1LCJqdGkiOiI4ZTU0ZjY5MzAzMmY0MjhhOGI1ZTQ1ZjZkNjY4YzRjYiIsInVzZXJfaWQiOjYwfQ.wXQmZtpGTGKyD3ovth7OQSBrYjt_JQRS9gEajNoPKwg\",\n    \"expires_at\": \"2025-05-31T22:40:14.019903Z\",\n    \"tenant_id\": 11,\n    \"branch_id\": 102,\n    \"branch_name\": \"Kensaladas Centro\"\n}"}],"_postman_id":"ae84f04f-2efa-44e6-98b6-780720840bd6"},{"name":"Refresh Kiosk Token","id":"94f22677-21ca-4648-b135-3d7cd59cd9f7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"generate_new_tokens\": true\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auths/15/refresh/","urlObject":{"path":["api","kiosk-auths","15","refresh",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"4f7d9819-431c-4d04-9f1c-5c8b180a0e5f","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"refresh_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTc2MzIyMjE1MCwiaWF0IjoxNzQ3NjcwMTUwLCJqdGkiOiI4MWM5OGM0N2ViZjU0MWNmODRiMzQzYmYzMWNkZjEzNCIsInVzZXJfaWQiOjY2fQ.pffxRx7JKa2hWgvdE1WVAssKslhYkZ-Tx-zWYK7zNRg\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/public/kiosk-auth/refresh/15/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 19 May 2025 16:24:44 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1066"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Kiosk authentication refreshed successfully\",\n    \"auth\": {\n        \"id\": 9,\n        \"kiosk\": 20,\n        \"kiosk_name\": \"Deletable  Kiosk\",\n        \"user\": 66,\n        \"username\": \"kiosk_KIOSK-2023-002_1747670137\",\n        \"tenant\": 11,\n        \"branch\": 102,\n        \"branch_name\": \"Kensaladas Centro\",\n        \"created_at\": \"2025-05-19T09:55:37.465197-06:00\",\n        \"updated_at\": \"2025-05-19T10:24:44.804598-06:00\",\n        \"expires_at\": \"2025-06-18T10:24:44.804320-06:00\",\n        \"refresh_until\": \"2025-11-15T09:55:37.464610-06:00\",\n        \"last_login\": \"2025-05-19T09:55:50.021265-06:00\",\n        \"days_until_expiry\": 29,\n        \"days_until_refresh_expiry\": 179,\n        \"terminal_info\": null\n    },\n    \"new_credentials\": {\n        \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzQ3NjkzNDg0LCJpYXQiOjE3NDc2NzAxNTAsImp0aSI6IjIyNmM4MmMxMTJiZDQwOGQ4NzQ5MzcwYWU0YzBjMjY1IiwidXNlcl9pZCI6NjZ9.0Q-DvRbYG_5Crzn3J9Bl08qV1MV-Q7uddNoTxP46Lw0\",\n        \"refresh_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTc0Nzc1ODI4NCwiaWF0IjoxNzQ3NjcxODg0LCJqdGkiOiJiZTJjNzFiZjMzODU0MzE5OGQzMmQ1NGIzNTNkYWNlZCIsInVzZXJfaWQiOjY2fQ.UDCl2jlVYvJkN0D4fRkCN0BUIh32AXY9fwMoaPLSuSo\"\n    }\n}"}],"_postman_id":"94f22677-21ca-4648-b135-3d7cd59cd9f7"},{"name":"Validate Tokens","id":"214ca8fa-5ca5-49cc-ad73-9608a68556e8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzQ3NjkzODQwLCJpYXQiOjE3NDc2NzIyNDAsImp0aSI6IjIzYmQyNThkYmRmNTRiYzE5YTVjMmIzMzRhMjA0ZTBiIiwidXNlcl9pZCI6NjZ9.5UQVCjqLxKuXZDi7Da7XmdnJ_7CnBvCx8VI8iWxMf9c\",\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auth/validate-token/","urlObject":{"path":["api","kiosk-auth","validate-token",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"473ac9ef-4ef8-4de6-812b-3647a6b936b4","name":"Success Validate","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    //\"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzQ3NjkzODQwLCJpYXQiOjE3NDc2NzIyNDAsImp0aSI6IjIzYmQyNThkYmRmNTRiYzE5YTVjMmIzMzRhMjA0ZTBiIiwidXNlcl9pZCI6NjZ9.5UQVCjqLxKuXZDi7Da7XmdnJ_7CnBvCx8VI8iWxMf9c\",\n    \"token_type\": \"access\"  // or \"refresh\", defaults to \"access\" if not specified\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auth/validate-token/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 19 May 2025 17:01:39 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"203"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"valid\": true,\n    \"user_id\": 66,\n    \"is_kiosk_user\": true,\n    \"kiosk_info\": {\n        \"kiosk_id\": 20,\n        \"kiosk_name\": \"Deletable  Kiosk\",\n        \"branch_id\": 102,\n        \"branch_name\": \"Kensaladas Centro\",\n        \"tenant_id\": 11,\n        \"tenant_name\": \"Pollo XKYTEM\"\n    }\n}"}],"_postman_id":"214ca8fa-5ca5-49cc-ad73-9608a68556e8"},{"name":"Get Single Kiosk Auth (for admin)","id":"791fad3b-70a1-4db5-85b7-5e97ac93e29c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auths/15","urlObject":{"path":["api","kiosk-auths","15"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"d88a5d61-cda4-413b-a5b6-45b7e9c348ce","name":"Success with terminal","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auths/14"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 02 May 2025 05:35:50 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"847"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 4,\n    \"kiosk\": 14,\n    \"kiosk_name\": \"kiosko integrador\",\n    \"user\": 61,\n    \"username\": \"kiosk_234_1746163223\",\n    \"tenant\": 11,\n    \"branch\": 102,\n    \"branch_name\": \"Kensaladas Centro\",\n    \"created_at\": \"2025-05-02T05:20:23.735978Z\",\n    \"updated_at\": \"2025-05-02T05:22:12.329208Z\",\n    \"expires_at\": \"2025-06-01T05:22:12.329087Z\",\n    \"refresh_until\": \"2025-10-29T05:20:23.735899Z\",\n    \"last_login\": \"2025-05-02T05:20:35.083499Z\",\n    \"days_until_expiry\": 29,\n    \"days_until_refresh_expiry\": 179,\n    \"terminal_info\": {\n        \"terminal_id\": \"NEWLAND_N950__N950NCB700933872\",\n        \"pos_id\": 112487612,\n        \"store_id\": \"69934460\",\n        \"external_pos_id\": \"\",\n        \"operating_mode\": \"PDV\",\n        \"created_at\": \"2025-05-01T02:26:25.769458Z\",\n        \"updated_at\": \"2025-05-01T02:26:25.769474Z\",\n        \"device\": {\n            \"id\": 8,\n            \"device_name\": \"Kiosk Terminal\",\n            \"pos_id\": \"112487612\",\n            \"category\": \"smart_pos\",\n            \"status\": \"active\",\n            \"store_id\": \"69934460\",\n            \"branch_id\": 102,\n            \"branch_name\": \"Kensaladas Centro\"\n        }\n    }\n}"},{"id":"af5dc5cc-5b06-489c-9690-4f0de392cdc1","name":"Success No Terminal","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-auths/15"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 02 May 2025 05:38:47 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"440"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 5,\n    \"kiosk\": 15,\n    \"kiosk_name\": \"Kiosk v2\",\n    \"user\": 62,\n    \"username\": \"kiosk_dsf_1746164285\",\n    \"tenant\": 11,\n    \"branch\": 102,\n    \"branch_name\": \"Kensaladas Centro\",\n    \"created_at\": \"2025-05-02T05:38:05.674489Z\",\n    \"updated_at\": \"2025-05-02T05:38:18.218683Z\",\n    \"expires_at\": \"2025-06-01T05:38:05.674420Z\",\n    \"refresh_until\": \"2025-10-29T05:38:05.674428Z\",\n    \"last_login\": \"2025-05-02T05:38:18.218609Z\",\n    \"days_until_expiry\": 29,\n    \"days_until_refresh_expiry\": 179,\n    \"terminal_info\": null\n}"}],"_postman_id":"791fad3b-70a1-4db5-85b7-5e97ac93e29c"}],"id":"a0e4027a-20fb-4bb4-8928-29513c44edb9","_postman_id":"a0e4027a-20fb-4bb4-8928-29513c44edb9","description":""},{"name":"Create Kiosk/Tablet","id":"4fcfa7c4-621f-4632-a478-57744e69e9c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Deletable  Tablet\",\n  \"device_id\": \"KIOSK-2023-003\",\n  \"branch\": 102,\n  \"is_tablet\": true, // TO create tablets\n  \"status\": \"pending\",\n  \"is_self_service\": true,\n  \"settings\": {\n    \"theme\": \"dark\",\n    \"language\": \"en\",\n    \"timeout_seconds\": 120,\n    \"show_logo\": true,\n    \"payment_methods\": [\"card\", \"cash\"],\n    \"display_settings\": {\n      \"brightness\": 80,\n      \"orientation\": \"portrait\"\n    },\n    \"is_tablet\":true\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/create/","urlObject":{"path":["api","kiosk","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"1cc6ffcc-c11e-4067-be09-dedcc64fa80b","name":"Create Kiosk","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Main Entrance Kiosk\",\n  \"device_id\": \"KIOSK-2023-001\",\n  \"branch\": 102,\n  \"status\": \"pending\",\n  \"is_self_service\": true,\n  \"settings\": {\n    \"theme\": \"dark\",\n    \"language\": \"en\",\n    \"timeout_seconds\": 120,\n    \"show_logo\": true,\n    \"payment_methods\": [\"card\", \"cash\"],\n    \"display_settings\": {\n      \"brightness\": 80,\n      \"orientation\": \"portrait\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 30 Apr 2025 19:43:13 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"541"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"name\": \"Main Entrance Kiosk\",\n    \"device_id\": \"KIOSK-2023-001\",\n    \"status\": \"pending\",\n    \"is_activated\": false,\n    \"activation_code\": \"E046D772\",\n    \"tenant\": 11,\n    \"branch\": 102,\n    \"branch_name\": \"Kensaladas Centro\",\n    \"terminal\": null,\n    \"terminal_details\": null,\n    \"is_self_service\": true,\n    \"settings\": {\n        \"theme\": \"dark\",\n        \"language\": \"en\",\n        \"timeout_seconds\": 120,\n        \"show_logo\": true,\n        \"payment_methods\": [\n            \"card\",\n            \"cash\"\n        ],\n        \"display_settings\": {\n            \"brightness\": 80,\n            \"orientation\": \"portrait\"\n        }\n    },\n    \"created_at\": \"2025-04-30T19:43:13.199127Z\",\n    \"updated_at\": \"2025-04-30T19:43:13.199198Z\",\n    \"last_active\": null\n}"}],"_postman_id":"4fcfa7c4-621f-4632-a478-57744e69e9c5"},{"name":"Create Kiosk License","id":"7e07b5ea-c305-4c1f-a620-4bf35259e11f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Standard Annual Package\",\n  \"total_licenses\": 5,\n  \"duration_type\": \"annual\",\n  \"status\": \"active\",\n  \"price\": 999.99,\n  \"reference_number\": \"INV-2023-0456\",\n  \"notes\": \"Annual license package for 5 kiosks with premium support included\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-license/create/","urlObject":{"path":["api","kiosk-license","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"fcc61aa4-9abf-4363-bc5a-f8f1224b5b2a","name":"Create Kiosk License","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Standard Annual Package\",\n  \"total_licenses\": 5,\n  \"duration_type\": \"annual\",\n  \"status\": \"active\",\n  \"price\": 999.99,\n  \"reference_number\": \"INV-2023-0456\",\n  \"notes\": \"Annual license package for 5 kiosks with premium support included\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-license/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 30 Apr 2025 19:49:15 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"483"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"tenant\": 11,\n    \"tenant_name\": \"Pollo XKYTEM\",\n    \"name\": \"Standard Annual Package\",\n    \"total_licenses\": 5,\n    \"used_licenses\": 0,\n    \"licenses_available\": 5,\n    \"duration_type\": \"annual\",\n    \"duration_days\": null,\n    \"status\": \"active\",\n    \"is_valid\": true,\n    \"purchase_date\": \"2025-04-30T19:49:15.515062Z\",\n    \"start_date\": \"2025-04-30T19:49:15.514726Z\",\n    \"expiry_date\": \"2026-04-30T19:49:15.514726Z\",\n    \"price\": \"999.99\",\n    \"reference_number\": \"INV-2023-0456\",\n    \"notes\": \"Annual license package for 5 kiosks with premium support included\"\n}"}],"_postman_id":"7e07b5ea-c305-4c1f-a620-4bf35259e11f"},{"name":"Create Kiosk Activation","id":"865565cd-b46f-465f-b7e1-b7d1aa3e50ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"kiosk\": 1,\n  \"license\": 1,\n  \"notes\": \"Initial activation for main entrance kiosk\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-activation/create/","urlObject":{"path":["api","kiosk-activation","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"03d247e4-f6c6-438d-8ec2-96da70a3f9c8","name":"Create Kiosk Activation","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"kiosk\": 1,\n  \"license\": 1,\n  \"notes\": \"Initial activation for main entrance kiosk\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-activation/create/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 30 Apr 2025 19:52:24 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"293"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"kiosk\": 1,\n    \"kiosk_name\": \"Main Entrance Kiosk\",\n    \"license\": 1,\n    \"license_name\": \"Standard Annual Package\",\n    \"activation_date\": \"2025-04-30T19:52:24.764537Z\",\n    \"deactivation_date\": null,\n    \"is_active\": true,\n    \"created_by\": 52,\n    \"created_by_username\": \"ric\",\n    \"notes\": \"Initial activation for main entrance kiosk\"\n}"}],"_postman_id":"865565cd-b46f-465f-b7e1-b7d1aa3e50ce"},{"name":"Link Terminal","id":"fb310303-416f-489a-a431-350f8744f466","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"terminal_id\": 6\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/link-terminal/1/","urlObject":{"path":["api","kiosk","link-terminal","1",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"48df659a-fcc9-443d-90ca-88166940cbf0","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"terminal_id\": 6\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/link-terminal/1/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 01 May 2025 01:43:29 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"707"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Kiosk linked to terminal successfully\",\n    \"kiosk\": {\n        \"id\": 1,\n        \"name\": \"Main Entrance Kiosk\",\n        \"device_id\": \"KIOSK-2023-001\",\n        \"status\": \"active\",\n        \"is_activated\": true,\n        \"activation_code\": \"E046D772\",\n        \"tenant\": 11,\n        \"branch\": 102,\n        \"branch_name\": \"Kensaladas Centro\",\n        \"terminal\": 6,\n        \"terminal_details\": {\n            \"terminal_id\": \"NEWLAND_N950__N950NCB700933872\",\n            \"pos_id\": 112487612,\n            \"operating_mode\": \"PDV\"\n        },\n        \"is_self_service\": true,\n        \"settings\": {\n            \"theme\": \"dark\",\n            \"language\": \"en\",\n            \"timeout_seconds\": 120,\n            \"show_logo\": true,\n            \"payment_methods\": [\n                \"card\",\n                \"cash\"\n            ],\n            \"display_settings\": {\n                \"brightness\": 80,\n                \"orientation\": \"portrait\"\n            }\n        },\n        \"created_at\": \"2025-04-30T19:43:13.199127Z\",\n        \"updated_at\": \"2025-05-01T01:43:29.420855Z\",\n        \"last_active\": \"2025-04-30T19:52:24.765237Z\"\n    }\n}"}],"_postman_id":"fb310303-416f-489a-a431-350f8744f466"},{"name":"Get Kiosk/Tablet by branch","id":"2533b052-6b43-4ff6-9755-b81c4d0df1bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/by-branch/?branch_id=102&is_tablet=true","urlObject":{"path":["api","kiosk","by-branch",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branch_id","value":"102"},{"key":"is_tablet","value":"true"}],"variable":[]}},"response":[{"id":"da7682c8-aa30-4827-b8de-ac739a041a9a","name":"Get Kiosk by Branch","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/kiosk/by-branch/?branch_id=102","host":["http://127.0.0.1:8000"],"path":["api","kiosk","by-branch",""],"query":[{"key":"branch_id","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 30 Apr 2025 19:55:17 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"606"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"branch\": \"Kensaladas Centro\",\n    \"kiosks\": [\n        {\n            \"id\": 1,\n            \"name\": \"Main Entrance Kiosk\",\n            \"device_id\": \"KIOSK-2023-001\",\n            \"status\": \"active\",\n            \"is_activated\": true,\n            \"activation_code\": \"E046D772\",\n            \"tenant\": 11,\n            \"branch\": 102,\n            \"branch_name\": \"Kensaladas Centro\",\n            \"terminal\": null,\n            \"terminal_details\": null,\n            \"is_self_service\": true,\n            \"settings\": {\n                \"theme\": \"dark\",\n                \"language\": \"en\",\n                \"timeout_seconds\": 120,\n                \"show_logo\": true,\n                \"payment_methods\": [\n                    \"card\",\n                    \"cash\"\n                ],\n                \"display_settings\": {\n                    \"brightness\": 80,\n                    \"orientation\": \"portrait\"\n                }\n            },\n            \"created_at\": \"2025-04-30T19:43:13.199127Z\",\n            \"updated_at\": \"2025-04-30T19:52:24.765285Z\",\n            \"last_active\": \"2025-04-30T19:52:24.765237Z\"\n        }\n    ]\n}"},{"id":"aeee3cf5-68de-4329-b146-68b9cfac4ad8","name":"No terminal","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/kiosk/by-branch/?branch_id=102","host":["http://127.0.0.1:8000"],"path":["api","kiosk","by-branch",""],"query":[{"key":"branch_id","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 02 May 2025 04:15:23 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"377"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"branch\": \"Kensaladas Centro\",\n    \"kiosks\": [\n        {\n            \"id\": 12,\n            \"name\": \"Kiosk Testing code\",\n            \"device_id\": \"123412\",\n            \"created_at\": \"2025-05-01T21:55:25.424534Z\",\n            \"updated_at\": \"2025-05-01T21:55:25.431544Z\",\n            \"status\": \"active\",\n            \"is_activated\": true,\n            \"activation_code\": \"886DD65D\",\n            \"is_self_service\": true,\n            \"settings\": null,\n            \"last_active\": \"2025-05-01T21:55:25.431449Z\",\n            \"tenant\": 11,\n            \"branch\": 102,\n            \"terminal\": null\n        }\n    ]\n}"}],"_postman_id":"2533b052-6b43-4ff6-9755-b81c4d0df1bd"},{"name":"Delete Kiosk","id":"d4ea185f-f7f2-44b2-aa3f-7c27cb74667c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/delete/","urlObject":{"path":["api","kiosk","delete",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"439b9b57-161b-416f-8d9c-1dbd54de579a","name":"Get Kiosk by Branch","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/kiosk/by-branch/?branch_id=102","host":["http://127.0.0.1:8000"],"path":["api","kiosk","by-branch",""],"query":[{"key":"branch_id","value":"102"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 30 Apr 2025 19:55:17 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"606"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"branch\": \"Kensaladas Centro\",\n    \"kiosks\": [\n        {\n            \"id\": 1,\n            \"name\": \"Main Entrance Kiosk\",\n            \"device_id\": \"KIOSK-2023-001\",\n            \"status\": \"active\",\n            \"is_activated\": true,\n            \"activation_code\": \"E046D772\",\n            \"tenant\": 11,\n            \"branch\": 102,\n            \"branch_name\": \"Kensaladas Centro\",\n            \"terminal\": null,\n            \"terminal_details\": null,\n            \"is_self_service\": true,\n            \"settings\": {\n                \"theme\": \"dark\",\n                \"language\": \"en\",\n                \"timeout_seconds\": 120,\n                \"show_logo\": true,\n                \"payment_methods\": [\n                    \"card\",\n                    \"cash\"\n                ],\n                \"display_settings\": {\n                    \"brightness\": 80,\n                    \"orientation\": \"portrait\"\n                }\n            },\n            \"created_at\": \"2025-04-30T19:43:13.199127Z\",\n            \"updated_at\": \"2025-04-30T19:52:24.765285Z\",\n            \"last_active\": \"2025-04-30T19:52:24.765237Z\"\n        }\n    ]\n}"}],"_postman_id":"d4ea185f-f7f2-44b2-aa3f-7c27cb74667c"},{"name":"Get Kiosk License","id":"eb50922f-3545-459d-b18f-51cb97e30c44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-license/list/","urlObject":{"path":["api","kiosk-license","list",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"0c5263b0-de37-46c0-b2ac-9f742e7941b2","name":"Get","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk-license/list/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 01 May 2025 01:26:51 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.1"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"485"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"tenant\": 11,\n        \"tenant_name\": \"Pollo XKYTEM\",\n        \"name\": \"Standard Annual Package\",\n        \"total_licenses\": 5,\n        \"used_licenses\": 1,\n        \"licenses_available\": 4,\n        \"duration_type\": \"annual\",\n        \"duration_days\": null,\n        \"status\": \"active\",\n        \"is_valid\": true,\n        \"purchase_date\": \"2025-04-30T19:49:15.515062Z\",\n        \"start_date\": \"2025-04-30T19:49:15.514726Z\",\n        \"expiry_date\": \"2026-04-30T19:49:15.514726Z\",\n        \"price\": \"999.99\",\n        \"reference_number\": \"INV-2023-0456\",\n        \"notes\": \"Annual license package for 5 kiosks with premium support included\"\n    }\n]"}],"_postman_id":"eb50922f-3545-459d-b18f-51cb97e30c44"},{"name":"Update Kiosk","id":"44212ec2-9262-4290-ac41-8470cb439592","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/device-updates/send_force_update/","urlObject":{"path":["api","device-updates","send_force_update",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"44212ec2-9262-4290-ac41-8470cb439592"},{"name":"Get Kiosk Settings","id":"ff3d5cfb-9345-43a1-91df-346f6e24c50b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/get-settings/15/","urlObject":{"path":["api","kiosk","get-settings","15",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"f1bfd578-61f8-499e-8aca-94c54d5ad8dd","name":"Get Kiosk Settings Success","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/kiosk/get-settings/15/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Sun, 17 Aug 2025 01:16:55 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"23830"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"kiosk_id\": 46,\n    \"logo\": \"data:image/png;base64,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\",\n    \"font_color\": \"#ffffff\",\n    \"title\": \"Mi Prueba Up\",\n    \"background_color\": \"#070808\"\n}"}],"_postman_id":"ff3d5cfb-9345-43a1-91df-346f6e24c50b"}],"id":"7570a2fb-7bfa-4ac7-956a-43c658f4539d","_postman_id":"7570a2fb-7bfa-4ac7-956a-43c658f4539d","description":""},{"name":"Tablets","item":[{"name":"Tables","item":[{"name":"Create Table Layout","id":"45fcaf4e-81b2-48ac-82e2-80935cb40f47","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"BranchID\": \"102\",\n  \"Name\": \"Planta Principal\",\n  \"Description\": \"Diseño principal para el restaurante\",\n  \"IsActive\": 1,\n  \"IsDefault\": 1,\n  \"LayoutMetadata\": {\n    \"canvasWidth\": 1000,\n    \"canvasHeight\": 800,\n    \"gridSize\": 10,\n    \"backgroundColor\": \"#f5f5f5\"\n  },\n  \"Zones\": [\n    {\n      \"id\": \"zone1\",\n      \"name\": \"Zona Bar\",\n      \"color\": \"#e6f7ff\"\n    },\n    {\n      \"id\": \"zone2\",\n      \"name\": \"Terraza\",\n      \"color\": \"#f0f9eb\"\n    }\n  ],\n  \"Tables\": [\n    {\"id\": 5, \"type\": \"custom-round\", \"x\": 130, \"y\": 250, \"seats\": 6, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 60, \"height\": 60, \"style\": {\"borderRadius\": \"50%\"}, \"customSeats\": [{\"x\": 50, \"y\": 0}, {\"x\": 50.00000000000001, \"y\": 95}, {\"x\": 11.028856829700274, \"y\": 72.50000000000003}, {\"x\": 5, \"y\": 50.00000000000001}, {\"x\": 7.202456766718086, \"y\": 36.09423525312737}]},\n    {\"id\": 6, \"type\": \"custom-booth\", \"x\": 130, \"y\": 120, \"seats\": 4, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 60, \"height\": 60, \"style\": {\"borderRadius\": \"20px\"}, \"customSeats\": []},\n    {\"id\": 7, \"type\": \"custom-corner-booth\", \"x\": 350, \"y\": 260, \"seats\": 12, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 60, \"height\": 60, \"style\": {\"borderRadius\": \"20px 0 4px 4px\"}, \"customSeats\": [{\"x\": 50, \"y\": 0}, {\"x\": 50.00000000000001, \"y\": 95}, {\"x\": 11.028856829700274, \"y\": 72.50000000000003}, {\"x\": 5, \"y\": 50.00000000000001}, {\"x\": 7.202456766718086, \"y\": 36.09423525312737}, {\"x\": 11.02885682970026, \"y\": 27.499999999999996}, {\"x\": 14.817583288938657, \"y\": 21.942958916357}, {\"x\": 18.180194846605353, \"y\": 18.18019484660537}]},\n    {\"id\": 8, \"type\": \"rect-6\", \"x\": 290, \"y\": 80, \"seats\": 6, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 90, \"height\": 45, \"style\": {\"borderRadius\": \"4px\"}},\n    {\"id\": 9, \"type\": \"rect-8\", \"x\": 500, \"y\": 100, \"seats\": 8, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 120, \"height\": 45, \"style\": {\"borderRadius\": \"4px\"}},\n    {\"id\": 10, \"type\": \"booth-4\", \"x\": 530, \"y\": 280, \"seats\": 4, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 80, \"height\": 45, \"style\": {\"borderRadius\": \"20px\"}},\n    {\"id\": 11, \"type\": \"booth-6\", \"x\": 700, \"y\": 220, \"seats\": 6, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 120, \"height\": 45, \"style\": {\"borderRadius\": \"20px\"}},\n    {\"id\": 12, \"type\": \"booth-6\", \"x\": 750, \"y\": 150, \"seats\": 6, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 120, \"height\": 45, \"style\": {\"borderRadius\": \"20px\"}},\n    {\"id\": 13, \"type\": \"bar-4\", \"x\": 70, \"y\": 370, \"seats\": 4, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 100, \"height\": 30, \"style\": {\"borderRadius\": \"4px\"}},\n    {\"id\": 14, \"type\": \"custom-rect\", \"x\": 40, \"y\": 40, \"seats\": 6, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 60, \"height\": 60, \"style\": {\"borderRadius\": \"4px\"}, \"customSeats\": [{\"x\": 50, \"y\": 5}, {\"x\": 88.97114317029974, \"y\": 27.499999999999996}, {\"x\": 88.97114317029974, \"y\": 72.49999999999999}, {\"x\": 50.00000000000001, \"y\": 95}, {\"x\": 11.028856829700274, \"y\": 72.50000000000003}, {\"x\": 11.02885682970026, \"y\": 27.499999999999996}]},\n    {\"id\": 15, \"type\": \"custom-rect\", \"x\": 60, \"y\": 200, \"seats\": 6, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 60, \"height\": 60, \"style\": {\"borderRadius\": \"4px\"}, \"customSeats\": [{\"x\": 50, \"y\": 5}, {\"x\": 88.97114317029974, \"y\": 27.499999999999996}, {\"x\": 88.97114317029974, \"y\": 72.49999999999999}, {\"x\": 50.00000000000001, \"y\": 95}, {\"x\": 11.028856829700274, \"y\": 72.50000000000003}, {\"x\": 11.02885682970026, \"y\": 27.499999999999996}]},\n    {\"id\": 16, \"type\": \"rect-8\", \"x\": 460, \"y\": 20, \"seats\": 8, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 120, \"height\": 45, \"style\": {\"borderRadius\": \"4px\"}},\n    {\"id\": 17, \"type\": \"booth-4\", \"x\": 310, \"y\": 0, \"seats\": 4, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 80, \"height\": 45, \"style\": {\"borderRadius\": \"20px\"}},\n    {\"id\": 18, \"type\": \"rect-6\", \"x\": 170, \"y\": 30, \"seats\": 6, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 90, \"height\": 45, \"style\": {\"borderRadius\": \"4px\"}},\n    {\"id\": 19, \"type\": \"rect-8\", \"x\": 270, \"y\": 200, \"seats\": 8, \"rotation\": 0, \"place\": \"BAR\", \"status\": \"vacant\", \"width\": 120, \"height\": 45, \"style\": {\"borderRadius\": \"4px\"}}\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/table-layout/create/","urlObject":{"path":["api","table-layout","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"45fcaf4e-81b2-48ac-82e2-80935cb40f47"},{"name":"List Table Layouts","id":"c62db02c-6ad4-439c-9320-4da3870afa6e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/table-layout/list/","urlObject":{"path":["api","table-layout","list",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"c62db02c-6ad4-439c-9320-4da3870afa6e"},{"name":"Retrieve Table Layouts","id":"53802461-0994-4c73-b386-468a89649afb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/table-layout/retrieve/102:layout_2b25f2ae","urlObject":{"path":["api","table-layout","retrieve","102:layout_2b25f2ae"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"53802461-0994-4c73-b386-468a89649afb"},{"name":"Retrieve Table Layouts Copy","id":"68502f47-a75e-4ccf-8cc2-3abd28c2616c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/table-layout/retrieve/layout_2b25f2ae","urlObject":{"path":["api","table-layout","retrieve","layout_2b25f2ae"],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"68502f47-a75e-4ccf-8cc2-3abd28c2616c"},{"name":"Crate Table State","id":"1cc56234-01c4-4f01-8993-251313a1264e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"BranchID\": \"123\",\n    \"TableID\": \"5\",\n    \"LayoutID\": \"layout_abc123\",\n    \"Status\": \"vacant\",\n    \"CurrentGuests\": 0,\n    \"Seats\": 6,\n    \"Type\": \"custom-round\",\n    \"Place\": \"BAR\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/table-layout/create/","urlObject":{"path":["api","table-layout","create",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"1cc56234-01c4-4f01-8993-251313a1264e"},{"name":"Retrieve Table State","id":"682e5db6-6d4c-46c3-8379-9b1275da26ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/table-state/retrieve/5:6/","urlObject":{"path":["api","table-state","retrieve","5:6",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"682e5db6-6d4c-46c3-8379-9b1275da26ad"},{"name":"List Table State","id":"556e9215-c5dd-4e89-b963-7688d7c07c78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/table-state/retrieve/5:6/","urlObject":{"path":["api","table-state","retrieve","5:6",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"556e9215-c5dd-4e89-b963-7688d7c07c78"},{"name":"Update Table State","id":"83e75450-655c-400c-993e-47cfe12959ba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"Status\": \"vacant\",\n    \"CurrentOrderID\": \"ORD21f670ba\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/table-state/update/5:1/","urlObject":{"path":["api","table-state","update","5:1",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[],"_postman_id":"83e75450-655c-400c-993e-47cfe12959ba"},{"name":"Order Details","id":"047aee39-02d9-49dc-bd98-1e7b8cbc4b7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"url":"http://127.0.0.1:8000/api/order-detail/list-active-orders/?branch_id=102","urlObject":{"path":["api","order-detail","list-active-orders",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branch_id","value":"102"}],"variable":[]}},"response":[],"_postman_id":"047aee39-02d9-49dc-bd98-1e7b8cbc4b7d"}],"id":"c23e5eb2-9f39-4ce4-b8f8-a87122b0b219","_postman_id":"c23e5eb2-9f39-4ce4-b8f8-a87122b0b219","description":""},{"name":"Initialize Order","id":"ebbcb472-f296-42be-bc05-d4e8e4838100","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"branchID\": \"102\",\n    \"tableNumber\": \"5\",\n    \"customerName\": \"John Doe\",\n    \"customerPhone\": \"1234567890\",\n    \"additionalInfo\": {\n        \"note\": \"Prefer window seat\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/initialize-order/","urlObject":{"path":["api","order-management","initialize-order",""],"host":["http://127.0.0.1:8000"],"query":[{"disabled":true,"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"91da6b91-5351-4248-828a-6b98510d9c1d","name":"success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"branchID\": \"102\",\n    \"tableNumber\": \"5\",\n    \"customerName\": \"John Doe\",\n    \"customerPhone\": \"1234567890\",\n    \"additionalInfo\": {\n        \"note\": \"Prefer window seat\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/order-management/initialize-order/","host":["http://127.0.0.1:8000"],"path":["api","order-management","initialize-order",""],"query":[{"key":"BranchID","value":"102","disabled":true}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"240"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Order initialized successfully\",\n    \"orderID\": \"ORD530ad075\",\n    \"validationCode\": \"YO2T0P\",\n    \"tableNumber\": \"5\",\n    \"createdAt\": 1747384488,\n    \"formattedCreatedAt\": \"2025-05-16 02:34:48\",\n    \"additionalInfo\": {\n        \"note\": \"Prefer window seat\"\n    }\n}"}],"_postman_id":"ebbcb472-f296-42be-bc05-d4e8e4838100"},{"name":"Validate Order","id":"97389da9-d0fb-41f2-942c-842d2eb7e27e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"validationCode\": \"PR3YNB\",\n  \"branchID\": \"102\" \n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/validate-order/","urlObject":{"path":["api","order-management","validate-order",""],"host":["http://127.0.0.1:8000"],"query":[{"disabled":true,"key":"BranchID","value":"102"}],"variable":[]}},"response":[{"id":"522bcb95-b5f7-4fb2-b9e1-486c9ec49537","name":"success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"orderID\": \"ORD530ad075\",\n  \"validationCode\": \"YO2T0P\",\n  \"branchID\": \"102\" \n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/order-management/validate-order/","host":["http://127.0.0.1:8000"],"path":["api","order-management","validate-order",""],"query":[{"key":"BranchID","value":"102","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"760"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Order validated successfully\",\n    \"order\": {\n        \"orderID\": \"ORD530ad075\",\n        \"branchID\": \"102\",\n        \"tenantID\": \"11\",\n        \"tableNumber\": \"5\",\n        \"customerName\": \"John Doe\",\n        \"customerPhone\": \"1234567890\",\n        \"orderType\": \"dineIn\",\n        \"orderStatus\": \"initialized\",\n        \"paymentStatus\": \"unpaid\",\n        \"paymentMethod\": null,\n        \"createdAt\": 1747384488,\n        \"updatedAt\": 1747384488,\n        \"completedAt\": null,\n        \"estimatedDeliveryTime\": null,\n        \"subtotal\": 0,\n        \"tax\": 0,\n        \"discountAmount\": 0,\n        \"tipAmount\": 0,\n        \"total\": 0,\n        \"serverID\": \"52\",\n        \"serverName\": \"ric\",\n        \"items\": [],\n        \"notes\": \"\",\n        \"tags\": [\n            \"self_service_continuation\"\n        ],\n        \"statusHistory\": [\n            {\n                \"notes\": \"Order initialized for self-service continuation\",\n                \"userName\": \"ric\",\n                \"userID\": \"52\",\n                \"timestamp\": 1747384488,\n                \"status\": \"initialized\",\n                \"previousStatus\": null\n            }\n        ],\n        \"config\": {\n            \"note\": \"Prefer window seat\"\n        }\n    }\n}"}],"_postman_id":"97389da9-d0fb-41f2-942c-842d2eb7e27e"},{"name":"Add items to order","id":"a7daf5f7-75f7-43a7-af66-854a9d32fd3c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"orderID\": \"ORD530ad075\",\n  \"branchID\": \"102\",\n  \"validationCode\": \"YO2T0P\",\n  \"items\": [\n     {\n      \"itemID\": \"ITEM17467561698900\",\n      \"type\": \"product\",\n      \"productID\": \"PRD7004dc52\",\n      \"name\": \"Limonada Mineral\",\n      \"quantity\": 1,\n      \"unitPrice\": 80,\n      \"basePrice\": 80,\n      \"totalPrice\": 85,\n      \"modifiers\": [\n        {\n          \"modifierID\": \"modifier-1743735019415\",\n          \"optionID\": \"INS713d8fa6\",\n          \"name\": \"Modificador 1: Limon\",\n          \"price\": 5,\n          \"count\": 2\n        }\n      ],\n      \"specialInstructions\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/add-items-to-order/","urlObject":{"path":["api","order-management","add-items-to-order",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"716c6a65-bd39-4675-9afa-ebfe6ef682c4","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"orderID\": \"ORD530ad075\",\n  \"branchID\": \"102\",\n  \"validationCode\": \"YO2T0P\",\n  \"items\": [\n     {\n      \"itemID\": \"ITEM17467561698900\",\n      \"type\": \"product\",\n      \"productID\": \"PRD7004dc52\",\n      \"name\": \"Limonada Mineral\",\n      \"quantity\": 1,\n      \"unitPrice\": 80,\n      \"basePrice\": 80,\n      \"totalPrice\": 85,\n      \"modifiers\": [\n        {\n          \"modifierID\": \"modifier-1743735019415\",\n          \"optionID\": \"INS713d8fa6\",\n          \"name\": \"Modificador 1: Limon\",\n          \"price\": 5,\n          \"count\": 2\n        }\n      ],\n      \"specialInstructions\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/add-items-to-order/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"4367"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Items added to order successfully\",\n    \"orderID\": \"ORD530ad075\",\n    \"previousSubtotal\": 540,\n    \"additionalSubtotal\": 90,\n    \"newSubtotal\": 630,\n    \"newTotal\": 730.8,\n    \"newStatus\": \"new\",\n    \"itemsAdded\": 1,\n    \"totalItems\": 7,\n    \"updatedOrder\": {\n        \"orderID\": \"ORD530ad075\",\n        \"branchID\": \"102\",\n        \"tenantID\": \"11\",\n        \"tableNumber\": \"5\",\n        \"customerName\": \"John Doe\",\n        \"customerPhone\": \"1234567890\",\n        \"orderType\": \"dineIn\",\n        \"orderStatus\": \"new\",\n        \"paymentStatus\": \"unpaid\",\n        \"paymentMethod\": null,\n        \"createdAt\": 1747384488,\n        \"updatedAt\": 1747387911,\n        \"completedAt\": null,\n        \"estimatedDeliveryTime\": null,\n        \"subtotal\": 630,\n        \"tax\": 100.8,\n        \"discountAmount\": 0,\n        \"tipAmount\": 0,\n        \"total\": 730.8,\n        \"serverID\": \"52\",\n        \"serverName\": \"ric\",\n        \"items\": [\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17473845507379\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 90,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 2,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 10,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 10,\n                \"basePrice\": 80\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17473845580462\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 90,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 2,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 10,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 10,\n                \"basePrice\": 80\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17473850851187\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 90,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 2,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 10,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 10,\n                \"basePrice\": 80\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17473851355199\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 90,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 2,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 10,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 10,\n                \"basePrice\": 80\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17473865985428\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 90,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 2,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 10,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 10,\n                \"basePrice\": 80\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17473874095988\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 90,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 2,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 10,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 10,\n                \"basePrice\": 80\n            },\n            {\n                \"itemID\": \"ITEM17473879121755\",\n                \"type\": \"product\",\n                \"productID\": \"PRD7004dc52\",\n                \"name\": \"Limonada Mineral\",\n                \"quantity\": 1,\n                \"unitPrice\": 80,\n                \"basePrice\": 80,\n                \"modifierPrice\": 10,\n                \"totalPrice\": 90,\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"optionID\": \"INS713d8fa6\",\n                        \"name\": \"Limon\",\n                        \"price\": 5,\n                        \"count\": 2,\n                        \"totalPrice\": 10\n                    }\n                ],\n                \"specialInstructions\": \"\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                }\n            }\n        ],\n        \"notes\": \"\",\n        \"tags\": [\n            \"self_service_continuation\"\n        ],\n        \"statusHistory\": [\n            {\n                \"notes\": \"Order initialized for self-service continuation\",\n                \"userName\": \"ric\",\n                \"userID\": \"52\",\n                \"timestamp\": 1747384488,\n                \"status\": \"initialized\",\n                \"previousStatus\": null\n            },\n            {\n                \"notes\": \"Order updated with new items\",\n                \"userName\": \"ric\",\n                \"userID\": \"52\",\n                \"timestamp\": 1747384550,\n                \"status\": \"new\",\n                \"previousStatus\": \"initialized\"\n            }\n        ],\n        \"config\": {\n            \"note\": \"Prefer window seat\"\n        }\n    },\n    \"inventoryUpdates\": {\n        \"success\": true,\n        \"message\": \"Updated 3 inventory items\",\n        \"updates\": [\n            {\n                \"ingredientID\": \"INS05e7f055\",\n                \"name\": \"Agua Mineral\",\n                \"previousQuantity\": 0,\n                \"newQuantity\": 0,\n                \"unit\": \"l\",\n                \"difference\": 0,\n                \"formattedDifference\": \"0.000 l\"\n            },\n            {\n                \"ingredientID\": \"INS713d8fa6\",\n                \"name\": \"Limon\",\n                \"previousQuantity\": 191.48,\n                \"newQuantity\": 191.35,\n                \"unit\": \"kg\",\n                \"difference\": 0.12999999999999545,\n                \"formattedDifference\": \"0.130 kg\"\n            },\n            {\n                \"ingredientID\": \"INSfb5075de\",\n                \"name\": \"Sal del Himalaya\",\n                \"previousQuantity\": 94.566,\n                \"newQuantity\": 94.546,\n                \"unit\": \"kg\",\n                \"difference\": 0.01999999999999602,\n                \"formattedDifference\": \"0.020 kg\"\n            }\n        ],\n        \"errors\": []\n    }\n}"}],"_postman_id":"a7daf5f7-75f7-43a7-af66-854a9d32fd3c"},{"name":"Get Order Details","id":"aeb0e7e2-fe52-4232-89e0-7d845be3ae1e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/get-order-details/?branchID=102&validationCode=4IVSS0&orderID=ORDfa5c9c86","urlObject":{"path":["api","order-management","get-order-details",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branchID","value":"102"},{"key":"validationCode","value":"4IVSS0"},{"key":"orderID","value":"ORDfa5c9c86"}],"variable":[]}},"response":[{"id":"04535511-d4aa-4a0e-a8b4-5981121d8d72","name":"Success","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/order-management/get-order-details/?branchID=102&validationCode=4IVSS0&orderID=ORDfa5c9c86","host":["http://127.0.0.1:8000"],"path":["api","order-management","get-order-details",""],"query":[{"key":"branchID","value":"102"},{"key":"validationCode","value":"4IVSS0"},{"key":"orderID","value":"ORDfa5c9c86"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"3742"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"order\": {\n        \"orderID\": \"ORDfa5c9c86\",\n        \"branchID\": \"102\",\n        \"tenantID\": \"11\",\n        \"tableNumber\": \"5\",\n        \"customerName\": \"John Doe\",\n        \"customerPhone\": \"1234567890\",\n        \"orderType\": \"dineIn\",\n        \"orderStatus\": \"new\",\n        \"paymentStatus\": \"unpaid\",\n        \"paymentMethod\": null,\n        \"createdAt\": 1747379112,\n        \"updatedAt\": 1747380528,\n        \"completedAt\": null,\n        \"estimatedDeliveryTime\": null,\n        \"subtotal\": 855,\n        \"tax\": 136.8,\n        \"discountAmount\": 0,\n        \"tipAmount\": 0,\n        \"total\": 991.8,\n        \"serverID\": \"52\",\n        \"serverName\": \"ric\",\n        \"items\": [\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17467561698900\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 85,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 1,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 5,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 5,\n                \"basePrice\": 80\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17467561698900\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 85,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 1,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 5,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 5,\n                \"basePrice\": 80\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17467561698900\",\n                \"quantity\": 2,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 170,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 1,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 5,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 10,\n                \"basePrice\": 160\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17467561698900\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 85,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 1,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 5,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 5,\n                \"basePrice\": 80\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17467561698900\",\n                \"quantity\": 4,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 340,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 1,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 5,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 20,\n                \"basePrice\": 320\n            },\n            {\n                \"unitPrice\": 80,\n                \"itemID\": \"ITEM17467561698900\",\n                \"quantity\": 1,\n                \"productID\": \"PRD7004dc52\",\n                \"totalPrice\": 90,\n                \"specialInstructions\": \"\",\n                \"name\": \"Limonada Mineral\",\n                \"kds\": {\n                    \"station\": \"main\",\n                    \"estimatedPrepTime\": 10\n                },\n                \"type\": \"product\",\n                \"modifiers\": [\n                    {\n                        \"modifierID\": \"modifier-1743735019415\",\n                        \"name\": \"Limon\",\n                        \"count\": 2,\n                        \"optionID\": \"INS713d8fa6\",\n                        \"totalPrice\": 10,\n                        \"price\": 5\n                    }\n                ],\n                \"modifierPrice\": 10,\n                \"basePrice\": 80\n            }\n        ],\n        \"notes\": \"\",\n        \"tags\": [\n            \"self_service_continuation\"\n        ],\n        \"statusHistory\": [\n            {\n                \"notes\": \"Order initialized for self-service continuation\",\n                \"userName\": \"ric\",\n                \"userID\": \"52\",\n                \"timestamp\": 1747379112,\n                \"status\": \"initialized\",\n                \"previousStatus\": null\n            },\n            {\n                \"notes\": \"Order updated with new items\",\n                \"userName\": \"ric\",\n                \"userID\": \"52\",\n                \"timestamp\": 1747379216,\n                \"status\": \"new\",\n                \"previousStatus\": \"initialized\"\n            }\n        ],\n        \"config\": {\n            \"note\": \"Prefer window seat\"\n        }\n    },\n    \"kdsStatus\": {\n        \"ITEM17467561698900\": {\n            \"status\": \"new\",\n            \"startedAt\": null,\n            \"completedAt\": null,\n            \"assignedTo\": null,\n            \"station\": \"main\",\n            \"priority\": 5,\n            \"estimatedPrepTime\": 10,\n            \"statusHistory\": [\n                {\n                    \"notes\": \"Item added to existing order\",\n                    \"userName\": \"ric\",\n                    \"userID\": \"52\",\n                    \"timestamp\": 1747380528,\n                    \"status\": \"new\",\n                    \"previousStatus\": null\n                }\n            ]\n        }\n    },\n    \"payments\": [],\n    \"formattedTimes\": {\n        \"created\": \"2025-05-16 01:05:12\",\n        \"updated\": \"2025-05-16 01:28:48\",\n        \"completed\": null\n    },\n    \"financials\": {\n        \"subtotal\": 855,\n        \"tax\": 136.8,\n        \"discount\": 0,\n        \"tip\": 0,\n        \"total\": 991.8,\n        \"totalPaid\": 0,\n        \"remainingAmount\": 991.8\n    },\n    \"tags\": [\n        \"self_service_continuation\"\n    ],\n    \"isSelfServiceContinuation\": true\n}"}],"_postman_id":"aeb0e7e2-fe52-4232-89e0-7d845be3ae1e"},{"name":"Process Order Payment","id":"b3b855e5-37fb-4dc0-ba31-f7231dae3c11","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"orderID\": \"ORD92269227\",\n    \"branchID\": \"102\",\n    \"validationCode\": \"S9CR3F\", \n    \"amount\": 109.5,\n    \"tipPercentage\": 0,\n    \"paymentMethod\": \"card\",\n    \"paymentDetails\": {\n        \"terminalID\": \"TERM001\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/process-order-payment/","urlObject":{"path":["api","order-management","process-order-payment",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"5c495a54-fdad-4091-8b31-813051770e9e","name":"success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"orderID\": \"ORDf9b16fb7\",\n    \"branchID\": \"102\",\n    \"validationCode\": \"XH6SKL\",\n    \"amount\": 111.6,\n    \"paymentMethod\": \"card\",\n    \"paymentDetails\": {\n        \"terminalID\": \"TERM001\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/process-order-payment/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"444"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Payment transaction created successfully\",\n    \"transactionID\": \"TRX88e46c87\",\n    \"paymentValidationCode\": \"SCZWNW\",\n    \"amount\": 111.6,\n    \"orderID\": \"ORDf9b16fb7\",\n    \"orderTotal\": 208.8,\n    \"totalPaidSuccess\": 0,\n    \"totalPaidPending\": 97.2,\n    \"totalPaidWithCurrent\": 111.6,\n    \"remainingAmountAfterSuccess\": 97.2,\n    \"remainingAmountWithPending\": 0,\n    \"isFullyPaid\": false,\n    \"paymentStatus\": \"partial\",\n    \"createdAt\": 1747383873,\n    \"formattedCreatedAt\": \"2025-05-16 02:24:33\"\n}"}],"_postman_id":"b3b855e5-37fb-4dc0-ba31-f7231dae3c11"},{"name":"Validate Payment Code","id":"29ac0ae6-f618-4cbe-a8a9-31bbb57cb59b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"paymentValidationCode\": \"SCZWNW\",\n    \"branchID\": \"102\"\n    //\"orderID\": \"ORDe0045fb3\"  // Opcional, para validación adicional\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/validate-payment-code/","urlObject":{"path":["api","order-management","validate-payment-code",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"ad529456-2c77-4483-bf7b-b632bc4316b5","name":"success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"paymentValidationCode\": \"SCZWNW\",\n    \"branchID\": \"102\"\n    //\"orderID\": \"ORDe0045fb3\"  // Opcional, para validación adicional\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/validate-payment-code/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"381"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Payment successfully validated and order completed\",\n    \"transactionID\": \"TRX88e46c87\",\n    \"orderID\": \"ORDf9b16fb7\",\n    \"amount\": 111.6,\n    \"orderTotal\": 208.8,\n    \"totalPaid\": 111.6,\n    \"remainingAmount\": 97.20000000000002,\n    \"isFullyPaid\": true,\n    \"paymentStatus\": \"paid\",\n    \"orderCompleted\": true,\n    \"orderStatus\": \"completed\",\n    \"completedAt\": 1747383880,\n    \"formattedCompletedAt\": \"2025-05-16 02:24:40\"\n}"}],"_postman_id":"29ac0ae6-f618-4cbe-a8a9-31bbb57cb59b"},{"name":"Call Waiter","id":"6f12bae0-7475-47d1-b497-ea9e391536fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"orderID\": ORD92269227,\n    \"validationCode\": S9CR3F, \n    \"branchID\": \"102\",\n    \"requestType\": \"general_assistance\", // Options: general_assistance, check_please, payment_assistance, food_issue, complaint, emergency\n    \"message\": \"\"\n}\n","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/call-waiter/","urlObject":{"path":["api","order-management","call-waiter",""],"host":["http://127.0.0.1:8000"],"query":[],"variable":[]}},"response":[{"id":"df17b7bf-b008-4ed1-bf6c-40550f3b7759","name":"success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"paymentValidationCode\": \"SCZWNW\",\n    \"branchID\": \"102\"\n    //\"orderID\": \"ORDe0045fb3\"  // Opcional, para validación adicional\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/order-management/validate-payment-code/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"381"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Server","value":"daphne"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"message\": \"Payment successfully validated and order completed\",\n    \"transactionID\": \"TRX88e46c87\",\n    \"orderID\": \"ORDf9b16fb7\",\n    \"amount\": 111.6,\n    \"orderTotal\": 208.8,\n    \"totalPaid\": 111.6,\n    \"remainingAmount\": 97.20000000000002,\n    \"isFullyPaid\": true,\n    \"paymentStatus\": \"paid\",\n    \"orderCompleted\": true,\n    \"orderStatus\": \"completed\",\n    \"completedAt\": 1747383880,\n    \"formattedCompletedAt\": \"2025-05-16 02:24:40\"\n}"}],"_postman_id":"6f12bae0-7475-47d1-b497-ea9e391536fa"}],"id":"941504fe-86e7-4899-a740-69e16e322cbd","_postman_id":"941504fe-86e7-4899-a740-69e16e322cbd","description":""},{"name":"Business Reports","item":[{"name":"Most Purchased","id":"16dfd791-0478-4878-8e22-85d3f0ec05f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/reports/most-purchased-product/?branch_id=2&start_date=2025-01-08&end_date=2025-12-31","urlObject":{"path":["api","reports","most-purchased-product",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branch_id","value":"2"},{"key":"start_date","value":"2025-01-08"},{"key":"end_date","value":"2025-12-31"}],"variable":[]}},"response":[{"id":"0a35f0a8-3b5d-4f46-bac2-891ffcaa8843","name":"Most Purchased","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/reports/most-purchased-product/?branch_id=1&start_date=2025-01-01&end_date=2025-12-31","host":["http://127.0.0.1:8000"],"path":["api","reports","most-purchased-product",""],"query":[{"key":"branch_id","value":"1"},{"key":"start_date","value":"2025-01-01"},{"key":"end_date","value":"2025-12-31"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Sat, 10 Jan 2026 20:36:55 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.7"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"873"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"branch_id\": \"1\",\n    \"branch_name\": \"Pollo Chillon\",\n    \"start_date\": \"2025-01-01\",\n    \"end_date\": \"2025-12-31\",\n    \"total_orders\": 136,\n    \"most_purchased_product\": {\n        \"product_id\": \"PRD84d6e4d2\",\n        \"product_name\": \"Café Americano Grande\",\n        \"quantity_sold\": 119,\n        \"revenue\": 7370,\n        \"order_count\": 99\n    },\n    \"top_5_products\": [\n        {\n            \"product_id\": \"PRD84d6e4d2\",\n            \"product_name\": \"Café Americano Grande\",\n            \"quantity_sold\": 119,\n            \"revenue\": 7370,\n            \"order_count\": 99\n        },\n        {\n            \"product_id\": \"PRD52814388\",\n            \"product_name\": \"Papas Beetlejuce\",\n            \"quantity_sold\": 30,\n            \"revenue\": 1840,\n            \"order_count\": 26\n        },\n        {\n            \"product_id\": \"PRD03089d5a\",\n            \"product_name\": \"Enchiladas Ketorcidas\",\n            \"quantity_sold\": 21,\n            \"revenue\": 2960,\n            \"order_count\": 18\n        },\n        {\n            \"product_id\": \"PRD481a5e1e\",\n            \"product_name\": \"Chicles de prueba\",\n            \"quantity_sold\": 18,\n            \"revenue\": 90,\n            \"order_count\": 11\n        },\n        {\n            \"product_id\": \"PRDe22dd798\",\n            \"product_name\": \"jugo de aguacate\",\n            \"quantity_sold\": 14,\n            \"revenue\": 280,\n            \"order_count\": 12\n        }\n    ]\n}"}],"_postman_id":"16dfd791-0478-4878-8e22-85d3f0ec05f6"},{"name":"KPIs","id":"803db570-86e9-49b4-ad57-6811152f6874","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/reports/compute-kpis/?branch_id=2&start_date=2025-02-1&end_date=2025-12-30","urlObject":{"path":["api","reports","compute-kpis",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branch_id","value":"2"},{"key":"start_date","value":"2025-02-1"},{"key":"end_date","value":"2025-12-30"}],"variable":[]}},"response":[{"id":"4172ed92-d750-40d8-93c5-01517c04d8ac","name":"KPI","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/reports/compute-kpis/?branch_id=1&start_date=2025-01-01&end_date=2025-12-31","host":["http://127.0.0.1:8000"],"path":["api","reports","compute-kpis",""],"query":[{"key":"branch_id","value":"1"},{"key":"start_date","value":"2025-01-01"},{"key":"end_date","value":"2025-12-31"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Sat, 10 Jan 2026 20:42:15 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.7"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"900"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"KPI data retrieved from cache\",\n    \"kpi_id\": 1,\n    \"branch_id\": \"1\",\n    \"branch_name\": \"Pollo Chillon\",\n    \"period\": {\n        \"start_date\": \"2025-01-01\",\n        \"end_date\": \"2025-12-31\",\n        \"days\": 365\n    },\n    \"is_final\": false,\n    \"computed_at\": \"2026-01-10T20:39:59.953917+00:00\",\n    \"updated_at\": \"2026-01-10T20:39:59.953945+00:00\",\n    \"computed_by\": \"ric\",\n    \"kpis\": {\n        \"sales\": {\n            \"total_sales\": 5515,\n            \"total_orders\": 295,\n            \"cancelled_orders\": 0,\n            \"completed_orders\": 35,\n            \"average_purchase_amount\": 157.57\n        },\n        \"metadata\": {\n            \"version\": \"1.0\",\n            \"computed_at\": \"2026-01-10T20:39:59.371829+00:00\",\n            \"computed_by\": \"ric\",\n            \"period_days\": 365\n        },\n        \"breakdown\": {\n            \"by_order_type\": {\n                \"dineIn\": {\n                    \"count\": 35,\n                    \"revenue\": 5515\n                }\n            },\n            \"daily_averages\": {\n                \"avg_daily_orders\": 0.1,\n                \"avg_daily_revenue\": 15.11\n            }\n        },\n        \"financial_summary\": {\n            \"income\": {\n                \"total_revenue\": 5515,\n                \"by_payment_method\": {}\n            },\n            \"balance\": {\n                \"net_income\": 5215,\n                \"gross_profit\": 5515\n            },\n            \"expenses\": {\n                \"by_category\": {},\n                \"total_expenses\": 300\n            }\n        }\n    },\n    \"from_cache\": true\n}"}],"_postman_id":"803db570-86e9-49b4-ad57-6811152f6874"},{"name":"Orders Traffic","id":"a935c93f-3ef9-4424-8c88-c4867b179426","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/reports/order-traffic-by-hours/?branch_id=2&start_date=2025-01-02&end_date=2025-12-31","urlObject":{"path":["api","reports","order-traffic-by-hours",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branch_id","value":"2"},{"key":"start_date","value":"2025-01-02"},{"key":"end_date","value":"2025-12-31"}],"variable":[]}},"response":[{"id":"35def68d-5acd-4f56-9a99-1e1e5d95d5ee","name":"Order Traffic","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/reports/order-traffic-by-hours/?branch_id=1&start_date=2025-01-01&end_date=2025-12-31","host":["http://127.0.0.1:8000"],"path":["api","reports","order-traffic-by-hours",""],"query":[{"key":"branch_id","value":"1"},{"key":"start_date","value":"2025-01-01"},{"key":"end_date","value":"2025-12-31"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Sat, 10 Jan 2026 20:50:58 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.7"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1843"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"branch_id\": \"1\",\n    \"branch_name\": \"Pollo Chillon\",\n    \"period\": {\n        \"start_date\": \"2025-01-01\",\n        \"end_date\": \"2025-12-31\",\n        \"days\": 365\n    },\n    \"summary\": {\n        \"total_orders\": 295,\n        \"avg_orders_per_day\": 0.81\n    },\n    \"traffic_by_time\": [\n        {\n            \"time_range\": \"00:00-02:00\",\n            \"start_hour\": 0,\n            \"end_hour\": 2,\n            \"order_count\": 47,\n            \"percentage\": 15.93,\n            \"revenue\": 770\n        },\n        {\n            \"time_range\": \"02:00-04:00\",\n            \"start_hour\": 2,\n            \"end_hour\": 4,\n            \"order_count\": 40,\n            \"percentage\": 13.56,\n            \"revenue\": 0\n        },\n        {\n            \"time_range\": \"04:00-06:00\",\n            \"start_hour\": 4,\n            \"end_hour\": 6,\n            \"order_count\": 0,\n            \"percentage\": 0,\n            \"revenue\": 0\n        },\n        {\n            \"time_range\": \"06:00-08:00\",\n            \"start_hour\": 6,\n            \"end_hour\": 8,\n            \"order_count\": 0,\n            \"percentage\": 0,\n            \"revenue\": 0\n        },\n        {\n            \"time_range\": \"08:00-10:00\",\n            \"start_hour\": 8,\n            \"end_hour\": 10,\n            \"order_count\": 0,\n            \"percentage\": 0,\n            \"revenue\": 0\n        },\n        {\n            \"time_range\": \"10:00-12:00\",\n            \"start_hour\": 10,\n            \"end_hour\": 12,\n            \"order_count\": 5,\n            \"percentage\": 1.69,\n            \"revenue\": 0\n        },\n        {\n            \"time_range\": \"12:00-14:00\",\n            \"start_hour\": 12,\n            \"end_hour\": 14,\n            \"order_count\": 9,\n            \"percentage\": 3.05,\n            \"revenue\": 490\n        },\n        {\n            \"time_range\": \"14:00-16:00\",\n            \"start_hour\": 14,\n            \"end_hour\": 16,\n            \"order_count\": 67,\n            \"percentage\": 22.71,\n            \"revenue\": 970\n        },\n        {\n            \"time_range\": \"16:00-18:00\",\n            \"start_hour\": 16,\n            \"end_hour\": 18,\n            \"order_count\": 34,\n            \"percentage\": 11.53,\n            \"revenue\": 1135\n        },\n        {\n            \"time_range\": \"18:00-20:00\",\n            \"start_hour\": 18,\n            \"end_hour\": 20,\n            \"order_count\": 55,\n            \"percentage\": 18.64,\n            \"revenue\": 0\n        },\n        {\n            \"time_range\": \"20:00-22:00\",\n            \"start_hour\": 20,\n            \"end_hour\": 22,\n            \"order_count\": 22,\n            \"percentage\": 7.46,\n            \"revenue\": 770\n        },\n        {\n            \"time_range\": \"22:00-24:00\",\n            \"start_hour\": 22,\n            \"end_hour\": 24,\n            \"order_count\": 16,\n            \"percentage\": 5.42,\n            \"revenue\": 1380\n        }\n    ],\n    \"busiest_periods\": [\n        {\n            \"time_range\": \"14:00-16:00\",\n            \"start_hour\": 14,\n            \"end_hour\": 16,\n            \"order_count\": 67,\n            \"percentage\": 22.71,\n            \"revenue\": 970\n        },\n        {\n            \"time_range\": \"18:00-20:00\",\n            \"start_hour\": 18,\n            \"end_hour\": 20,\n            \"order_count\": 55,\n            \"percentage\": 18.64,\n            \"revenue\": 0\n        },\n        {\n            \"time_range\": \"00:00-02:00\",\n            \"start_hour\": 0,\n            \"end_hour\": 2,\n            \"order_count\": 47,\n            \"percentage\": 15.93,\n            \"revenue\": 770\n        }\n    ]\n}"}],"_postman_id":"a935c93f-3ef9-4424-8c88-c4867b179426"},{"name":"Orders Distribution","id":"00a4107f-b534-497e-803a-bf59d6fdcdc8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/reports/payment-method-distribution/?branch_id=2&start_date=2025-01-01&end_date=2025-12-31","urlObject":{"path":["api","reports","payment-method-distribution",""],"host":["http://127.0.0.1:8000"],"query":[{"key":"branch_id","value":"2"},{"key":"start_date","value":"2025-01-01"},{"key":"end_date","value":"2025-12-31"}],"variable":[]}},"response":[{"id":"3f61d5ee-bdef-460e-95cc-0ef5d1db796b","name":"Payment Method distribution","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/reports/payment-method-distribution/?branch_id=1&start_date=2025-01-01&end_date=2025-12-31","host":["http://127.0.0.1:8000"],"path":["api","reports","payment-method-distribution",""],"query":[{"key":"branch_id","value":"1"},{"key":"start_date","value":"2025-01-01"},{"key":"end_date","value":"2025-12-31"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Sat, 10 Jan 2026 20:54:08 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.7"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"647"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"branch_id\": \"1\",\n    \"branch_name\": \"Pollo Chillon\",\n    \"period\": {\n        \"start_date\": \"2025-01-01\",\n        \"end_date\": \"2025-12-31\"\n    },\n    \"summary\": {\n        \"total_transactions\": 35,\n        \"total_amount\": 5515,\n        \"avg_transaction_amount\": 157.57\n    },\n    \"cash_vs_card\": {\n        \"cash\": {\n            \"transaction_count\": 0,\n            \"total_amount\": 0,\n            \"percentage_by_count\": 0,\n            \"percentage_by_amount\": 0\n        },\n        \"card\": {\n            \"transaction_count\": 0,\n            \"total_amount\": 0,\n            \"percentage_by_count\": 0,\n            \"percentage_by_amount\": 0\n        }\n    },\n    \"by_payment_method\": {\n        \"unknown\": {\n            \"transaction_count\": 35,\n            \"total_amount\": 5515,\n            \"percentage_by_count\": 100,\n            \"percentage_by_amount\": 100,\n            \"avg_transaction_amount\": 157.57\n        }\n    },\n    \"top_method\": {\n        \"by_count\": \"unknown\",\n        \"by_amount\": \"unknown\"\n    }\n}"}],"_postman_id":"00a4107f-b534-497e-803a-bf59d6fdcdc8"},{"name":"Top Modifiers","id":"5fcc7215-bcd0-4627-b771-fbc771308227","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/reports/top-modifiers?branch_id=2&start_date=2025-01-01&end_date=2025-12-31","urlObject":{"path":["api","reports","top-modifiers"],"host":["http://127.0.0.1:8000"],"query":[{"key":"branch_id","value":"2"},{"key":"start_date","value":"2025-01-01"},{"key":"end_date","value":"2025-12-31"}],"variable":[]}},"response":[{"id":"4c5dadc0-9533-4e35-a7e1-28f6efb79281","name":"Top Modifiers","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\n    \"branch_id\":1\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://127.0.0.1:8000/api/reports/top-modifiers?branch_id=1&start_date=2025-01-01&end_date=2025-12-31","host":["http://127.0.0.1:8000"],"path":["api","reports","top-modifiers"],"query":[{"key":"branch_id","value":"1"},{"key":"start_date","value":"2025-01-01"},{"key":"end_date","value":"2025-12-31"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Sat, 10 Jan 2026 21:02:06 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.13.7"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"1394"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"branch_id\": \"1\",\n    \"branch_name\": \"Pollo Chillon\",\n    \"period\": {\n        \"start_date\": \"2025-01-01\",\n        \"end_date\": \"2025-12-31\",\n        \"days\": 365\n    },\n    \"summary\": {\n        \"total_items\": 438,\n        \"items_with_modifiers\": 120,\n        \"percentage_items_with_modifiers\": 27.4,\n        \"total_modifiers\": 240,\n        \"unique_modifiers\": 4,\n        \"avg_modifiers_per_item\": 0.55,\n        \"total_revenue_from_modifiers\": 1955\n    },\n    \"top_modifiers\": [\n        {\n            \"name\": \"Limon\",\n            \"normalized_name\": \"limon\",\n            \"count\": 145,\n            \"percentage\": 60.42,\n            \"total_revenue_impact\": 965,\n            \"avg_price\": 6.66,\n            \"top_products\": [\n                {\n                    \"product_name\": \"Café Americano Grande\",\n                    \"times_used\": 92\n                },\n                {\n                    \"product_name\": \"Enchiladas Ketorcidas\",\n                    \"times_used\": 51\n                },\n                {\n                    \"product_name\": \"Choco Javi\",\n                    \"times_used\": 2\n                }\n            ]\n        },\n        {\n            \"name\": \"Aguacate\",\n            \"normalized_name\": \"aguacate\",\n            \"count\": 88,\n            \"percentage\": 36.67,\n            \"total_revenue_impact\": 990,\n            \"avg_price\": 11.25,\n            \"top_products\": [\n                {\n                    \"product_name\": \"Café Americano Grande\",\n                    \"times_used\": 47\n                },\n                {\n                    \"product_name\": \"Enchiladas Ketorcidas\",\n                    \"times_used\": 37\n                },\n                {\n                    \"product_name\": \"jugo de aguacate\",\n                    \"times_used\": 2\n                }\n            ]\n        },\n        {\n            \"name\": \"Chile Jalapeño\",\n            \"normalized_name\": \"chile jalapeño\",\n            \"count\": 4,\n            \"percentage\": 1.67,\n            \"total_revenue_impact\": 0,\n            \"avg_price\": 0,\n            \"top_products\": [\n                {\n                    \"product_name\": \"Hamburguesa de pepino\",\n                    \"times_used\": 4\n                }\n            ]\n        },\n        {\n            \"name\": \"Crema de cacahuate\",\n            \"normalized_name\": \"crema de cacahuate\",\n            \"count\": 3,\n            \"percentage\": 1.25,\n            \"total_revenue_impact\": 0,\n            \"avg_price\": 0,\n            \"top_products\": [\n                {\n                    \"product_name\": \"Hamburguesa de pepino\",\n                    \"times_used\": 3\n                }\n            ]\n        }\n    ],\n    \"all_modifiers_count\": 4\n}"}],"_postman_id":"5fcc7215-bcd0-4627-b771-fbc771308227"}],"id":"fca05937-ec3a-4fc2-9ecd-609e9b2a5112","_postman_id":"fca05937-ec3a-4fc2-9ecd-609e9b2a5112","description":""}],"variable":[{"key":"host","value":"http://127.0.0.1:8000"},{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzMzNTU5MjgwLCJpYXQiOjE3MzM1Mzc2ODAsImp0aSI6IjkyZGZkYTQ5YTE0NTQ4ZmZhNjIwODY0OGNiOWU2OTU0IiwidXNlcl9pZCI6MX0.2AOvadv1-v8iwOhhArg76abAxl4kvrnT1PK6EAHKa2E"},{"key":"mercado_key","value":"mercado_api_key"},{"key":"user_id","value":"266335283","type":"default"},{"key":"branch_id","value":"5"},{"key":"host_sandbox","value":"https://sandbox.batora.io","type":"default"},{"key":"kiosk_id","value":"15","type":"default"},{"key":"sandbox_host","value":"sandbox_host","type":"default"},{"key":"validationCode","value":"S9CR3F","type":"default"},{"key":"order_id","value":"ORD92269227","type":"default"}]}