کارتابل فروش سرور اختصاصی
> version: 1.2 | last_updated: 2026-08-11 | audience: admin
هدف
صف کار فروش Dedicated زیر دستهٔ دیتاسنتر (زیردسته `dedicated`) — بدون پورت ADSL و بدون NetBill.
Pipeline: `dedicated-sales` · Seeder: `DedicatedSalesWorkflowCaseSeeder`
مسیر موفق
- **خودکار (پیشنهادی):** محصول با `inventory_kind = datacenter_server` → رزرو هنگام سفارش؛ تخصیص نهایی با `subscription.activate` یا اکشن `inventory.dc_server_allocate`
- **دستی:** دکمه **«تخصیص تجهیز دیتاسنتر»** در کارتابل (تأیید رزرو یا انتخاب سرور دیگر)
**استعلام estelaam در این فرایند نیست.**
اتصال DCIM / انبار
روی محصول Dedicated (شاهکار type 26):
| فیلد | نقش |
|------|-----|
| `inventory_kind = datacenter_server` | رزرو خودکار سرور آزاد هنگام خرید (مشتری/ریسلر) |
| `provisioning_config.datacenter_site_id` | سایت پیشفرض شاهکار + فیلتر انبار |
| `dc_match_min_cpu_cores` / `dc_match_min_ram_gb` / `dc_match_manufacturer` | معیار تطبیق سرور |
جریان:
اکشنهای workflow (اختیاری روی وضعیت):
پس از تخصیص: `subscription.metadata.dc_device_id` / نام / محل رک / `dc_server_allocated`
جزئیات انبار: [dcim-datacenter-manager.md](./dcim-datacenter-manager.md)
کلاسه شاهکار
پس از put موفق، شناسهٔ کلاسه در اینجا ذخیره میشود:
در مشخصات سرویس پورتال/ریسلر با برچسب **کلاسه شاهکار** نمایش داده میشود.
روی محصول: `provisioning_config.shahkar_service_type = 26`.
مسیر ناموفق
هر شکست مرحله → دپارتمان **بررسی عدم انجام**:
| وضعیت بررسی | معنی |
|-------------|------|
| منتظر بررسی | اپراتور تصمیم میگیرد |
| رفع شد — بازگشت به مرحله | خودکار (`workflow.resume_failed_stage`) → waiting همان مرحلهٔ شکستخورده + اجرای دوبارهٔ on_enter |
| ارسال به لغو و برگشت | خودکار → دپارتمان لغو |
نگاشت شکست → waiting: مثلاً `dedicated-payment-failed` → `dedicated-waiting-payment`؛ برای اجاره فضا `dcspace-*-failed` → `dcspace-waiting-*` (از تاریخچه + `on_failure_status_id`).
دپارتمان **لغو و برگشت هزینه**:
Seed
```bash
cd /home/bsshostkhaneh/bss
/opt/cpanel/ea-php83/root/usr/bin/php artisan db:seed \
--class='Modules\Order\Database\Seeders\DedicatedSalesWorkflowCaseSeeder' --force
```
برای افزودن اکشنهای `inventory.dc_server_*` به کاتالوگ:
```bash
/opt/cpanel/ea-php83/root/usr/bin/php artisan db:seed \
--class='Modules\Order\Database\Seeders\WorkflowActionSeeder' --force
```
Seeder دستهٔ موجود با محصول Dedicated را ترجیح میدهد (مثلاً `servers-dedicate`)؛ در غیر این صورت زیردسته `dedicated` زیر `datacenter` ساخته میشود.