{
  "info": {
    "name": "Munasabat API v1",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "# Munasabat API v1\n\nVersioned REST API (`/api/v1`) of the **مناسبات (Munasabat)** events marketplace: customers browse providers (halls, catering, decoration…), book a service/package for an occasion and pay; providers manage their catalog and received bookings. Localization via `?lang=ar|en` (default `ar`). Envelope: success `{ message, data }` · validation `{ message, errors }` · failure `{ message }`.\n\n**Design (Figma):** [User app](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev) · [Provider app](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Structure\n`user/` · `provider/` (each: `Auth` · `Logic` · `Settings`) + `shared/` (geography, lookups, public settings).\n\n## Auth model (tokens are captured automatically by test scripts)\n| Audience | Guard | Variable | Flow |\n|---|---|---|---|\n| Customer | `auth:sanctum` | `user_token` | `register` → (`temp_token`, ability `activation`) → `verify-code` → `user_token`; or `login-with-password` / `login-code` → `user_token` |\n| Provider | `auth:provider` + `ability:provider` | `provider_token` | `register` (+documents) → `temp_token` → `verify` → `provider_token`; or login → `provider_token`. Needs admin approval to appear in the catalog |\n| Forgot password | temp token | `temp_token` (ability `forget-password`) | `request-code` → `verify-code` → `reset-password` |\n\nGuests can browse (home, catalog, search, FAQs, pages); protected actions return **401**.\n\n## Lifecycle\n1. Customer: register + verify → browse `providers` → `provider-time-slots` → add address/card → `create-booking` (402 payment failed, 409 slot conflict) → notifications → `review-booking` after completion.\n2. Provider: register + documents → admin approves → create services/packages/works/availability → receive bookings → `confirm` → `start` → `complete` (or `reject`).\n\n## Common errors\n401 unauthenticated · 403 blocked/rejected/suspended · 404 not found (also for other users'/providers' resources) · 409 slot conflict · 402 payment failed · 422 validation · 429 throttle (OTP requests).\n"
  },
  "variable": [
    {
      "key": "base_url",
      "value": "http://127.0.0.1:8000/api/v1/"
    },
    {
      "key": "user_token",
      "value": ""
    },
    {
      "key": "provider_token",
      "value": ""
    },
    {
      "key": "temp_token",
      "value": ""
    },
    {
      "key": "phone",
      "value": "501234567"
    },
    {
      "key": "country_code",
      "value": "966"
    },
    {
      "key": "code",
      "value": "123456"
    },
    {
      "key": "provider_id",
      "value": "1"
    },
    {
      "key": "service_id",
      "value": "1"
    },
    {
      "key": "package_id",
      "value": "1"
    },
    {
      "key": "booking_id",
      "value": "1"
    },
    {
      "key": "address_id",
      "value": "1"
    },
    {
      "key": "card_id",
      "value": "1"
    },
    {
      "key": "occasion_id",
      "value": "1"
    },
    {
      "key": "category_id",
      "value": "1"
    },
    {
      "key": "slug",
      "value": "terms"
    },
    {
      "key": "work_id",
      "value": "1"
    },
    {
      "key": "slot_id",
      "value": "1"
    },
    {
      "key": "notification_id",
      "value": "1"
    },
    {
      "key": "country_id",
      "value": "1"
    },
    {
      "key": "region_id",
      "value": "1"
    },
    {
      "key": "city_id",
      "value": "1"
    }
  ],
  "item": [
    {
      "name": "user",
      "item": [
        {
          "name": "Auth",
          "item": [
            {
              "name": "auth",
              "item": [
                {
                  "name": "register",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}auth/register",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "name",
                          "value": "سارة العتيبي",
                          "type": "text",
                          "description": "required · string max:255"
                        },
                        {
                          "key": "email",
                          "value": "sara@example.com",
                          "type": "text",
                          "description": "required · email unique:users"
                        },
                        {
                          "key": "country_code",
                          "value": "{{country_code}}",
                          "type": "text",
                          "description": "required · exists:countries,code"
                        },
                        {
                          "key": "phone",
                          "value": "{{phone}}",
                          "type": "text",
                          "description": "required · digits_between:9,15 · unique with country_code"
                        },
                        {
                          "key": "password",
                          "value": "Pass@1234",
                          "type": "text",
                          "description": "required · min:8 · confirmed"
                        },
                        {
                          "key": "password_confirmation",
                          "value": "Pass@1234",
                          "type": "text",
                          "description": "required"
                        },
                        {
                          "key": "terms",
                          "value": "1",
                          "type": "text",
                          "description": "required · accepted (client-side acceptance flag)"
                        }
                      ]
                    },
                    "description": "## Purpose\nCreates the account (OTP-first) and returns an `activation` token stored in `temp_token`. Next: `verify-code`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}auth/register`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `name` — required · string max:255\n- `email` — required · email unique:users\n- `country_code` — required · exists:countries,code\n- `phone` — required · digits_between:9,15 · unique with country_code\n- `password` — required · min:8 · confirmed\n- `password_confirmation` — required\n- `terms` — required · accepted (client-side acceptance flag)\n\n## Success 200\n`{ message: \"أهلاً بك في مناسبات. أدخل رمز التحقق المرسل إلى جوالك لتفعيل حسابك\", data: ... }`\n\n## Errors\n422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{country_code}}` — dial code, e.g. 966\n- `{{phone}}` — phone without country code"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/register",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "سارة العتيبي",
                              "type": "text",
                              "description": "required · string max:255"
                            },
                            {
                              "key": "email",
                              "value": "sara@example.com",
                              "type": "text",
                              "description": "required · email unique:users"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · digits_between:9,15 · unique with country_code"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:8 · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "terms",
                              "value": "1",
                              "type": "text",
                              "description": "required · accepted (client-side acceptance flag)"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"أهلاً بك في مناسبات. أدخل رمز التحقق المرسل إلى جوالك لتفعيل حسابك\",\n  \"data\": {\n    \"id\": 12,\n    \"phone\": \"501234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966501234567\",\n    \"name\": \"سارة العتيبي\",\n    \"token\": \"1|xxxxxxxxxxxxxxxxxxxxxxxx\",\n    \"email\": \"sara@example.com\",\n    \"is_complete_info\": true,\n    \"is_active\": true,\n    \"image\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/register",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "سارة العتيبي",
                              "type": "text",
                              "description": "required · string max:255"
                            },
                            {
                              "key": "email",
                              "value": "sara@example.com",
                              "type": "text",
                              "description": "required · email unique:users"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · digits_between:9,15 · unique with country_code"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:8 · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "terms",
                              "value": "1",
                              "type": "text",
                              "description": "required · accepted (client-side acceptance flag)"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"phone\": [\n      \"رقم الجوال مسجل مسبقًا.\"\n    ]\n  }\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  if (pm.response.code === 200 && j.data) {",
                          "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                          "    if (t) { pm.environment.set('temp_token', t); pm.collectionVariables.set('temp_token', t); }",
                          "  }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "verify-code",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{temp_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}auth/verify-code",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "code",
                          "value": "{{code}}",
                          "type": "text",
                          "description": "required · string"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{temp_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nVerifies the registration OTP with the temp token; returns the full token stored in `user_token`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}auth/verify-code`\n\n## Auth\nBearer token `{{temp_token}}` — middleware `auth:sanctum` + `ability:activation` (temp token).\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{temp_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم تفعيل حسابك بنجاح. أهلاً بك في مناسبات\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{temp_token}}` — short-lived token (`activation` after register, `forget-password` after forgot request-code)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}"
                          }
                        ],
                        "url": "{{base_url}}auth/verify-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تفعيل حسابك بنجاح. أهلاً بك في مناسبات\",\n  \"data\": {\n    \"id\": 12,\n    \"phone\": \"501234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966501234567\",\n    \"name\": \"سارة العتيبي\",\n    \"token\": \"5|xxxxxxxxxxxxxxxxxxxxxxxx\",\n    \"email\": \"sara@example.com\",\n    \"is_complete_info\": true,\n    \"is_active\": true,\n    \"image\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}"
                          }
                        ],
                        "url": "{{base_url}}auth/verify-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/verify-code"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 422 invalid code",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}"
                          }
                        ],
                        "url": "{{base_url}}auth/verify-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  if (pm.response.code === 200 && j.data) {",
                          "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                          "    if (t) { pm.environment.set('user_token', t); pm.collectionVariables.set('user_token', t); }",
                          "  }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "login-with-password",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}auth/login-with-password",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "login_value",
                          "value": "{{phone}}",
                          "type": "text",
                          "description": "required · phone digits (9-15) or email"
                        },
                        {
                          "key": "country_code",
                          "value": "{{country_code}}",
                          "type": "text",
                          "description": "required when login_value is a phone · exists:countries,code"
                        },
                        {
                          "key": "password",
                          "value": "Pass@1234",
                          "type": "text",
                          "description": "required · string min:6"
                        }
                      ]
                    },
                    "description": "## Purpose\nPassword login with phone or email; token stored in `user_token`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}auth/login-with-password`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `login_value` — required · phone digits (9-15) or email\n- `country_code` — required when login_value is a phone · exists:countries,code\n- `password` — required · string min:6\n\n## Success 200\n`{ message: \"تم تسجيل الدخول بنجاح\", data: ... }`\n\n## Errors\n422 validation · 403 blocked\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{country_code}}` — dial code, e.g. 966\n- `{{phone}}` — phone without country code"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/login-with-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "login_value",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · phone digits (9-15) or email"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required when login_value is a phone · exists:countries,code"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · string min:6"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تسجيل الدخول بنجاح\",\n  \"data\": {\n    \"id\": 12,\n    \"phone\": \"501234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966501234567\",\n    \"name\": \"سارة العتيبي\",\n    \"token\": \"5|xxxxxxxxxxxxxxxxxxxxxxxx\",\n    \"email\": \"sara@example.com\",\n    \"is_complete_info\": true,\n    \"is_active\": true,\n    \"image\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/login-with-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "login_value",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · phone digits (9-15) or email"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required when login_value is a phone · exists:countries,code"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · string min:6"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"login_value\": [\n      \"بيانات الدخول غير صحيحة\"\n    ],\n    \"password\": [\n      \"بيانات الدخول غير صحيحة\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ 403 blocked",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/login-with-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "login_value",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · phone digits (9-15) or email"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required when login_value is a phone · exists:countries,code"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · string min:6"
                            }
                          ]
                        }
                      },
                      "status": "Forbidden",
                      "code": 403,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حظر حسابك\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  if (pm.response.code === 200 && j.data) {",
                          "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                          "    if (t) { pm.environment.set('user_token', t); pm.collectionVariables.set('user_token', t); }",
                          "  }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "request-code",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}auth/request-code",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "phone",
                          "value": "{{phone}}",
                          "type": "text",
                          "description": "required · regex phone · max:20"
                        }
                      ]
                    },
                    "description": "## Purpose\nSends the OTP used by `login-code`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}auth/request-code`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `phone` — required · regex phone · max:20\n\n## Success 200\n`{ message: \"تم إرسال كود التفعيل بنجاح\", data: ... }`\n\n## Errors\n422 validation · 429 too many attempts\n\n## Notes\nThrottle `throttle:request-code`.\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{phone}}` — phone without country code"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/request-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · regex phone · max:20"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم إرسال كود التفعيل بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/request-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · regex phone · max:20"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"phone\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ 429 too many attempts",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/request-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · regex phone · max:20"
                            }
                          ]
                        }
                      },
                      "status": "Too Many Requests",
                      "code": 429,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Too Many Attempts.\"\n}"
                    }
                  ]
                },
                {
                  "name": "login-code",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}auth/login-code",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "phone",
                          "value": "{{phone}}",
                          "type": "text",
                          "description": "required · regex phone"
                        },
                        {
                          "key": "code",
                          "value": "{{code}}",
                          "type": "text",
                          "description": "required · 6 digits"
                        }
                      ]
                    },
                    "description": "## Purpose\nOTP login; token stored in `user_token`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}auth/login-code`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `phone` — required · regex phone\n- `code` — required · 6 digits\n\n## Success 200\n`{ message: \"تم تسجيل الدخول بنجاح\", data: ... }`\n\n## Errors\n422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{phone}}` — phone without country code"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/login-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · regex phone"
                            },
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · 6 digits"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تسجيل الدخول بنجاح\",\n  \"data\": {\n    \"token\": \"5|xxxxxxxxxxxxxxxxxxxxxxxx\",\n    \"user\": {\n      \"id\": 12,\n      \"phone\": \"501234567\",\n      \"country_code\": \"966\",\n      \"normalized_phone\": \"966501234567\",\n      \"name\": \"سارة العتيبي\",\n      \"token\": null,\n      \"email\": \"sara@example.com\",\n      \"is_complete_info\": true,\n      \"is_active\": true,\n      \"image\": null\n    }\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/login-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · regex phone"
                            },
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · 6 digits"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"phone\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ 422 invalid code",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/login-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · regex phone"
                            },
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · 6 digits"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  if (pm.response.code === 200 && j.data) {",
                          "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                          "    if (t) { pm.environment.set('user_token', t); pm.collectionVariables.set('user_token', t); }",
                          "  }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "forgot-password",
                  "item": [
                    {
                      "name": "request-code",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}auth/forgot-password/request-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required · string max:5 · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · digits_between:9,15 · exists on users"
                            }
                          ]
                        },
                        "description": "## Purpose\nSends the forgot-password OTP and mints a temp token (`ability: forget-password`, 15 min) stored in `temp_token`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}auth/forgot-password/request-code`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `country_code` — required · string max:5 · exists:countries,code\n- `phone` — required · digits_between:9,15 · exists on users\n\n## Success 200\n`{ message: \"تم إرسال رمز التحقق إلى جوالك\", data: ... }`\n\n## Errors\n422 validation · 429 too many attempts\n\n## Notes\nThrottle `throttle:request-code`.\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{country_code}}` — dial code, e.g. 966\n- `{{phone}}` — phone without country code"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/request-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "{{country_code}}",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "{{phone}}",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · exists on users"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم إرسال رمز التحقق إلى جوالك\",\n  \"data\": {\n    \"token\": \"1|xxxxxxxxxxxxxxxxxxxxxxxx\"\n  }\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/request-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "{{country_code}}",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "{{phone}}",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · exists on users"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"country_code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ 429 too many attempts",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/request-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "{{country_code}}",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "{{phone}}",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · exists on users"
                                }
                              ]
                            }
                          },
                          "status": "Too Many Requests",
                          "code": 429,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Too Many Attempts.\"\n}"
                        }
                      ],
                      "event": [
                        {
                          "listen": "test",
                          "script": {
                            "type": "text/javascript",
                            "exec": [
                              "try { const j = pm.response.json();",
                              "  if (pm.response.code === 200 && j.data) {",
                              "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                              "    if (t) { pm.environment.set('temp_token', t); pm.collectionVariables.set('temp_token', t); }",
                              "  }",
                              "} catch (e) {}"
                            ]
                          }
                        }
                      ]
                    },
                    {
                      "name": "verify-code",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}auth/forgot-password/verify-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{temp_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nVerifies the OTP using the temp token.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}auth/forgot-password/verify-code`\n\n## Auth\nBearer token `{{temp_token}}` — middleware `auth:sanctum` + `ability:forget-password` (temp token).\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{temp_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم التحقق من الرمز\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{temp_token}}` — short-lived token (`activation` after register, `forget-password` after forgot request-code)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/verify-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم التحقق من الرمز\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/verify-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/verify-code"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 422 invalid code",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/verify-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                        }
                      ]
                    },
                    {
                      "name": "reset-password",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}auth/forgot-password/reset-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · string min:8 · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · same as password"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{temp_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nSets the new password; revokes the temp token. Requires verify-code first.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}auth/forgot-password/reset-password`\n\n## Auth\nBearer token `{{temp_token}}` — middleware `auth:sanctum` + `ability:forget-password` (temp token).\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{temp_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `password` — required · string min:8 · confirmed\n- `password_confirmation` — required · same as password\n\n## Success 200\n`{ message: \"تم تغيير كلمة السر بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 400 code not verified\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{temp_token}}` — short-lived token (`activation` after register, `forget-password` after forgot request-code)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/reset-password",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "password",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · string min:8 · confirmed"
                                },
                                {
                                  "key": "password_confirmation",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · same as password"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم تغيير كلمة السر بنجاح\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/reset-password",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "password",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · string min:8 · confirmed"
                                },
                                {
                                  "key": "password_confirmation",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · same as password"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"password\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/reset-password"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 400 code not verified",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}auth/forgot-password/reset-password",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "password",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · string min:8 · confirmed"
                                },
                                {
                                  "key": "password_confirmation",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · same as password"
                                }
                              ]
                            }
                          },
                          "status": "Bad Request",
                          "code": 400,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"يجب التحقق من الرمز أولاً\"\n}"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "logout",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}auth/logout",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nRevokes the current token.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}auth/logout`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم تسجيل الخروج بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}auth/logout"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تسجيل الخروج بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/logout"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "me",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}auth/me",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nCurrent authenticated customer (UserResource).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}auth/me`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب بيانات المستخدم بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}auth/me"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب بيانات المستخدم بنجاح\",\n  \"data\": {\n    \"user\": {\n      \"id\": 12,\n      \"phone\": \"501234567\",\n      \"country_code\": \"966\",\n      \"normalized_phone\": \"966501234567\",\n      \"name\": \"سارة العتيبي\",\n      \"token\": null,\n      \"email\": \"sara@example.com\",\n      \"is_complete_info\": true,\n      \"is_active\": true,\n      \"image\": null\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}auth/me"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "profile",
              "item": [
                {
                  "name": "update-profile",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}profile",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "name",
                          "value": "سارة العتيبي",
                          "type": "text",
                          "description": "sometimes · string max:255"
                        },
                        {
                          "key": "email",
                          "value": "sara@example.com",
                          "type": "text",
                          "description": "sometimes · email unique"
                        },
                        {
                          "key": "image",
                          "type": "file",
                          "src": [],
                          "description": "sometimes · image jpg/jpeg/png/webp max 4MB"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nUpdates name/email/avatar (multipart).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `name` — sometimes · string max:255\n- `email` — sometimes · email unique\n- `image` — sometimes · image jpg/jpeg/png/webp max 4MB\n\n## Success 200\n`{ message: \"تم تحديث بياناتك بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}profile",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "سارة العتيبي",
                              "type": "text",
                              "description": "sometimes · string max:255"
                            },
                            {
                              "key": "email",
                              "value": "sara@example.com",
                              "type": "text",
                              "description": "sometimes · email unique"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "sometimes · image jpg/jpeg/png/webp max 4MB"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث بياناتك بنجاح\",\n  \"data\": {\n    \"id\": 12,\n    \"phone\": \"501234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966501234567\",\n    \"name\": \"سارة العتيبي\",\n    \"token\": null,\n    \"email\": \"sara@example.com\",\n    \"is_complete_info\": true,\n    \"is_active\": true,\n    \"image\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}profile",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "سارة العتيبي",
                              "type": "text",
                              "description": "sometimes · string max:255"
                            },
                            {
                              "key": "email",
                              "value": "sara@example.com",
                              "type": "text",
                              "description": "sometimes · email unique"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "sometimes · image jpg/jpeg/png/webp max 4MB"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"name\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}profile"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "change-password",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}profile/change-password",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "current_password",
                          "value": "Pass@1234",
                          "type": "text",
                          "description": "required · current_password"
                        },
                        {
                          "key": "password",
                          "value": "NewPass@1234",
                          "type": "text",
                          "description": "required · min:8 · different · confirmed"
                        },
                        {
                          "key": "password_confirmation",
                          "value": "NewPass@1234",
                          "type": "text",
                          "description": "required"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nChange password (no OTP).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile/change-password`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `current_password` — required · current_password\n- `password` — required · min:8 · different · confirmed\n- `password_confirmation` — required\n\n## Success 200\n`{ message: \"تم تغيير كلمة المرور بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}profile/change-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "current_password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · current_password"
                            },
                            {
                              "key": "password",
                              "value": "NewPass@1234",
                              "type": "text",
                              "description": "required · min:8 · different · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "NewPass@1234",
                              "type": "text",
                              "description": "required"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تغيير كلمة المرور بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}profile/change-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "current_password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · current_password"
                            },
                            {
                              "key": "password",
                              "value": "NewPass@1234",
                              "type": "text",
                              "description": "required · min:8 · different · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "NewPass@1234",
                              "type": "text",
                              "description": "required"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"current_password\": [\n      \"كلمة المرور غير صحيحة.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}profile/change-password"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "change-phone",
                  "item": [
                    {
                      "name": "request-current-code",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}profile/change-phone/request-current-code",
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{user_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 1/4 — send OTP to the CURRENT phone.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile/change-phone/request-current-code`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم إرسال رمز التحقق إلى رقمك الحالي\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/request-current-code"
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم إرسال رمز التحقق إلى رقمك الحالي\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/request-current-code"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        }
                      ]
                    },
                    {
                      "name": "verify-current",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}profile/change-phone/verify-current",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{user_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 2/4 — verify the CURRENT phone code.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile/change-phone/verify-current`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم التحقق من رقمك الحالي\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/verify-current",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم التحقق من رقمك الحالي\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/verify-current",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/verify-current"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 422 invalid code",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/verify-current",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                        }
                      ]
                    },
                    {
                      "name": "set-new",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}profile/change-phone/set-new",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "966",
                              "type": "text",
                              "description": "required · string max:5 · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "509876543",
                              "type": "text",
                              "description": "required · digits_between:9,15 · unique (ignores self)"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{user_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 3/4 — set the NEW phone; sends OTP to it.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile/change-phone/set-new`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `country_code` — required · string max:5 · exists:countries,code\n- `phone` — required · digits_between:9,15 · unique (ignores self)\n\n## Success 200\n`{ message: \"تم إرسال رمز التحقق إلى رقمك الجديد\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 400 current not verified\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/set-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · unique (ignores self)"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم إرسال رمز التحقق إلى رقمك الجديد\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/set-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · unique (ignores self)"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"country_code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/set-new"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 400 current not verified",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/set-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · unique (ignores self)"
                                }
                              ]
                            }
                          },
                          "status": "Bad Request",
                          "code": 400,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"يجب التحقق من رقمك الحالي أولاً\"\n}"
                        }
                      ]
                    },
                    {
                      "name": "verify-new",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}profile/change-phone/verify-new",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "966",
                              "type": "text",
                              "description": "required · string max:5 · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "509876543",
                              "type": "text",
                              "description": "required · digits_between:9,15 · same as set-new"
                            },
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{user_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 4/4 — verify the NEW phone code; phone is changed.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile/change-phone/verify-new`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `country_code` — required · string max:5 · exists:countries,code\n- `phone` — required · digits_between:9,15 · same as set-new\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم تغيير رقم جوالك بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/verify-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · same as set-new"
                                },
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم تغيير رقم جوالك بنجاح\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/verify-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · same as set-new"
                                },
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"country_code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/verify-new"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 422 invalid code",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-phone/verify-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · same as set-new"
                                },
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "change-email",
                  "item": [
                    {
                      "name": "request-current-code",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}profile/change-email/request-current-code",
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{user_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 1/4 — OTP to the CURRENT email.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile/change-email/request-current-code`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم إرسال رمز التحقق إلى بريدك الحالي\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/request-current-code"
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم إرسال رمز التحقق إلى بريدك الحالي\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/request-current-code"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        }
                      ]
                    },
                    {
                      "name": "verify-current",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}profile/change-email/verify-current",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{user_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 2/4 — verify CURRENT email code.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile/change-email/verify-current`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم التحقق من بريدك الحالي\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/verify-current",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم التحقق من بريدك الحالي\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/verify-current",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/verify-current"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 422 invalid code",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/verify-current",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                        }
                      ]
                    },
                    {
                      "name": "set-new",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}profile/change-email/set-new",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "email",
                              "value": "new@example.com",
                              "type": "text",
                              "description": "required · email unique · different from current"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{user_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 3/4 — set the NEW email.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile/change-email/set-new`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `email` — required · email unique · different from current\n\n## Success 200\n`{ message: \"تم إرسال رمز التحقق إلى بريدك الجديد\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 400 current not verified\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/set-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "email",
                                  "value": "new@example.com",
                                  "type": "text",
                                  "description": "required · email unique · different from current"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم إرسال رمز التحقق إلى بريدك الجديد\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/set-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "email",
                                  "value": "new@example.com",
                                  "type": "text",
                                  "description": "required · email unique · different from current"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"email\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/set-new"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 400 current not verified",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/set-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "email",
                                  "value": "new@example.com",
                                  "type": "text",
                                  "description": "required · email unique · different from current"
                                }
                              ]
                            }
                          },
                          "status": "Bad Request",
                          "code": 400,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"يجب التحقق من بريدك الحالي أولاً\"\n}"
                        }
                      ]
                    },
                    {
                      "name": "verify-new",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}profile/change-email/verify-new",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "email",
                              "value": "new@example.com",
                              "type": "text",
                              "description": "required · email"
                            },
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{user_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 4/4 — verify NEW email code.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}profile/change-email/verify-new`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `email` — required · email\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم تغيير بريدك الإلكتروني بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/verify-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "email",
                                  "value": "new@example.com",
                                  "type": "text",
                                  "description": "required · email"
                                },
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم تغيير بريدك الإلكتروني بنجاح\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/verify-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "email",
                                  "value": "new@example.com",
                                  "type": "text",
                                  "description": "required · email"
                                },
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"email\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/verify-new"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 422 invalid code",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{user_token}}"
                              }
                            ],
                            "url": "{{base_url}}profile/change-email/verify-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "email",
                                  "value": "new@example.com",
                                  "type": "text",
                                  "description": "required · email"
                                },
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "notifications-toggle",
                  "request": {
                    "method": "PATCH",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}profile/notifications",
                    "body": {
                      "mode": "urlencoded",
                      "urlencoded": [
                        {
                          "key": "is_notify",
                          "value": "1",
                          "description": "sometimes · boolean",
                          "type": "text"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nEnable/disable push notifications for the account.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`PATCH {{base_url}}profile/notifications`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (x-www-form-urlencoded)\n- `is_notify` — sometimes · boolean\n\n## Success 200\n`{ message: \"تم تفعيل الإشعارات\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}profile/notifications",
                        "body": {
                          "mode": "urlencoded",
                          "urlencoded": [
                            {
                              "key": "is_notify",
                              "value": "1",
                              "description": "sometimes · boolean",
                              "type": "text"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تفعيل الإشعارات\",\n  \"data\": {\n    \"is_notify\": true\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}profile/notifications",
                        "body": {
                          "mode": "urlencoded",
                          "urlencoded": [
                            {
                              "key": "is_notify",
                              "value": "1",
                              "description": "sometimes · boolean",
                              "type": "text"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"is_notify\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}profile/notifications"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "language",
                  "request": {
                    "method": "PATCH",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}profile/language",
                    "body": {
                      "mode": "urlencoded",
                      "urlencoded": [
                        {
                          "key": "locale",
                          "value": "ar",
                          "description": "required · in:ar,en",
                          "type": "text"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nPersist the preferred language (`users.locale`).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`PATCH {{base_url}}profile/language`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (x-www-form-urlencoded)\n- `locale` — required · in:ar,en\n\n## Success 200\n`{ message: \"تم تغيير اللغة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}profile/language",
                        "body": {
                          "mode": "urlencoded",
                          "urlencoded": [
                            {
                              "key": "locale",
                              "value": "ar",
                              "description": "required · in:ar,en",
                              "type": "text"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تغيير اللغة بنجاح\",\n  \"data\": {\n    \"locale\": \"ar\"\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}profile/language",
                        "body": {
                          "mode": "urlencoded",
                          "urlencoded": [
                            {
                              "key": "locale",
                              "value": "ar",
                              "description": "required · in:ar,en",
                              "type": "text"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"locale\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}profile/language"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "delete-account",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}profile",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nDeletes (soft) the customer account and revokes tokens.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`DELETE {{base_url}}profile`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم حذف حسابك في مناسبات\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}profile"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حذف حسابك في مناسبات\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}profile"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Logic",
          "item": [
            {
              "name": "home",
              "item": [
                {
                  "name": "home",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}home",
                    "description": "## Purpose\nHome screen: greeting (only if a user token is sent), sliders, occasions, categories, featured providers. Optional bearer `{{user_token}}`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}home`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الرئيسية بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}home"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الرئيسية بنجاح\",\n  \"data\": {\n    \"greeting\": {\n      \"name\": \"سارة العتيبي\",\n      \"image\": null,\n      \"message\": \"أهلاً سارة العتيبي\"\n    },\n    \"sliders\": [\n      {\n        \"id\": 1,\n        \"title\": \"خصم 20%\",\n        \"image\": null\n      }\n    ],\n    \"occasions\": [\n      {\n        \"id\": 1,\n        \"name\": \"حفل زفاف\",\n        \"image\": null\n      }\n    ],\n    \"service_categories\": [\n      {\n        \"id\": 1,\n        \"name\": \"قاعات\",\n        \"image\": null\n      }\n    ],\n    \"featured_providers\": [\n      {\n        \"id\": 3,\n        \"name\": \"قاعة الياسمين\",\n        \"image\": null,\n        \"rating_avg\": \"4.8\",\n        \"rating_count\": 24,\n        \"price_from\": \"1500.00\",\n        \"is_verified\": true,\n        \"service_category\": {\n          \"id\": 1,\n          \"name\": \"قاعات\"\n        },\n        \"city\": {\n          \"id\": 1,\n          \"name\": \"الرياض\"\n        }\n      }\n    ]\n  }\n}"
                    }
                  ]
                },
                {
                  "name": "sliders",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}sliders",
                    "description": "## Purpose\nHome banners.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}sliders`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البانرات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}sliders"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب البانرات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"title\": \"خصم 20%\",\n      \"image\": null\n    }\n  ]\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "catalog",
              "item": [
                {
                  "name": "occasions",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}occasions",
                    "description": "## Purpose\nOccasion chips (translated).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}occasions`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب المناسبات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}occasions"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب المناسبات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"حفل زفاف\",\n      \"image\": null\n    }\n  ]\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data[0] && j.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('occasion_id', id); pm.collectionVariables.set('occasion_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "service-categories",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}service-categories",
                    "description": "## Purpose\nService categories.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}service-categories`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب التصنيفات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}service-categories"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب التصنيفات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"قاعات\",\n      \"image\": null\n    }\n  ]\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data[0] && j.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('category_id', id); pm.collectionVariables.set('category_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "providers",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}providers?category_id={{category_id}}&occasion_id={{occasion_id}}&city_id=1&rating=4&price_min=500&price_max=5000&available_date=2026-11-20&sort=rating&search=قاعة&page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "providers"
                      ],
                      "query": [
                        {
                          "key": "category_id",
                          "value": "{{category_id}}",
                          "description": "nullable · exists:service_categories",
                          "disabled": true
                        },
                        {
                          "key": "occasion_id",
                          "value": "{{occasion_id}}",
                          "description": "nullable · exists:occasions",
                          "disabled": true
                        },
                        {
                          "key": "city_id",
                          "value": "1",
                          "description": "nullable · exists:cities",
                          "disabled": true
                        },
                        {
                          "key": "rating",
                          "value": "4",
                          "description": "nullable · numeric 0-5 (min avg rating)",
                          "disabled": true
                        },
                        {
                          "key": "price_min",
                          "value": "500",
                          "description": "nullable · numeric ≥0",
                          "disabled": true
                        },
                        {
                          "key": "price_max",
                          "value": "5000",
                          "description": "nullable · numeric ≥ price_min",
                          "disabled": true
                        },
                        {
                          "key": "available_date",
                          "value": "2026-11-20",
                          "description": "nullable · Y-m-d",
                          "disabled": true
                        },
                        {
                          "key": "sort",
                          "value": "rating",
                          "description": "nullable · relevance|rating|price_asc|price_desc",
                          "disabled": true
                        },
                        {
                          "key": "search",
                          "value": "قاعة",
                          "description": "nullable · string max:100",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "description": "## Purpose\nBrowse providers (approved + active only) with filters and sort. Optional bearer adds `is_favorite`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}providers`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `category_id` — nullable · exists:service_categories\n- `occasion_id` — nullable · exists:occasions\n- `city_id` — nullable · exists:cities\n- `rating` — nullable · numeric 0-5 (min avg rating)\n- `price_min` — nullable · numeric ≥0\n- `price_max` — nullable · numeric ≥ price_min\n- `available_date` — nullable · Y-m-d\n- `sort` — nullable · relevance|rating|price_asc|price_desc\n- `search` — nullable · string max:100\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب مقدمي الخدمة بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{category_id}}` — service-category id\n- `{{occasion_id}}` — occasion id"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}providers?category_id={{category_id}}&occasion_id={{occasion_id}}&city_id=1&rating=4&price_min=500&price_max=5000&available_date=2026-11-20&sort=rating&search=قاعة&page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "providers"
                          ],
                          "query": [
                            {
                              "key": "category_id",
                              "value": "{{category_id}}",
                              "description": "nullable · exists:service_categories",
                              "disabled": true
                            },
                            {
                              "key": "occasion_id",
                              "value": "{{occasion_id}}",
                              "description": "nullable · exists:occasions",
                              "disabled": true
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "description": "nullable · exists:cities",
                              "disabled": true
                            },
                            {
                              "key": "rating",
                              "value": "4",
                              "description": "nullable · numeric 0-5 (min avg rating)",
                              "disabled": true
                            },
                            {
                              "key": "price_min",
                              "value": "500",
                              "description": "nullable · numeric ≥0",
                              "disabled": true
                            },
                            {
                              "key": "price_max",
                              "value": "5000",
                              "description": "nullable · numeric ≥ price_min",
                              "disabled": true
                            },
                            {
                              "key": "available_date",
                              "value": "2026-11-20",
                              "description": "nullable · Y-m-d",
                              "disabled": true
                            },
                            {
                              "key": "sort",
                              "value": "rating",
                              "description": "nullable · relevance|rating|price_asc|price_desc",
                              "disabled": true
                            },
                            {
                              "key": "search",
                              "value": "قاعة",
                              "description": "nullable · string max:100",
                              "disabled": true
                            },
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب مقدمي الخدمة بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 3,\n        \"name\": \"قاعة الياسمين\",\n        \"image\": null,\n        \"rating_avg\": \"4.8\",\n        \"rating_count\": 24,\n        \"price_from\": \"1500.00\",\n        \"is_verified\": true,\n        \"service_category\": {\n          \"id\": 1,\n          \"name\": \"قاعات\"\n        },\n        \"city\": {\n          \"id\": 1,\n          \"name\": \"الرياض\"\n        }\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.data && j.data.data[0] && j.data.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('provider_id', id); pm.collectionVariables.set('provider_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "provider-show",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}providers/{{provider_id}}",
                    "description": "## Purpose\nProvider profile details.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}providers/{{provider_id}}`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب بيانات مقدم الخدمة بنجاح\", data: ... }`\n\n## Errors\n404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_id}}` — provider id (captured from list)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}providers/{{provider_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب بيانات مقدم الخدمة بنجاح\",\n  \"data\": {\n    \"id\": 3,\n    \"name\": \"قاعة الياسمين\",\n    \"about\": \"قاعات أفراح وحفلات راقية\",\n    \"image\": null,\n    \"gallery\": [],\n    \"is_verified\": true,\n    \"is_featured\": false,\n    \"price_from\": \"1500.00\",\n    \"stats\": {\n      \"rating_avg\": \"4.8\",\n      \"rating_count\": 24,\n      \"services_count\": 3\n    },\n    \"location\": {\n      \"address\": \"حي النخيل\",\n      \"lat\": \"24.7136000\",\n      \"lng\": \"46.6753000\",\n      \"city\": \"الرياض\",\n      \"district\": \"النخيل\"\n    },\n    \"service_category\": {\n      \"id\": 1,\n      \"name\": \"قاعات\"\n    },\n    \"occasions\": [\n      {\n        \"id\": 1,\n        \"name\": \"حفل زفاف\",\n        \"image\": null\n      }\n    ],\n    \"is_favorite\": false\n  }\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}providers/{{provider_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "provider-services",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}providers/{{provider_id}}/services",
                    "description": "## Purpose\nProvider's active services.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}providers/{{provider_id}}/services`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الخدمات بنجاح\", data: ... }`\n\n## Errors\n404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_id}}` — provider id (captured from list)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}providers/{{provider_id}}/services"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الخدمات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 5,\n      \"name\": \"قاعة كبرى\",\n      \"description\": \"تتسع لـ 300 ضيف\",\n      \"guest_capacity\": 300,\n      \"price\": \"4500.00\",\n      \"image\": null\n    }\n  ]\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}providers/{{provider_id}}/services"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data[0] && j.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('service_id', id); pm.collectionVariables.set('service_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "provider-packages",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}providers/{{provider_id}}/packages",
                    "description": "## Purpose\nProvider's active packages.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}providers/{{provider_id}}/packages`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الباقات بنجاح\", data: ... }`\n\n## Errors\n404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_id}}` — provider id (captured from list)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}providers/{{provider_id}}/packages"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الباقات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 2,\n      \"name\": \"باقة الزفاف الذهبية\",\n      \"description\": \"تشمل التنسيق والضيافة\",\n      \"price\": \"9000.00\",\n      \"image\": null,\n      \"items\": [\n        {\n          \"id\": 1,\n          \"label\": \"تنسيق الكوشة\"\n        },\n        {\n          \"id\": 2,\n          \"label\": \"ضيافة 100 شخص\"\n        }\n      ]\n    }\n  ]\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}providers/{{provider_id}}/packages"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data[0] && j.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('package_id', id); pm.collectionVariables.set('package_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "provider-works",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}providers/{{provider_id}}/works",
                    "description": "## Purpose\nProvider's portfolio.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}providers/{{provider_id}}/works`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الأعمال بنجاح\", data: ... }`\n\n## Errors\n404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_id}}` — provider id (captured from list)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}providers/{{provider_id}}/works"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الأعمال بنجاح\",\n  \"data\": [\n    {\n      \"id\": 4,\n      \"title\": \"حفل زفاف الربيع\",\n      \"occasion_id\": 1,\n      \"image\": null\n    }\n  ]\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}providers/{{provider_id}}/works"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "provider-reviews",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}providers/{{provider_id}}/reviews?page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "providers",
                        "{{provider_id}}",
                        "reviews"
                      ],
                      "query": [
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "description": "## Purpose\nVisible reviews (paginated).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}providers/{{provider_id}}/reviews`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب التقييمات بنجاح\", data: ... }`\n\n## Errors\n404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_id}}` — provider id (captured from list)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}providers/{{provider_id}}/reviews?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "providers",
                            "{{provider_id}}",
                            "reviews"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب التقييمات بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 9,\n        \"reviewer\": \"سارة العتيبي\",\n        \"rating\": 5,\n        \"comment\": \"تجربة رائعة\",\n        \"date\": \"2026-09-20\"\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}providers/{{provider_id}}/reviews?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "providers",
                            "{{provider_id}}",
                            "reviews"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "provider-availability",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}providers/{{provider_id}}/availability?month=2026-11",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "providers",
                        "{{provider_id}}",
                        "availability"
                      ],
                      "query": [
                        {
                          "key": "month",
                          "value": "2026-11",
                          "description": "required · Y-m"
                        }
                      ]
                    },
                    "description": "## Purpose\nCalendar availability for a month.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}providers/{{provider_id}}/availability`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `month` — required · Y-m\n\n## Success 200\n`{ message: \"تم جلب الأيام المتاحة بنجاح\", data: ... }`\n\n## Errors\n404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_id}}` — provider id (captured from list)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}providers/{{provider_id}}/availability?month=2026-11",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "providers",
                            "{{provider_id}}",
                            "availability"
                          ],
                          "query": [
                            {
                              "key": "month",
                              "value": "2026-11",
                              "description": "required · Y-m"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الأيام المتاحة بنجاح\",\n  \"data\": {\n    \"month\": \"2026-11\",\n    \"days\": [\n      {\n        \"date\": \"2026-11-20\",\n        \"available\": true\n      },\n      {\n        \"date\": \"2026-11-21\",\n        \"available\": false\n      }\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}providers/{{provider_id}}/availability?month=2026-11",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "providers",
                            "{{provider_id}}",
                            "availability"
                          ],
                          "query": [
                            {
                              "key": "month",
                              "value": "2026-11",
                              "description": "required · Y-m"
                            }
                          ]
                        }
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "provider-time-slots",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}providers/{{provider_id}}/time-slots?date=2026-11-20",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "providers",
                        "{{provider_id}}",
                        "time-slots"
                      ],
                      "query": [
                        {
                          "key": "date",
                          "value": "2026-11-20",
                          "description": "required · Y-m-d"
                        }
                      ]
                    },
                    "description": "## Purpose\nTime slots for a date (`free` / `booked`).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}providers/{{provider_id}}/time-slots`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `date` — required · Y-m-d\n\n## Success 200\n`{ message: \"تم جلب المواعيد بنجاح\", data: ... }`\n\n## Errors\n404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_id}}` — provider id (captured from list)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}providers/{{provider_id}}/time-slots?date=2026-11-20",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "providers",
                            "{{provider_id}}",
                            "time-slots"
                          ],
                          "query": [
                            {
                              "key": "date",
                              "value": "2026-11-20",
                              "description": "required · Y-m-d"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب المواعيد بنجاح\",\n  \"data\": [\n    {\n      \"id\": 31,\n      \"date\": \"2026-11-20\",\n      \"start_time\": \"18:00\",\n      \"end_time\": \"22:00\",\n      \"status\": \"free\"\n    },\n    {\n      \"id\": 32,\n      \"date\": \"2026-11-20\",\n      \"start_time\": \"23:00\",\n      \"end_time\": \"23:59\",\n      \"status\": \"booked\"\n    }\n  ]\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}providers/{{provider_id}}/time-slots?date=2026-11-20",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "providers",
                            "{{provider_id}}",
                            "time-slots"
                          ],
                          "query": [
                            {
                              "key": "date",
                              "value": "2026-11-20",
                              "description": "required · Y-m-d"
                            }
                          ]
                        }
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "search",
              "item": [
                {
                  "name": "search",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}search?q=قاعة&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "search"
                      ],
                      "query": [
                        {
                          "key": "q",
                          "value": "قاعة",
                          "description": "required · string min:2 max:100"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "sometimes · 1-50"
                        }
                      ]
                    },
                    "description": "## Purpose\nSearch providers by name/category. If a user token is sent the term is stored in recent searches.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}search`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `q` — required · string min:2 max:100\n- `per_page` — sometimes · 1-50\n\n## Success 200\n`{ message: \"تم جلب نتائج البحث بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}search?q=قاعة&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "search"
                          ],
                          "query": [
                            {
                              "key": "q",
                              "value": "قاعة",
                              "description": "required · string min:2 max:100"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "sometimes · 1-50"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب نتائج البحث بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 3,\n        \"name\": \"قاعة الياسمين\",\n        \"image\": null,\n        \"rating_avg\": \"4.8\",\n        \"rating_count\": 24,\n        \"price_from\": \"1500.00\",\n        \"is_verified\": true,\n        \"service_category\": {\n          \"id\": 1,\n          \"name\": \"قاعات\"\n        },\n        \"city\": {\n          \"id\": 1,\n          \"name\": \"الرياض\"\n        }\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    }
                  ]
                },
                {
                  "name": "suggestions",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}search/suggestions?q=قا",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "search",
                        "suggestions"
                      ],
                      "query": [
                        {
                          "key": "q",
                          "value": "قا",
                          "description": "sometimes · string max:100"
                        }
                      ]
                    },
                    "description": "## Purpose\nSearch suggestions as the user types.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}search/suggestions`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `q` — sometimes · string max:100\n\n## Success 200\n`{ message: \"تم جلب الاقتراحات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}search/suggestions?q=قا",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "search",
                            "suggestions"
                          ],
                          "query": [
                            {
                              "key": "q",
                              "value": "قا",
                              "description": "sometimes · string max:100"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الاقتراحات بنجاح\",\n  \"data\": {\n    \"providers\": [\n      {\n        \"id\": 3,\n        \"name\": \"قاعة الياسمين\",\n        \"image\": null,\n        \"rating_avg\": \"4.8\",\n        \"rating_count\": 24,\n        \"price_from\": \"1500.00\",\n        \"is_verified\": true,\n        \"service_category\": {\n          \"id\": 1,\n          \"name\": \"قاعات\"\n        },\n        \"city\": {\n          \"id\": 1,\n          \"name\": \"الرياض\"\n        }\n      }\n    ],\n    \"categories\": [\n      {\n        \"id\": 1,\n        \"name\": \"قاعات\",\n        \"image\": null\n      }\n    ]\n  }\n}"
                    }
                  ]
                },
                {
                  "name": "recent",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}search/recent",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nRecent searches of the user.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}search/recent`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب عمليات البحث الأخيرة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}search/recent"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب عمليات البحث الأخيرة بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"term\": \"قاعة\"\n    }\n  ]\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}search/recent"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "add-recent",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}search/recent",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "term",
                          "value": "قاعة",
                          "type": "text",
                          "description": "required · string min:2 max:100"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nStore a recent search term.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}search/recent`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `term` — required · string min:2 max:100\n\n## Success 200\n`{ message: \"تم حفظ البحث\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}search/recent",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "term",
                              "value": "قاعة",
                              "type": "text",
                              "description": "required · string min:2 max:100"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حفظ البحث\",\n  \"data\": {\n    \"id\": 1,\n    \"term\": \"قاعة\"\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}search/recent",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "term",
                              "value": "قاعة",
                              "type": "text",
                              "description": "required · string min:2 max:100"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"term\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}search/recent"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "clear-recent",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}search/recent",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nClear all recent searches.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`DELETE {{base_url}}search/recent`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم مسح عمليات البحث الأخيرة\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}search/recent"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم مسح عمليات البحث الأخيرة\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}search/recent"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "favorites",
              "item": [
                {
                  "name": "list-favorites",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}favorites?page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "favorites"
                      ],
                      "query": [
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nFavorite providers (paginated).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}favorites`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب المفضلة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}favorites?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "favorites"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب المفضلة بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 3,\n        \"name\": \"قاعة الياسمين\",\n        \"image\": null,\n        \"rating_avg\": \"4.8\",\n        \"rating_count\": 24,\n        \"price_from\": \"1500.00\",\n        \"is_verified\": true,\n        \"service_category\": {\n          \"id\": 1,\n          \"name\": \"قاعات\"\n        },\n        \"city\": {\n          \"id\": 1,\n          \"name\": \"الرياض\"\n        }\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}favorites?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "favorites"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "add-favorite",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}favorites",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "provider_id",
                          "value": "{{provider_id}}",
                          "type": "text",
                          "description": "required · exists:providers (approved + active)"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nAdd a provider to favorites.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}favorites`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `provider_id` — required · exists:providers (approved + active)\n\n## Success 200\n`{ message: \"تمت الإضافة إلى المفضلة\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_id}}` — provider id (captured from list)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}favorites",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "provider_id",
                              "value": "{{provider_id}}",
                              "type": "text",
                              "description": "required · exists:providers (approved + active)"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تمت الإضافة إلى المفضلة\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}favorites",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "provider_id",
                              "value": "{{provider_id}}",
                              "type": "text",
                              "description": "required · exists:providers (approved + active)"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"provider_id\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}favorites"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "remove-favorite",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}favorites/{{provider_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nRemove a provider from favorites.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`DELETE {{base_url}}favorites/{{provider_id}}`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تمت الإزالة من المفضلة\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_id}}` — provider id (captured from list)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}favorites/{{provider_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تمت الإزالة من المفضلة\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}favorites/{{provider_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "addresses",
              "item": [
                {
                  "name": "list-addresses",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}addresses?page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "addresses"
                      ],
                      "query": [
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nOwn addresses (paginated).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}addresses`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب العناوين بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}addresses?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "addresses"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب العناوين بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 4,\n        \"label\": \"المنزل\",\n        \"city\": {\n          \"id\": 1,\n          \"name\": \"الرياض\"\n        },\n        \"district\": {\n          \"id\": 7,\n          \"name\": \"النخيل\"\n        },\n        \"details\": \"شارع الأمير سلطان، فيلا 12\",\n        \"lat\": \"24.7136000\",\n        \"lng\": \"46.6753000\",\n        \"arrival_notes\": \"البوابة الزرقاء\",\n        \"is_default\": true\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}addresses?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "addresses"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.data && j.data.data[0] && j.data.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('address_id', id); pm.collectionVariables.set('address_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "create-address",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}addresses",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "label",
                          "value": "المنزل",
                          "type": "text",
                          "description": "required · string max:100"
                        },
                        {
                          "key": "city_id",
                          "value": "1",
                          "type": "text",
                          "description": "nullable · exists:cities"
                        },
                        {
                          "key": "district_id",
                          "value": "7",
                          "type": "text",
                          "description": "nullable · exists:districts (must belong to city)"
                        },
                        {
                          "key": "details",
                          "value": "شارع الأمير سلطان، فيلا 12",
                          "type": "text",
                          "description": "required · string max:500"
                        },
                        {
                          "key": "lat",
                          "value": "24.7136",
                          "type": "text",
                          "description": "nullable · -90..90"
                        },
                        {
                          "key": "lng",
                          "value": "46.6753",
                          "type": "text",
                          "description": "nullable · -180..180"
                        },
                        {
                          "key": "arrival_notes",
                          "value": "البوابة الزرقاء",
                          "type": "text",
                          "description": "nullable · string max:500"
                        },
                        {
                          "key": "is_default",
                          "value": "1",
                          "type": "text",
                          "description": "sometimes · boolean"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nCreate an address.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}addresses`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `label` — required · string max:100\n- `city_id` — nullable · exists:cities\n- `district_id` — nullable · exists:districts (must belong to city)\n- `details` — required · string max:500\n- `lat` — nullable · -90..90\n- `lng` — nullable · -180..180\n- `arrival_notes` — nullable · string max:500\n- `is_default` — sometimes · boolean\n\n## Success 200\n`{ message: \"تمت إضافة العنوان بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "label",
                              "value": "المنزل",
                              "type": "text",
                              "description": "required · string max:100"
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "type": "text",
                              "description": "nullable · exists:cities"
                            },
                            {
                              "key": "district_id",
                              "value": "7",
                              "type": "text",
                              "description": "nullable · exists:districts (must belong to city)"
                            },
                            {
                              "key": "details",
                              "value": "شارع الأمير سلطان، فيلا 12",
                              "type": "text",
                              "description": "required · string max:500"
                            },
                            {
                              "key": "lat",
                              "value": "24.7136",
                              "type": "text",
                              "description": "nullable · -90..90"
                            },
                            {
                              "key": "lng",
                              "value": "46.6753",
                              "type": "text",
                              "description": "nullable · -180..180"
                            },
                            {
                              "key": "arrival_notes",
                              "value": "البوابة الزرقاء",
                              "type": "text",
                              "description": "nullable · string max:500"
                            },
                            {
                              "key": "is_default",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تمت إضافة العنوان بنجاح\",\n  \"data\": {\n    \"id\": 4,\n    \"label\": \"المنزل\",\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": {\n      \"id\": 7,\n      \"name\": \"النخيل\"\n    },\n    \"details\": \"شارع الأمير سلطان، فيلا 12\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"arrival_notes\": \"البوابة الزرقاء\",\n    \"is_default\": true\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "label",
                              "value": "المنزل",
                              "type": "text",
                              "description": "required · string max:100"
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "type": "text",
                              "description": "nullable · exists:cities"
                            },
                            {
                              "key": "district_id",
                              "value": "7",
                              "type": "text",
                              "description": "nullable · exists:districts (must belong to city)"
                            },
                            {
                              "key": "details",
                              "value": "شارع الأمير سلطان، فيلا 12",
                              "type": "text",
                              "description": "required · string max:500"
                            },
                            {
                              "key": "lat",
                              "value": "24.7136",
                              "type": "text",
                              "description": "nullable · -90..90"
                            },
                            {
                              "key": "lng",
                              "value": "46.6753",
                              "type": "text",
                              "description": "nullable · -180..180"
                            },
                            {
                              "key": "arrival_notes",
                              "value": "البوابة الزرقاء",
                              "type": "text",
                              "description": "nullable · string max:500"
                            },
                            {
                              "key": "is_default",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"label\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}addresses"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('address_id', id); pm.collectionVariables.set('address_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "show-address",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}addresses/{{address_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nShow an own address.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}addresses/{{address_id}}`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب العنوان بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{address_id}}` — address id\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب العنوان بنجاح\",\n  \"data\": {\n    \"id\": 4,\n    \"label\": \"المنزل\",\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": {\n      \"id\": 7,\n      \"name\": \"النخيل\"\n    },\n    \"details\": \"شارع الأمير سلطان، فيلا 12\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"arrival_notes\": \"البوابة الزرقاء\",\n    \"is_default\": true\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "update-address",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}addresses/{{address_id}}",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "_method",
                          "value": "PUT",
                          "type": "text",
                          "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                        },
                        {
                          "key": "label",
                          "value": "المنزل",
                          "type": "text",
                          "description": "required · string max:100"
                        },
                        {
                          "key": "city_id",
                          "value": "1",
                          "type": "text",
                          "description": "nullable · exists:cities"
                        },
                        {
                          "key": "district_id",
                          "value": "7",
                          "type": "text",
                          "description": "nullable · exists:districts (must belong to city)"
                        },
                        {
                          "key": "details",
                          "value": "شارع الأمير سلطان، فيلا 12",
                          "type": "text",
                          "description": "required · string max:500"
                        },
                        {
                          "key": "lat",
                          "value": "24.7136",
                          "type": "text",
                          "description": "nullable · -90..90"
                        },
                        {
                          "key": "lng",
                          "value": "46.6753",
                          "type": "text",
                          "description": "nullable · -180..180"
                        },
                        {
                          "key": "arrival_notes",
                          "value": "البوابة الزرقاء",
                          "type": "text",
                          "description": "nullable · string max:500"
                        },
                        {
                          "key": "is_default",
                          "value": "1",
                          "type": "text",
                          "description": "sometimes · boolean"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nUpdate an own address (label/details optional via `sometimes`).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}addresses/{{address_id}}`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `_method` — method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)\n- `label` — required · string max:100\n- `city_id` — nullable · exists:cities\n- `district_id` — nullable · exists:districts (must belong to city)\n- `details` — required · string max:500\n- `lat` — nullable · -90..90\n- `lng` — nullable · -180..180\n- `arrival_notes` — nullable · string max:500\n- `is_default` — sometimes · boolean\n\n## Success 200\n`{ message: \"تم تحديث العنوان بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 404 not found\n\n## Variables\n- `{{address_id}}` — address id\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "_method",
                              "value": "PUT",
                              "type": "text",
                              "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                            },
                            {
                              "key": "label",
                              "value": "المنزل",
                              "type": "text",
                              "description": "required · string max:100"
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "type": "text",
                              "description": "nullable · exists:cities"
                            },
                            {
                              "key": "district_id",
                              "value": "7",
                              "type": "text",
                              "description": "nullable · exists:districts (must belong to city)"
                            },
                            {
                              "key": "details",
                              "value": "شارع الأمير سلطان، فيلا 12",
                              "type": "text",
                              "description": "required · string max:500"
                            },
                            {
                              "key": "lat",
                              "value": "24.7136",
                              "type": "text",
                              "description": "nullable · -90..90"
                            },
                            {
                              "key": "lng",
                              "value": "46.6753",
                              "type": "text",
                              "description": "nullable · -180..180"
                            },
                            {
                              "key": "arrival_notes",
                              "value": "البوابة الزرقاء",
                              "type": "text",
                              "description": "nullable · string max:500"
                            },
                            {
                              "key": "is_default",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث العنوان بنجاح\",\n  \"data\": {\n    \"id\": 4,\n    \"label\": \"المنزل\",\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": {\n      \"id\": 7,\n      \"name\": \"النخيل\"\n    },\n    \"details\": \"شارع الأمير سلطان، فيلا 12\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"arrival_notes\": \"البوابة الزرقاء\",\n    \"is_default\": true\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "_method",
                              "value": "PUT",
                              "type": "text",
                              "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                            },
                            {
                              "key": "label",
                              "value": "المنزل",
                              "type": "text",
                              "description": "required · string max:100"
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "type": "text",
                              "description": "nullable · exists:cities"
                            },
                            {
                              "key": "district_id",
                              "value": "7",
                              "type": "text",
                              "description": "nullable · exists:districts (must belong to city)"
                            },
                            {
                              "key": "details",
                              "value": "شارع الأمير سلطان، فيلا 12",
                              "type": "text",
                              "description": "required · string max:500"
                            },
                            {
                              "key": "lat",
                              "value": "24.7136",
                              "type": "text",
                              "description": "nullable · -90..90"
                            },
                            {
                              "key": "lng",
                              "value": "46.6753",
                              "type": "text",
                              "description": "nullable · -180..180"
                            },
                            {
                              "key": "arrival_notes",
                              "value": "البوابة الزرقاء",
                              "type": "text",
                              "description": "nullable · string max:500"
                            },
                            {
                              "key": "is_default",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"_method\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "_method",
                              "value": "PUT",
                              "type": "text",
                              "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                            },
                            {
                              "key": "label",
                              "value": "المنزل",
                              "type": "text",
                              "description": "required · string max:100"
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "type": "text",
                              "description": "nullable · exists:cities"
                            },
                            {
                              "key": "district_id",
                              "value": "7",
                              "type": "text",
                              "description": "nullable · exists:districts (must belong to city)"
                            },
                            {
                              "key": "details",
                              "value": "شارع الأمير سلطان، فيلا 12",
                              "type": "text",
                              "description": "required · string max:500"
                            },
                            {
                              "key": "lat",
                              "value": "24.7136",
                              "type": "text",
                              "description": "nullable · -90..90"
                            },
                            {
                              "key": "lng",
                              "value": "46.6753",
                              "type": "text",
                              "description": "nullable · -180..180"
                            },
                            {
                              "key": "arrival_notes",
                              "value": "البوابة الزرقاء",
                              "type": "text",
                              "description": "nullable · string max:500"
                            },
                            {
                              "key": "is_default",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            }
                          ]
                        }
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "delete-address",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}addresses/{{address_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nDelete an own address.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`DELETE {{base_url}}addresses/{{address_id}}`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم حذف العنوان بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{address_id}}` — address id\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حذف العنوان بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "set-default-address",
                  "request": {
                    "method": "PATCH",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}addresses/{{address_id}}/set-default",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nMake an address the default (atomic).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`PATCH {{base_url}}addresses/{{address_id}}/set-default`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم تحديث العنوان الافتراضي بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{address_id}}` — address id\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}/set-default"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث العنوان الافتراضي بنجاح\",\n  \"data\": {\n    \"id\": 4,\n    \"label\": \"المنزل\",\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": {\n      \"id\": 7,\n      \"name\": \"النخيل\"\n    },\n    \"details\": \"شارع الأمير سلطان، فيلا 12\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"arrival_notes\": \"البوابة الزرقاء\",\n    \"is_default\": true\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}/set-default"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}addresses/{{address_id}}/set-default"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "payment-cards",
              "item": [
                {
                  "name": "list-cards",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}payment-cards",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nSaved cards (token only — no PAN/CVV stored).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}payment-cards`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البطاقات بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}payment-cards"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب البطاقات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 2,\n      \"brand\": {\n        \"value\": \"visa\",\n        \"label\": \"فيزا\"\n      },\n      \"last4\": \"4242\",\n      \"masked_number\": \"**** **** **** 4242\",\n      \"exp_month\": 12,\n      \"exp_year\": 2030,\n      \"is_default\": true\n    }\n  ]\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}payment-cards"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data[0] && j.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('card_id', id); pm.collectionVariables.set('card_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "add-card",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}payment-cards",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "token",
                          "value": "tok_test_4242",
                          "type": "text",
                          "description": "required · gateway token max:255"
                        },
                        {
                          "key": "brand",
                          "value": "visa",
                          "type": "text",
                          "description": "required · enum CardBrand"
                        },
                        {
                          "key": "last4",
                          "value": "4242",
                          "type": "text",
                          "description": "required · digits:4"
                        },
                        {
                          "key": "exp_month",
                          "value": "12",
                          "type": "text",
                          "description": "required · 1-12"
                        },
                        {
                          "key": "exp_year",
                          "value": "2030",
                          "type": "text",
                          "description": "required · 4 digits ≥ current year"
                        },
                        {
                          "key": "is_default",
                          "value": "1",
                          "type": "text",
                          "description": "sometimes · boolean"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nSave a tokenized card.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}payment-cards`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `token` — required · gateway token max:255\n- `brand` — required · enum CardBrand\n- `last4` — required · digits:4\n- `exp_month` — required · 1-12\n- `exp_year` — required · 4 digits ≥ current year\n- `is_default` — sometimes · boolean\n\n## Success 200\n`{ message: \"تمت إضافة البطاقة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}payment-cards",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "token",
                              "value": "tok_test_4242",
                              "type": "text",
                              "description": "required · gateway token max:255"
                            },
                            {
                              "key": "brand",
                              "value": "visa",
                              "type": "text",
                              "description": "required · enum CardBrand"
                            },
                            {
                              "key": "last4",
                              "value": "4242",
                              "type": "text",
                              "description": "required · digits:4"
                            },
                            {
                              "key": "exp_month",
                              "value": "12",
                              "type": "text",
                              "description": "required · 1-12"
                            },
                            {
                              "key": "exp_year",
                              "value": "2030",
                              "type": "text",
                              "description": "required · 4 digits ≥ current year"
                            },
                            {
                              "key": "is_default",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تمت إضافة البطاقة بنجاح\",\n  \"data\": {\n    \"id\": 2,\n    \"brand\": {\n      \"value\": \"visa\",\n      \"label\": \"فيزا\"\n    },\n    \"last4\": \"4242\",\n    \"masked_number\": \"**** **** **** 4242\",\n    \"exp_month\": 12,\n    \"exp_year\": 2030,\n    \"is_default\": true\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}payment-cards",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "token",
                              "value": "tok_test_4242",
                              "type": "text",
                              "description": "required · gateway token max:255"
                            },
                            {
                              "key": "brand",
                              "value": "visa",
                              "type": "text",
                              "description": "required · enum CardBrand"
                            },
                            {
                              "key": "last4",
                              "value": "4242",
                              "type": "text",
                              "description": "required · digits:4"
                            },
                            {
                              "key": "exp_month",
                              "value": "12",
                              "type": "text",
                              "description": "required · 1-12"
                            },
                            {
                              "key": "exp_year",
                              "value": "2030",
                              "type": "text",
                              "description": "required · 4 digits ≥ current year"
                            },
                            {
                              "key": "is_default",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"exp_year\": [\n      \"البطاقة منتهية الصلاحية\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}payment-cards"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('card_id', id); pm.collectionVariables.set('card_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "delete-card",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}payment-cards/{{card_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nDelete an own card.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`DELETE {{base_url}}payment-cards/{{card_id}}`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم حذف البطاقة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{card_id}}` — payment-card id\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}payment-cards/{{card_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حذف البطاقة بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}payment-cards/{{card_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}payment-cards/{{card_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "set-default-card",
                  "request": {
                    "method": "PATCH",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}payment-cards/{{card_id}}/set-default",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nMake a card the default.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`PATCH {{base_url}}payment-cards/{{card_id}}/set-default`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم تحديث البطاقة الافتراضية بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{card_id}}` — payment-card id\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}payment-cards/{{card_id}}/set-default"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث البطاقة الافتراضية بنجاح\",\n  \"data\": {\n    \"id\": 2,\n    \"brand\": {\n      \"value\": \"visa\",\n      \"label\": \"فيزا\"\n    },\n    \"last4\": \"4242\",\n    \"masked_number\": \"**** **** **** 4242\",\n    \"exp_month\": 12,\n    \"exp_year\": 2030,\n    \"is_default\": true\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}payment-cards/{{card_id}}/set-default"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "PATCH",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}payment-cards/{{card_id}}/set-default"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "bookings",
              "item": [
                {
                  "name": "create-booking",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}bookings",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "provider_id",
                          "value": "{{provider_id}}",
                          "type": "text",
                          "description": "required · exists:providers (approved + active)"
                        },
                        {
                          "key": "service_id",
                          "value": "{{service_id}}",
                          "type": "text",
                          "description": "required_without:package_id · prohibits package_id · belongs to provider"
                        },
                        {
                          "key": "package_id",
                          "value": "",
                          "type": "text",
                          "description": "required_without:service_id · prohibits service_id · belongs to provider (leave empty when booking a service)"
                        },
                        {
                          "key": "occasion_id",
                          "value": "{{occasion_id}}",
                          "type": "text",
                          "description": "nullable · exists:occasions"
                        },
                        {
                          "key": "event_date",
                          "value": "2026-11-20",
                          "type": "text",
                          "description": "required · Y-m-d · today or later"
                        },
                        {
                          "key": "start_time",
                          "value": "18:00",
                          "type": "text",
                          "description": "required · H:i · must match an active free slot"
                        },
                        {
                          "key": "end_time",
                          "value": "22:00",
                          "type": "text",
                          "description": "nullable · H:i · after start_time"
                        },
                        {
                          "key": "location_type",
                          "value": "venue",
                          "type": "text",
                          "description": "required · enum BookingLocationType (home|venue)"
                        },
                        {
                          "key": "address_id",
                          "value": "{{address_id}}",
                          "type": "text",
                          "description": "required_if location_type=home · own address"
                        },
                        {
                          "key": "venue_address",
                          "value": "قاعة الياسمين - الرياض",
                          "type": "text",
                          "description": "required unless location_type=home · max:500"
                        },
                        {
                          "key": "payment_method",
                          "value": "card",
                          "type": "text",
                          "description": "required · enum PaymentMethod"
                        },
                        {
                          "key": "payment_card_id",
                          "value": "{{card_id}}",
                          "type": "text",
                          "description": "required_if payment_method=card · own card"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nCreates a booking in a DB transaction (slot lock → pricing server-side → payment gateway → transaction → paid/confirmed).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}bookings`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `provider_id` — required · exists:providers (approved + active)\n- `service_id` — required_without:package_id · prohibits package_id · belongs to provider\n- `package_id` — required_without:service_id · prohibits service_id · belongs to provider (leave empty when booking a service)\n- `occasion_id` — nullable · exists:occasions\n- `event_date` — required · Y-m-d · today or later\n- `start_time` — required · H:i · must match an active free slot\n- `end_time` — nullable · H:i · after start_time\n- `location_type` — required · enum BookingLocationType (home|venue)\n- `address_id` — required_if location_type=home · own address\n- `venue_address` — required unless location_type=home · max:500\n- `payment_method` — required · enum PaymentMethod\n- `payment_card_id` — required_if payment_method=card · own card\n\n## Success 200\n`{ message: \"تم تأكيد حجزك بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 409 slot conflict · 402 payment failed\n\n## Notes\nSend EITHER `service_id` OR `package_id` (the other must be removed). Pricing is computed server-side.\n\n## Variables\n- `{{address_id}}` — address id\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{card_id}}` — payment-card id\n- `{{occasion_id}}` — occasion id\n- `{{provider_id}}` — provider id (captured from list)\n- `{{service_id}}` — service id\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "provider_id",
                              "value": "{{provider_id}}",
                              "type": "text",
                              "description": "required · exists:providers (approved + active)"
                            },
                            {
                              "key": "service_id",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "required_without:package_id · prohibits package_id · belongs to provider"
                            },
                            {
                              "key": "package_id",
                              "value": "",
                              "type": "text",
                              "description": "required_without:service_id · prohibits service_id · belongs to provider (leave empty when booking a service)"
                            },
                            {
                              "key": "occasion_id",
                              "value": "{{occasion_id}}",
                              "type": "text",
                              "description": "nullable · exists:occasions"
                            },
                            {
                              "key": "event_date",
                              "value": "2026-11-20",
                              "type": "text",
                              "description": "required · Y-m-d · today or later"
                            },
                            {
                              "key": "start_time",
                              "value": "18:00",
                              "type": "text",
                              "description": "required · H:i · must match an active free slot"
                            },
                            {
                              "key": "end_time",
                              "value": "22:00",
                              "type": "text",
                              "description": "nullable · H:i · after start_time"
                            },
                            {
                              "key": "location_type",
                              "value": "venue",
                              "type": "text",
                              "description": "required · enum BookingLocationType (home|venue)"
                            },
                            {
                              "key": "address_id",
                              "value": "{{address_id}}",
                              "type": "text",
                              "description": "required_if location_type=home · own address"
                            },
                            {
                              "key": "venue_address",
                              "value": "قاعة الياسمين - الرياض",
                              "type": "text",
                              "description": "required unless location_type=home · max:500"
                            },
                            {
                              "key": "payment_method",
                              "value": "card",
                              "type": "text",
                              "description": "required · enum PaymentMethod"
                            },
                            {
                              "key": "payment_card_id",
                              "value": "{{card_id}}",
                              "type": "text",
                              "description": "required_if payment_method=card · own card"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تأكيد حجزك بنجاح\",\n  \"data\": {\n    \"id\": 15,\n    \"booking_no\": \"IHF-2026-0015\",\n    \"status\": {\n      \"value\": \"pending\",\n      \"label\": \"قيد الانتظار\"\n    },\n    \"payment_status\": {\n      \"value\": \"paid\",\n      \"label\": \"مدفوع\"\n    },\n    \"payment_method\": {\n      \"value\": \"card\",\n      \"label\": \"بطاقة\"\n    },\n    \"provider\": {\n      \"id\": 3,\n      \"name\": \"قاعة الياسمين\",\n      \"image\": null,\n      \"phone\": \"551234567\"\n    },\n    \"service\": {\n      \"id\": 5,\n      \"name\": \"قاعة كبرى\",\n      \"price\": \"4500.00\"\n    },\n    \"package\": null,\n    \"occasion\": \"حفل زفاف\",\n    \"event_date\": \"2026-11-20\",\n    \"start_time\": \"18:00\",\n    \"end_time\": \"22:00\",\n    \"location\": {\n      \"type\": {\n        \"value\": \"venue\",\n        \"label\": \"في موقع المناسبة\"\n      },\n      \"address\": null,\n      \"venue_address\": \"قاعة الياسمين - الرياض\",\n      \"lat\": null,\n      \"lng\": null\n    },\n    \"financial\": {\n      \"subtotal\": \"4500.00\",\n      \"vat_amount\": \"675.00\",\n      \"total_amount\": \"4500.00\",\n      \"currency\": \"SAR\"\n    },\n    \"cancel_reason\": null,\n    \"timeline\": [\n      {\n        \"key\": \"created\",\n        \"label\": \"تم إنشاء الحجز\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:00+03:00\"\n      },\n      {\n        \"key\": \"paid\",\n        \"label\": \"تم الدفع\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:05+03:00\"\n      },\n      {\n        \"key\": \"confirmed\",\n        \"label\": \"تم تأكيد الحجز\",\n        \"done\": false,\n        \"at\": null\n      }\n    ],\n    \"can_cancel\": true,\n    \"created_at\": \"2026-10-04T10:00:00+03:00\",\n    \"note\": \"أرسلنا لك إشعار تأكيد، وسيتم إخطار مقدم الخدمة بحجزك.\",\n    \"payment_secure_note\": \"عملية الدفع آمنة ومشفّرة بالكامل، ولا نُخزّن بيانات بطاقتك.\"\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "provider_id",
                              "value": "{{provider_id}}",
                              "type": "text",
                              "description": "required · exists:providers (approved + active)"
                            },
                            {
                              "key": "service_id",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "required_without:package_id · prohibits package_id · belongs to provider"
                            },
                            {
                              "key": "package_id",
                              "value": "",
                              "type": "text",
                              "description": "required_without:service_id · prohibits service_id · belongs to provider (leave empty when booking a service)"
                            },
                            {
                              "key": "occasion_id",
                              "value": "{{occasion_id}}",
                              "type": "text",
                              "description": "nullable · exists:occasions"
                            },
                            {
                              "key": "event_date",
                              "value": "2026-11-20",
                              "type": "text",
                              "description": "required · Y-m-d · today or later"
                            },
                            {
                              "key": "start_time",
                              "value": "18:00",
                              "type": "text",
                              "description": "required · H:i · must match an active free slot"
                            },
                            {
                              "key": "end_time",
                              "value": "22:00",
                              "type": "text",
                              "description": "nullable · H:i · after start_time"
                            },
                            {
                              "key": "location_type",
                              "value": "venue",
                              "type": "text",
                              "description": "required · enum BookingLocationType (home|venue)"
                            },
                            {
                              "key": "address_id",
                              "value": "{{address_id}}",
                              "type": "text",
                              "description": "required_if location_type=home · own address"
                            },
                            {
                              "key": "venue_address",
                              "value": "قاعة الياسمين - الرياض",
                              "type": "text",
                              "description": "required unless location_type=home · max:500"
                            },
                            {
                              "key": "payment_method",
                              "value": "card",
                              "type": "text",
                              "description": "required · enum PaymentMethod"
                            },
                            {
                              "key": "payment_card_id",
                              "value": "{{card_id}}",
                              "type": "text",
                              "description": "required_if payment_method=card · own card"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"start_time\": [\n      \"هذا الموعد غير متاح، برجاء اختيار موعد آخر.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}bookings"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 409 slot conflict",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "provider_id",
                              "value": "{{provider_id}}",
                              "type": "text",
                              "description": "required · exists:providers (approved + active)"
                            },
                            {
                              "key": "service_id",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "required_without:package_id · prohibits package_id · belongs to provider"
                            },
                            {
                              "key": "package_id",
                              "value": "",
                              "type": "text",
                              "description": "required_without:service_id · prohibits service_id · belongs to provider (leave empty when booking a service)"
                            },
                            {
                              "key": "occasion_id",
                              "value": "{{occasion_id}}",
                              "type": "text",
                              "description": "nullable · exists:occasions"
                            },
                            {
                              "key": "event_date",
                              "value": "2026-11-20",
                              "type": "text",
                              "description": "required · Y-m-d · today or later"
                            },
                            {
                              "key": "start_time",
                              "value": "18:00",
                              "type": "text",
                              "description": "required · H:i · must match an active free slot"
                            },
                            {
                              "key": "end_time",
                              "value": "22:00",
                              "type": "text",
                              "description": "nullable · H:i · after start_time"
                            },
                            {
                              "key": "location_type",
                              "value": "venue",
                              "type": "text",
                              "description": "required · enum BookingLocationType (home|venue)"
                            },
                            {
                              "key": "address_id",
                              "value": "{{address_id}}",
                              "type": "text",
                              "description": "required_if location_type=home · own address"
                            },
                            {
                              "key": "venue_address",
                              "value": "قاعة الياسمين - الرياض",
                              "type": "text",
                              "description": "required unless location_type=home · max:500"
                            },
                            {
                              "key": "payment_method",
                              "value": "card",
                              "type": "text",
                              "description": "required · enum PaymentMethod"
                            },
                            {
                              "key": "payment_card_id",
                              "value": "{{card_id}}",
                              "type": "text",
                              "description": "required_if payment_method=card · own card"
                            }
                          ]
                        }
                      },
                      "status": "Conflict",
                      "code": 409,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الموعد غير متاح، برجاء اختيار موعد آخر.\"\n}"
                    },
                    {
                      "name": "❌ 402 payment failed",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "provider_id",
                              "value": "{{provider_id}}",
                              "type": "text",
                              "description": "required · exists:providers (approved + active)"
                            },
                            {
                              "key": "service_id",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "required_without:package_id · prohibits package_id · belongs to provider"
                            },
                            {
                              "key": "package_id",
                              "value": "",
                              "type": "text",
                              "description": "required_without:service_id · prohibits service_id · belongs to provider (leave empty when booking a service)"
                            },
                            {
                              "key": "occasion_id",
                              "value": "{{occasion_id}}",
                              "type": "text",
                              "description": "nullable · exists:occasions"
                            },
                            {
                              "key": "event_date",
                              "value": "2026-11-20",
                              "type": "text",
                              "description": "required · Y-m-d · today or later"
                            },
                            {
                              "key": "start_time",
                              "value": "18:00",
                              "type": "text",
                              "description": "required · H:i · must match an active free slot"
                            },
                            {
                              "key": "end_time",
                              "value": "22:00",
                              "type": "text",
                              "description": "nullable · H:i · after start_time"
                            },
                            {
                              "key": "location_type",
                              "value": "venue",
                              "type": "text",
                              "description": "required · enum BookingLocationType (home|venue)"
                            },
                            {
                              "key": "address_id",
                              "value": "{{address_id}}",
                              "type": "text",
                              "description": "required_if location_type=home · own address"
                            },
                            {
                              "key": "venue_address",
                              "value": "قاعة الياسمين - الرياض",
                              "type": "text",
                              "description": "required unless location_type=home · max:500"
                            },
                            {
                              "key": "payment_method",
                              "value": "card",
                              "type": "text",
                              "description": "required · enum PaymentMethod"
                            },
                            {
                              "key": "payment_card_id",
                              "value": "{{card_id}}",
                              "type": "text",
                              "description": "required_if payment_method=card · own card"
                            }
                          ]
                        }
                      },
                      "status": "Payment Required",
                      "code": 402,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تعذّرت عملية الدفع، لم يتم تأكيد الحجز. برجاء المحاولة مرة أخرى.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('booking_id', id); pm.collectionVariables.set('booking_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "list-bookings",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}bookings?scope=upcoming&page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "bookings"
                      ],
                      "query": [
                        {
                          "key": "scope",
                          "value": "upcoming",
                          "description": "nullable · upcoming|completed",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nOwn bookings (paginated).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}bookings`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `scope` — nullable · upcoming|completed\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب الحجوزات بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}bookings?scope=upcoming&page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "bookings"
                          ],
                          "query": [
                            {
                              "key": "scope",
                              "value": "upcoming",
                              "description": "nullable · upcoming|completed",
                              "disabled": true
                            },
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الحجوزات بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 15,\n        \"booking_no\": \"IHF-2026-0015\",\n        \"provider\": {\n          \"id\": 3,\n          \"name\": \"قاعة الياسمين\",\n          \"image\": null\n        },\n        \"item_name\": \"قاعة كبرى\",\n        \"event_date\": \"2026-11-20\",\n        \"start_time\": \"18:00\",\n        \"end_time\": \"22:00\",\n        \"total_amount\": \"4500.00\",\n        \"status\": {\n          \"value\": \"pending\",\n          \"label\": \"قيد الانتظار\"\n        },\n        \"payment_status\": {\n          \"value\": \"paid\",\n          \"label\": \"مدفوع\"\n        }\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}bookings?scope=upcoming&page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "bookings"
                          ],
                          "query": [
                            {
                              "key": "scope",
                              "value": "upcoming",
                              "description": "nullable · upcoming|completed",
                              "disabled": true
                            },
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.data && j.data.data[0] && j.data.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('booking_id', id); pm.collectionVariables.set('booking_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "show-booking",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}bookings/{{booking_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nBooking details with timeline.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}bookings/{{booking_id}}`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب تفاصيل الحجز بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{booking_id}}` — booking id (captured on create/list)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب تفاصيل الحجز بنجاح\",\n  \"data\": {\n    \"id\": 15,\n    \"booking_no\": \"IHF-2026-0015\",\n    \"status\": {\n      \"value\": \"pending\",\n      \"label\": \"قيد الانتظار\"\n    },\n    \"payment_status\": {\n      \"value\": \"paid\",\n      \"label\": \"مدفوع\"\n    },\n    \"payment_method\": {\n      \"value\": \"card\",\n      \"label\": \"بطاقة\"\n    },\n    \"provider\": {\n      \"id\": 3,\n      \"name\": \"قاعة الياسمين\",\n      \"image\": null,\n      \"phone\": \"551234567\"\n    },\n    \"service\": {\n      \"id\": 5,\n      \"name\": \"قاعة كبرى\",\n      \"price\": \"4500.00\"\n    },\n    \"package\": null,\n    \"occasion\": \"حفل زفاف\",\n    \"event_date\": \"2026-11-20\",\n    \"start_time\": \"18:00\",\n    \"end_time\": \"22:00\",\n    \"location\": {\n      \"type\": {\n        \"value\": \"venue\",\n        \"label\": \"في موقع المناسبة\"\n      },\n      \"address\": null,\n      \"venue_address\": \"قاعة الياسمين - الرياض\",\n      \"lat\": null,\n      \"lng\": null\n    },\n    \"financial\": {\n      \"subtotal\": \"4500.00\",\n      \"vat_amount\": \"675.00\",\n      \"total_amount\": \"4500.00\",\n      \"currency\": \"SAR\"\n    },\n    \"cancel_reason\": null,\n    \"timeline\": [\n      {\n        \"key\": \"created\",\n        \"label\": \"تم إنشاء الحجز\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:00+03:00\"\n      },\n      {\n        \"key\": \"paid\",\n        \"label\": \"تم الدفع\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:05+03:00\"\n      },\n      {\n        \"key\": \"confirmed\",\n        \"label\": \"تم تأكيد الحجز\",\n        \"done\": false,\n        \"at\": null\n      }\n    ],\n    \"can_cancel\": true,\n    \"created_at\": \"2026-10-04T10:00:00+03:00\"\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "cancel-booking",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}bookings/{{booking_id}}/cancel",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "reason",
                          "value": "تغيّرت الخطة",
                          "type": "text",
                          "description": "nullable · string max:500"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nCancel an own pending/confirmed booking.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}bookings/{{booking_id}}/cancel`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `reason` — nullable · string max:500\n\n## Success 200\n`{ message: \"تم إلغاء الحجز بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 400 cannot cancel · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{booking_id}}` — booking id (captured on create/list)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/cancel",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "reason",
                              "value": "تغيّرت الخطة",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم إلغاء الحجز بنجاح\",\n  \"data\": {\n    \"id\": 15,\n    \"booking_no\": \"IHF-2026-0015\",\n    \"status\": {\n      \"value\": \"cancelled\",\n      \"label\": \"ملغي\"\n    },\n    \"payment_status\": {\n      \"value\": \"paid\",\n      \"label\": \"مدفوع\"\n    },\n    \"payment_method\": {\n      \"value\": \"card\",\n      \"label\": \"بطاقة\"\n    },\n    \"provider\": {\n      \"id\": 3,\n      \"name\": \"قاعة الياسمين\",\n      \"image\": null,\n      \"phone\": \"551234567\"\n    },\n    \"service\": {\n      \"id\": 5,\n      \"name\": \"قاعة كبرى\",\n      \"price\": \"4500.00\"\n    },\n    \"package\": null,\n    \"occasion\": \"حفل زفاف\",\n    \"event_date\": \"2026-11-20\",\n    \"start_time\": \"18:00\",\n    \"end_time\": \"22:00\",\n    \"location\": {\n      \"type\": {\n        \"value\": \"venue\",\n        \"label\": \"في موقع المناسبة\"\n      },\n      \"address\": null,\n      \"venue_address\": \"قاعة الياسمين - الرياض\",\n      \"lat\": null,\n      \"lng\": null\n    },\n    \"financial\": {\n      \"subtotal\": \"4500.00\",\n      \"vat_amount\": \"675.00\",\n      \"total_amount\": \"4500.00\",\n      \"currency\": \"SAR\"\n    },\n    \"cancel_reason\": \"تغيّرت الخطة\",\n    \"timeline\": [\n      {\n        \"key\": \"created\",\n        \"label\": \"تم إنشاء الحجز\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:00+03:00\"\n      },\n      {\n        \"key\": \"paid\",\n        \"label\": \"تم الدفع\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:05+03:00\"\n      },\n      {\n        \"key\": \"confirmed\",\n        \"label\": \"تم تأكيد الحجز\",\n        \"done\": false,\n        \"at\": null\n      }\n    ],\n    \"can_cancel\": false,\n    \"created_at\": \"2026-10-04T10:00:00+03:00\"\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/cancel"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 400 cannot cancel",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/cancel",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "reason",
                              "value": "تغيّرت الخطة",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "Bad Request",
                      "code": 400,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"لا يمكن إلغاء هذا الحجز في حالته الحالية.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/cancel",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "reason",
                              "value": "تغيّرت الخطة",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "review-booking",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}bookings/{{booking_id}}/review",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "rating",
                          "value": "5",
                          "type": "text",
                          "description": "required · integer 1-5"
                        },
                        {
                          "key": "comment",
                          "value": "تجربة رائعة",
                          "type": "text",
                          "description": "nullable · string max:500"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nReview a completed booking (one per booking).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}bookings/{{booking_id}}/review`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `rating` — required · integer 1-5\n- `comment` — nullable · string max:500\n\n## Success 200\n`{ message: \"شكراً لك، تم إرسال تقييمك\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 400 not completed · 400 already reviewed · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{booking_id}}` — booking id (captured on create/list)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/review",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "rating",
                              "value": "5",
                              "type": "text",
                              "description": "required · integer 1-5"
                            },
                            {
                              "key": "comment",
                              "value": "تجربة رائعة",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"شكراً لك، تم إرسال تقييمك\",\n  \"data\": {\n    \"id\": 9,\n    \"reviewer\": \"سارة العتيبي\",\n    \"rating\": 5,\n    \"comment\": \"تجربة رائعة\",\n    \"date\": \"2026-09-20\"\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/review",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "rating",
                              "value": "5",
                              "type": "text",
                              "description": "required · integer 1-5"
                            },
                            {
                              "key": "comment",
                              "value": "تجربة رائعة",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"rating\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/review"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 400 not completed",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/review",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "rating",
                              "value": "5",
                              "type": "text",
                              "description": "required · integer 1-5"
                            },
                            {
                              "key": "comment",
                              "value": "تجربة رائعة",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "Bad Request",
                      "code": 400,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"يمكنك تقييم الحجز بعد اكتمال الخدمة فقط.\"\n}"
                    },
                    {
                      "name": "❌ 400 already reviewed",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/review",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "rating",
                              "value": "5",
                              "type": "text",
                              "description": "required · integer 1-5"
                            },
                            {
                              "key": "comment",
                              "value": "تجربة رائعة",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "Bad Request",
                      "code": 400,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"لقد قمت بتقييم هذا الحجز من قبل.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}bookings/{{booking_id}}/review",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "rating",
                              "value": "5",
                              "type": "text",
                              "description": "required · integer 1-5"
                            },
                            {
                              "key": "comment",
                              "value": "تجربة رائعة",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Settings",
          "item": [
            {
              "name": "faqs",
              "item": [
                {
                  "name": "list-faqs",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}faqs?type=",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "faqs"
                      ],
                      "query": [
                        {
                          "key": "type",
                          "value": "",
                          "description": "optional · enum FaqType",
                          "disabled": true
                        }
                      ]
                    },
                    "description": "## Purpose\nFAQ list.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}faqs`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `type` — optional · enum FaqType\n\n## Success 200\n`{ message: \"تم جلب الأسئلة الشائعة بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}faqs?type=",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "faqs"
                          ],
                          "query": [
                            {
                              "key": "type",
                              "value": "",
                              "description": "optional · enum FaqType",
                              "disabled": true
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الأسئلة الشائعة بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"question\": \"كيف أحجز؟\",\n      \"answer\": \"اختر الخدمة ثم الموعد.\"\n    }\n  ]\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "pages",
              "item": [
                {
                  "name": "show-page",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}pages/{{slug}}",
                    "description": "## Purpose\nCMS page by slug (terms, privacy, about …).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}pages/{{slug}}`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الصفحة بنجاح\", data: ... }`\n\n## Errors\n404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{slug}}` — CMS page slug (e.g. terms)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}pages/{{slug}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الصفحة بنجاح\",\n  \"data\": {\n    \"id\": 1,\n    \"slug\": \"terms\",\n    \"title\": \"الشروط والأحكام\",\n    \"content\": \"<p>...</p>\"\n  }\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}pages/{{slug}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "contact-us",
              "item": [
                {
                  "name": "send-message",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}contact-messages",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "name",
                          "value": "سارة",
                          "type": "text",
                          "description": "required for guests · string max:255"
                        },
                        {
                          "key": "email",
                          "value": "sara@example.com",
                          "type": "text",
                          "description": "required for guests · email"
                        },
                        {
                          "key": "subject",
                          "value": "استفسار",
                          "type": "text",
                          "description": "nullable · string max:255"
                        },
                        {
                          "key": "message",
                          "value": "أريد الاستفسار عن الباقات",
                          "type": "text",
                          "description": "required · string max:5000"
                        }
                      ]
                    },
                    "description": "## Purpose\nContact form. Guest (name/email required) or authenticated (optional bearer).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}contact-messages`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `name` — required for guests · string max:255\n- `email` — required for guests · email\n- `subject` — nullable · string max:255\n- `message` — required · string max:5000\n\n## Success 200\n`{ message: \"تم إرسال رسالتك بنجاح، سيتواصل معك فريق مناسبات في أقرب وقت\", data: ... }`\n\n## Errors\n422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}contact-messages",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "سارة",
                              "type": "text",
                              "description": "required for guests · string max:255"
                            },
                            {
                              "key": "email",
                              "value": "sara@example.com",
                              "type": "text",
                              "description": "required for guests · email"
                            },
                            {
                              "key": "subject",
                              "value": "استفسار",
                              "type": "text",
                              "description": "nullable · string max:255"
                            },
                            {
                              "key": "message",
                              "value": "أريد الاستفسار عن الباقات",
                              "type": "text",
                              "description": "required · string max:5000"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم إرسال رسالتك بنجاح، سيتواصل معك فريق مناسبات في أقرب وقت\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}contact-messages",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "سارة",
                              "type": "text",
                              "description": "required for guests · string max:255"
                            },
                            {
                              "key": "email",
                              "value": "sara@example.com",
                              "type": "text",
                              "description": "required for guests · email"
                            },
                            {
                              "key": "subject",
                              "value": "استفسار",
                              "type": "text",
                              "description": "nullable · string max:255"
                            },
                            {
                              "key": "message",
                              "value": "أريد الاستفسار عن الباقات",
                              "type": "text",
                              "description": "required · string max:5000"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"name\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "notifications",
              "item": [
                {
                  "name": "list-notifications",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}notifications?page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "notifications"
                      ],
                      "query": [
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nInbox (paginated).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}notifications`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب الإشعارات بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}notifications?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "notifications"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الإشعارات بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": \"9b1c1f6e-0000-4000-8000-000000000001\",\n        \"title\": \"تم تأكيد حجزك\",\n        \"body\": \"قاعة الياسمين أكدت حجزك IHF-2026-0015\",\n        \"is_read\": false,\n        \"date\": \"2026-10-04T10:05:00+03:00\"\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}notifications?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "notifications"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.data && j.data.data[0] && j.data.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('notification_id', id); pm.collectionVariables.set('notification_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "unread-count",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}notifications/unread-count",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nUnread badge count.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}notifications/unread-count`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الإشعارات بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}notifications/unread-count"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الإشعارات بنجاح\",\n  \"data\": {\n    \"unread_count\": 3\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}notifications/unread-count"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "read-notification",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}notifications/{{notification_id}}/read",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nMark one notification read.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}notifications/{{notification_id}}/read`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم تحديد الإشعار كمقروء\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{notification_id}}` — notification id\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}notifications/{{notification_id}}/read"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديد الإشعار كمقروء\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}notifications/{{notification_id}}/read"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}notifications/{{notification_id}}/read"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "read-all",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{user_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}notifications/read-all",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{user_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nMark all read.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`POST {{base_url}}notifications/read-all`\n\n## Auth\nBearer token `{{user_token}}` — middleware `auth:sanctum`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{user_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم تحديد جميع الإشعارات كمقروءة\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{user_token}}` — Sanctum token of the customer (captured by login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{user_token}}"
                          }
                        ],
                        "url": "{{base_url}}notifications/read-all"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديد جميع الإشعارات كمقروءة\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}notifications/read-all"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "description": "Customer app (Sanctum guard, token in `user_token`). Guests can browse the catalog; protected actions return 401."
    },
    {
      "name": "provider",
      "item": [
        {
          "name": "Auth",
          "item": [
            {
              "name": "auth",
              "item": [
                {
                  "name": "register",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/auth/register",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "name",
                          "value": "قاعة الياسمين",
                          "type": "text",
                          "description": "required · string max:255"
                        },
                        {
                          "key": "email",
                          "value": "yasmin@example.com",
                          "type": "text",
                          "description": "required · email unique:providers"
                        },
                        {
                          "key": "country_code",
                          "value": "{{country_code}}",
                          "type": "text",
                          "description": "required · exists:countries,code"
                        },
                        {
                          "key": "phone",
                          "value": "{{phone}}",
                          "type": "text",
                          "description": "required · digits_between:9,15 · unique with country_code"
                        },
                        {
                          "key": "password",
                          "value": "Pass@1234",
                          "type": "text",
                          "description": "required · min:8 · confirmed"
                        },
                        {
                          "key": "password_confirmation",
                          "value": "Pass@1234",
                          "type": "text",
                          "description": "required"
                        },
                        {
                          "key": "service_category_id",
                          "value": "{{category_id}}",
                          "type": "text",
                          "description": "required · exists:service_categories"
                        },
                        {
                          "key": "city_id",
                          "value": "1",
                          "type": "text",
                          "description": "nullable · exists:cities"
                        },
                        {
                          "key": "about",
                          "value": "قاعات أفراح وحفلات راقية",
                          "type": "text",
                          "description": "nullable · max:1000"
                        },
                        {
                          "key": "documents[commercial_registration]",
                          "type": "file",
                          "src": [],
                          "description": "required · file pdf/jpg/jpeg/png max 5MB"
                        },
                        {
                          "key": "documents[license]",
                          "type": "file",
                          "src": [],
                          "description": "required · file pdf/jpg/jpeg/png max 5MB"
                        }
                      ]
                    },
                    "description": "## Purpose\nOTP-first provider registration with documents (Spatie `documents` collection). Returns an `activation` token stored in `temp_token`. Requires admin approval after verification.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/auth/register`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `name` — required · string max:255\n- `email` — required · email unique:providers\n- `country_code` — required · exists:countries,code\n- `phone` — required · digits_between:9,15 · unique with country_code\n- `password` — required · min:8 · confirmed\n- `password_confirmation` — required\n- `service_category_id` — required · exists:service_categories\n- `city_id` — nullable · exists:cities\n- `about` — nullable · max:1000\n- `documents[commercial_registration]` — required · file pdf/jpg/jpeg/png max 5MB\n- `documents[license]` — required · file pdf/jpg/jpeg/png max 5MB\n\n## Success 200\n`{ message: \"تم استلام طلبك. أدخلي رمز التحقق المرسل إلى جوالك للمتابعة\", data: ... }`\n\n## Errors\n422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{category_id}}` — service-category id\n- `{{country_code}}` — dial code, e.g. 966\n- `{{phone}}` — phone without country code"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/register",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "قاعة الياسمين",
                              "type": "text",
                              "description": "required · string max:255"
                            },
                            {
                              "key": "email",
                              "value": "yasmin@example.com",
                              "type": "text",
                              "description": "required · email unique:providers"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · digits_between:9,15 · unique with country_code"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:8 · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "service_category_id",
                              "value": "{{category_id}}",
                              "type": "text",
                              "description": "required · exists:service_categories"
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "type": "text",
                              "description": "nullable · exists:cities"
                            },
                            {
                              "key": "about",
                              "value": "قاعات أفراح وحفلات راقية",
                              "type": "text",
                              "description": "nullable · max:1000"
                            },
                            {
                              "key": "documents[commercial_registration]",
                              "type": "file",
                              "src": [],
                              "description": "required · file pdf/jpg/jpeg/png max 5MB"
                            },
                            {
                              "key": "documents[license]",
                              "type": "file",
                              "src": [],
                              "description": "required · file pdf/jpg/jpeg/png max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم استلام طلبك. أدخلي رمز التحقق المرسل إلى جوالك للمتابعة\",\n  \"data\": {\n    \"id\": 3,\n    \"name\": \"قاعة الياسمين\",\n    \"email\": \"yasmin@example.com\",\n    \"phone\": \"551234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966551234567\",\n    \"token\": \"1|xxxxxxxxxxxxxxxxxxxxxxxx\",\n    \"about\": \"قاعات أفراح وحفلات راقية\",\n    \"status\": {\n      \"value\": \"pending\",\n      \"label\": \"قيد المراجعة\"\n    },\n    \"is_verified\": false,\n    \"is_phone_verified\": false,\n    \"is_active\": true,\n    \"image\": null,\n    \"gallery\": [],\n    \"address\": \"حي النخيل، الرياض\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"price_from\": \"1500.00\",\n    \"service_category\": {\n      \"id\": 1,\n      \"name\": \"قاعات\"\n    },\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/register",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "قاعة الياسمين",
                              "type": "text",
                              "description": "required · string max:255"
                            },
                            {
                              "key": "email",
                              "value": "yasmin@example.com",
                              "type": "text",
                              "description": "required · email unique:providers"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · digits_between:9,15 · unique with country_code"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:8 · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "service_category_id",
                              "value": "{{category_id}}",
                              "type": "text",
                              "description": "required · exists:service_categories"
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "type": "text",
                              "description": "nullable · exists:cities"
                            },
                            {
                              "key": "about",
                              "value": "قاعات أفراح وحفلات راقية",
                              "type": "text",
                              "description": "nullable · max:1000"
                            },
                            {
                              "key": "documents[commercial_registration]",
                              "type": "file",
                              "src": [],
                              "description": "required · file pdf/jpg/jpeg/png max 5MB"
                            },
                            {
                              "key": "documents[license]",
                              "type": "file",
                              "src": [],
                              "description": "required · file pdf/jpg/jpeg/png max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"documents.license\": [\n      \"حقل الرخصة مطلوب.\"\n    ]\n  }\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  if (pm.response.code === 200 && j.data) {",
                          "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                          "    if (t) { pm.environment.set('temp_token', t); pm.collectionVariables.set('temp_token', t); }",
                          "  }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "verify",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{temp_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/auth/verify",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "code",
                          "value": "{{code}}",
                          "type": "text",
                          "description": "required · string"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{temp_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nVerifies the registration OTP; returns the provider token stored in `provider_token`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/auth/verify`\n\n## Auth\nBearer token `{{temp_token}}` — middleware `auth:provider` + `ability:activation` (temp token).\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{temp_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم تفعيل حسابك وطلبك قيد المراجعة. سيتم إشعارك فور اعتماده\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{temp_token}}` — short-lived token (`activation` after register, `forget-password` after forgot request-code)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/verify",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تفعيل حسابك وطلبك قيد المراجعة. سيتم إشعارك فور اعتماده\",\n  \"data\": {\n    \"id\": 3,\n    \"name\": \"قاعة الياسمين\",\n    \"email\": \"yasmin@example.com\",\n    \"phone\": \"551234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966551234567\",\n    \"token\": \"7|xxxxxxxxxxxxxxxxxxxxxxxx\",\n    \"about\": \"قاعات أفراح وحفلات راقية\",\n    \"status\": {\n      \"value\": \"pending\",\n      \"label\": \"قيد المراجعة\"\n    },\n    \"is_verified\": false,\n    \"is_phone_verified\": true,\n    \"is_active\": true,\n    \"image\": null,\n    \"gallery\": [],\n    \"address\": \"حي النخيل، الرياض\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"price_from\": \"1500.00\",\n    \"service_category\": {\n      \"id\": 1,\n      \"name\": \"قاعات\"\n    },\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/verify",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/verify"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 422 invalid code",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/verify",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  if (pm.response.code === 200 && j.data) {",
                          "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                          "    if (t) { pm.environment.set('provider_token', t); pm.collectionVariables.set('provider_token', t); }",
                          "  }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "login-with-password",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/auth/login-with-password",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "login_value",
                          "value": "{{phone}}",
                          "type": "text",
                          "description": "required · phone digits or email"
                        },
                        {
                          "key": "country_code",
                          "value": "{{country_code}}",
                          "type": "text",
                          "description": "required when login_value is a phone"
                        },
                        {
                          "key": "password",
                          "value": "Pass@1234",
                          "type": "text",
                          "description": "required · min:6"
                        }
                      ]
                    },
                    "description": "## Purpose\nProvider login (phone/email + password). Checks blocked/rejected/suspended/phone-verified; token stored in `provider_token`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/auth/login-with-password`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `login_value` — required · phone digits or email\n- `country_code` — required when login_value is a phone\n- `password` — required · min:6\n\n## Success 200\n`{ message: \"تم تسجيل الدخول بنجاح\", data: ... }`\n\n## Errors\n422 validation · 403 blocked · 403 rejected · 403 suspended · 403 phone not verified\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{country_code}}` — dial code, e.g. 966\n- `{{phone}}` — phone without country code"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/login-with-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "login_value",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · phone digits or email"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required when login_value is a phone"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:6"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تسجيل الدخول بنجاح\",\n  \"data\": {\n    \"id\": 3,\n    \"name\": \"قاعة الياسمين\",\n    \"email\": \"yasmin@example.com\",\n    \"phone\": \"551234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966551234567\",\n    \"token\": \"7|xxxxxxxxxxxxxxxxxxxxxxxx\",\n    \"about\": \"قاعات أفراح وحفلات راقية\",\n    \"status\": {\n      \"value\": \"approved\",\n      \"label\": \"معتمد\"\n    },\n    \"is_verified\": true,\n    \"is_phone_verified\": true,\n    \"is_active\": true,\n    \"image\": null,\n    \"gallery\": [],\n    \"address\": \"حي النخيل، الرياض\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"price_from\": \"1500.00\",\n    \"service_category\": {\n      \"id\": 1,\n      \"name\": \"قاعات\"\n    },\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/login-with-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "login_value",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · phone digits or email"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required when login_value is a phone"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:6"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"login_value\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ 403 blocked",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/login-with-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "login_value",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · phone digits or email"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required when login_value is a phone"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:6"
                            }
                          ]
                        }
                      },
                      "status": "Forbidden",
                      "code": 403,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حظر حسابك\"\n}"
                    },
                    {
                      "name": "❌ 403 rejected",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/login-with-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "login_value",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · phone digits or email"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required when login_value is a phone"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:6"
                            }
                          ]
                        }
                      },
                      "status": "Forbidden",
                      "code": 403,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم رفض طلب تسجيلك. يرجى التواصل مع الدعم\"\n}"
                    },
                    {
                      "name": "❌ 403 suspended",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/login-with-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "login_value",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · phone digits or email"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required when login_value is a phone"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:6"
                            }
                          ]
                        }
                      },
                      "status": "Forbidden",
                      "code": 403,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تعليق حسابك. يرجى التواصل مع الدعم\"\n}"
                    },
                    {
                      "name": "❌ 403 phone not verified",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/login-with-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "login_value",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · phone digits or email"
                            },
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required when login_value is a phone"
                            },
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · min:6"
                            }
                          ]
                        }
                      },
                      "status": "Forbidden",
                      "code": 403,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"لم يتم التحقق من جوالك. تم إرسال رمز التحقق إليك\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  if (pm.response.code === 200 && j.data) {",
                          "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                          "    if (t) { pm.environment.set('provider_token', t); pm.collectionVariables.set('provider_token', t); }",
                          "  }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "request-code",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/auth/request-code",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "country_code",
                          "value": "{{country_code}}",
                          "type": "text",
                          "description": "required · exists:countries,code"
                        },
                        {
                          "key": "phone",
                          "value": "{{phone}}",
                          "type": "text",
                          "description": "required · exists:providers"
                        }
                      ]
                    },
                    "description": "## Purpose\nSends the OTP for `login-code`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/auth/request-code`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `country_code` — required · exists:countries,code\n- `phone` — required · exists:providers\n\n## Success 200\n`{ message: \"تم إرسال رمز التحقق إلى جوالك\", data: ... }`\n\n## Errors\n422 validation · 429 too many attempts\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{country_code}}` — dial code, e.g. 966\n- `{{phone}}` — phone without country code"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/request-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · exists:providers"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم إرسال رمز التحقق إلى جوالك\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/request-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · exists:providers"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"country_code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ 429 too many attempts",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/request-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · exists:providers"
                            }
                          ]
                        }
                      },
                      "status": "Too Many Requests",
                      "code": 429,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Too Many Attempts.\"\n}"
                    }
                  ]
                },
                {
                  "name": "login-code",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/auth/login-code",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "country_code",
                          "value": "{{country_code}}",
                          "type": "text",
                          "description": "required"
                        },
                        {
                          "key": "phone",
                          "value": "{{phone}}",
                          "type": "text",
                          "description": "required"
                        },
                        {
                          "key": "code",
                          "value": "{{code}}",
                          "type": "text",
                          "description": "required · string"
                        }
                      ]
                    },
                    "description": "## Purpose\nOTP login; token stored in `provider_token`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/auth/login-code`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `country_code` — required\n- `phone` — required\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم تسجيل الدخول بنجاح\", data: ... }`\n\n## Errors\n422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{country_code}}` — dial code, e.g. 966\n- `{{phone}}` — phone without country code"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/login-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تسجيل الدخول بنجاح\",\n  \"data\": {\n    \"id\": 3,\n    \"name\": \"قاعة الياسمين\",\n    \"email\": \"yasmin@example.com\",\n    \"phone\": \"551234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966551234567\",\n    \"token\": \"7|xxxxxxxxxxxxxxxxxxxxxxxx\",\n    \"about\": \"قاعات أفراح وحفلات راقية\",\n    \"status\": {\n      \"value\": \"approved\",\n      \"label\": \"معتمد\"\n    },\n    \"is_verified\": true,\n    \"is_phone_verified\": true,\n    \"is_active\": true,\n    \"image\": null,\n    \"gallery\": [],\n    \"address\": \"حي النخيل، الرياض\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"price_from\": \"1500.00\",\n    \"service_category\": {\n      \"id\": 1,\n      \"name\": \"قاعات\"\n    },\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/login-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"country_code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ 422 invalid code",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/login-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required"
                            },
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  if (pm.response.code === 200 && j.data) {",
                          "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                          "    if (t) { pm.environment.set('provider_token', t); pm.collectionVariables.set('provider_token', t); }",
                          "  }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "forgot-password",
                  "item": [
                    {
                      "name": "request-code",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/forgot-password/request-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "{{country_code}}",
                              "type": "text",
                              "description": "required · string max:5 · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "{{phone}}",
                              "type": "text",
                              "description": "required · digits_between:9,15 · exists on providers"
                            }
                          ]
                        },
                        "description": "## Purpose\nSends the forgot-password OTP and mints a temp token (`ability: forget-password`, 15 min) stored in `temp_token`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/auth/forgot-password/request-code`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `country_code` — required · string max:5 · exists:countries,code\n- `phone` — required · digits_between:9,15 · exists on providers\n\n## Success 200\n`{ message: \"تم إرسال رمز التحقق إلى جوالك\", data: ... }`\n\n## Errors\n422 validation · 429 too many attempts\n\n## Notes\nThrottle `throttle:request-code`.\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{country_code}}` — dial code, e.g. 966\n- `{{phone}}` — phone without country code"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/request-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "{{country_code}}",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "{{phone}}",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · exists on providers"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم إرسال رمز التحقق إلى جوالك\",\n  \"data\": {\n    \"token\": \"1|xxxxxxxxxxxxxxxxxxxxxxxx\"\n  }\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/request-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "{{country_code}}",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "{{phone}}",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · exists on providers"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"country_code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ 429 too many attempts",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/request-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "{{country_code}}",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "{{phone}}",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · exists on providers"
                                }
                              ]
                            }
                          },
                          "status": "Too Many Requests",
                          "code": 429,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Too Many Attempts.\"\n}"
                        }
                      ],
                      "event": [
                        {
                          "listen": "test",
                          "script": {
                            "type": "text/javascript",
                            "exec": [
                              "try { const j = pm.response.json();",
                              "  if (pm.response.code === 200 && j.data) {",
                              "    const t = (j.data.token) || (j.data.user && j.data.user.token);",
                              "    if (t) { pm.environment.set('temp_token', t); pm.collectionVariables.set('temp_token', t); }",
                              "  }",
                              "} catch (e) {}"
                            ]
                          }
                        }
                      ]
                    },
                    {
                      "name": "verify-code",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/forgot-password/verify-code",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{temp_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nVerifies the OTP using the temp token.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/auth/forgot-password/verify-code`\n\n## Auth\nBearer token `{{temp_token}}` — middleware `auth:sanctum` + `ability:forget-password` (temp token).\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{temp_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم التحقق من الرمز\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{temp_token}}` — short-lived token (`activation` after register, `forget-password` after forgot request-code)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/verify-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم التحقق من الرمز\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/verify-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/verify-code"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 422 invalid code",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/verify-code",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                        }
                      ]
                    },
                    {
                      "name": "reset-password",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{temp_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/forgot-password/reset-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · string min:8 · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · same as password"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{temp_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nSets the new password; revokes the temp token. Requires verify-code first.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/auth/forgot-password/reset-password`\n\n## Auth\nBearer token `{{temp_token}}` — middleware `auth:sanctum` + `ability:forget-password` (temp token).\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{temp_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `password` — required · string min:8 · confirmed\n- `password_confirmation` — required · same as password\n\n## Success 200\n`{ message: \"تم إعادة تعيين كلمة المرور\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 400 code not verified\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{temp_token}}` — short-lived token (`activation` after register, `forget-password` after forgot request-code)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/reset-password",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "password",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · string min:8 · confirmed"
                                },
                                {
                                  "key": "password_confirmation",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · same as password"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم إعادة تعيين كلمة المرور\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/reset-password",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "password",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · string min:8 · confirmed"
                                },
                                {
                                  "key": "password_confirmation",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · same as password"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"password\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/reset-password"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 400 code not verified",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{temp_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/auth/forgot-password/reset-password",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "password",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · string min:8 · confirmed"
                                },
                                {
                                  "key": "password_confirmation",
                                  "value": "Pass@1234",
                                  "type": "text",
                                  "description": "required · same as password"
                                }
                              ]
                            }
                          },
                          "status": "Bad Request",
                          "code": 400,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"يجب التحقق من الرمز أولاً\"\n}"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "logout",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/auth/logout",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nRevokes the current provider token.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/auth/logout`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم تسجيل الخروج بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/logout"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تسجيل الخروج بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/logout"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "me",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/auth/me",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nCurrent provider (ProviderResource).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/auth/me`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الملف الشخصي بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/me"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الملف الشخصي بنجاح\",\n  \"data\": {\n    \"id\": 3,\n    \"name\": \"قاعة الياسمين\",\n    \"email\": \"yasmin@example.com\",\n    \"phone\": \"551234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966551234567\",\n    \"token\": null,\n    \"about\": \"قاعات أفراح وحفلات راقية\",\n    \"status\": {\n      \"value\": \"approved\",\n      \"label\": \"معتمد\"\n    },\n    \"is_verified\": true,\n    \"is_phone_verified\": true,\n    \"is_active\": true,\n    \"image\": null,\n    \"gallery\": [],\n    \"address\": \"حي النخيل، الرياض\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"price_from\": \"1500.00\",\n    \"service_category\": {\n      \"id\": 1,\n      \"name\": \"قاعات\"\n    },\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": null\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/me"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/auth/delete",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nDeletes the provider account.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`DELETE {{base_url}}provider/auth/delete`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم حذف حسابك\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/delete"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حذف حسابك\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/auth/delete"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "profile",
              "item": [
                {
                  "name": "show-profile",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/profile",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nProvider profile.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/profile`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الملف الشخصي بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/profile"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الملف الشخصي بنجاح\",\n  \"data\": {\n    \"id\": 3,\n    \"name\": \"قاعة الياسمين\",\n    \"email\": \"yasmin@example.com\",\n    \"phone\": \"551234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966551234567\",\n    \"token\": null,\n    \"about\": \"قاعات أفراح وحفلات راقية\",\n    \"status\": {\n      \"value\": \"approved\",\n      \"label\": \"معتمد\"\n    },\n    \"is_verified\": true,\n    \"is_phone_verified\": true,\n    \"is_active\": true,\n    \"image\": null,\n    \"gallery\": [],\n    \"address\": \"حي النخيل، الرياض\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"price_from\": \"1500.00\",\n    \"service_category\": {\n      \"id\": 1,\n      \"name\": \"قاعات\"\n    },\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": null\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/profile"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "update-profile",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/profile",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "name",
                          "value": "قاعة الياسمين",
                          "type": "text",
                          "description": "required · max:255"
                        },
                        {
                          "key": "about",
                          "value": "قاعات أفراح وحفلات راقية",
                          "type": "text",
                          "description": "nullable · max:1000"
                        },
                        {
                          "key": "email",
                          "value": "yasmin@example.com",
                          "type": "text",
                          "description": "nullable · email unique"
                        },
                        {
                          "key": "service_category_id",
                          "value": "{{category_id}}",
                          "type": "text",
                          "description": "required · exists:service_categories"
                        },
                        {
                          "key": "city_id",
                          "value": "1",
                          "type": "text",
                          "description": "nullable · exists:cities"
                        },
                        {
                          "key": "district_id",
                          "value": "7",
                          "type": "text",
                          "description": "nullable · exists:districts"
                        },
                        {
                          "key": "address",
                          "value": "حي النخيل، الرياض",
                          "type": "text",
                          "description": "nullable · max:500"
                        },
                        {
                          "key": "lat",
                          "value": "24.7136",
                          "type": "text",
                          "description": "nullable · -90..90"
                        },
                        {
                          "key": "lng",
                          "value": "46.6753",
                          "type": "text",
                          "description": "nullable · -180..180"
                        },
                        {
                          "key": "image",
                          "type": "file",
                          "src": [],
                          "description": "nullable · image max 5MB"
                        },
                        {
                          "key": "gallery[]",
                          "type": "file",
                          "src": [],
                          "description": "nullable · up to 10 images max 5MB each"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nUpdates profile, logo and gallery (multipart).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/profile`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `name` — required · max:255\n- `about` — nullable · max:1000\n- `email` — nullable · email unique\n- `service_category_id` — required · exists:service_categories\n- `city_id` — nullable · exists:cities\n- `district_id` — nullable · exists:districts\n- `address` — nullable · max:500\n- `lat` — nullable · -90..90\n- `lng` — nullable · -180..180\n- `image` — nullable · image max 5MB\n- `gallery[]` — nullable · up to 10 images max 5MB each\n\n## Success 200\n`{ message: \"تم تحديث الملف الشخصي بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{category_id}}` — service-category id\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/profile",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "قاعة الياسمين",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "about",
                              "value": "قاعات أفراح وحفلات راقية",
                              "type": "text",
                              "description": "nullable · max:1000"
                            },
                            {
                              "key": "email",
                              "value": "yasmin@example.com",
                              "type": "text",
                              "description": "nullable · email unique"
                            },
                            {
                              "key": "service_category_id",
                              "value": "{{category_id}}",
                              "type": "text",
                              "description": "required · exists:service_categories"
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "type": "text",
                              "description": "nullable · exists:cities"
                            },
                            {
                              "key": "district_id",
                              "value": "7",
                              "type": "text",
                              "description": "nullable · exists:districts"
                            },
                            {
                              "key": "address",
                              "value": "حي النخيل، الرياض",
                              "type": "text",
                              "description": "nullable · max:500"
                            },
                            {
                              "key": "lat",
                              "value": "24.7136",
                              "type": "text",
                              "description": "nullable · -90..90"
                            },
                            {
                              "key": "lng",
                              "value": "46.6753",
                              "type": "text",
                              "description": "nullable · -180..180"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            },
                            {
                              "key": "gallery[]",
                              "type": "file",
                              "src": [],
                              "description": "nullable · up to 10 images max 5MB each"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث الملف الشخصي بنجاح\",\n  \"data\": {\n    \"id\": 3,\n    \"name\": \"قاعة الياسمين\",\n    \"email\": \"yasmin@example.com\",\n    \"phone\": \"551234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966551234567\",\n    \"token\": null,\n    \"about\": \"قاعات أفراح وحفلات راقية\",\n    \"status\": {\n      \"value\": \"approved\",\n      \"label\": \"معتمد\"\n    },\n    \"is_verified\": true,\n    \"is_phone_verified\": true,\n    \"is_active\": true,\n    \"image\": null,\n    \"gallery\": [],\n    \"address\": \"حي النخيل، الرياض\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"price_from\": \"1500.00\",\n    \"service_category\": {\n      \"id\": 1,\n      \"name\": \"قاعات\"\n    },\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/profile",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "قاعة الياسمين",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "about",
                              "value": "قاعات أفراح وحفلات راقية",
                              "type": "text",
                              "description": "nullable · max:1000"
                            },
                            {
                              "key": "email",
                              "value": "yasmin@example.com",
                              "type": "text",
                              "description": "nullable · email unique"
                            },
                            {
                              "key": "service_category_id",
                              "value": "{{category_id}}",
                              "type": "text",
                              "description": "required · exists:service_categories"
                            },
                            {
                              "key": "city_id",
                              "value": "1",
                              "type": "text",
                              "description": "nullable · exists:cities"
                            },
                            {
                              "key": "district_id",
                              "value": "7",
                              "type": "text",
                              "description": "nullable · exists:districts"
                            },
                            {
                              "key": "address",
                              "value": "حي النخيل، الرياض",
                              "type": "text",
                              "description": "nullable · max:500"
                            },
                            {
                              "key": "lat",
                              "value": "24.7136",
                              "type": "text",
                              "description": "nullable · -90..90"
                            },
                            {
                              "key": "lng",
                              "value": "46.6753",
                              "type": "text",
                              "description": "nullable · -180..180"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            },
                            {
                              "key": "gallery[]",
                              "type": "file",
                              "src": [],
                              "description": "nullable · up to 10 images max 5MB each"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"name\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/profile"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "documents",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/profile/documents",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "documents[commercial_registration]",
                          "type": "file",
                          "src": [],
                          "description": "nullable · pdf/jpg/jpeg/png max 5MB"
                        },
                        {
                          "key": "documents[license]",
                          "type": "file",
                          "src": [],
                          "description": "nullable · pdf/jpg/jpeg/png max 5MB"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nReplace one or both documents (at least one `documents.*` entry).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/profile/documents`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `documents[commercial_registration]` — nullable · pdf/jpg/jpeg/png max 5MB\n- `documents[license]` — nullable · pdf/jpg/jpeg/png max 5MB\n\n## Success 200\n`{ message: \"تم تحديث المستندات بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/documents",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "documents[commercial_registration]",
                              "type": "file",
                              "src": [],
                              "description": "nullable · pdf/jpg/jpeg/png max 5MB"
                            },
                            {
                              "key": "documents[license]",
                              "type": "file",
                              "src": [],
                              "description": "nullable · pdf/jpg/jpeg/png max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث المستندات بنجاح\",\n  \"data\": {\n    \"id\": 3,\n    \"name\": \"قاعة الياسمين\",\n    \"email\": \"yasmin@example.com\",\n    \"phone\": \"551234567\",\n    \"country_code\": \"966\",\n    \"normalized_phone\": \"966551234567\",\n    \"token\": null,\n    \"about\": \"قاعات أفراح وحفلات راقية\",\n    \"status\": {\n      \"value\": \"approved\",\n      \"label\": \"معتمد\"\n    },\n    \"is_verified\": true,\n    \"is_phone_verified\": true,\n    \"is_active\": true,\n    \"image\": null,\n    \"gallery\": [],\n    \"address\": \"حي النخيل، الرياض\",\n    \"lat\": \"24.7136000\",\n    \"lng\": \"46.6753000\",\n    \"price_from\": \"1500.00\",\n    \"service_category\": {\n      \"id\": 1,\n      \"name\": \"قاعات\"\n    },\n    \"city\": {\n      \"id\": 1,\n      \"name\": \"الرياض\"\n    },\n    \"district\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/documents",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "documents[commercial_registration]",
                              "type": "file",
                              "src": [],
                              "description": "nullable · pdf/jpg/jpeg/png max 5MB"
                            },
                            {
                              "key": "documents[license]",
                              "type": "file",
                              "src": [],
                              "description": "nullable · pdf/jpg/jpeg/png max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"documents[commercial_registration]\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/documents"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "change-password",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/profile/change-password",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "current_password",
                          "value": "Pass@1234",
                          "type": "text",
                          "description": "required · current_password:provider"
                        },
                        {
                          "key": "password",
                          "value": "NewPass@1234",
                          "type": "text",
                          "description": "required · min:8 · different · confirmed"
                        },
                        {
                          "key": "password_confirmation",
                          "value": "NewPass@1234",
                          "type": "text",
                          "description": "required"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nChange provider password.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/profile/change-password`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `current_password` — required · current_password:provider\n- `password` — required · min:8 · different · confirmed\n- `password_confirmation` — required\n\n## Success 200\n`{ message: \"تم تغيير كلمة المرور بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/change-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "current_password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · current_password:provider"
                            },
                            {
                              "key": "password",
                              "value": "NewPass@1234",
                              "type": "text",
                              "description": "required · min:8 · different · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "NewPass@1234",
                              "type": "text",
                              "description": "required"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تغيير كلمة المرور بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/change-password",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "current_password",
                              "value": "Pass@1234",
                              "type": "text",
                              "description": "required · current_password:provider"
                            },
                            {
                              "key": "password",
                              "value": "NewPass@1234",
                              "type": "text",
                              "description": "required · min:8 · different · confirmed"
                            },
                            {
                              "key": "password_confirmation",
                              "value": "NewPass@1234",
                              "type": "text",
                              "description": "required"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"current_password\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/change-password"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                },
                {
                  "name": "change-phone",
                  "item": [
                    {
                      "name": "request-current-code",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/change-phone/request-current-code",
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{provider_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 1/4 — send OTP to the CURRENT phone.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/profile/change-phone/request-current-code`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم إرسال رمز التحقق إلى رقمك الحالي\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/request-current-code"
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم إرسال رمز التحقق إلى رقمك الحالي\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/request-current-code"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        }
                      ]
                    },
                    {
                      "name": "verify-current",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/change-phone/verify-current",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{provider_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 2/4 — verify the CURRENT phone code.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/profile/change-phone/verify-current`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم التحقق من رقمك الحالي\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/verify-current",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم التحقق من رقمك الحالي\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/verify-current",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/verify-current"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 422 invalid code",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/verify-current",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                        }
                      ]
                    },
                    {
                      "name": "set-new",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/change-phone/set-new",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "966",
                              "type": "text",
                              "description": "required · string max:5 · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "509876543",
                              "type": "text",
                              "description": "required · digits_between:9,15 · unique (ignores self)"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{provider_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 3/4 — set the NEW phone; sends OTP to it.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/profile/change-phone/set-new`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `country_code` — required · string max:5 · exists:countries,code\n- `phone` — required · digits_between:9,15 · unique (ignores self)\n\n## Success 200\n`{ message: \"تم إرسال رمز التحقق إلى رقمك الجديد\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 400 current not verified\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/set-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · unique (ignores self)"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم إرسال رمز التحقق إلى رقمك الجديد\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/set-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · unique (ignores self)"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"country_code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/set-new"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 400 current not verified",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/set-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · unique (ignores self)"
                                }
                              ]
                            }
                          },
                          "status": "Bad Request",
                          "code": 400,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"يجب التحقق من رقمك الحالي أولاً\"\n}"
                        }
                      ]
                    },
                    {
                      "name": "verify-new",
                      "request": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json",
                            "description": "required"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}",
                            "description": "required"
                          }
                        ],
                        "url": "{{base_url}}provider/profile/change-phone/verify-new",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "country_code",
                              "value": "966",
                              "type": "text",
                              "description": "required · string max:5 · exists:countries,code"
                            },
                            {
                              "key": "phone",
                              "value": "509876543",
                              "type": "text",
                              "description": "required · digits_between:9,15 · same as set-new"
                            },
                            {
                              "key": "code",
                              "value": "{{code}}",
                              "type": "text",
                              "description": "required · string"
                            }
                          ]
                        },
                        "auth": {
                          "type": "bearer",
                          "bearer": [
                            {
                              "key": "token",
                              "value": "{{provider_token}}",
                              "type": "string"
                            }
                          ]
                        },
                        "description": "## Purpose\nStep 4/4 — verify the NEW phone code; phone is changed.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/profile/change-phone/verify-new`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `country_code` — required · string max:5 · exists:countries,code\n- `phone` — required · digits_between:9,15 · same as set-new\n- `code` — required · string\n\n## Success 200\n`{ message: \"تم تغيير رقم جوالك بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 invalid code\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{code}}` — OTP code received by SMS (dev: fixed value)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                      },
                      "response": [
                        {
                          "name": "✅ success",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/verify-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · same as set-new"
                                },
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "OK",
                          "code": 200,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"تم تغيير رقم جوالك بنجاح\",\n  \"data\": null\n}"
                        },
                        {
                          "name": "⚠️ validation error",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/verify-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · same as set-new"
                                },
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"country_code\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                        },
                        {
                          "name": "❌ unauthenticated",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/verify-new"
                          },
                          "status": "Unauthorized",
                          "code": 401,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                        },
                        {
                          "name": "❌ 422 invalid code",
                          "originalRequest": {
                            "method": "POST",
                            "header": [
                              {
                                "key": "Accept",
                                "value": "application/json"
                              },
                              {
                                "key": "Authorization",
                                "value": "Bearer {{provider_token}}"
                              }
                            ],
                            "url": "{{base_url}}provider/profile/change-phone/verify-new",
                            "body": {
                              "mode": "formdata",
                              "formdata": [
                                {
                                  "key": "country_code",
                                  "value": "966",
                                  "type": "text",
                                  "description": "required · string max:5 · exists:countries,code"
                                },
                                {
                                  "key": "phone",
                                  "value": "509876543",
                                  "type": "text",
                                  "description": "required · digits_between:9,15 · same as set-new"
                                },
                                {
                                  "key": "code",
                                  "value": "{{code}}",
                                  "type": "text",
                                  "description": "required · string"
                                }
                              ]
                            }
                          },
                          "status": "Unprocessable Entity",
                          "code": 422,
                          "_postman_previewlanguage": "json",
                          "header": [
                            {
                              "key": "Content-Type",
                              "value": "application/json"
                            }
                          ],
                          "body": "{\n  \"message\": \"رمز التحقق غير صحيح أو منتهي الصلاحية\",\n  \"errors\": {\n    \"code\": [\n      \"رمز التحقق غير صحيح أو منتهي الصلاحية\"\n    ]\n  }\n}"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Logic",
          "item": [
            {
              "name": "services",
              "item": [
                {
                  "name": "list-services",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}provider/services?page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "provider",
                        "services"
                      ],
                      "query": [
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nOwn services (paginated).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/services`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب الخدمات بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/services?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "services"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الخدمات بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 5,\n        \"name\": \"قاعة كبرى\",\n        \"description\": \"تتسع لـ 300 ضيف\",\n        \"guest_capacity\": 300,\n        \"price\": \"4500.00\",\n        \"image\": null,\n        \"is_active\": true\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/services?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "services"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.data && j.data.data[0] && j.data.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('service_id', id); pm.collectionVariables.set('service_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "show-service",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/services/{{service_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nOwn service (other providers' ids return 404).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/services/{{service_id}}`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الخدمة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)\n- `{{service_id}}` — service id"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الخدمة بنجاح\",\n  \"data\": {\n    \"id\": 5,\n    \"name\": \"قاعة كبرى\",\n    \"description\": \"تتسع لـ 300 ضيف\",\n    \"guest_capacity\": 300,\n    \"price\": \"4500.00\",\n    \"image\": null\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "create-service",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/services",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "name",
                          "value": "قاعة كبرى",
                          "type": "text",
                          "description": "required · max:255"
                        },
                        {
                          "key": "description",
                          "value": "تتسع لـ 300 ضيف",
                          "type": "text",
                          "description": "nullable · max:2000"
                        },
                        {
                          "key": "guest_capacity",
                          "value": "300",
                          "type": "text",
                          "description": "nullable · integer ≥1"
                        },
                        {
                          "key": "price",
                          "value": "4500",
                          "type": "text",
                          "description": "required · numeric ≥0"
                        },
                        {
                          "key": "is_active",
                          "value": "1",
                          "type": "text",
                          "description": "sometimes · boolean"
                        },
                        {
                          "key": "sort_order",
                          "value": "0",
                          "type": "text",
                          "description": "sometimes · integer ≥0"
                        },
                        {
                          "key": "image",
                          "type": "file",
                          "src": [],
                          "description": "nullable · image max 5MB"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nCreate a service; recomputes `price_from`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/services`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `name` — required · max:255\n- `description` — nullable · max:2000\n- `guest_capacity` — nullable · integer ≥1\n- `price` — required · numeric ≥0\n- `is_active` — sometimes · boolean\n- `sort_order` — sometimes · integer ≥0\n- `image` — nullable · image max 5MB\n\n## Success 200\n`{ message: \"تمت إضافة الخدمة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "قاعة كبرى",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تتسع لـ 300 ضيف",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "guest_capacity",
                              "value": "300",
                              "type": "text",
                              "description": "nullable · integer ≥1"
                            },
                            {
                              "key": "price",
                              "value": "4500",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer ≥0"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تمت إضافة الخدمة بنجاح\",\n  \"data\": {\n    \"id\": 5,\n    \"name\": \"قاعة كبرى\",\n    \"description\": \"تتسع لـ 300 ضيف\",\n    \"guest_capacity\": 300,\n    \"price\": \"4500.00\",\n    \"image\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "قاعة كبرى",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تتسع لـ 300 ضيف",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "guest_capacity",
                              "value": "300",
                              "type": "text",
                              "description": "nullable · integer ≥1"
                            },
                            {
                              "key": "price",
                              "value": "4500",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer ≥0"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"name\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/services"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('service_id', id); pm.collectionVariables.set('service_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "update-service",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/services/{{service_id}}",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "_method",
                          "value": "PUT",
                          "type": "text",
                          "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                        },
                        {
                          "key": "name",
                          "value": "قاعة كبرى",
                          "type": "text",
                          "description": "required · max:255"
                        },
                        {
                          "key": "description",
                          "value": "تتسع لـ 300 ضيف",
                          "type": "text",
                          "description": "nullable · max:2000"
                        },
                        {
                          "key": "guest_capacity",
                          "value": "300",
                          "type": "text",
                          "description": "nullable · integer ≥1"
                        },
                        {
                          "key": "price",
                          "value": "4500",
                          "type": "text",
                          "description": "required · numeric ≥0"
                        },
                        {
                          "key": "is_active",
                          "value": "1",
                          "type": "text",
                          "description": "sometimes · boolean"
                        },
                        {
                          "key": "sort_order",
                          "value": "0",
                          "type": "text",
                          "description": "sometimes · integer ≥0"
                        },
                        {
                          "key": "image",
                          "type": "file",
                          "src": [],
                          "description": "nullable · image max 5MB"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nUpdate a service.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/services/{{service_id}}`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `_method` — method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)\n- `name` — required · max:255\n- `description` — nullable · max:2000\n- `guest_capacity` — nullable · integer ≥1\n- `price` — required · numeric ≥0\n- `is_active` — sometimes · boolean\n- `sort_order` — sometimes · integer ≥0\n- `image` — nullable · image max 5MB\n\n## Success 200\n`{ message: \"تم تحديث الخدمة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)\n- `{{service_id}}` — service id"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "_method",
                              "value": "PUT",
                              "type": "text",
                              "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                            },
                            {
                              "key": "name",
                              "value": "قاعة كبرى",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تتسع لـ 300 ضيف",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "guest_capacity",
                              "value": "300",
                              "type": "text",
                              "description": "nullable · integer ≥1"
                            },
                            {
                              "key": "price",
                              "value": "4500",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer ≥0"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث الخدمة بنجاح\",\n  \"data\": {\n    \"id\": 5,\n    \"name\": \"قاعة كبرى\",\n    \"description\": \"تتسع لـ 300 ضيف\",\n    \"guest_capacity\": 300,\n    \"price\": \"4500.00\",\n    \"image\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "_method",
                              "value": "PUT",
                              "type": "text",
                              "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                            },
                            {
                              "key": "name",
                              "value": "قاعة كبرى",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تتسع لـ 300 ضيف",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "guest_capacity",
                              "value": "300",
                              "type": "text",
                              "description": "nullable · integer ≥1"
                            },
                            {
                              "key": "price",
                              "value": "4500",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer ≥0"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"_method\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "_method",
                              "value": "PUT",
                              "type": "text",
                              "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                            },
                            {
                              "key": "name",
                              "value": "قاعة كبرى",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تتسع لـ 300 ضيف",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "guest_capacity",
                              "value": "300",
                              "type": "text",
                              "description": "nullable · integer ≥1"
                            },
                            {
                              "key": "price",
                              "value": "4500",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer ≥0"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "delete-service",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/services/{{service_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nDelete a service.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`DELETE {{base_url}}provider/services/{{service_id}}`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم حذف الخدمة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)\n- `{{service_id}}` — service id"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حذف الخدمة بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "toggle-service",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/services/{{service_id}}/toggle",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nToggle `is_active`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/services/{{service_id}}/toggle`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم تحديث الخدمة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)\n- `{{service_id}}` — service id"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}/toggle"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث الخدمة بنجاح\",\n  \"data\": {\n    \"id\": 5,\n    \"name\": \"قاعة كبرى\",\n    \"description\": \"تتسع لـ 300 ضيف\",\n    \"guest_capacity\": 300,\n    \"price\": \"4500.00\",\n    \"image\": null,\n    \"is_active\": false\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}/toggle"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/services/{{service_id}}/toggle"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "packages",
              "item": [
                {
                  "name": "list-packages",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}provider/packages?page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "provider",
                        "packages"
                      ],
                      "query": [
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nOwn packages (paginated).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/packages`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب الباقات بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/packages?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "packages"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الباقات بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 2,\n        \"name\": \"باقة الزفاف الذهبية\",\n        \"description\": \"تشمل التنسيق والضيافة\",\n        \"price\": \"9000.00\",\n        \"image\": null,\n        \"items\": [\n          {\n            \"id\": 1,\n            \"label\": \"تنسيق الكوشة\"\n          },\n          {\n            \"id\": 2,\n            \"label\": \"ضيافة 100 شخص\"\n          }\n        ]\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/packages?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "packages"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.data && j.data.data[0] && j.data.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('package_id', id); pm.collectionVariables.set('package_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "show-package",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/packages/{{package_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nOwn package with items.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/packages/{{package_id}}`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الباقة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{package_id}}` — package id\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الباقة بنجاح\",\n  \"data\": {\n    \"id\": 2,\n    \"name\": \"باقة الزفاف الذهبية\",\n    \"description\": \"تشمل التنسيق والضيافة\",\n    \"price\": \"9000.00\",\n    \"image\": null,\n    \"items\": [\n      {\n        \"id\": 1,\n        \"label\": \"تنسيق الكوشة\"\n      },\n      {\n        \"id\": 2,\n        \"label\": \"ضيافة 100 شخص\"\n      }\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "create-package",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/packages",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "service_id",
                          "value": "{{service_id}}",
                          "type": "text",
                          "description": "nullable · own service"
                        },
                        {
                          "key": "name",
                          "value": "باقة الزفاف الذهبية",
                          "type": "text",
                          "description": "required · max:255"
                        },
                        {
                          "key": "description",
                          "value": "تشمل التنسيق والضيافة",
                          "type": "text",
                          "description": "nullable · max:2000"
                        },
                        {
                          "key": "price",
                          "value": "9000",
                          "type": "text",
                          "description": "required · numeric ≥0"
                        },
                        {
                          "key": "is_active",
                          "value": "1",
                          "type": "text",
                          "description": "sometimes · boolean"
                        },
                        {
                          "key": "sort_order",
                          "value": "0",
                          "type": "text",
                          "description": "sometimes · integer"
                        },
                        {
                          "key": "image",
                          "type": "file",
                          "src": [],
                          "description": "nullable · image max 5MB"
                        },
                        {
                          "key": "items[0][label]",
                          "value": "تنسيق الكوشة",
                          "type": "text",
                          "description": "items.*.label required · max:255 (replaces the whole item list)"
                        },
                        {
                          "key": "items[0][service_id]",
                          "value": "{{service_id}}",
                          "type": "text",
                          "description": "items.*.service_id nullable · own service"
                        },
                        {
                          "key": "items[0][sort_order]",
                          "value": "0",
                          "type": "text",
                          "description": "items.*.sort_order sometimes · integer"
                        },
                        {
                          "key": "items[1][label]",
                          "value": "ضيافة 100 شخص",
                          "type": "text",
                          "description": "items.*.label"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nCreate a package with items.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/packages`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `service_id` — nullable · own service\n- `name` — required · max:255\n- `description` — nullable · max:2000\n- `price` — required · numeric ≥0\n- `is_active` — sometimes · boolean\n- `sort_order` — sometimes · integer\n- `image` — nullable · image max 5MB\n- `items[0][label]` — items.*.label required · max:255 (replaces the whole item list)\n- `items[0][service_id]` — items.*.service_id nullable · own service\n- `items[0][sort_order]` — items.*.sort_order sometimes · integer\n- `items[1][label]` — items.*.label\n\n## Success 200\n`{ message: \"تمت إضافة الباقة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)\n- `{{service_id}}` — service id"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "service_id",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "nullable · own service"
                            },
                            {
                              "key": "name",
                              "value": "باقة الزفاف الذهبية",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تشمل التنسيق والضيافة",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "price",
                              "value": "9000",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            },
                            {
                              "key": "items[0][label]",
                              "value": "تنسيق الكوشة",
                              "type": "text",
                              "description": "items.*.label required · max:255 (replaces the whole item list)"
                            },
                            {
                              "key": "items[0][service_id]",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "items.*.service_id nullable · own service"
                            },
                            {
                              "key": "items[0][sort_order]",
                              "value": "0",
                              "type": "text",
                              "description": "items.*.sort_order sometimes · integer"
                            },
                            {
                              "key": "items[1][label]",
                              "value": "ضيافة 100 شخص",
                              "type": "text",
                              "description": "items.*.label"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تمت إضافة الباقة بنجاح\",\n  \"data\": {\n    \"id\": 2,\n    \"name\": \"باقة الزفاف الذهبية\",\n    \"description\": \"تشمل التنسيق والضيافة\",\n    \"price\": \"9000.00\",\n    \"image\": null,\n    \"items\": [\n      {\n        \"id\": 1,\n        \"label\": \"تنسيق الكوشة\"\n      },\n      {\n        \"id\": 2,\n        \"label\": \"ضيافة 100 شخص\"\n      }\n    ]\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "service_id",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "nullable · own service"
                            },
                            {
                              "key": "name",
                              "value": "باقة الزفاف الذهبية",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تشمل التنسيق والضيافة",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "price",
                              "value": "9000",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            },
                            {
                              "key": "items[0][label]",
                              "value": "تنسيق الكوشة",
                              "type": "text",
                              "description": "items.*.label required · max:255 (replaces the whole item list)"
                            },
                            {
                              "key": "items[0][service_id]",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "items.*.service_id nullable · own service"
                            },
                            {
                              "key": "items[0][sort_order]",
                              "value": "0",
                              "type": "text",
                              "description": "items.*.sort_order sometimes · integer"
                            },
                            {
                              "key": "items[1][label]",
                              "value": "ضيافة 100 شخص",
                              "type": "text",
                              "description": "items.*.label"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"service_id\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/packages"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('package_id', id); pm.collectionVariables.set('package_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "update-package",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/packages/{{package_id}}",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "_method",
                          "value": "PUT",
                          "type": "text",
                          "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                        },
                        {
                          "key": "service_id",
                          "value": "{{service_id}}",
                          "type": "text",
                          "description": "nullable · own service"
                        },
                        {
                          "key": "name",
                          "value": "باقة الزفاف الذهبية",
                          "type": "text",
                          "description": "required · max:255"
                        },
                        {
                          "key": "description",
                          "value": "تشمل التنسيق والضيافة",
                          "type": "text",
                          "description": "nullable · max:2000"
                        },
                        {
                          "key": "price",
                          "value": "9000",
                          "type": "text",
                          "description": "required · numeric ≥0"
                        },
                        {
                          "key": "is_active",
                          "value": "1",
                          "type": "text",
                          "description": "sometimes · boolean"
                        },
                        {
                          "key": "sort_order",
                          "value": "0",
                          "type": "text",
                          "description": "sometimes · integer"
                        },
                        {
                          "key": "image",
                          "type": "file",
                          "src": [],
                          "description": "nullable · image max 5MB"
                        },
                        {
                          "key": "items[0][label]",
                          "value": "تنسيق الكوشة",
                          "type": "text",
                          "description": "items.*.label required · max:255 (replaces the whole item list)"
                        },
                        {
                          "key": "items[0][service_id]",
                          "value": "{{service_id}}",
                          "type": "text",
                          "description": "items.*.service_id nullable · own service"
                        },
                        {
                          "key": "items[0][sort_order]",
                          "value": "0",
                          "type": "text",
                          "description": "items.*.sort_order sometimes · integer"
                        },
                        {
                          "key": "items[1][label]",
                          "value": "ضيافة 100 شخص",
                          "type": "text",
                          "description": "items.*.label"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nUpdate a package; `items` (if sent) replaces the item list.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/packages/{{package_id}}`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `_method` — method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)\n- `service_id` — nullable · own service\n- `name` — required · max:255\n- `description` — nullable · max:2000\n- `price` — required · numeric ≥0\n- `is_active` — sometimes · boolean\n- `sort_order` — sometimes · integer\n- `image` — nullable · image max 5MB\n- `items[0][label]` — items.*.label required · max:255 (replaces the whole item list)\n- `items[0][service_id]` — items.*.service_id nullable · own service\n- `items[0][sort_order]` — items.*.sort_order sometimes · integer\n- `items[1][label]` — items.*.label\n\n## Success 200\n`{ message: \"تم تحديث الباقة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{package_id}}` — package id\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)\n- `{{service_id}}` — service id"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "_method",
                              "value": "PUT",
                              "type": "text",
                              "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                            },
                            {
                              "key": "service_id",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "nullable · own service"
                            },
                            {
                              "key": "name",
                              "value": "باقة الزفاف الذهبية",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تشمل التنسيق والضيافة",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "price",
                              "value": "9000",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            },
                            {
                              "key": "items[0][label]",
                              "value": "تنسيق الكوشة",
                              "type": "text",
                              "description": "items.*.label required · max:255 (replaces the whole item list)"
                            },
                            {
                              "key": "items[0][service_id]",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "items.*.service_id nullable · own service"
                            },
                            {
                              "key": "items[0][sort_order]",
                              "value": "0",
                              "type": "text",
                              "description": "items.*.sort_order sometimes · integer"
                            },
                            {
                              "key": "items[1][label]",
                              "value": "ضيافة 100 شخص",
                              "type": "text",
                              "description": "items.*.label"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث الباقة بنجاح\",\n  \"data\": {\n    \"id\": 2,\n    \"name\": \"باقة الزفاف الذهبية\",\n    \"description\": \"تشمل التنسيق والضيافة\",\n    \"price\": \"9000.00\",\n    \"image\": null,\n    \"items\": [\n      {\n        \"id\": 1,\n        \"label\": \"تنسيق الكوشة\"\n      },\n      {\n        \"id\": 2,\n        \"label\": \"ضيافة 100 شخص\"\n      }\n    ]\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "_method",
                              "value": "PUT",
                              "type": "text",
                              "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                            },
                            {
                              "key": "service_id",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "nullable · own service"
                            },
                            {
                              "key": "name",
                              "value": "باقة الزفاف الذهبية",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تشمل التنسيق والضيافة",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "price",
                              "value": "9000",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            },
                            {
                              "key": "items[0][label]",
                              "value": "تنسيق الكوشة",
                              "type": "text",
                              "description": "items.*.label required · max:255 (replaces the whole item list)"
                            },
                            {
                              "key": "items[0][service_id]",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "items.*.service_id nullable · own service"
                            },
                            {
                              "key": "items[0][sort_order]",
                              "value": "0",
                              "type": "text",
                              "description": "items.*.sort_order sometimes · integer"
                            },
                            {
                              "key": "items[1][label]",
                              "value": "ضيافة 100 شخص",
                              "type": "text",
                              "description": "items.*.label"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"_method\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "_method",
                              "value": "PUT",
                              "type": "text",
                              "description": "method spoofing (route accepts PUT/PATCH; multipart needs POST + _method)"
                            },
                            {
                              "key": "service_id",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "nullable · own service"
                            },
                            {
                              "key": "name",
                              "value": "باقة الزفاف الذهبية",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "description",
                              "value": "تشمل التنسيق والضيافة",
                              "type": "text",
                              "description": "nullable · max:2000"
                            },
                            {
                              "key": "price",
                              "value": "9000",
                              "type": "text",
                              "description": "required · numeric ≥0"
                            },
                            {
                              "key": "is_active",
                              "value": "1",
                              "type": "text",
                              "description": "sometimes · boolean"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "nullable · image max 5MB"
                            },
                            {
                              "key": "items[0][label]",
                              "value": "تنسيق الكوشة",
                              "type": "text",
                              "description": "items.*.label required · max:255 (replaces the whole item list)"
                            },
                            {
                              "key": "items[0][service_id]",
                              "value": "{{service_id}}",
                              "type": "text",
                              "description": "items.*.service_id nullable · own service"
                            },
                            {
                              "key": "items[0][sort_order]",
                              "value": "0",
                              "type": "text",
                              "description": "items.*.sort_order sometimes · integer"
                            },
                            {
                              "key": "items[1][label]",
                              "value": "ضيافة 100 شخص",
                              "type": "text",
                              "description": "items.*.label"
                            }
                          ]
                        }
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "delete-package",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/packages/{{package_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nDelete a package.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`DELETE {{base_url}}provider/packages/{{package_id}}`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم حذف الباقة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{package_id}}` — package id\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حذف الباقة بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "toggle-package",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/packages/{{package_id}}/toggle",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nToggle `is_active`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/packages/{{package_id}}/toggle`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم تحديث الباقة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{package_id}}` — package id\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}/toggle"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تحديث الباقة بنجاح\",\n  \"data\": {\n    \"id\": 2,\n    \"name\": \"باقة الزفاف الذهبية\",\n    \"description\": \"تشمل التنسيق والضيافة\",\n    \"price\": \"9000.00\",\n    \"image\": null,\n    \"items\": [\n      {\n        \"id\": 1,\n        \"label\": \"تنسيق الكوشة\"\n      },\n      {\n        \"id\": 2,\n        \"label\": \"ضيافة 100 شخص\"\n      }\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}/toggle"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/packages/{{package_id}}/toggle"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "works",
              "item": [
                {
                  "name": "list-works",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}provider/works?page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "provider",
                        "works"
                      ],
                      "query": [
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nOwn portfolio.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/works`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب الأعمال بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/works?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "works"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الأعمال بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 4,\n        \"title\": \"حفل زفاف الربيع\",\n        \"occasion_id\": 1,\n        \"image\": null\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/works?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "works"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.data && j.data.data[0] && j.data.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('work_id', id); pm.collectionVariables.set('work_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "create-work",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/works",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "title",
                          "value": "حفل زفاف الربيع",
                          "type": "text",
                          "description": "required · max:255"
                        },
                        {
                          "key": "occasion_id",
                          "value": "{{occasion_id}}",
                          "type": "text",
                          "description": "nullable · exists:occasions"
                        },
                        {
                          "key": "sort_order",
                          "value": "0",
                          "type": "text",
                          "description": "sometimes · integer"
                        },
                        {
                          "key": "image",
                          "type": "file",
                          "src": [],
                          "description": "required · image max 5MB"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nAdd a portfolio work.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/works`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `title` — required · max:255\n- `occasion_id` — nullable · exists:occasions\n- `sort_order` — sometimes · integer\n- `image` — required · image max 5MB\n\n## Success 200\n`{ message: \"تمت إضافة العمل بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{occasion_id}}` — occasion id\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/works",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "title",
                              "value": "حفل زفاف الربيع",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "occasion_id",
                              "value": "{{occasion_id}}",
                              "type": "text",
                              "description": "nullable · exists:occasions"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "required · image max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تمت إضافة العمل بنجاح\",\n  \"data\": {\n    \"id\": 4,\n    \"title\": \"حفل زفاف الربيع\",\n    \"occasion_id\": 1,\n    \"image\": null\n  }\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/works",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "title",
                              "value": "حفل زفاف الربيع",
                              "type": "text",
                              "description": "required · max:255"
                            },
                            {
                              "key": "occasion_id",
                              "value": "{{occasion_id}}",
                              "type": "text",
                              "description": "nullable · exists:occasions"
                            },
                            {
                              "key": "sort_order",
                              "value": "0",
                              "type": "text",
                              "description": "sometimes · integer"
                            },
                            {
                              "key": "image",
                              "type": "file",
                              "src": [],
                              "description": "required · image max 5MB"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"title\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/works"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('work_id', id); pm.collectionVariables.set('work_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "delete-work",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/works/{{work_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nDelete a work.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`DELETE {{base_url}}provider/works/{{work_id}}`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم حذف العمل بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)\n- `{{work_id}}` — portfolio work id"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/works/{{work_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حذف العمل بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/works/{{work_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/works/{{work_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "availability",
              "item": [
                {
                  "name": "list-availability",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}provider/availability?month=2026-11&from=2026-11-01&to=2026-11-30",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "provider",
                        "availability"
                      ],
                      "query": [
                        {
                          "key": "month",
                          "value": "2026-11",
                          "description": "nullable · Y-m",
                          "disabled": true
                        },
                        {
                          "key": "from",
                          "value": "2026-11-01",
                          "description": "nullable · Y-m-d",
                          "disabled": true
                        },
                        {
                          "key": "to",
                          "value": "2026-11-30",
                          "description": "nullable · Y-m-d · ≥ from",
                          "disabled": true
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nOwn time slots.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/availability`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `month` — nullable · Y-m\n- `from` — nullable · Y-m-d\n- `to` — nullable · Y-m-d · ≥ from\n\n## Success 200\n`{ message: \"تم جلب المواعيد المتاحة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/availability?month=2026-11&from=2026-11-01&to=2026-11-30",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "availability"
                          ],
                          "query": [
                            {
                              "key": "month",
                              "value": "2026-11",
                              "description": "nullable · Y-m",
                              "disabled": true
                            },
                            {
                              "key": "from",
                              "value": "2026-11-01",
                              "description": "nullable · Y-m-d",
                              "disabled": true
                            },
                            {
                              "key": "to",
                              "value": "2026-11-30",
                              "description": "nullable · Y-m-d · ≥ from",
                              "disabled": true
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب المواعيد المتاحة بنجاح\",\n  \"data\": [\n    {\n      \"id\": 31,\n      \"date\": \"2026-11-20\",\n      \"start_time\": \"18:00\",\n      \"end_time\": \"22:00\",\n      \"is_active\": true\n    }\n  ]\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/availability?month=2026-11&from=2026-11-01&to=2026-11-30",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "availability"
                          ],
                          "query": [
                            {
                              "key": "month",
                              "value": "2026-11",
                              "description": "nullable · Y-m",
                              "disabled": true
                            },
                            {
                              "key": "from",
                              "value": "2026-11-01",
                              "description": "nullable · Y-m-d",
                              "disabled": true
                            },
                            {
                              "key": "to",
                              "value": "2026-11-30",
                              "description": "nullable · Y-m-d · ≥ from",
                              "disabled": true
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data[0] && j.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('slot_id', id); pm.collectionVariables.set('slot_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "create-availability",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/availability",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "slots[0][date]",
                          "value": "2026-11-20",
                          "type": "text",
                          "description": "required · Y-m-d · today or later (1-50 slots)"
                        },
                        {
                          "key": "slots[0][start_time]",
                          "value": "18:00",
                          "type": "text",
                          "description": "required · H:i"
                        },
                        {
                          "key": "slots[0][end_time]",
                          "value": "22:00",
                          "type": "text",
                          "description": "required · H:i · after start_time"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nBulk-create slots.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/availability`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `slots[0][date]` — required · Y-m-d · today or later (1-50 slots)\n- `slots[0][start_time]` — required · H:i\n- `slots[0][end_time]` — required · H:i · after start_time\n\n## Success 200\n`{ message: \"تمت إضافة المواعيد المتاحة بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 422 overlap\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/availability",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "slots[0][date]",
                              "value": "2026-11-20",
                              "type": "text",
                              "description": "required · Y-m-d · today or later (1-50 slots)"
                            },
                            {
                              "key": "slots[0][start_time]",
                              "value": "18:00",
                              "type": "text",
                              "description": "required · H:i"
                            },
                            {
                              "key": "slots[0][end_time]",
                              "value": "22:00",
                              "type": "text",
                              "description": "required · H:i · after start_time"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تمت إضافة المواعيد المتاحة بنجاح\",\n  \"data\": [\n    {\n      \"id\": 31,\n      \"date\": \"2026-11-20\",\n      \"start_time\": \"18:00\",\n      \"end_time\": \"22:00\",\n      \"is_active\": true\n    }\n  ]\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/availability",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "slots[0][date]",
                              "value": "2026-11-20",
                              "type": "text",
                              "description": "required · Y-m-d · today or later (1-50 slots)"
                            },
                            {
                              "key": "slots[0][start_time]",
                              "value": "18:00",
                              "type": "text",
                              "description": "required · H:i"
                            },
                            {
                              "key": "slots[0][end_time]",
                              "value": "22:00",
                              "type": "text",
                              "description": "required · H:i · after start_time"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"slots[0][date]\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/availability"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 422 overlap",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/availability",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "slots[0][date]",
                              "value": "2026-11-20",
                              "type": "text",
                              "description": "required · Y-m-d · today or later (1-50 slots)"
                            },
                            {
                              "key": "slots[0][start_time]",
                              "value": "18:00",
                              "type": "text",
                              "description": "required · H:i"
                            },
                            {
                              "key": "slots[0][end_time]",
                              "value": "22:00",
                              "type": "text",
                              "description": "required · H:i · after start_time"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الموعد يتداخل مع موعد آخر في نفس اليوم\",\n  \"errors\": {\n    \"slots\": [\n      \"هذا الموعد يتداخل مع موعد آخر في نفس اليوم\"\n    ]\n  }\n}"
                    }
                  ]
                },
                {
                  "name": "delete-availability",
                  "request": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/availability/{{slot_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nDelete a slot.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`DELETE {{base_url}}provider/availability/{{slot_id}}`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم حذف الموعد بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)\n- `{{slot_id}}` — availability slot id"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/availability/{{slot_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم حذف الموعد بنجاح\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/availability/{{slot_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "DELETE",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/availability/{{slot_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "bookings",
              "item": [
                {
                  "name": "list-bookings",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}provider/bookings?status=pending&scope=upcoming&page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "provider",
                        "bookings"
                      ],
                      "query": [
                        {
                          "key": "status",
                          "value": "pending",
                          "description": "nullable · enum BookingStatus",
                          "disabled": true
                        },
                        {
                          "key": "scope",
                          "value": "upcoming",
                          "description": "nullable · upcoming|completed",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nReceived bookings (own only).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/bookings`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `status` — nullable · enum BookingStatus\n- `scope` — nullable · upcoming|completed\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب الحجوزات بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/bookings?status=pending&scope=upcoming&page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "bookings"
                          ],
                          "query": [
                            {
                              "key": "status",
                              "value": "pending",
                              "description": "nullable · enum BookingStatus",
                              "disabled": true
                            },
                            {
                              "key": "scope",
                              "value": "upcoming",
                              "description": "nullable · upcoming|completed",
                              "disabled": true
                            },
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الحجوزات بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 15,\n        \"booking_no\": \"IHF-2026-0015\",\n        \"customer\": {\n          \"id\": 12,\n          \"name\": \"سارة العتيبي\"\n        },\n        \"item_name\": \"قاعة كبرى\",\n        \"event_date\": \"2026-11-20\",\n        \"start_time\": \"18:00\",\n        \"end_time\": \"22:00\",\n        \"total_amount\": \"4500.00\",\n        \"status\": {\n          \"value\": \"pending\",\n          \"label\": \"قيد الانتظار\"\n        },\n        \"payment_status\": {\n          \"value\": \"paid\",\n          \"label\": \"مدفوع\"\n        }\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/bookings?status=pending&scope=upcoming&page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "bookings"
                          ],
                          "query": [
                            {
                              "key": "status",
                              "value": "pending",
                              "description": "nullable · enum BookingStatus",
                              "disabled": true
                            },
                            {
                              "key": "scope",
                              "value": "upcoming",
                              "description": "nullable · upcoming|completed",
                              "disabled": true
                            },
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ],
                  "event": [
                    {
                      "listen": "test",
                      "script": {
                        "type": "text/javascript",
                        "exec": [
                          "try { const j = pm.response.json();",
                          "  const id = j.data && j.data.data && j.data.data[0] && j.data.data[0].id;",
                          "  if (pm.response.code === 200 && id) { pm.environment.set('booking_id', id); pm.collectionVariables.set('booking_id', id); }",
                          "} catch (e) {}"
                        ]
                      }
                    }
                  ]
                },
                {
                  "name": "show-booking",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/bookings/{{booking_id}}",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nBooking details with timeline and `can_*` flags.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/bookings/{{booking_id}}`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب الحجز بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{booking_id}}` — booking id (captured on create/list)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الحجز بنجاح\",\n  \"data\": {\n    \"id\": 15,\n    \"booking_no\": \"IHF-2026-0015\",\n    \"status\": {\n      \"value\": \"pending\",\n      \"label\": \"قيد الانتظار\"\n    },\n    \"payment_status\": {\n      \"value\": \"paid\",\n      \"label\": \"مدفوع\"\n    },\n    \"payment_method\": {\n      \"value\": \"card\",\n      \"label\": \"بطاقة\"\n    },\n    \"service\": {\n      \"id\": 5,\n      \"name\": \"قاعة كبرى\",\n      \"price\": \"4500.00\"\n    },\n    \"package\": null,\n    \"occasion\": \"حفل زفاف\",\n    \"event_date\": \"2026-11-20\",\n    \"start_time\": \"18:00\",\n    \"end_time\": \"22:00\",\n    \"location\": {\n      \"type\": {\n        \"value\": \"venue\",\n        \"label\": \"في موقع المناسبة\"\n      },\n      \"address\": null,\n      \"venue_address\": \"قاعة الياسمين - الرياض\",\n      \"lat\": null,\n      \"lng\": null\n    },\n    \"cancel_reason\": null,\n    \"timeline\": [\n      {\n        \"key\": \"created\",\n        \"label\": \"تم إنشاء الحجز\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:00+03:00\"\n      },\n      {\n        \"key\": \"paid\",\n        \"label\": \"تم الدفع\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:05+03:00\"\n      },\n      {\n        \"key\": \"confirmed\",\n        \"label\": \"تم تأكيد الحجز\",\n        \"done\": false,\n        \"at\": null\n      }\n    ],\n    \"created_at\": \"2026-10-04T10:00:00+03:00\",\n    \"customer\": {\n      \"id\": 12,\n      \"name\": \"سارة العتيبي\",\n      \"phone\": \"501234567\"\n    },\n    \"financial\": {\n      \"subtotal\": \"4500.00\",\n      \"commission_amount\": \"450.00\",\n      \"vat_amount\": \"675.00\",\n      \"total_amount\": \"4500.00\",\n      \"currency\": \"SAR\"\n    },\n    \"refund_pending\": false,\n    \"can_confirm\": true,\n    \"can_start\": false,\n    \"can_complete\": false,\n    \"can_reject\": true\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "confirm-booking",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/bookings/{{booking_id}}/confirm",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\npending → confirmed (requires payment_status = paid).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/bookings/{{booking_id}}/confirm`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم تأكيد الحجز\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 400 unpaid · 400 invalid transition · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{booking_id}}` — booking id (captured on create/list)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/confirm"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم تأكيد الحجز\",\n  \"data\": {\n    \"id\": 15,\n    \"booking_no\": \"IHF-2026-0015\",\n    \"status\": {\n      \"value\": \"confirmed\",\n      \"label\": \"مؤكد\"\n    },\n    \"payment_status\": {\n      \"value\": \"paid\",\n      \"label\": \"مدفوع\"\n    },\n    \"payment_method\": {\n      \"value\": \"card\",\n      \"label\": \"بطاقة\"\n    },\n    \"service\": {\n      \"id\": 5,\n      \"name\": \"قاعة كبرى\",\n      \"price\": \"4500.00\"\n    },\n    \"package\": null,\n    \"occasion\": \"حفل زفاف\",\n    \"event_date\": \"2026-11-20\",\n    \"start_time\": \"18:00\",\n    \"end_time\": \"22:00\",\n    \"location\": {\n      \"type\": {\n        \"value\": \"venue\",\n        \"label\": \"في موقع المناسبة\"\n      },\n      \"address\": null,\n      \"venue_address\": \"قاعة الياسمين - الرياض\",\n      \"lat\": null,\n      \"lng\": null\n    },\n    \"cancel_reason\": null,\n    \"timeline\": [\n      {\n        \"key\": \"created\",\n        \"label\": \"تم إنشاء الحجز\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:00+03:00\"\n      },\n      {\n        \"key\": \"paid\",\n        \"label\": \"تم الدفع\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:05+03:00\"\n      },\n      {\n        \"key\": \"confirmed\",\n        \"label\": \"تم تأكيد الحجز\",\n        \"done\": false,\n        \"at\": null\n      }\n    ],\n    \"created_at\": \"2026-10-04T10:00:00+03:00\",\n    \"customer\": {\n      \"id\": 12,\n      \"name\": \"سارة العتيبي\",\n      \"phone\": \"501234567\"\n    },\n    \"financial\": {\n      \"subtotal\": \"4500.00\",\n      \"commission_amount\": \"450.00\",\n      \"vat_amount\": \"675.00\",\n      \"total_amount\": \"4500.00\",\n      \"currency\": \"SAR\"\n    },\n    \"refund_pending\": false,\n    \"can_confirm\": true,\n    \"can_start\": false,\n    \"can_complete\": false,\n    \"can_reject\": true\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/confirm"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 400 unpaid",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/confirm"
                      },
                      "status": "Bad Request",
                      "code": 400,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"لا يمكن تأكيد حجز لم يتم دفعه\"\n}"
                    },
                    {
                      "name": "❌ 400 invalid transition",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/confirm"
                      },
                      "status": "Bad Request",
                      "code": 400,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"لا يمكن نقل هذا الحجز من \\\"completed\\\" إلى \\\"confirmed\\\"\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/confirm"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "start-booking",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/bookings/{{booking_id}}/start",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nconfirmed → in_progress.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/bookings/{{booking_id}}/start`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم بدء تنفيذ الحجز\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 400 invalid transition · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{booking_id}}` — booking id (captured on create/list)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/start"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم بدء تنفيذ الحجز\",\n  \"data\": {\n    \"id\": 15,\n    \"booking_no\": \"IHF-2026-0015\",\n    \"status\": {\n      \"value\": \"in_progress\",\n      \"label\": \"قيد التنفيذ\"\n    },\n    \"payment_status\": {\n      \"value\": \"paid\",\n      \"label\": \"مدفوع\"\n    },\n    \"payment_method\": {\n      \"value\": \"card\",\n      \"label\": \"بطاقة\"\n    },\n    \"service\": {\n      \"id\": 5,\n      \"name\": \"قاعة كبرى\",\n      \"price\": \"4500.00\"\n    },\n    \"package\": null,\n    \"occasion\": \"حفل زفاف\",\n    \"event_date\": \"2026-11-20\",\n    \"start_time\": \"18:00\",\n    \"end_time\": \"22:00\",\n    \"location\": {\n      \"type\": {\n        \"value\": \"venue\",\n        \"label\": \"في موقع المناسبة\"\n      },\n      \"address\": null,\n      \"venue_address\": \"قاعة الياسمين - الرياض\",\n      \"lat\": null,\n      \"lng\": null\n    },\n    \"cancel_reason\": null,\n    \"timeline\": [\n      {\n        \"key\": \"created\",\n        \"label\": \"تم إنشاء الحجز\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:00+03:00\"\n      },\n      {\n        \"key\": \"paid\",\n        \"label\": \"تم الدفع\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:05+03:00\"\n      },\n      {\n        \"key\": \"confirmed\",\n        \"label\": \"تم تأكيد الحجز\",\n        \"done\": false,\n        \"at\": null\n      }\n    ],\n    \"created_at\": \"2026-10-04T10:00:00+03:00\",\n    \"customer\": {\n      \"id\": 12,\n      \"name\": \"سارة العتيبي\",\n      \"phone\": \"501234567\"\n    },\n    \"financial\": {\n      \"subtotal\": \"4500.00\",\n      \"commission_amount\": \"450.00\",\n      \"vat_amount\": \"675.00\",\n      \"total_amount\": \"4500.00\",\n      \"currency\": \"SAR\"\n    },\n    \"refund_pending\": false,\n    \"can_confirm\": true,\n    \"can_start\": false,\n    \"can_complete\": false,\n    \"can_reject\": true\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/start"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 400 invalid transition",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/start"
                      },
                      "status": "Bad Request",
                      "code": 400,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"لا يمكن نقل هذا الحجز من \\\"pending\\\" إلى \\\"in_progress\\\"\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/start"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "complete-booking",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/bookings/{{booking_id}}/complete",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nin_progress → completed.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/bookings/{{booking_id}}/complete`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم إكمال الحجز\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 400 invalid transition · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{booking_id}}` — booking id (captured on create/list)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/complete"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم إكمال الحجز\",\n  \"data\": {\n    \"id\": 15,\n    \"booking_no\": \"IHF-2026-0015\",\n    \"status\": {\n      \"value\": \"completed\",\n      \"label\": \"مكتمل\"\n    },\n    \"payment_status\": {\n      \"value\": \"paid\",\n      \"label\": \"مدفوع\"\n    },\n    \"payment_method\": {\n      \"value\": \"card\",\n      \"label\": \"بطاقة\"\n    },\n    \"service\": {\n      \"id\": 5,\n      \"name\": \"قاعة كبرى\",\n      \"price\": \"4500.00\"\n    },\n    \"package\": null,\n    \"occasion\": \"حفل زفاف\",\n    \"event_date\": \"2026-11-20\",\n    \"start_time\": \"18:00\",\n    \"end_time\": \"22:00\",\n    \"location\": {\n      \"type\": {\n        \"value\": \"venue\",\n        \"label\": \"في موقع المناسبة\"\n      },\n      \"address\": null,\n      \"venue_address\": \"قاعة الياسمين - الرياض\",\n      \"lat\": null,\n      \"lng\": null\n    },\n    \"cancel_reason\": null,\n    \"timeline\": [\n      {\n        \"key\": \"created\",\n        \"label\": \"تم إنشاء الحجز\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:00+03:00\"\n      },\n      {\n        \"key\": \"paid\",\n        \"label\": \"تم الدفع\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:05+03:00\"\n      },\n      {\n        \"key\": \"confirmed\",\n        \"label\": \"تم تأكيد الحجز\",\n        \"done\": false,\n        \"at\": null\n      }\n    ],\n    \"created_at\": \"2026-10-04T10:00:00+03:00\",\n    \"customer\": {\n      \"id\": 12,\n      \"name\": \"سارة العتيبي\",\n      \"phone\": \"501234567\"\n    },\n    \"financial\": {\n      \"subtotal\": \"4500.00\",\n      \"commission_amount\": \"450.00\",\n      \"vat_amount\": \"675.00\",\n      \"total_amount\": \"4500.00\",\n      \"currency\": \"SAR\"\n    },\n    \"refund_pending\": false,\n    \"can_confirm\": true,\n    \"can_start\": false,\n    \"can_complete\": false,\n    \"can_reject\": true\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/complete"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 400 invalid transition",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/complete"
                      },
                      "status": "Bad Request",
                      "code": 400,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"لا يمكن نقل هذا الحجز من \\\"confirmed\\\" إلى \\\"completed\\\"\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/complete"
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                },
                {
                  "name": "reject-booking",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/bookings/{{booking_id}}/reject",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "reason",
                          "value": "الموعد غير متاح",
                          "type": "text",
                          "description": "nullable · string max:500"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\npending/confirmed → cancelled; paid bookings are flagged `refund_pending`.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}provider/bookings/{{booking_id}}/reject`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `reason` — nullable · string max:500\n\n## Success 200\n`{ message: \"تم رفض الحجز\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token) · 422 validation · 404 not found\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{booking_id}}` — booking id (captured on create/list)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/reject",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "reason",
                              "value": "الموعد غير متاح",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم رفض الحجز\",\n  \"data\": {\n    \"id\": 15,\n    \"booking_no\": \"IHF-2026-0015\",\n    \"status\": {\n      \"value\": \"cancelled\",\n      \"label\": \"ملغي\"\n    },\n    \"payment_status\": {\n      \"value\": \"paid\",\n      \"label\": \"مدفوع\"\n    },\n    \"payment_method\": {\n      \"value\": \"card\",\n      \"label\": \"بطاقة\"\n    },\n    \"service\": {\n      \"id\": 5,\n      \"name\": \"قاعة كبرى\",\n      \"price\": \"4500.00\"\n    },\n    \"package\": null,\n    \"occasion\": \"حفل زفاف\",\n    \"event_date\": \"2026-11-20\",\n    \"start_time\": \"18:00\",\n    \"end_time\": \"22:00\",\n    \"location\": {\n      \"type\": {\n        \"value\": \"venue\",\n        \"label\": \"في موقع المناسبة\"\n      },\n      \"address\": null,\n      \"venue_address\": \"قاعة الياسمين - الرياض\",\n      \"lat\": null,\n      \"lng\": null\n    },\n    \"cancel_reason\": null,\n    \"timeline\": [\n      {\n        \"key\": \"created\",\n        \"label\": \"تم إنشاء الحجز\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:00+03:00\"\n      },\n      {\n        \"key\": \"paid\",\n        \"label\": \"تم الدفع\",\n        \"done\": true,\n        \"at\": \"2026-10-04T10:00:05+03:00\"\n      },\n      {\n        \"key\": \"confirmed\",\n        \"label\": \"تم تأكيد الحجز\",\n        \"done\": false,\n        \"at\": null\n      }\n    ],\n    \"created_at\": \"2026-10-04T10:00:00+03:00\",\n    \"customer\": {\n      \"id\": 12,\n      \"name\": \"سارة العتيبي\",\n      \"phone\": \"501234567\"\n    },\n    \"financial\": {\n      \"subtotal\": \"4500.00\",\n      \"commission_amount\": \"450.00\",\n      \"vat_amount\": \"675.00\",\n      \"total_amount\": \"4500.00\",\n      \"currency\": \"SAR\"\n    },\n    \"refund_pending\": true,\n    \"can_confirm\": true,\n    \"can_start\": false,\n    \"can_complete\": false,\n    \"can_reject\": true\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/reject"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    },
                    {
                      "name": "❌ 404 not found",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/bookings/{{booking_id}}/reject",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "reason",
                              "value": "الموعد غير متاح",
                              "type": "text",
                              "description": "nullable · string max:500"
                            }
                          ]
                        }
                      },
                      "status": "Not Found",
                      "code": 404,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"المورد غير موجود\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "reviews",
              "item": [
                {
                  "name": "list-reviews",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}provider/reviews?page=1&per_page=10",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "provider",
                        "reviews"
                      ],
                      "query": [
                        {
                          "key": "page",
                          "value": "1",
                          "description": "page number"
                        },
                        {
                          "key": "per_page",
                          "value": "10",
                          "description": "items per page"
                        }
                      ]
                    },
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nReviews received (paginated).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/reviews`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `page` — page number\n- `per_page` — items per page\n\n## Success 200\n`{ message: \"تم جلب التقييمات بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/reviews?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "reviews"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب التقييمات بنجاح\",\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": 9,\n        \"reviewer\": \"سارة العتيبي\",\n        \"rating\": 5,\n        \"comment\": \"تجربة رائعة\",\n        \"date\": \"2026-09-20\"\n      }\n    ],\n    \"pagination\": {\n      \"current_page\": 1,\n      \"per_page\": 10,\n      \"total\": 1,\n      \"last_page\": 1,\n      \"from\": 1,\n      \"to\": 1\n    }\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}provider/reviews?page=1&per_page=10",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "provider",
                            "reviews"
                          ],
                          "query": [
                            {
                              "key": "page",
                              "value": "1",
                              "description": "page number"
                            },
                            {
                              "key": "per_page",
                              "value": "10",
                              "description": "items per page"
                            }
                          ]
                        }
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "dashboard",
              "item": [
                {
                  "name": "dashboard",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      },
                      {
                        "key": "Authorization",
                        "value": "Bearer {{provider_token}}",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}provider/dashboard",
                    "auth": {
                      "type": "bearer",
                      "bearer": [
                        {
                          "key": "token",
                          "value": "{{provider_token}}",
                          "type": "string"
                        }
                      ]
                    },
                    "description": "## Purpose\nProvider dashboard KPIs.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}provider/dashboard`\n\n## Auth\nBearer token `{{provider_token}}` — middleware `auth:provider` + `ability:provider`.\n\n## Headers\n- `Accept: application/json` (required)\n- `Authorization: Bearer {{provider_token}}` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب لوحة التحكم بنجاح\", data: ... }`\n\n## Errors\n401 unauthenticated (missing/invalid token)\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{provider_token}}` — Sanctum token of the provider (captured by provider login/verify)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          },
                          {
                            "key": "Authorization",
                            "value": "Bearer {{provider_token}}"
                          }
                        ],
                        "url": "{{base_url}}provider/dashboard"
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب لوحة التحكم بنجاح\",\n  \"data\": {\n    \"bookings_total\": 14,\n    \"bookings_by_status\": {\n      \"pending\": 2,\n      \"confirmed\": 3,\n      \"completed\": 9\n    },\n    \"revenue\": \"42000.00\",\n    \"month_revenue\": \"9000.00\",\n    \"currency\": \"SAR\",\n    \"average_rating\": \"4.8\",\n    \"services_count\": 3,\n    \"packages_count\": 2,\n    \"upcoming_bookings\": [\n      {\n        \"id\": 15,\n        \"booking_no\": \"IHF-2026-0015\",\n        \"customer\": {\n          \"id\": 12,\n          \"name\": \"سارة العتيبي\"\n        },\n        \"item_name\": \"قاعة كبرى\",\n        \"event_date\": \"2026-11-20\",\n        \"start_time\": \"18:00\",\n        \"end_time\": \"22:00\",\n        \"total_amount\": \"4500.00\",\n        \"status\": {\n          \"value\": \"pending\",\n          \"label\": \"قيد الانتظار\"\n        },\n        \"payment_status\": {\n          \"value\": \"paid\",\n          \"label\": \"مدفوع\"\n        }\n      }\n    ]\n  }\n}"
                    },
                    {
                      "name": "❌ unauthenticated",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}provider/dashboard"
                      },
                      "status": "Unauthorized",
                      "code": 401,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"Unauthenticated.\"\n}"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Settings",
          "item": [
            {
              "name": "faqs",
              "item": [
                {
                  "name": "list-faqs",
                  "request": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": {
                      "raw": "{{base_url}}faqs?type=",
                      "host": [
                        "{{base_url}}"
                      ],
                      "path": [
                        "faqs"
                      ],
                      "query": [
                        {
                          "key": "type",
                          "value": "",
                          "description": "optional · enum FaqType",
                          "disabled": true
                        }
                      ]
                    },
                    "description": "## Purpose\nShared FAQs (also under shared/ for lookup; same public endpoint).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`GET {{base_url}}faqs`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Query params\n- `type` — optional · enum FaqType\n\n## Success 200\n`{ message: \"تم جلب الأسئلة الشائعة بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "GET",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": {
                          "raw": "{{base_url}}faqs?type=",
                          "host": [
                            "{{base_url}}"
                          ],
                          "path": [
                            "faqs"
                          ],
                          "query": [
                            {
                              "key": "type",
                              "value": "",
                              "description": "optional · enum FaqType",
                              "disabled": true
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم جلب الأسئلة الشائعة بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"question\": \"كيف أستلم أرباحي؟\",\n      \"answer\": \"...\"\n    }\n  ]\n}"
                    }
                  ]
                }
              ]
            },
            {
              "name": "contact-us",
              "item": [
                {
                  "name": "send-message",
                  "request": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json",
                        "description": "required"
                      }
                    ],
                    "url": "{{base_url}}contact-messages",
                    "body": {
                      "mode": "formdata",
                      "formdata": [
                        {
                          "key": "name",
                          "value": "قاعة الياسمين",
                          "type": "text",
                          "description": "required for guests"
                        },
                        {
                          "key": "email",
                          "value": "yasmin@example.com",
                          "type": "text",
                          "description": "required for guests · email"
                        },
                        {
                          "key": "subject",
                          "value": "استفسار",
                          "type": "text",
                          "description": "nullable"
                        },
                        {
                          "key": "message",
                          "value": "أحتاج مساعدة",
                          "type": "text",
                          "description": "required · max:5000"
                        }
                      ]
                    },
                    "description": "## Purpose\nPublic contact form (provider token is NOT recognised by the user guard — treated as guest).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=87-26925&m=dev)\n\n## Request\n`POST {{base_url}}contact-messages`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Body (form-data)\n- `name` — required for guests\n- `email` — required for guests · email\n- `subject` — nullable\n- `message` — required · max:5000\n\n## Success 200\n`{ message: \"تم إرسال رسالتك بنجاح، سيتواصل معك فريق مناسبات في أقرب وقت\", data: ... }`\n\n## Errors\n422 validation\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
                  },
                  "response": [
                    {
                      "name": "✅ success",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}contact-messages",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "قاعة الياسمين",
                              "type": "text",
                              "description": "required for guests"
                            },
                            {
                              "key": "email",
                              "value": "yasmin@example.com",
                              "type": "text",
                              "description": "required for guests · email"
                            },
                            {
                              "key": "subject",
                              "value": "استفسار",
                              "type": "text",
                              "description": "nullable"
                            },
                            {
                              "key": "message",
                              "value": "أحتاج مساعدة",
                              "type": "text",
                              "description": "required · max:5000"
                            }
                          ]
                        }
                      },
                      "status": "OK",
                      "code": 200,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"تم إرسال رسالتك بنجاح، سيتواصل معك فريق مناسبات في أقرب وقت\",\n  \"data\": null\n}"
                    },
                    {
                      "name": "⚠️ validation error",
                      "originalRequest": {
                        "method": "POST",
                        "header": [
                          {
                            "key": "Accept",
                            "value": "application/json"
                          }
                        ],
                        "url": "{{base_url}}contact-messages",
                        "body": {
                          "mode": "formdata",
                          "formdata": [
                            {
                              "key": "name",
                              "value": "قاعة الياسمين",
                              "type": "text",
                              "description": "required for guests"
                            },
                            {
                              "key": "email",
                              "value": "yasmin@example.com",
                              "type": "text",
                              "description": "required for guests · email"
                            },
                            {
                              "key": "subject",
                              "value": "استفسار",
                              "type": "text",
                              "description": "nullable"
                            },
                            {
                              "key": "message",
                              "value": "أحتاج مساعدة",
                              "type": "text",
                              "description": "required · max:5000"
                            }
                          ]
                        }
                      },
                      "status": "Unprocessable Entity",
                      "code": 422,
                      "_postman_previewlanguage": "json",
                      "header": [
                        {
                          "key": "Content-Type",
                          "value": "application/json"
                        }
                      ],
                      "body": "{\n  \"message\": \"هذا الحقل مطلوب.\",\n  \"errors\": {\n    \"name\": [\n      \"هذا الحقل مطلوب.\"\n    ]\n  }\n}"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "description": "Provider app (Sanctum guard `provider`, token in `provider_token`; abilities `activation` → `provider`)."
    },
    {
      "name": "shared",
      "item": [
        {
          "name": "geography",
          "item": [
            {
              "name": "countries",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}countries",
                "description": "## Purpose\nCountries (paginated by base).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}countries`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}countries"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"السعودية\",\n      \"code\": \"966\"\n    }\n  ]\n}"
                }
              ],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try { const j = pm.response.json();",
                      "  const id = j.data && (j.data.data||j.data)[0] && (j.data.data||j.data)[0].id;",
                      "  if (pm.response.code === 200 && id) { pm.environment.set('country_id', id); pm.collectionVariables.set('country_id', id); }",
                      "} catch (e) {}"
                    ]
                  }
                }
              ]
            },
            {
              "name": "countries-codes",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}countries/codes",
                "description": "## Purpose\nDial codes for phone inputs.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}countries/codes`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}countries/codes"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"code\": \"966\",\n      \"name\": \"السعودية\"\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "countries-limited",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}countries/limited",
                "description": "## Purpose\nCountries (id + name only).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}countries/limited`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}countries/limited"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"السعودية\",\n      \"code\": \"966\"\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "countries-with-regions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}countries/with-regions",
                "description": "## Purpose\nCountries with regions.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}countries/with-regions`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}countries/with-regions"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"السعودية\",\n      \"code\": \"966\",\n      \"regions\": [\n        {\n          \"id\": 1,\n          \"name\": \"الرياض\",\n          \"country_id\": 1\n        }\n      ]\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "countries-with-regions-and-cities",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}countries/with-regions-and-cities",
                "description": "## Purpose\nCountries → regions → cities.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}countries/with-regions-and-cities`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}countries/with-regions-and-cities"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"السعودية\",\n      \"code\": \"966\",\n      \"regions\": [\n        {\n          \"id\": 1,\n          \"name\": \"الرياض\",\n          \"country_id\": 1,\n          \"cities\": [\n            {\n              \"id\": 1,\n              \"name\": \"الرياض\",\n              \"region_id\": 1\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "regions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}regions",
                "description": "## Purpose\nAll regions.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}regions`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}regions"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"الرياض\",\n      \"country_id\": 1\n    }\n  ]\n}"
                }
              ],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try { const j = pm.response.json();",
                      "  const id = j.data && (j.data.data||j.data)[0] && (j.data.data||j.data)[0].id;",
                      "  if (pm.response.code === 200 && id) { pm.environment.set('region_id', id); pm.collectionVariables.set('region_id', id); }",
                      "} catch (e) {}"
                    ]
                  }
                }
              ]
            },
            {
              "name": "regions-limited",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}regions/limited",
                "description": "## Purpose\nRegions (limited fields).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}regions/limited`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}regions/limited"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"الرياض\",\n      \"country_id\": 1\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "regions-with-cities",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}regions/with-cities",
                "description": "## Purpose\nRegions with cities.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}regions/with-cities`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}regions/with-cities"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"الرياض\",\n      \"country_id\": 1,\n      \"cities\": [\n        {\n          \"id\": 1,\n          \"name\": \"الرياض\",\n          \"region_id\": 1\n        }\n      ]\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "regions-by-country",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}regions/by-country/{{country_id}}",
                "description": "## Purpose\nRegions of a country.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}regions/by-country/{{country_id}}`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{country_id}}` — country id"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}regions/by-country/{{country_id}}"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"الرياض\",\n      \"country_id\": 1\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "regions-by-country-limited",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}regions/by-country/{{country_id}}/limited",
                "description": "## Purpose\nRegions of a country (limited).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}regions/by-country/{{country_id}}/limited`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{country_id}}` — country id"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}regions/by-country/{{country_id}}/limited"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"الرياض\",\n      \"country_id\": 1\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "cities",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}cities",
                "description": "## Purpose\nAll cities.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}cities`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}cities"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"الرياض\",\n      \"region_id\": 1\n    }\n  ]\n}"
                }
              ],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try { const j = pm.response.json();",
                      "  const id = j.data && (j.data.data||j.data)[0] && (j.data.data||j.data)[0].id;",
                      "  if (pm.response.code === 200 && id) { pm.environment.set('city_id', id); pm.collectionVariables.set('city_id', id); }",
                      "} catch (e) {}"
                    ]
                  }
                }
              ]
            },
            {
              "name": "cities-limited",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}cities/limited",
                "description": "## Purpose\nCities (limited).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}cities/limited`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}cities/limited"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"الرياض\",\n      \"region_id\": 1\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "cities-by-region",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}cities/by-region/{{region_id}}",
                "description": "## Purpose\nCities of a region.\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}cities/by-region/{{region_id}}`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)\n- `{{region_id}}` — region id"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}cities/by-region/{{region_id}}"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"الرياض\",\n      \"region_id\": 1\n    }\n  ]\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "catalog-lookups",
          "item": [
            {
              "name": "occasions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}occasions",
                "description": "## Purpose\nOccasions (used by user browse + provider forms).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}occasions`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}occasions"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"حفل زفاف\",\n      \"image\": null\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "service-categories",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}service-categories",
                "description": "## Purpose\nService categories (used by user browse + provider register).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}service-categories`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}service-categories"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"قاعات\",\n      \"image\": null\n    }\n  ]\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "settings",
          "item": [
            {
              "name": "public-settings",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "description": "required"
                  }
                ],
                "url": "{{base_url}}settings/public",
                "description": "## Purpose\nPublic settings (non-secret keys).\n\n## Design\n[Figma](https://www.figma.com/design/NKtB4qVpa3saHmQlrQunXu/?node-id=11-17164&m=dev)\n\n## Request\n`GET {{base_url}}settings/public`\n\n## Auth\nPublic (no token).\n\n## Headers\n- `Accept: application/json` (required)\n- Localization: `?lang=ar|en` (query param, default ar)\n\n## Success 200\n`{ message: \"تم جلب البيانات بنجاح\", data: ... }`\n\n## Variables\n- `{{base_url}}` — API root incl. version (`http://127.0.0.1:8000/api/v1/`)"
              },
              "response": [
                {
                  "name": "✅ success",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      }
                    ],
                    "url": "{{base_url}}settings/public"
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "body": "{\n  \"message\": \"تم جلب البيانات بنجاح\",\n  \"data\": {\n    \"app_name\": \"مناسبات\",\n    \"currency\": \"SAR\",\n    \"vat_ratio\": \"15\"\n  }\n}"
                }
              ]
            }
          ]
        }
      ],
      "description": "Endpoints used by both audiences (public, no token)."
    }
  ]
}