# یکپارچه‌سازی قراردادهای بیمه، select یکدست، و تعداد خدمت در مراجعه ## پروژه `clinicpro` (admin frontend + کمی backend برای `quantity`) ## زمینه چهار مورد به‌هم‌مرتبط در پنل ادمین: 1. صفحه‌ی `/admin/insurance-pricing` دو بخش دارد که هم‌پوشانی دارند → باید یکی شود. 2. select listها در کل پنل یک‌شکل نیستند (بعضی ` {opts.map(o => )} ``` و در کنارش کامپوننت `SearchableSelect` (`assets/admin/components/ui/SearchableSelect.tsx`) برای بخش خدمات استفاده می‌شود. ظاهر این دو فرق دارد. ### تعداد خدمت `src/Patient/Entity/SessionService.php` — فیلد `quantity` ندارد: ```php private ServiceItem $serviceItem; private ?ClinicStaff $staff = null; private int $priceRials; // = serviceItem price، بدون ضرب در تعداد ``` `PatientService::createSession` services را تک‌واحدی جمع می‌زند: ```php $servicesTotal = array_sum(array_column($serviceItems, 'price_rials')); ``` فرانت (`NewSessionPage.tsx`) هم هر خدمت را یک‌بار اضافه می‌کند (chip بدون تعداد). ### select بیمه در فرم مراجعه `NewSessionPage.tsx` گزینه‌های بیمه را از `GET /api/v1/insurance-pricing` می‌گیرد (`pricing.insurances`)، ولی آن endpoint **همه‌ی بیمه‌های فعال** را برمی‌گرداند (نه فقط قراردادهای tenant). درصد هم از `patient_share_rials` همان endpoint محاسبه می‌شود — که بعد از حذف بخش قیمت‌گذاری دیگر منبع درستی نیست. ## وظایف ### ۱. ادغام صفحه‌ی insurance-pricing - `InsurancePricingSection` و endpoint/جدول `entity_insurance_pricing` را کنار بگذار (از `InsurancePricingPage` حذف کن). قرارداد (`TenantInsuranceContracts`) تنها منبع باشد. - `TenantInsuranceContracts` باید واضح هم basic هم supplementary را پشتیبانی کند (الان هم می‌کند؛ متن/گروه‌بندی را شفاف کن: دو دسته «بیمه پایه» و «بیمه تکمیلی»). - اگر «قیمت ویزیت آزاد» جایی لازم است، آن را به‌صورت یک فیلد ساده در همان صفحه/پروفایل نگه‌دار یا حذف کن (تصمیم را در پیاده‌سازی مستند کن). مسیر `/admin/insurance-pricing` و آیتم سایدبار باقی بماند. - `InsurancePricingSection.tsx` حذف یا خالی شود؛ importها پاک‌سازی. ### ۲. یک کامپوننت select یکدست - یک کامپوننت `Select` در `assets/admin/components/ui/` بساز (یا `SearchableSelect` را به‌عنوان استاندارد واحد بپذیر) با ظاهر یکسان: همان استایل، RTL، chevron، حالت focus/disabled، placeholder. - همه‌ی `