# خدمات (Services) – خدمات‌دهندگان و درخواست مشاوره

## انجام‌شده

### مایگریشن
- **`2026_02_20_190000_add_services_fields_to_experts_table.php`**
  - در جدول **experts**: `position`, `workplace`, `status` (فعال/انتظار/مسدود)
  - جدول **expert_education**: مدارک تحصیلی (عنوان، موسسه، سال، فایل) – افزودن/ویرایش/حذف توسط ادمین
  - جدول **expert_certificates**: گواهینامه/مجوز (نام، فایل، تایید ادمین، verified_at, verified_by)
  - جدول **consultation_requests**: درخواست مشاوره (تولیدکننده، خدمات‌دهنده، نوع، نحوه برگزاری، پیام، اولویت، وضعیت، آدرس واحد، راه ارتباطی، تایید مراجعه توسط خدمات‌دهنده، admin_notes، closed_at)

### مدل‌ها
- **Expert**: ریلیشن‌های `user`, `province`, `county`, `educationItems`, `certificates`, `consultationRequests`؛ ثابت‌های وضعیت و `statusOptions()`؛ اتریبیوت `display_name`
- **ExpertEducation**, **ExpertCertificate** (با ذخیره خودکار `verified_at`/`verified_by` هنگام تایید)
- **ConsultationRequest**: ثابت‌های وضعیت، اولویت، نوع، نحوه برگزاری؛ ریلیشن‌های `producer`, `expert`, `closedByUser`

### ریسورس ادمین: خدمات‌دهندگان (ExpertResource)
- **لیست**: نام خدمات‌دهنده، حوزه فعالیت، محل فعالیت، تماس، ایمیل، وضعیت حساب، تاریخ ثبت
- **فیلتر**: وضعیت (فعال/انتظار/مسدود)
- **اکشن‌های سطر**: مشاهده کارنامه، تایید حساب، تعلیق حساب، مسدود، ویرایش اطلاعات، حذف
- **افزودن خدمات‌دهنده جدید** (صفحه ایجاد)
- **مشاهده کارنامه**: اطلاعات شخصی، آمار عملکرد (تعداد مشاوره؛ میانگین رضایت و پروژه در نسخه بعد)، تحصیلات (جدول)، گواهینامه‌ها/مجوزها (با وضعیت تایید ادمین)
- **ویرایش**: اطلاعات اصلی، مدارک تحصیلی (Repeater)، گواهینامه‌ها (Repeater با چک‌باکس تایید ادمین)

### ریسورس ادمین: درخواست‌های مشاوره (ConsultationRequestResource)
- **لیست**: تولیدکننده، خدمات‌دهنده انتخاب‌شده، نوع مشاوره، نحوه برگزاری، اولویت، وضعیت، تاریخ
- **فیلتر**: وضعیت، نوع مشاوره، اولویت، خدمات‌دهنده
- **اکشن‌های سطر**: مشاهده جزئیات، تایید، رد (با دلیل)، بستن پرونده (با یادداشت)
- **صفحه مشاهده**: جزئیات درخواست، دکمه «ارسال پیام/اعلان به خدمات‌دهنده» (فعلاً placeholder)

---

## برای مرحله بعد (اختیاری)

- **ارسال واقعی اعلان/پیام به خدمات‌دهنده** پس از تایید ادمین (پیامک/نوتیفیکیشن).
- **آمار رضایت**: میانگین امتیاز واقعی روی مدل Expert (الان از ratings خوانده می‌شود اگر ثبت شده باشد).

### API (انجام‌شده)
- `GET /api/experts?q=&province_id=&county_id=&main_category=&status=approved`
- `GET /api/experts/{id}` — کارنامه + `stats` + `featured_projects`
- `POST /api/service-requests` — ثبت درخواست مشاوره (بررسی ادمین)
- `GET /api/service-requests?scope=producer|expert`
- `GET /api/service-requests/{id}`
- `POST /api/service-requests/{id}/accept|decline`

برای اعمال مایگریشن:
```bash
php artisan migrate
```
