{
  "info": {
    "_postman_id": "member-registration-api",
    "name": "Gym Khana - Member Registration API",
    "description": "API collection for testing member registration",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Authentication",
      "item": [
        {
          "name": "Admin Login",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "if (pm.response.code === 200) {",
                  "    var jsonData = pm.response.json();",
                  "    pm.environment.set('authToken', jsonData.data.token);",
                  "    console.log('Token saved:', jsonData.data.token);",
                  "}"
                ]
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"admin@gymkhana.com\",\n  \"password\": \"Admin@123\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/auth/login",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "auth",
                "login"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Member Registration",
      "item": [
        {
          "name": "Register New Primary Member",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{authToken}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"memberId\": \"1789\",\n  \"membershipType\": 1,\n  \"firstName\": \"MRS.SABA KALWAR\",\n  \"lastName\": \"KALWAR\",\n  \"fatherName\": \"KALWAR\",\n  \"cnic\": \"4550116410804\",\n  \"dateOfBirth\": \"1987-01-18T00:00:00.000Z\",\n  \"gender\": \"Female\",\n  \"phonePrimary\": \"03001234567\",\n  \"phoneSecondary\": \"03009876543\",\n  \"email\": \"saba.kalwar@example.com\",\n  \"address\": \"REVENUE EMPLOYEES CO-OPERATIVE HOUSING SOCIETY, HOUSE NO. 1, QASIMABAD\",\n  \"emergencyContactName\": \"John Kalwar\",\n  \"emergencyContactPhone\": \"03111234567\",\n  \"emergencyContactRelation\": \"Brother\",\n  \"membershipStartDate\": \"2026-02-07T00:00:00.000Z\",\n  \"membershipExpiryDate\": null,\n  \"password\": \"Member@123\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/members/register",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "members",
                "register"
              ]
            }
          }
        },
        {
          "name": "Register Another Member (Minimal Fields)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Authorization",
                "value": "Bearer {{authToken}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"memberId\": \"1790\",\n  \"membershipTypeId\": 2,\n  \"firstName\": \"AHMED\",\n  \"lastName\": \"KHAN\",\n  \"cnic\": \"4210012345678\",\n  \"dateOfBirth\": \"1990-05-15T00:00:00.000Z\",\n  \"gender\": \"Male\",\n  \"phonePrimary\": \"03335678901\",\n  \"address\": \"123 Street, Hyderabad\",\n  \"membershipStartDate\": \"2026-02-16T00:00:00.000Z\",\n  \"password\": \"SecurePass@123\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/members/register",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "members",
                "register"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Get All Members",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{authToken}}"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/members?page=1&limit=10",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "members"
          ],
          "query": [
            {
              "key": "page",
              "value": "1"
            },
            {
              "key": "limit",
              "value": "10"
            }
          ]
        }
      }
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "http://localhost:3000/api/v1",
      "type": "string"
    },
    {
      "key": "authToken",
      "value": "",
      "type": "string"
    }
  ]
}
