# Quick Start Guide

## Setup Instructions

1. **Clone and Install**:
   ```bash
   git clone https://github.com/jatinmadaan8/quickstay_database_apis
   cd quickstay_database_apis
   npm install
   ```

2. **Environment Setup**:
   ```bash
   cp .env.example .env
   # Fill in your Firebase credentials in .env file
   ```

3. **Start Server**:
   ```bash
   # Development
   npm run dev
   
   # Production
   npm start
   ```

4. **Test API**:
   ```bash
   curl http://localhost:3001/health
   ```

## Live API Endpoints

The API is deployed and accessible at:
- **Vercel**: `https://quickstay-database-apis.vercel.app`
- **Bolt Hosting**: `https://node-js-express-back-dfu9.bolt.host`

## Common Use Cases

### 1. Check if User Exists
```bash
curl "https://quickstay-database-apis.vercel.app/verify-user/918387868880"
# Or test with known tenant
curl "https://quickstay-database-apis.vercel.app/verify-user/7589017493"
```

### 2. Get All Properties (for leads)
```bash
curl "https://quickstay-database-apis.vercel.app/properties?page=1&limit=5"
```

### 3. Get Properties by Operator
```bash
curl "https://quickstay-database-apis.vercel.app/properties/operator/QSGM7393939"
```

### 4. Search Properties by City
```bash
curl "https://quickstay-database-apis.vercel.app/properties/search?city=Gurgaon"
```

### 5. Search Properties with Multiple Filters
```bash
curl "https://quickstay-database-apis.vercel.app/properties/search?city=Gurgaon&minRent=10000&maxRent=20000"
```

### 6. Create Complaint (for tenants)
```bash
curl -X POST "https://quickstay-database-apis.vercel.app/tenants/tenant123/complaints" \
  -H "Content-Type: application/json" \
  -d '{
    "complaintType": "maintenance",
    "complaintSubtype": "ac_repair",
    "description": "AC not working"
  }'
```

### 7. Check Complaint Status
```bash
curl "https://quickstay-database-apis.vercel.app/tenants/tenant123/complaints/comp123/status"
```

### 8. Get Complete Tenant Information
```bash
curl "https://quickstay-database-apis.vercel.app/tenants/02C0AzygCQ2RqnovIfFC/info"
```

### 9. Get Tenant Payment History
```bash
# Get last 10 payments (default)
curl "https://quickstay-database-apis.vercel.app/tenants/02C0AzygCQ2RqnovIfFC/payments"

# Get last 15 payments
curl "https://quickstay-database-apis.vercel.app/tenants/02C0AzygCQ2RqnovIfFC/payments?limit=15"
```

### 10. Get Tenant Complaints
```bash
# Get last 10 complaints (default)
curl "https://quickstay-database-apis.vercel.app/tenants/02C0AzygCQ2RqnovIfFC/complaints"

# Get last 20 complaints
curl "https://quickstay-database-apis.vercel.app/tenants/02C0AzygCQ2RqnovIfFC/complaints?limit=20"
```

## API Testing with Postman

Import the following collection:

```json
{
  "info": {
    "name": "WhatsApp Bot API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Verify User",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/verify-user/7589017493"
      }
    },
    {
      "name": "Get Properties",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/properties?page=1&limit=10"
      }
    },
    {
      "name": "Get Properties by Operator",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/properties/operator/QSGM7393939"
      }
    },
    {
      "name": "Get Tenant Info",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/tenants/02C0AzygCQ2RqnovIfFC/info"
      }
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://quickstay-database-apis.vercel.app"
    }
  ]
}