{
	"info": {
		"_postman_id": "gym-khana-api-collection",
		"name": "Gym Khana Management System API",
		"description": "Complete API collection for Gym Khana Management System - MongoDB version",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"auth": {
		"type": "bearer",
		"bearer": [
			{
				"key": "token",
				"value": "{{accessToken}}",
				"type": "string"
			}
		]
	},
	"variable": [
		{
			"key": "baseUrl",
			"value": "http://localhost:3000/api/v1",
			"type": "string"
		},
		{
			"key": "accessToken",
			"value": "",
			"type": "string"
		}
	],
	"item": [
		{
			"name": "1. Authentication",
			"item": [
				{
					"name": "Staff Login",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"if (pm.response.code === 200) {",
									"    const response = pm.response.json();",
									"    pm.collectionVariables.set('accessToken', response.data.accessToken);",
									"    pm.environment.set('accessToken', response.data.accessToken);",
									"}"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"auth": {
							"type": "noauth"
						},
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"username\": \"admin\",\n  \"password\": \"Admin@123\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/auth/login",
							"host": ["{{baseUrl}}"],
							"path": ["auth", "login"]
						},
						"description": "Login as staff (admin/warehouse_manager/restaurant_staff/accountant/front_desk)"
					},
					"response": []
				},
				{
					"name": "Member Login",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"if (pm.response.code === 200) {",
									"    const response = pm.response.json();",
									"    pm.collectionVariables.set('accessToken', response.data.accessToken);",
									"    pm.environment.set('accessToken', response.data.accessToken);",
									"}"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"auth": {
							"type": "noauth"
						},
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"memberId\": \"1000\",\n  \"password\": \"Member@123\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/auth/member/login",
							"host": ["{{baseUrl}}"],
							"path": ["auth", "member", "login"]
						},
						"description": "Login as member using memberId"
					},
					"response": []
				},
				{
					"name": "Get Current User",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/auth/me",
							"host": ["{{baseUrl}}"],
							"path": ["auth", "me"]
						},
						"description": "Get current authenticated user details"
					},
					"response": []
				},
				{
					"name": "Change Password",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"currentPassword\": \"Admin@123\",\n  \"newPassword\": \"NewPassword@123\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/auth/change-password",
							"host": ["{{baseUrl}}"],
							"path": ["auth", "change-password"]
						},
						"description": "Change current user's password"
					},
					"response": []
				}
			]
		},
		{
			"name": "2. User Management",
			"item": [
				{
					"name": "Get All Roles",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/users/roles",
							"host": ["{{baseUrl}}"],
							"path": ["users", "roles"]
						},
						"description": "Get all available roles (Admin only)"
					},
					"response": []
				},
				{
					"name": "Create User",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"username\": \"john.doe\",\n  \"email\": \"john.doe@gymkhana.pk\",\n  \"password\": \"Password@123\",\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"phone\": \"0300-1234567\",\n  \"roleId\": \"role_id_here\",\n  \"isActive\": true\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/users",
							"host": ["{{baseUrl}}"],
							"path": ["users"]
						},
						"description": "Create new staff user (Admin only)"
					},
					"response": []
				},
				{
					"name": "Get All Users",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/users?page=1&limit=20",
							"host": ["{{baseUrl}}"],
							"path": ["users"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "20"
								}
							]
						},
						"description": "Get all staff users with pagination (Admin only)"
					},
					"response": []
				},
				{
					"name": "Get User By ID",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/users/:userId",
							"host": ["{{baseUrl}}"],
							"path": ["users", ":userId"],
							"variable": [
								{
									"key": "userId",
									"value": "user_id_here"
								}
							]
						},
						"description": "Get user by ID (Admin only)"
					},
					"response": []
				},
				{
					"name": "Update User",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"email\": \"john.doe@gymkhana.pk\",\n  \"phone\": \"0300-1234567\",\n  \"isActive\": true\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/users/:userId",
							"host": ["{{baseUrl}}"],
							"path": ["users", ":userId"],
							"variable": [
								{
									"key": "userId",
									"value": "user_id_here"
								}
							]
						},
						"description": "Update user details (Admin only)"
					},
					"response": []
				},
				{
					"name": "Delete User",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/users/:userId",
							"host": ["{{baseUrl}}"],
							"path": ["users", ":userId"],
							"variable": [
								{
									"key": "userId",
									"value": "user_id_here"
								}
							]
						},
						"description": "Delete user (Admin only)"
					},
					"response": []
				},
				{
					"name": "Reset User Password",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"newPassword\": \"NewPassword@123\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/users/:userId/reset-password",
							"host": ["{{baseUrl}}"],
							"path": ["users", ":userId", "reset-password"],
							"variable": [
								{
									"key": "userId",
									"value": "user_id_here"
								}
							]
						},
						"description": "Reset user password (Admin only)"
					},
					"response": []
				}
			]
		},
		{
			"name": "3. Member Management",
			"item": [
				{
					"name": "Register Member",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"memberId\": \"1001\",\n  \"membershipTypeId\": \"membership_type_id_here\",\n  \"firstName\": \"Ali\",\n  \"lastName\": \"Ahmed\",\n  \"cnic\": \"12345-1234567-1\",\n  \"dob\": \"1990-01-15\",\n  \"gender\": \"Male\",\n  \"phone\": \"0300-9876543\",\n  \"email\": \"ali.ahmed@email.com\",\n  \"address\": \"123 Main Street, Karachi\",\n  \"emergencyContact\": \"0321-1234567\",\n  \"emergencyContactName\": \"Sara Ahmed\",\n  \"password\": \"Member@123\",\n  \"joiningDate\": \"2024-01-15\",\n  \"creditLimit\": 10000\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/members/register",
							"host": ["{{baseUrl}}"],
							"path": ["members", "register"]
						},
						"description": "Register new primary member (Admin/Front Desk)"
					},
					"response": []
				},
				{
					"name": "Add Family Member",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"firstName\": \"Sara\",\n  \"lastName\": \"Ahmed\",\n  \"relationToPrimary\": \"Spouse\",\n  \"cnic\": \"12345-7654321-2\",\n  \"dob\": \"1992-05-20\",\n  \"gender\": \"Female\",\n  \"phone\": \"0321-9876543\",\n  \"email\": \"sara.ahmed@email.com\",\n  \"password\": \"Member@123\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/members/:memberId/family",
							"host": ["{{baseUrl}}"],
							"path": ["members", ":memberId", "family"],
							"variable": [
								{
									"key": "memberId",
									"value": "1001"
								}
							]
						},
						"description": "Add family member (spouse/son/daughter) to primary member"
					},
					"response": []
				},
				{
					"name": "Get All Members",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/members?page=1&limit=20&status=Active",
							"host": ["{{baseUrl}}"],
							"path": ["members"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "20"
								},
								{
									"key": "status",
									"value": "Active"
								}
							]
						},
						"description": "Get all members with pagination"
					},
					"response": []
				},
				{
					"name": "Search Members",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/members/search?query=ahmed",
							"host": ["{{baseUrl}}"],
							"path": ["members", "search"],
							"query": [
								{
									"key": "query",
									"value": "ahmed"
								}
							]
						},
						"description": "Search members by name, memberId, CNIC, phone, or email"
					},
					"response": []
				},
				{
					"name": "Get Member By ID",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/members/:memberId",
							"host": ["{{baseUrl}}"],
							"path": ["members", ":memberId"],
							"variable": [
								{
									"key": "memberId",
									"value": "1000"
								}
							]
						},
						"description": "Get member details by memberId"
					},
					"response": []
				},
				{
					"name": "Update Member Profile",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"phone\": \"0300-1111111\",\n  \"email\": \"newemail@email.com\",\n  \"address\": \"456 New Street, Karachi\",\n  \"emergencyContact\": \"0321-2222222\",\n  \"emergencyContactName\": \"Updated Contact\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/members/:memberId/profile",
							"host": ["{{baseUrl}}"],
							"path": ["members", ":memberId", "profile"],
							"variable": [
								{
									"key": "memberId",
									"value": "1000"
								}
							]
						},
						"description": "Update member profile (Admin/Front Desk)"
					},
					"response": []
				},
				{
					"name": "Update Member Status",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"status\": \"Suspended\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/members/:memberId/status",
							"host": ["{{baseUrl}}"],
							"path": ["members", ":memberId", "status"],
							"variable": [
								{
									"key": "memberId",
									"value": "1000"
								}
							]
						},
						"description": "Update member status: Active/Suspended/Inactive/Expired (Admin/Front Desk)"
					},
					"response": []
				},
				{
					"name": "Get Family Members",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/members/:memberId/family",
							"host": ["{{baseUrl}}"],
							"path": ["members", ":memberId", "family"],
							"variable": [
								{
									"key": "memberId",
									"value": "1000"
								}
							]
						},
						"description": "Get all family members of a primary member"
					},
					"response": []
				},
				{
					"name": "Remove Family Member",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/members/:memberId/family/:familyMemberId",
							"host": ["{{baseUrl}}"],
							"path": ["members", ":memberId", "family", ":familyMemberId"],
							"variable": [
								{
									"key": "memberId",
									"value": "1000"
								},
								{
									"key": "familyMemberId",
									"value": "1000-w"
								}
							]
						},
						"description": "Remove family member (Admin/Front Desk)"
					},
					"response": []
				}
			]
		},
		{
			"name": "4. Restaurant - Menu",
			"item": [
				{
					"name": "Get Menu",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/restaurant/menu?isAvailable=true",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "menu"],
							"query": [
								{
									"key": "isAvailable",
									"value": "true"
								}
							]
						},
						"description": "Get all menu items"
					},
					"response": []
				},
				{
					"name": "Add Menu Item",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"itemName\": \"Chicken Tikka\",\n  \"category\": \"Main Course\",\n  \"description\": \"Grilled chicken with special spices\",\n  \"unitPrice\": 650.00,\n  \"preparationTime\": 25,\n  \"isAvailable\": true,\n  \"isTaxable\": true,\n  \"taxPercentage\": 16.00\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/menu",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "menu"]
						},
						"description": "Add new menu item (Admin/Restaurant Staff)"
					},
					"response": []
				},
				{
					"name": "Update Menu Item",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"itemName\": \"Chicken Tikka Special\",\n  \"unitPrice\": 700.00,\n  \"isAvailable\": true\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/menu/:itemId",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "menu", ":itemId"],
							"variable": [
								{
									"key": "itemId",
									"value": "item_id_here"
								}
							]
						},
						"description": "Update menu item (Admin/Restaurant Staff)"
					},
					"response": []
				},
				{
					"name": "Delete Menu Item",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/restaurant/menu/:itemId",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "menu", ":itemId"],
							"variable": [
								{
									"key": "itemId",
									"value": "item_id_here"
								}
							]
						},
						"description": "Delete menu item (Admin only)"
					},
					"response": []
				}
			]
		},
		{
			"name": "5. Restaurant - Tables",
			"item": [
				{
					"name": "Get Tables",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/restaurant/tables",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "tables"]
						},
						"description": "Get all restaurant tables with status"
					},
					"response": []
				},
				{
					"name": "Update Table Status",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"status\": \"Available\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/tables/:tableId/status",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "tables", ":tableId", "status"],
							"variable": [
								{
									"key": "tableId",
									"value": "table_id_here"
								}
							]
						},
						"description": "Update table status: Available/Occupied/Reserved (Admin/Restaurant Staff)"
					},
					"response": []
				}
			]
		},
		{
			"name": "6. Restaurant - Orders",
			"item": [
				{
					"name": "Create Order",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"memberId\": \"1000\",\n  \"tableId\": \"table_id_here\",\n  \"orderType\": \"Dine-In\",\n  \"items\": [\n    {\n      \"menuItemId\": \"menu_item_id_1\",\n      \"quantity\": 2,\n      \"specialInstructions\": \"Extra spicy\"\n    },\n    {\n      \"menuItemId\": \"menu_item_id_2\",\n      \"quantity\": 1\n    }\n  ],\n  \"discountAmount\": 0,\n  \"customerName\": \"Ahmed Khan\",\n  \"customerPhone\": \"0300-1234567\",\n  \"specialInstructions\": \"Serve hot\",\n  \"servedBy\": \"Waiter 1\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/orders",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "orders"]
						},
						"description": "Create new restaurant order (Admin/Restaurant Staff)"
					},
					"response": []
				},
				{
					"name": "Get Orders",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/restaurant/orders?page=1&limit=20&orderStatus=New&paymentStatus=Pending",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "orders"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "20"
								},
								{
									"key": "orderStatus",
									"value": "New",
									"description": "New/Preparing/Ready/Served/Completed/Cancelled"
								},
								{
									"key": "paymentStatus",
									"value": "Pending",
									"description": "Pending/Paid"
								}
							]
						},
						"description": "Get all orders with filters"
					},
					"response": []
				},
				{
					"name": "Get Order By ID",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/restaurant/orders/:orderId",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "orders", ":orderId"],
							"variable": [
								{
									"key": "orderId",
									"value": "order_id_here"
								}
							]
						},
						"description": "Get order details with items"
					},
					"response": []
				},
				{
					"name": "Update Order Status",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"orderStatus\": \"Preparing\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/orders/:orderId/status",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "orders", ":orderId", "status"],
							"variable": [
								{
									"key": "orderId",
									"value": "order_id_here"
								}
							]
						},
						"description": "Update order status: New/Preparing/Ready/Served/Completed"
					},
					"response": []
				},
				{
					"name": "Cancel Order",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"reason\": \"Customer request\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/orders/:orderId/cancel",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "orders", ":orderId", "cancel"],
							"variable": [
								{
									"key": "orderId",
									"value": "order_id_here"
								}
							]
						},
						"description": "Cancel order"
					},
					"response": []
				}
			]
		},
		{
			"name": "7. Restaurant - Payments",
			"item": [
				{
					"name": "Process Cash Payment",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"amountReceived\": 1500.00\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/orders/:orderId/payment/cash",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "orders", ":orderId", "payment", "cash"],
							"variable": [
								{
									"key": "orderId",
									"value": "order_id_here"
								}
							]
						},
						"description": "Process cash payment for order"
					},
					"response": []
				},
				{
					"name": "Process Credit Payment",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"memberId\": \"1000\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/orders/:orderId/payment/credit",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "orders", ":orderId", "payment", "credit"],
							"variable": [
								{
									"key": "orderId",
									"value": "order_id_here"
								}
							]
						},
						"description": "Process credit payment (charge to member account)"
					},
					"response": []
				},
				{
					"name": "Process Bank Transfer Payment",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"memberId\": \"1000\",\n  \"bankName\": \"HBL\",\n  \"transactionReference\": \"TXN123456789\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/orders/:orderId/payment/bank-transfer",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "orders", ":orderId", "payment", "bank-transfer"],
							"variable": [
								{
									"key": "orderId",
									"value": "order_id_here"
								}
							]
						},
						"description": "Process bank transfer payment"
					},
					"response": []
				},
				{
					"name": "Process Cheque Payment",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"memberId\": \"1000\",\n  \"chequeNumber\": \"CHQ001234\",\n  \"bankName\": \"MCB\",\n  \"chequeDate\": \"2024-01-20\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/restaurant/orders/:orderId/payment/cheque",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "orders", ":orderId", "payment", "cheque"],
							"variable": [
								{
									"key": "orderId",
									"value": "order_id_here"
								}
							]
						},
						"description": "Process cheque payment"
					},
					"response": []
				}
			]
		},
		{
			"name": "8. Restaurant - Reports",
			"item": [
				{
					"name": "Daily Sales Report",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/restaurant/reports/daily?date=2024-01-20",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "reports", "daily"],
							"query": [
								{
									"key": "date",
									"value": "2024-01-20"
								}
							]
						},
						"description": "Get daily sales report with order breakdown"
					},
					"response": []
				},
				{
					"name": "Monthly Revenue Report",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/restaurant/reports/monthly?year=2024&month=1",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "reports", "monthly"],
							"query": [
								{
									"key": "year",
									"value": "2024"
								},
								{
									"key": "month",
									"value": "1"
								}
							]
						},
						"description": "Get monthly revenue report with payment breakdown"
					},
					"response": []
				},
				{
					"name": "Tax Summary Report",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/restaurant/reports/tax-summary?startDate=2024-01-01&endDate=2024-01-31",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "reports", "tax-summary"],
							"query": [
								{
									"key": "startDate",
									"value": "2024-01-01"
								},
								{
									"key": "endDate",
									"value": "2024-01-31"
								}
							]
						},
						"description": "Get tax summary for date range"
					},
					"response": []
				},
				{
					"name": "Payment Collection Report",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/restaurant/reports/payment-collection?startDate=2024-01-01&endDate=2024-01-31",
							"host": ["{{baseUrl}}"],
							"path": ["restaurant", "reports", "payment-collection"],
							"query": [
								{
									"key": "startDate",
									"value": "2024-01-01"
								},
								{
									"key": "endDate",
									"value": "2024-01-31"
								}
							]
						},
						"description": "Get payment collection report by payment method"
					},
					"response": []
				}
			]
		},
		{
			"name": "9. Warehouse - Items",
			"item": [
				{
					"name": "Get All Items",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/items?page=1&limit=20&category=Food&isActive=true",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "items"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "20"
								},
								{
									"key": "category",
									"value": "Food"
								},
								{
									"key": "isActive",
									"value": "true"
								},
								{
									"key": "search",
									"value": "rice",
									"disabled": true
								}
							]
						},
						"description": "Get all warehouse items with filters"
					},
					"response": []
				},
				{
					"name": "Get Item By ID",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/items/:itemId",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "items", ":itemId"],
							"variable": [
								{
									"key": "itemId",
									"value": "item_id_here"
								}
							]
						},
						"description": "Get warehouse item details"
					},
					"response": []
				},
				{
					"name": "Add Item",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"itemCode\": \"FOOD-RICE-001\",\n  \"itemName\": \"Basmati Rice\",\n  \"category\": \"Food\",\n  \"unit\": \"KG\",\n  \"description\": \"Premium quality basmati rice\",\n  \"reorderLevel\": 50,\n  \"minOrderQuantity\": 100,\n  \"storageLocation\": \"Warehouse A - Section 1\",\n  \"isActive\": true\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/items",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "items"]
						},
						"description": "Add new warehouse item (Admin/Warehouse Manager)"
					},
					"response": []
				},
				{
					"name": "Update Item",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"itemName\": \"Super Basmati Rice\",\n  \"reorderLevel\": 75,\n  \"isActive\": true\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/items/:itemId",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "items", ":itemId"],
							"variable": [
								{
									"key": "itemId",
									"value": "item_id_here"
								}
							]
						},
						"description": "Update warehouse item (Admin/Warehouse Manager)"
					},
					"response": []
				},
				{
					"name": "Delete Item",
					"request": {
						"method": "DELETE",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/items/:itemId",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "items", ":itemId"],
							"variable": [
								{
									"key": "itemId",
									"value": "item_id_here"
								}
							]
						},
						"description": "Delete warehouse item (Admin/Warehouse Manager)"
					},
					"response": []
				},
				{
					"name": "Get Item Stock",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/items/:itemId/stock",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "items", ":itemId", "stock"],
							"variable": [
								{
									"key": "itemId",
									"value": "item_id_here"
								}
							]
						},
						"description": "Get item stock details with transaction history"
					},
					"response": []
				},
				{
					"name": "Get Low Stock Items",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/low-stock",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "low-stock"]
						},
						"description": "Get items below reorder level"
					},
					"response": []
				},
				{
					"name": "Get Inventory Summary",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/summary",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "summary"]
						},
						"description": "Get inventory summary by category"
					},
					"response": []
				}
			]
		},
		{
			"name": "10. Warehouse - Stock",
			"item": [
				{
					"name": "Get Stock Transactions",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/stock/transactions?page=1&limit=20&transactionType=In",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "stock", "transactions"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "20"
								},
								{
									"key": "transactionType",
									"value": "In",
									"description": "In/Out/Adjustment"
								}
							]
						},
						"description": "Get all stock transactions"
					},
					"response": []
				},
				{
					"name": "Stock In",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"warehouseItemId\": \"item_id_here\",\n  \"quantity\": 100,\n  \"purchasePrice\": 150.00,\n  \"supplierId\": \"supplier_id_here\",\n  \"referenceNumber\": \"INV-2024-001\",\n  \"notes\": \"Monthly stock purchase\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/stock/in",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "stock", "in"]
						},
						"description": "Record stock IN transaction (Admin/Warehouse Manager)"
					},
					"response": []
				},
				{
					"name": "Stock Out",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"warehouseItemId\": \"item_id_here\",\n  \"quantity\": 25,\n  \"issuedTo\": \"Restaurant\",\n  \"referenceNumber\": \"REQ-2024-001\",\n  \"notes\": \"Issue for restaurant kitchen\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/stock/out",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "stock", "out"]
						},
						"description": "Record stock OUT transaction (Admin/Warehouse Manager)"
					},
					"response": []
				},
				{
					"name": "Stock Adjustment",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"warehouseItemId\": \"item_id_here\",\n  \"quantity\": -5,\n  \"adjustmentType\": \"Damaged\",\n  \"notes\": \"Damaged stock during handling\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/stock/adjustment",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "stock", "adjustment"]
						},
						"description": "Record stock adjustment (Admin/Warehouse Manager)"
					},
					"response": []
				},
				{
					"name": "Get Stock Alerts",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/stock/alerts",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "stock", "alerts"]
						},
						"description": "Get low stock and out of stock alerts"
					},
					"response": []
				}
			]
		},
		{
			"name": "11. Warehouse - Suppliers",
			"item": [
				{
					"name": "Get All Suppliers",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/suppliers?page=1&limit=20&isActive=true",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "suppliers"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "20"
								},
								{
									"key": "isActive",
									"value": "true"
								}
							]
						},
						"description": "Get all suppliers with pagination"
					},
					"response": []
				},
				{
					"name": "Get Supplier By ID",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/suppliers/:supplierId",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "suppliers", ":supplierId"],
							"variable": [
								{
									"key": "supplierId",
									"value": "supplier_id_here"
								}
							]
						},
						"description": "Get supplier details"
					},
					"response": []
				},
				{
					"name": "Add Supplier",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"supplierName\": \"ABC Foods Supplier\",\n  \"contactPerson\": \"Mr. Ahmed\",\n  \"phone\": \"021-12345678\",\n  \"email\": \"abc@foods.com\",\n  \"address\": \"123 Industrial Area, Karachi\",\n  \"city\": \"Karachi\",\n  \"ntn\": \"1234567-8\",\n  \"paymentTerms\": \"30 days credit\",\n  \"isActive\": true\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/suppliers",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "suppliers"]
						},
						"description": "Add new supplier (Admin/Warehouse Manager)"
					},
					"response": []
				},
				{
					"name": "Update Supplier",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"contactPerson\": \"Mr. Ali Ahmed\",\n  \"phone\": \"021-87654321\",\n  \"isActive\": true\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/suppliers/:supplierId",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "suppliers", ":supplierId"],
							"variable": [
								{
									"key": "supplierId",
									"value": "supplier_id_here"
								}
							]
						},
						"description": "Update supplier (Admin/Warehouse Manager)"
					},
					"response": []
				}
			]
		},
		{
			"name": "12. Warehouse - Purchase Orders",
			"item": [
				{
					"name": "Get All Purchase Orders",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/purchase-orders?page=1&limit=20&status=Pending",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "purchase-orders"],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "limit",
									"value": "20"
								},
								{
									"key": "status",
									"value": "Pending",
									"description": "Pending/Approved/Received/Cancelled"
								}
							]
						},
						"description": "Get all purchase orders with filters"
					},
					"response": []
				},
				{
					"name": "Get Purchase Order By ID",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{baseUrl}}/warehouse/purchase-orders/:poId",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "purchase-orders", ":poId"],
							"variable": [
								{
									"key": "poId",
									"value": "po_id_here"
								}
							]
						},
						"description": "Get purchase order with items"
					},
					"response": []
				},
				{
					"name": "Create Purchase Order",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"supplierId\": \"supplier_id_here\",\n  \"orderDate\": \"2024-01-20\",\n  \"expectedDeliveryDate\": \"2024-01-27\",\n  \"paymentTerms\": \"30 days credit\",\n  \"notes\": \"Monthly stock order\",\n  \"items\": [\n    {\n      \"warehouseItemId\": \"item_id_1\",\n      \"quantity\": 100,\n      \"unitPrice\": 150.00\n    },\n    {\n      \"warehouseItemId\": \"item_id_2\",\n      \"quantity\": 50,\n      \"unitPrice\": 200.00\n    }\n  ]\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/purchase-orders",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "purchase-orders"]
						},
						"description": "Create new purchase order (Admin/Warehouse Manager)"
					},
					"response": []
				},
				{
					"name": "Update Purchase Order",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"status\": \"Approved\",\n  \"expectedDeliveryDate\": \"2024-01-25\"\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/purchase-orders/:poId",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "purchase-orders", ":poId"],
							"variable": [
								{
									"key": "poId",
									"value": "po_id_here"
								}
							]
						},
						"description": "Update purchase order status (Admin/Warehouse Manager)"
					},
					"response": []
				},
				{
					"name": "Create GRN (Receive Purchase Order)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"poId\": \"po_id_here\",\n  \"items\": [\n    {\n      \"itemId\": \"po_item_id_1\",\n      \"receivedQuantity\": 100\n    },\n    {\n      \"itemId\": \"po_item_id_2\",\n      \"receivedQuantity\": 50\n    }\n  ]\n}"
						},
						"url": {
							"raw": "{{baseUrl}}/warehouse/grn",
							"host": ["{{baseUrl}}"],
							"path": ["warehouse", "grn"]
						},
						"description": "Create GRN and update stock (Admin/Warehouse Manager)"
					},
					"response": []
				}
			]
		},
		{
			"name": "Health Check",
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "{{baseUrl}}/health",
					"host": ["{{baseUrl}}"],
					"path": ["health"]
				},
				"description": "API health check (no auth required)"
			},
			"response": []
		}
	]
}
