{
  "info": {
    "name": "Oasis Heights Property Management & Ledger Engine API",
    "description": "Complete and official Postman collection covering all 22+ modules including Public API, Customer Self-Service Portal, Installments, Financials, Bookings, Media Uploads, and Multi-Tier RBAC.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "base_url",
      "value": "http://localhost:5000/api/v1",
      "type": "string"
    },
    {
      "key": "root_url",
      "value": "http://localhost:5000",
      "type": "string"
    },
    {
      "key": "access_token",
      "value": "",
      "type": "string"
    },
    {
      "key": "refresh_token",
      "value": "",
      "type": "string"
    },
    {
      "key": "customer_token",
      "value": "",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "01. Public API (Open / No Auth)",
      "item": [
        {
          "name": "List Public Projects",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/public/projects?page=1&limit=10&status=ONGOING",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "projects"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "status",
                  "value": "ONGOING"
                }
              ]
            }
          }
        },
        {
          "name": "Get Public Project Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/public/projects/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "projects",
                "1"
              ]
            }
          }
        },
        {
          "name": "Get Public Project Properties",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/public/projects/1/properties?page=1&limit=10&status=AVAILABLE",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "projects",
                "1",
                "properties"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "status",
                  "value": "AVAILABLE"
                }
              ]
            }
          }
        },
        {
          "name": "List Public Properties",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/public/properties?page=1&limit=10&status=AVAILABLE",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "properties"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "status",
                  "value": "AVAILABLE"
                }
              ]
            }
          }
        },
        {
          "name": "Get Public Property Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/public/properties/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "properties",
                "1"
              ]
            }
          }
        },
        {
          "name": "Submit Public Appointment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Ahmad Raza\",\n  \"email\": \"ahmad.raza@example.com\",\n  \"phone\": \"+92 300 1234567\",\n  \"date\": \"2026-10-15T14:30:00.000Z\",\n  \"projectId\": 1,\n  \"notes\": \"Interested in visiting the 3-bedroom model flat.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/public/appointments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "appointments"
              ]
            }
          }
        },
        {
          "name": "Submit Public Enquiry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Zainab Malik\",\n  \"email\": \"zainab.malik@example.com\",\n  \"phone\": \"+92 321 7654321\",\n  \"subject\": \"Penthouse Price and Payment Plan Inquiry\",\n  \"message\": \"Please share the complete installment breakdown for the corner penthouse.\",\n  \"projectId\": 1\n}"
            },
            "url": {
              "raw": "{{base_url}}/public/enquiries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "enquiries"
              ]
            }
          }
        },
        {
          "name": "List Public Carousels",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/public/carousels?page=1&limit=10",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "carousels"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                }
              ]
            }
          }
        },
        {
          "name": "List Public Floor Plans",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/public/plans?page=1&limit=10",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "plans"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                }
              ]
            }
          }
        },
        {
          "name": "Get Public Floor Plan Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/public/plans/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "public",
                "plans",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "02. Customer Portal (Self-Service)",
      "item": [
        {
          "name": "Get Customer Profile",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{customer_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customer-portal/profile",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customer-portal",
                "profile"
              ]
            }
          }
        },
        {
          "name": "Update Customer Profile",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{customer_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"+92 300 9876543\",\n  \"address\": \"House 42, Street 10, DHA Phase 5, Lahore\",\n  \"city\": \"Lahore\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/customer-portal/profile",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customer-portal",
                "profile"
              ]
            }
          }
        },
        {
          "name": "Get Customer Dashboard KPIs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{customer_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customer-portal/dashboard",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customer-portal",
                "dashboard"
              ]
            }
          }
        },
        {
          "name": "List My Payment Plans",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{customer_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customer-portal/payment-plans",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customer-portal",
                "payment-plans"
              ]
            }
          }
        },
        {
          "name": "Get My Payment Plan Details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{customer_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customer-portal/payment-plans/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customer-portal",
                "payment-plans",
                "1"
              ]
            }
          }
        },
        {
          "name": "List My Installments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{customer_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customer-portal/installments?status=PENDING",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customer-portal",
                "installments"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "PENDING"
                }
              ]
            }
          }
        },
        {
          "name": "List My Payment Receipts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{customer_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customer-portal/payments?page=1&limit=10",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customer-portal",
                "payments"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                }
              ]
            }
          }
        },
        {
          "name": "Get Remaining Balance Summary",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{customer_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customer-portal/balance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customer-portal",
                "balance"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "03. Authentication",
      "item": [
        {
          "name": "Login (Admin / Staff / Customer)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"identifier\": \"admin@example.com\",\n  \"password\": \"ChangeMe123!\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/auth/login",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "auth",
                "login"
              ]
            }
          }
        },
        {
          "name": "Refresh Access Token",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"refreshToken\": \"{{refresh_token}}\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/auth/refresh",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "auth",
                "refresh"
              ]
            }
          }
        },
        {
          "name": "Get Authenticated User Profile",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/auth/me",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "auth",
                "me"
              ]
            }
          }
        },
        {
          "name": "Change Password",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"currentPassword\": \"ChangeMe123!\",\n  \"newPassword\": \"NewSecretPassword456!\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/auth/change-password",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "auth",
                "change-password"
              ]
            }
          }
        },
        {
          "name": "Logout",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"refreshToken\": \"{{refresh_token}}\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/auth/logout",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "auth",
                "logout"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "04. Projects & Developments",
      "item": [
        {
          "name": "List Projects",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects?page=1&limit=10&status=ONGOING",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "status",
                  "value": "ONGOING"
                }
              ]
            }
          }
        },
        {
          "name": "Create Project",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Oasis Heights Tower B\",\n  \"location\": \"Main Boulevard, Gulberg III, Lahore\",\n  \"description\": \"Executive residential tower with panoramic views.\",\n  \"totalUnits\": 150,\n  \"startDate\": \"2026-03-01T00:00:00.000Z\",\n  \"endDate\": \"2029-03-01T00:00:00.000Z\",\n  \"status\": \"ONGOING\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/projects",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects"
              ]
            }
          }
        },
        {
          "name": "Get Project by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                "1"
              ]
            }
          }
        },
        {
          "name": "Get Project Units & Properties",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/1/properties?page=1&limit=10",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                "1",
                "properties"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                }
              ]
            }
          }
        },
        {
          "name": "Update Project",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Oasis Heights Tower B - Phase 1\",\n  \"description\": \"Updated construction milestones.\",\n  \"status\": \"ONGOING\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/projects/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                "1"
              ]
            }
          }
        },
        {
          "name": "Delete Project",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/projects/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "projects",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "05. Properties & Units",
      "item": [
        {
          "name": "List Properties",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/properties?page=1&limit=10&projectId=1&status=AVAILABLE",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "properties"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "projectId",
                  "value": "1"
                },
                {
                  "key": "status",
                  "value": "AVAILABLE"
                }
              ]
            }
          }
        },
        {
          "name": "Create Property Unit",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"projectId\": 1,\n  \"unitNumber\": \"B-1402\",\n  \"floor\": 14,\n  \"type\": \"APARTMENT\",\n  \"areaSqFt\": 2100,\n  \"totalPrice\": 32000000,\n  \"status\": \"AVAILABLE\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/properties",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "properties"
              ]
            }
          }
        },
        {
          "name": "Get Property Unit by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/properties/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "properties",
                "1"
              ]
            }
          }
        },
        {
          "name": "Get Properties by Project ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/properties/project/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "properties",
                "project",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Property Status",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"BOOKED\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/properties/1/status",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "properties",
                "1",
                "status"
              ]
            }
          }
        },
        {
          "name": "Delete Property Unit",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/properties/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "properties",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "06. Customers & CRM",
      "item": [
        {
          "name": "List Customers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customers?page=1&limit=10&search=Ali",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customers"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "search",
                  "value": "Ali"
                }
              ]
            }
          }
        },
        {
          "name": "Create Customer Registry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Muhammad Usman\",\n  \"email\": \"usman.realtor@example.com\",\n  \"phone\": \"+92 300 5551234\",\n  \"cnic\": \"35201-1234567-9\",\n  \"address\": \"Plot 88, Sector Y, DHA Phase 3, Lahore\",\n  \"city\": \"Lahore\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/customers",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customers"
              ]
            }
          }
        },
        {
          "name": "Get Customer by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customers/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customers",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Customer Details",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"+92 300 5559999\",\n  \"address\": \"Plot 90, Sector Y, DHA Phase 3, Lahore\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/customers/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customers",
                "1"
              ]
            }
          }
        },
        {
          "name": "Get Customer Payment Plans",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customers/1/payment-plans",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customers",
                "1",
                "payment-plans"
              ]
            }
          }
        },
        {
          "name": "Get Customer Payment History",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customers/1/payment-history",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customers",
                "1",
                "payment-history"
              ]
            }
          }
        },
        {
          "name": "Get Customer Installment Schedule",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customers/1/installment-schedule",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customers",
                "1",
                "installment-schedule"
              ]
            }
          }
        },
        {
          "name": "Get Customer Remaining Balance",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/customers/1/remaining-balance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "customers",
                "1",
                "remaining-balance"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "07. Payment Plans",
      "item": [
        {
          "name": "List Payment Plans",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/payment-plans?page=1&limit=10&status=ACTIVE",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "payment-plans"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "status",
                  "value": "ACTIVE"
                }
              ]
            }
          }
        },
        {
          "name": "Create Payment Plan with Schedule Generator",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customerId\": 1,\n  \"propertyId\": 1,\n  \"totalAmount\": 30000000,\n  \"downPayment\": 6000000,\n  \"tenureMonths\": 24,\n  \"frequency\": \"MONTHLY\",\n  \"startDate\": \"2026-10-01T00:00:00.000Z\",\n  \"notes\": \"2-year installment plan with 20% down payment.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/payment-plans",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "payment-plans"
              ]
            }
          }
        },
        {
          "name": "Get Payment Plan by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/payment-plans/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "payment-plans",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Payment Plan",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"COMPLETED\",\n  \"notes\": \"All installments cleared.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/payment-plans/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "payment-plans",
                "1"
              ]
            }
          }
        },
        {
          "name": "Delete Payment Plan",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/payment-plans/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "payment-plans",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "08. Installments & Schedules",
      "item": [
        {
          "name": "List Installments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/installments?page=1&limit=10&paymentPlanId=1&status=PENDING",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "installments"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "paymentPlanId",
                  "value": "1"
                },
                {
                  "key": "status",
                  "value": "PENDING"
                }
              ]
            }
          }
        },
        {
          "name": "List Overdue Installments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/installments/overdue?page=1&limit=10",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "installments",
                "overdue"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                }
              ]
            }
          }
        },
        {
          "name": "Get Installment by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/installments/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "installments",
                "1"
              ]
            }
          }
        },
        {
          "name": "Create Custom Installment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"paymentPlanId\": 1,\n  \"installmentNumber\": 25,\n  \"amount\": 500000,\n  \"dueDate\": \"2028-11-01T00:00:00.000Z\",\n  \"type\": \"BALLOON\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/installments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "installments"
              ]
            }
          }
        },
        {
          "name": "Update Installment Milestone",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"dueDate\": \"2026-11-15T00:00:00.000Z\",\n  \"amount\": 1000000\n}"
            },
            "url": {
              "raw": "{{base_url}}/installments/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "installments",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "09. Payments & Ledger",
      "item": [
        {
          "name": "List Payments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/payments?page=1&limit=10&paymentPlanId=1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "payments"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "paymentPlanId",
                  "value": "1"
                }
              ]
            }
          }
        },
        {
          "name": "Record New Payment & Receipt",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"paymentPlanId\": 1,\n  \"installmentId\": 1,\n  \"amount\": 1000000,\n  \"paymentDate\": \"2026-10-05T10:00:00.000Z\",\n  \"paymentMethod\": \"BANK_TRANSFER\",\n  \"transactionReference\": \"TXN-MEEZAN-984210\",\n  \"notes\": \"Down payment milestone settled via wire transfer.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/payments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "payments"
              ]
            }
          }
        },
        {
          "name": "Get Payment Receipt by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/payments/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "payments",
                "1"
              ]
            }
          }
        },
        {
          "name": "Reverse Transaction Payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reason\": \"Cheque bounced / transaction reversal requested by bank.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/payments/1/reverse",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "payments",
                "1",
                "reverse"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "10. Expenses & Costing",
      "item": [
        {
          "name": "List Expenses",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/expenses?page=1&limit=10&projectId=1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expenses"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "projectId",
                  "value": "1"
                }
              ]
            }
          }
        },
        {
          "name": "Get Expense Summary KPI",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/expenses/summary?projectId=1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expenses",
                "summary"
              ],
              "query": [
                {
                  "key": "projectId",
                  "value": "1"
                }
              ]
            }
          }
        },
        {
          "name": "Create Expense Entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Grey Structure Cement & Rebar Supply\",\n  \"expenseTypeId\": 1,\n  \"projectId\": 1,\n  \"amount\": 450000,\n  \"expenseDate\": \"2026-09-15T09:30:00.000Z\",\n  \"paymentMethod\": \"BANK_TRANSFER\",\n  \"vendorName\": \"Bestway Cement Distributors\",\n  \"invoiceNumber\": \"INV-2026-098\",\n  \"notes\": \"500 bags delivered to site Tower A.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/expenses",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expenses"
              ]
            }
          }
        },
        {
          "name": "Get Expense by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/expenses/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expenses",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Expense",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 480000,\n  \"notes\": \"Adjusted for additional freight charges.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/expenses/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expenses",
                "1"
              ]
            }
          }
        },
        {
          "name": "Delete Expense",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/expenses/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expenses",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "11. Expense Types (Categories)",
      "item": [
        {
          "name": "List Expense Types",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/expense-types?page=1&limit=20",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expense-types"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "20"
                }
              ]
            }
          }
        },
        {
          "name": "Create Expense Type",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"HVAC & Electrical Installation\",\n  \"description\": \"Central cooling and high-voltage grid works.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/expense-types",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expense-types"
              ]
            }
          }
        },
        {
          "name": "Get Expense Type by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/expense-types/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expense-types",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Expense Type",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"HVAC, Plumbing & Electrical\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/expense-types/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expense-types",
                "1"
              ]
            }
          }
        },
        {
          "name": "Delete Expense Type",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/expense-types/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "expense-types",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "12. Appointments (Admin)",
      "item": [
        {
          "name": "List Appointments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/appointments?page=1&limit=10&status=PENDING",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "appointments"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "status",
                  "value": "PENDING"
                }
              ]
            }
          }
        },
        {
          "name": "Create Appointment Entry",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Bilal Tariq\",\n  \"email\": \"bilal.tariq@example.com\",\n  \"phone\": \"+92 333 4445555\",\n  \"date\": \"2026-10-20T11:00:00.000Z\",\n  \"projectId\": 1,\n  \"notes\": \"VIP Client meeting for Tower Penthouse.\",\n  \"status\": \"CONFIRMED\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/appointments",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "appointments"
              ]
            }
          }
        },
        {
          "name": "Get Appointment by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/appointments/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "appointments",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Appointment Details",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"date\": \"2026-10-22T15:00:00.000Z\",\n  \"notes\": \"Rescheduled by client.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/appointments/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "appointments",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Appointment Status",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"COMPLETED\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/appointments/1/status",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "appointments",
                "1",
                "status"
              ]
            }
          }
        },
        {
          "name": "Delete Appointment",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/appointments/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "appointments",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "13. Enquiries (Admin)",
      "item": [
        {
          "name": "List Enquiries",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/enquiries?page=1&limit=10&status=NEW",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "enquiries"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "status",
                  "value": "NEW"
                }
              ]
            }
          }
        },
        {
          "name": "Create Enquiry Record",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Sara Khan\",\n  \"email\": \"sara.khan@example.com\",\n  \"phone\": \"+92 345 6789012\",\n  \"subject\": \"Commercial Showroom Booking Inquiry\",\n  \"message\": \"Looking for ground floor retail showroom unit options.\",\n  \"projectId\": 1,\n  \"status\": \"NEW\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/enquiries",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "enquiries"
              ]
            }
          }
        },
        {
          "name": "Get Enquiry by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/enquiries/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "enquiries",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Enquiry Details",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"message\": \"Updated: Requested meeting on Monday at 3pm.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/enquiries/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "enquiries",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Enquiry Status",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"RESOLVED\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/enquiries/1/status",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "enquiries",
                "1",
                "status"
              ]
            }
          }
        },
        {
          "name": "Delete Enquiry",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/enquiries/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "enquiries",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "14. Carousels & Banners (Admin)",
      "item": [
        {
          "name": "List Carousels",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/carousels?page=1&limit=10",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "carousels"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                }
              ]
            }
          }
        },
        {
          "name": "Create Carousel Slide",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Luxury High-Rise Apartments in Gulberg\",\n  \"subtitle\": \"Experience refined architecture and seamless installment plans.\",\n  \"imageUrl\": \"/uploads/images/hero_banner_1.jpg\",\n  \"link\": \"/projects/1\",\n  \"order\": 1,\n  \"isActive\": true\n}"
            },
            "url": {
              "raw": "{{base_url}}/carousels",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "carousels"
              ]
            }
          }
        },
        {
          "name": "Get Carousel by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/carousels/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "carousels",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Carousel Slide",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Updated: Booking Open for Phase 2\",\n  \"order\": 2\n}"
            },
            "url": {
              "raw": "{{base_url}}/carousels/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "carousels",
                "1"
              ]
            }
          }
        },
        {
          "name": "Delete Carousel Slide",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/carousels/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "carousels",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "15. Floor Plans & Layouts (Admin)",
      "item": [
        {
          "name": "List Floor Plans",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/plans?page=1&limit=10&projectId=1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "plans"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "projectId",
                  "value": "1"
                }
              ]
            }
          }
        },
        {
          "name": "Create Floor Plan Layout",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"3-Bedroom Executive Suite Layout\",\n  \"description\": \"Spacious master suite, attached baths, and dual balconies.\",\n  \"imageUrl\": \"/uploads/images/floor_plan_3bed.jpg\",\n  \"projectId\": 1,\n  \"areaSqFt\": 1950,\n  \"bedrooms\": 3,\n  \"bathrooms\": 3,\n  \"isActive\": true\n}"
            },
            "url": {
              "raw": "{{base_url}}/plans",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "plans"
              ]
            }
          }
        },
        {
          "name": "Get Floor Plan by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/plans/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "plans",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Floor Plan",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"areaSqFt\": 2000,\n  \"title\": \"3-Bedroom Deluxe Layout\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/plans/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "plans",
                "1"
              ]
            }
          }
        },
        {
          "name": "Delete Floor Plan",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/plans/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "plans",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "16. Uploads & Media Storage",
      "item": [
        {
          "name": "Upload Single Image",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "image",
                  "type": "file",
                  "src": ""
                }
              ]
            },
            "url": {
              "raw": "{{base_url}}/uploads/image",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "uploads",
                "image"
              ]
            }
          }
        },
        {
          "name": "Upload Document (PDF/DOC)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "document",
                  "type": "file",
                  "src": ""
                }
              ]
            },
            "url": {
              "raw": "{{base_url}}/uploads/document",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "uploads",
                "document"
              ]
            }
          }
        },
        {
          "name": "Upload Single General File",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "file",
                  "type": "file",
                  "src": ""
                }
              ]
            },
            "url": {
              "raw": "{{base_url}}/uploads/single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "uploads",
                "single"
              ]
            }
          }
        },
        {
          "name": "Upload Multiple Files (up to 10)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "files",
                  "type": "file",
                  "src": []
                }
              ]
            },
            "url": {
              "raw": "{{base_url}}/uploads/multiple",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "uploads",
                "multiple"
              ]
            }
          }
        },
        {
          "name": "Delete Uploaded File",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/uploads/sample-image.jpg",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "uploads",
                "sample-image.jpg"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "17. Dashboard & Analytics",
      "item": [
        {
          "name": "Get Executive KPI Summary",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/dashboard/summary",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "dashboard",
                "summary"
              ]
            }
          }
        },
        {
          "name": "Get Collections & Cashflow Analytics",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/dashboard/collections",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "dashboard",
                "collections"
              ]
            }
          }
        },
        {
          "name": "Get Inventory Occupancy Statistics",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/dashboard/inventory",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "dashboard",
                "inventory"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "18. System Preferences & Settings",
      "item": [
        {
          "name": "Get System Preferences",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/system-preferences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "system-preferences"
              ]
            }
          }
        },
        {
          "name": "Create / Upsert Preferences (POST)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"companyName\": \"Oasis Heights Real Estate Developers (Pvt) Ltd.\",\n  \"tagline\": \"Ultra-Luxury High-Rise Living in Lahore\",\n  \"phone\": \"+92 42 111 627 471\",\n  \"email\": \"info@oasisheights.com\",\n  \"address\": \"Plot 12-A, Main Boulevard, Gulberg III, Lahore, Pakistan\",\n  \"city\": \"Lahore\",\n  \"country\": \"Pakistan\",\n  \"currency\": \"PKR\",\n  \"taxRate\": 5,\n  \"ntnNumber\": \"7864321-9\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/system-preferences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "system-preferences"
              ]
            }
          }
        },
        {
          "name": "Update Preferences (PUT)",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"+92 42 111 627 000\",\n  \"taxRate\": 5.5\n}"
            },
            "url": {
              "raw": "{{base_url}}/system-preferences",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "system-preferences"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "19. Users Management",
      "item": [
        {
          "name": "List Users",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/users?page=1&limit=10&roleId=2",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "users"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "limit",
                  "value": "10"
                },
                {
                  "key": "roleId",
                  "value": "2"
                }
              ]
            }
          }
        },
        {
          "name": "Create User Account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Hamza Shafiq\",\n  \"email\": \"hamza.shafiq@oasisheights.com\",\n  \"phone\": \"+92 322 9988776\",\n  \"password\": \"StaffPassword123!\",\n  \"roleId\": 2,\n  \"status\": \"ACTIVE\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/users",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "users"
              ]
            }
          }
        },
        {
          "name": "Get User by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/users/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "users",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update User Account",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Hamza Shafiq (Finance Lead)\",\n  \"roleId\": 2\n}"
            },
            "url": {
              "raw": "{{base_url}}/users/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "users",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update User Password",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"newPassword\": \"UpdatedSecret999!\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/users/1/password",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "users",
                "1",
                "password"
              ]
            }
          }
        },
        {
          "name": "Delete User",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/users/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "users",
                "1"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "20. Roles & Personas",
      "item": [
        {
          "name": "List Roles",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "roles"
              ]
            }
          }
        },
        {
          "name": "Create Role",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Auditor\",\n  \"description\": \"Read-only access to ledger and analytics reports.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/roles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "roles"
              ]
            }
          }
        },
        {
          "name": "Get Role by ID",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/roles/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "roles",
                "1"
              ]
            }
          }
        },
        {
          "name": "Update Role",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Senior Auditor\",\n  \"description\": \"Audit access with export privileges.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/roles/1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "roles",
                "1"
              ]
            }
          }
        },
        {
          "name": "Delete Role",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/roles/5",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "roles",
                "5"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "21. Role Permissions Matrix",
      "item": [
        {
          "name": "List Role Permissions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/permissions?roleId=2",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "permissions"
              ],
              "query": [
                {
                  "key": "roleId",
                  "value": "2"
                }
              ]
            }
          }
        },
        {
          "name": "Bind Permission (accessible.action) to Role",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"roleId\": 2,\n  \"accessibleId\": 1,\n  \"actionId\": 2\n}"
            },
            "url": {
              "raw": "{{base_url}}/permissions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "permissions"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "22. Accessibles & Actions Registry",
      "item": [
        {
          "name": "List Accessibles",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/accessibles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "accessibles"
              ]
            }
          }
        },
        {
          "name": "Register New Accessible Resource",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"audit-logs\",\n  \"description\": \"Audit trail and security logs.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/accessibles",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "accessibles"
              ]
            }
          }
        },
        {
          "name": "List Actions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/actions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "actions"
              ]
            }
          }
        },
        {
          "name": "Register New Action Operation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"export\",\n  \"description\": \"Export data to Excel / CSV / PDF.\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/actions",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "actions"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "23. System Health Check",
      "item": [
        {
          "name": "Check Server & DB Ping",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{root_url}}/health",
              "host": [
                "{{root_url}}"
              ],
              "path": [
                "health"
              ]
            }
          }
        }
      ]
    }
  ]
}