{
	"info": {
		"_postman_id": "apskel-pos-api-collection",
		"name": "APSkel POS API",
		"description": "Complete API collection for APSkel POS Backend System",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"variable": [
		{
			"key": "base_url",
			"value": "http://localhost:4000",
			"type": "string"
		},
		{
			"key": "auth_token",
			"value": "",
			"type": "string"
		},
		{
			"key": "organization_id",
			"value": "",
			"type": "string"
		},
		{
			"key": "outlet_id",
			"value": "",
			"type": "string"
		},
		{
			"key": "user_id",
			"value": "",
			"type": "string"
		}
	],
	"auth": {
		"type": "bearer",
		"bearer": [
			{
				"key": "token",
				"value": "{{auth_token}}",
				"type": "string"
			}
		]
	},
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		}
	],
	"item": [
		{
			"name": "Health Check",
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "{{base_url}}/health",
					"host": ["{{base_url}}"],
					"path": ["health"]
				}
			}
		},
		{
			"name": "Authentication",
			"item": [
				{
					"name": "Login",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"email\": \"admin@example.com\",\n  \"password\": \"password123\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/auth/login",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "auth", "login"]
						}
					}
				},
				{
					"name": "Logout",
					"request": {
						"method": "POST",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/auth/logout",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "auth", "logout"]
						}
					}
				},
				{
					"name": "Refresh Token",
					"request": {
						"method": "POST",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/auth/refresh",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "auth", "refresh"]
						}
					}
				},
				{
					"name": "Validate Token",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/auth/validate",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "auth", "validate"]
						}
					}
				},
				{
					"name": "Get Profile",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/auth/profile",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "auth", "profile"]
						}
					}
				}
			]
		},
		{
			"name": "Organizations",
			"item": [
				{
					"name": "Create Organization (Public)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Sample Restaurant\",\n  \"address\": \"123 Main Street, City\",\n  \"phone\": \"+1234567890\",\n  \"email\": \"contact@samplerestaurant.com\",\n  \"tax_number\": \"TAX123456789\",\n  \"currency\": \"USD\",\n  \"timezone\": \"UTC\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/organizations",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "organizations"]
						}
					}
				},
				{
					"name": "List Organizations (Super Admin)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/organizations?page=1&limit=10",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "organizations"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								}
							]
						}
					}
				},
				{
					"name": "Get Organization (Super Admin)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/organizations/{{organization_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "organizations", "{{organization_id}}"]
						}
					}
				},
				{
					"name": "Update Organization (Super Admin)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Updated Restaurant Name\",\n  \"address\": \"456 New Street, City\",\n  \"phone\": \"+1987654321\",\n  \"email\": \"newcontact@restaurant.com\",\n  \"tax_number\": \"TAX987654321\",\n  \"currency\": \"EUR\",\n  \"timezone\": \"Europe/London\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/organizations/{{organization_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "organizations", "{{organization_id}}"]
						}
					}
				},
				{
					"name": "Delete Organization (Super Admin)",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/organizations/{{organization_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "organizations", "{{organization_id}}"]
						}
					}
				}
			]
		},
		{
			"name": "Users",
			"item": [
				{
					"name": "Create User (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"organization_id\": \"{{organization_id}}\",\n  \"outlet_id\": \"{{outlet_id}}\",\n  \"name\": \"John Doe\",\n  \"email\": \"john.doe@example.com\",\n  \"password\": \"password123\",\n  \"role\": \"cashier\",\n  \"permissions\": {\n    \"can_create_orders\": true,\n    \"can_void_orders\": false\n  }\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/users",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "users"]
						}
					}
				},
				{
					"name": "List Users (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/users?page=1&limit=10&role=cashier&outlet_id={{outlet_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "users"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								},
								{
									"key": "role",
									"value": "cashier"
								},
								{
									"key": "outlet_id",
									"value": "{{outlet_id}}"
								}
							]
						}
					}
				},
				{
					"name": "Get User (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/users/{{user_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "users", "{{user_id}}"]
						}
					}
				},
				{
					"name": "Update User (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"John Updated Doe\",\n  \"email\": \"john.updated@example.com\",\n  \"role\": \"manager\",\n  \"outlet_id\": \"{{outlet_id}}\",\n  \"is_active\": true,\n  \"permissions\": {\n    \"can_create_orders\": true,\n    \"can_void_orders\": true,\n    \"can_manage_inventory\": true\n  }\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/users/{{user_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "users", "{{user_id}}"]
						}
					}
				},
				{
					"name": "Delete User (Admin/Manager)",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/users/{{user_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "users", "{{user_id}}"]
						}
					}
				},
				{
					"name": "Activate User (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/users/{{user_id}}/activate",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "users", "{{user_id}}", "activate"]
						}
					}
				},
				{
					"name": "Deactivate User (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/users/{{user_id}}/deactivate",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "users", "{{user_id}}", "deactivate"]
						}
					}
				},
				{
					"name": "Change Password",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"current_password\": \"oldpassword123\",\n  \"new_password\": \"newpassword123\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/users/{{user_id}}/password",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "users", "{{user_id}}", "password"]
						}
					}
				}
			]
		},
		{
			"name": "Categories",
			"item": [
				{
					"name": "Create Category (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Beverages\",\n  \"description\": \"All types of drinks and beverages\",\n  \"color\": \"#FF6B6B\",\n  \"is_active\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/categories",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "categories"]
						}
					}
				},
				{
					"name": "List Categories (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/categories?page=1&limit=10&is_active=true",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "categories"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								},
								{
									"key": "is_active",
									"value": "true"
								}
							]
						}
					}
				},
				{
					"name": "Get Category (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/categories/{{category_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "categories", "{{category_id}}"]
						}
					}
				},
				{
					"name": "Update Category (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Hot Beverages\",\n  \"description\": \"Hot drinks like coffee and tea\",\n  \"color\": \"#4ECDC4\",\n  \"is_active\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/categories/{{category_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "categories", "{{category_id}}"]
						}
					}
				},
				{
					"name": "Delete Category (Admin/Manager)",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/categories/{{category_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "categories", "{{category_id}}"]
						}
					}
				}
			]
		},
		{
			"name": "Products",
			"item": [
				{
					"name": "Create Product (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Cappuccino\",\n  \"description\": \"Classic Italian coffee drink\",\n  \"category_id\": \"{{category_id}}\",\n  \"sku\": \"CAP001\",\n  \"barcode\": \"1234567890123\",\n  \"price\": 4.50,\n  \"cost\": 1.20,\n  \"is_active\": true,\n  \"has_variants\": false,\n  \"image_url\": \"https://example.com/cappuccino.jpg\",\n  \"printer_type\": \"kitchen\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/products",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "products"]
						}
					}
				},
				{
					"name": "List Products (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/products?page=1&limit=10&category_id={{category_id}}&is_active=true",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "products"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								},
								{
									"key": "category_id",
									"value": "{{category_id}}"
								},
								{
									"key": "is_active",
									"value": "true"
								}
							]
						}
					}
				},
				{
					"name": "Get Product (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/products/{{product_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "products", "{{product_id}}"]
						}
					}
				},
				{
					"name": "Update Product (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Premium Cappuccino\",\n  \"description\": \"Premium Italian coffee drink with extra foam\",\n  \"price\": 5.50,\n  \"cost\": 1.50,\n  \"is_active\": true,\n  \"image_url\": \"https://example.com/premium-cappuccino.jpg\",\n  \"printer_type\": \"kitchen\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/products/{{product_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "products", "{{product_id}}"]
						}
					}
				},
				{
					"name": "Delete Product (Admin/Manager)",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/products/{{product_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "products", "{{product_id}}"]
						}
					}
				}
			]
		},
		{
			"name": "Inventory",
			"item": [
				{
					"name": "Create Inventory (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"product_id\": \"{{product_id}}\",\n  \"outlet_id\": \"{{outlet_id}}\",\n  \"quantity\": 100,\n  \"min_stock_level\": 10,\n  \"max_stock_level\": 200\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/inventory",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "inventory"]
						}
					}
				},
				{
					"name": "List Inventory (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/inventory?page=1&limit=10&outlet_id={{outlet_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "inventory"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								},
								{
									"key": "outlet_id",
									"value": "{{outlet_id}}"
								}
							]
						}
					}
				},
				{
					"name": "Get Inventory (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/inventory/{{inventory_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "inventory", "{{inventory_id}}"]
						}
					}
				},
				{
					"name": "Update Inventory (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"quantity\": 150,\n  \"min_stock_level\": 15,\n  \"max_stock_level\": 250\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/inventory/{{inventory_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "inventory", "{{inventory_id}}"]
						}
					}
				},
				{
					"name": "Delete Inventory (Admin/Manager)",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/inventory/{{inventory_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "inventory", "{{inventory_id}}"]
						}
					}
				},
				{
					"name": "Adjust Inventory (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"product_id\": \"{{product_id}}\",\n  \"outlet_id\": \"{{outlet_id}}\",\n  \"quantity_change\": -5,\n  \"reason\": \"Sales transaction\",\n  \"movement_type\": \"sale\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/inventory/adjust",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "inventory", "adjust"]
						}
					}
				},
				{
					"name": "Get Low Stock Items (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/inventory/low-stock/{{outlet_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "inventory", "low-stock", "{{outlet_id}}"]
						}
					}
				},
				{
					"name": "Get Zero Stock Items (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/inventory/zero-stock/{{outlet_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "inventory", "zero-stock", "{{outlet_id}}"]
						}
					}
				}
			]
		},
		{
			"name": "Orders",
			"item": [
				{
					"name": "Create Order (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"outlet_id\": \"{{outlet_id}}\",\n  \"user_id\": \"{{user_id}}\",\n  \"table_number\": \"A1\",\n  \"order_type\": \"dine_in\",\n  \"notes\": \"Extra hot please\",\n  \"order_items\": [\n    {\n      \"product_id\": \"{{product_id}}\",\n      \"quantity\": 2,\n      \"unit_price\": 4.50,\n      \"notes\": \"One with extra shot\"\n    }\n  ],\n  \"customer_name\": \"John Doe\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/orders",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "orders"]
						}
					}
				},
				{
					"name": "List Orders (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/orders?page=1&limit=10&outlet_id={{outlet_id}}&status=completed",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "orders"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								},
								{
									"key": "outlet_id",
									"value": "{{outlet_id}}"
								},
								{
									"key": "status",
									"value": "completed"
								}
							]
						}
					}
				},
				{
					"name": "Get Order by ID (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/orders/{{order_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "orders", "{{order_id}}"]
						}
					}
				},
				{
					"name": "Update Order (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"status\": \"ready\",\n  \"discount_amount\": 2.00,\n  \"notes\": \"Ready for pickup\",\n  \"metadata\": {\n    \"preparation_time\": \"5 minutes\"\n  }\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/orders/{{order_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "orders", "{{order_id}}"]
						}
					}
				},
				{
					"name": "Add Items to Order (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"order_items\": [\n    {\n      \"product_id\": \"{{product_id}}\",\n      \"quantity\": 1,\n      \"unit_price\": 3.50,\n      \"notes\": \"Extra sugar\"\n    }\n  ],\n  \"notes\": \"Additional items added\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/orders/{{order_id}}/add-items",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "orders", "{{order_id}}", "add-items"]
						}
					}
				},
				{
					"name": "Set Order Customer (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"customer_id\": \"{{customer_id}}\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/orders/{{order_id}}/customer",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "orders", "{{order_id}}", "customer"]
						}
					}
				},
				{
					"name": "Void Order (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"order_id\": \"{{order_id}}\",\n  \"reason\": \"Customer cancelled order\",\n  \"type\": \"ALL\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/orders/void",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "orders", "void"]
						}
					}
				},
				{
					"name": "Refund Order (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"reason\": \"Wrong order delivered\",\n  \"refund_amount\": 10.00,\n  \"order_items\": [\n    {\n      \"order_item_id\": \"{{order_item_id}}\",\n      \"refund_quantity\": 1,\n      \"refund_amount\": 4.50,\n      \"reason\": \"Item was cold\"\n    }\n  ]\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/orders/{{order_id}}/refund",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "orders", "{{order_id}}", "refund"]
						}
					}
				}
			]
		},
		{
			"name": "Payments",
			"item": [
				{
					"name": "Create Payment (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"order_id\": \"{{order_id}}\",\n  \"payment_method_id\": \"{{payment_method_id}}\",\n  \"amount\": 15.50,\n  \"transaction_id\": \"TXN123456789\",\n  \"split_number\": 1,\n  \"split_total\": 2,\n  \"split_description\": \"Split payment 1 of 2\",\n  \"payment_order_items\": [\n    {\n      \"order_item_id\": \"{{order_item_id}}\",\n      \"amount\": 15.50\n    }\n  ]\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/payments",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "payments"]
						}
					}
				},
				{
					"name": "Refund Payment (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"refund_amount\": 5.00,\n  \"reason\": \"Customer requested refund\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/payments/{{payment_id}}/refund",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "payments", "{{payment_id}}", "refund"]
						}
					}
				}
			]
		},
		{
			"name": "Payment Methods",
			"item": [
				{
					"name": "Create Payment Method (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Credit Card\",\n  \"description\": \"Visa, MasterCard, American Express\",\n  \"is_active\": true,\n  \"requires_receipt\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/payment-methods",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "payment-methods"]
						}
					}
				},
				{
					"name": "List Payment Methods (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/payment-methods?page=1&limit=10&is_active=true",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "payment-methods"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								},
								{
									"key": "is_active",
									"value": "true"
								}
							]
						}
					}
				},
				{
					"name": "Get Payment Method (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/payment-methods/{{payment_method_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "payment-methods", "{{payment_method_id}}"]
						}
					}
				},
				{
					"name": "Update Payment Method (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Digital Wallet\",\n  \"description\": \"Apple Pay, Google Pay, Samsung Pay\",\n  \"is_active\": true,\n  \"requires_receipt\": false\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/payment-methods/{{payment_method_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "payment-methods", "{{payment_method_id}}"]
						}
					}
				},
				{
					"name": "Delete Payment Method (Admin/Manager)",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/payment-methods/{{payment_method_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "payment-methods", "{{payment_method_id}}"]
						}
					}
				},
				{
					"name": "Get Active Payment Methods by Organization (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/payment-methods/organization/{{organization_id}}/active",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "payment-methods", "organization", "{{organization_id}}", "active"]
						}
					}
				}
			]
		},
		{
			"name": "Customers",
			"item": [
				{
					"name": "Create Customer (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Jane Smith\",\n  \"email\": \"jane.smith@email.com\",\n  \"phone\": \"+1234567890\",\n  \"address\": \"456 Oak Street, City\",\n  \"is_active\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/customers",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "customers"]
						}
					}
				},
				{
					"name": "List Customers (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/customers?page=1&limit=10&is_active=true",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "customers"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								},
								{
									"key": "is_active",
									"value": "true"
								}
							]
						}
					}
				},
				{
					"name": "Get Customer (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/customers/{{customer_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "customers", "{{customer_id}}"]
						}
					}
				},
				{
					"name": "Update Customer (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Jane Updated Smith\",\n  \"email\": \"jane.updated@email.com\",\n  \"phone\": \"+1987654321\",\n  \"address\": \"789 Pine Street, City\",\n  \"is_active\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/customers/{{customer_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "customers", "{{customer_id}}"]
						}
					}
				},
				{
					"name": "Delete Customer (Admin/Manager)",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/customers/{{customer_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "customers", "{{customer_id}}"]
						}
					}
				},
				{
					"name": "Set Default Customer (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"customer_id\": \"{{customer_id}}\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/customers/set-default",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "customers", "set-default"]
						}
					}
				},
				{
					"name": "Get Default Customer (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/customers/default",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "customers", "default"]
						}
					}
				}
			]
		},
		{
			"name": "Files",
			"item": [
				{
					"name": "Upload File (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [],
						"body": {
							"mode": "formdata",
							"formdata": [
								{
									"key": "file",
									"type": "file",
									"src": []
								},
								{
									"key": "file_type",
									"value": "image",
									"type": "text"
								},
								{
									"key": "description",
									"value": "Product image",
									"type": "text"
								}
							]
						},
						"url": {
							"raw": "{{base_url}}/api/v1/files/upload",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "files", "upload"]
						}
					}
				},
				{
					"name": "Get Files by Organization (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/files/organization?page=1&limit=10",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "files", "organization"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								}
							]
						}
					}
				},
				{
					"name": "Get Files by User (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/files/user?page=1&limit=10",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "files", "user"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								}
							]
						}
					}
				},
				{
					"name": "Get File by ID (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/files/{{file_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "files", "{{file_id}}"]
						}
					}
				},
				{
					"name": "Update File (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"description\": \"Updated product image\",\n  \"metadata\": {\n    \"alt_text\": \"Cappuccino product image\"\n  }\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/files/{{file_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "files", "{{file_id}}"]
						}
					}
				}
			]
		},
		{
			"name": "Analytics",
			"item": [
				{
					"name": "Get Payment Method Analytics (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/analytics/payment-methods?outlet_id={{outlet_id}}&date_from=2024-01-01&date_to=2024-12-31",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "analytics", "payment-methods"],
							"query": [
								{
									"key": "outlet_id",
									"value": "{{outlet_id}}"
								},
								{
									"key": "date_from",
									"value": "2024-01-01"
								},
								{
									"key": "date_to",
									"value": "2024-12-31"
								}
							]
						}
					}
				},
				{
					"name": "Get Sales Analytics (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/analytics/sales?outlet_id={{outlet_id}}&date_from=2024-01-01&date_to=2024-12-31&group_by=day",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "analytics", "sales"],
							"query": [
								{
									"key": "outlet_id",
									"value": "{{outlet_id}}"
								},
								{
									"key": "date_from",
									"value": "2024-01-01"
								},
								{
									"key": "date_to",
									"value": "2024-12-31"
								},
								{
									"key": "group_by",
									"value": "day"
								}
							]
						}
					}
				},
				{
					"name": "Get Product Analytics (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/analytics/products?outlet_id={{outlet_id}}&date_from=2024-01-01&date_to=2024-12-31&limit=10",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "analytics", "products"],
							"query": [
								{
									"key": "outlet_id",
									"value": "{{outlet_id}}"
								},
								{
									"key": "date_from",
									"value": "2024-01-01"
								},
								{
									"key": "date_to",
									"value": "2024-12-31"
								},
								{
									"key": "limit",
									"value": "10"
								}
							]
						}
					}
				},
				{
					"name": "Get Dashboard Analytics (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/analytics/dashboard?outlet_id={{outlet_id}}&date_from=2024-01-01&date_to=2024-12-31",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "analytics", "dashboard"],
							"query": [
								{
									"key": "outlet_id",
									"value": "{{outlet_id}}"
								},
								{
									"key": "date_from",
									"value": "2024-01-01"
								},
								{
									"key": "date_to",
									"value": "2024-12-31"
								}
							]
						}
					}
				},
				{
					"name": "Get Profit Loss Analytics (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/analytics/profit-loss?outlet_id={{outlet_id}}&date_from=2024-01-01&date_to=2024-12-31",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "analytics", "profit-loss"],
							"query": [
								{
									"key": "outlet_id",
									"value": "{{outlet_id}}"
								},
								{
									"key": "date_from",
									"value": "2024-01-01"
								},
								{
									"key": "date_to",
									"value": "2024-12-31"
								}
							]
						}
					}
				}
			]
		},
		{
			"name": "Tables",
			"item": [
				{
					"name": "Create Table (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"outlet_id\": \"{{outlet_id}}\",\n  \"table_number\": \"A1\",\n  \"capacity\": 4,\n  \"status\": \"available\",\n  \"location\": \"Window area\",\n  \"is_active\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/tables",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "tables"]
						}
					}
				},
				{
					"name": "List Tables (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/tables?page=1&limit=10&outlet_id={{outlet_id}}&status=available",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "tables"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								},
								{
									"key": "outlet_id",
									"value": "{{outlet_id}}"
								},
								{
									"key": "status",
									"value": "available"
								}
							]
						}
					}
				},
				{
					"name": "Get Table by ID (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/tables/{{table_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "tables", "{{table_id}}"]
						}
					}
				},
				{
					"name": "Update Table (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"table_number\": \"A2\",\n  \"capacity\": 6,\n  \"location\": \"Garden area\",\n  \"is_active\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/tables/{{table_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "tables", "{{table_id}}"]
						}
					}
				},
				{
					"name": "Delete Table (Admin/Manager)",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/tables/{{table_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "tables", "{{table_id}}"]
						}
					}
				},
				{
					"name": "Occupy Table (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"order_id\": \"{{order_id}}\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/tables/{{table_id}}/occupy",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "tables", "{{table_id}}", "occupy"]
						}
					}
				},
				{
					"name": "Release Table (Admin/Manager)",
					"request": {
						"method": "POST",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/tables/{{table_id}}/release",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "tables", "{{table_id}}", "release"]
						}
					}
				},
				{
					"name": "Get Available Tables by Outlet (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/outlets/{{outlet_id}}/tables/available",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "outlets", "{{outlet_id}}", "tables", "available"]
						}
					}
				},
				{
					"name": "Get Occupied Tables by Outlet (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/outlets/{{outlet_id}}/tables/occupied",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "outlets", "{{outlet_id}}", "tables", "occupied"]
						}
					}
				}
			]
		},
		{
			"name": "Outlets",
			"item": [
				{
					"name": "List Outlets (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/outlets/list?page=1&limit=10&organization_id={{organization_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "outlets", "list"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "10"
								},
								{
									"key": "organization_id",
									"value": "{{organization_id}}"
								}
							]
						}
					}
				},
				{
					"name": "Get Outlet (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/outlets/{{outlet_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "outlets", "{{outlet_id}}"]
						}
					}
				},
				{
					"name": "Update Outlet (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"name\": \"Updated Outlet Name\",\n  \"address\": \"789 New Street, City\",\n  \"phone\": \"+1987654321\",\n  \"email\": \"outlet@example.com\",\n  \"is_active\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/outlets/{{outlet_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "outlets", "{{outlet_id}}"]
						}
					}
				},
				{
					"name": "Get Printer Settings (Admin/Manager)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/api/v1/outlets/printer-setting/{{outlet_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "outlets", "printer-setting", "{{outlet_id}}"]
						}
					}
				},
				{
					"name": "Update Printer Settings (Admin/Manager)",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"kitchen_printer_ip\": \"192.168.1.100\",\n  \"kitchen_printer_port\": 9100,\n  \"receipt_printer_ip\": \"192.168.1.101\",\n  \"receipt_printer_port\": 9100,\n  \"auto_print_receipt\": true,\n  \"auto_print_kitchen\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/outlets/printer-setting/{{outlet_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1", "outlets", "printer-setting", "{{outlet_id}}"]
						}
					}
				}
			]
		}
	]
} 