انبار FTTH (نقاط پوشش) — راهنمای ادمین شرکت

← بازگشت به راهنما

انبار FTTH (نقاط پوشش) — راهنمای ادمین شرکت



| فیلد | مقدار |
|------|--------|
| **نسخه** | 1.0 |
| **آخرین بروزرسانی** | 2026-08-09 |
| **ماژول** | Inventory (FTTH Coverage) |
| **مخاطب** | ادمین شرکت (Tenant `/panel`) |

---

هدف



پوشش جغرافیایی سرویس FTTH: هر **نقطه پوشش** یک **موقعیت روی نقشه** و **شعاع پوشش** دارد. مشتری/ریسلر هنگام خرید روی نقشه نقطه انتخاب می‌کند؛ سیستم همان لحظه چک می‌کند نقطه داخل شعاع حداقل یک نقطه فعال باشد — مثل انبار Wireless.

---

منو



مسیر: `/panel` → **انبار** → **FTTH**

| زیرمنو | توضیح |
|--------|--------|
| **نقاط پوشش** | ساخت/ویرایش تکی، ایمپورت Excel، نمونه فایل |
| **نقشه پوشش FTTH** | نمایش همه نقاط با دایره پوشش |

| فیلد | توضیح |
|------|--------|
| نام / کلید | هویت نقطه پوشش |
| موقعیت | انتخاب از روی نقشه — نمایش به شکل `(27.19182, 56.350749)` |
| شعاع (متر) | مثلاً `500` = نیم کیلومتر (پیش‌فرض ۵۰۰) |
| فعال | فقط نقاط فعال در چک پوشش شرکت می‌کنند |

ایمپورت Excel



مسیر: **نقاط پوشش** → **ایمپورت Excel** (یا دانلود **نمونه Excel**)

| ستون | الزامی | توضیح |
|------|--------|--------|
| `name` / نام | بله | نام نقطه |
| `latitude` / عرض | بله | مثلاً `35.708904` |
| `longitude` / طول | بله | مثلاً `51.408758` |
| `slug` / کلید | خیر | اگر خالی باشد از نام ساخته می‌شود |
| `radius_meters` / شعاع | خیر | پیش‌فرض فرم ایمپورت (مثلاً ۵۰۰ متر) |
| `is_active` / فعال | خیر | `1`/`0` یا فعال/غیرفعال |
| `notes` / یادداشت | خیر | |

گزینه **به‌روزرسانی نقاط موجود** روی همان `slug` مختصات و شعاع را عوض می‌کند.

---

اتصال به محصول (از طریق افزونه)



  • محصول اصلی با `service_type = FTTH`

  • **افزونه مستقل** بسازید:

  • - اتصال به انبار = **پوشش FTTH (مختصات)**
    - فیلد سفارشی نوع **نقشه (map.ir)** — ترجیحاً اجباری
  • افزونه را به محصول وصل کنید؛ در صورت نیاز تیک **اجباری**

  • تنظیمات map.ir در `/panel` → تنظیمات → اتصال نقشه


  • ---

    جریان خرید



  • مشتری/ریسلر محصول (+ افزونه اجباری) را می‌خرد

  • روی نقشه نقطه را انتخاب می‌کند

  • **همان لحظه** پوشش چک می‌شود:

  • - خارج از محدوده → پیام قرمز زیر نقشه؛ دکمه ثبت سفارش کار نمی‌کند
    - داخل محدوده → پیام سبز با نام نقطه نزدیک؛ اجازه ادامه خرید
  • سمت سرور هم هنگام ثبت سفارش دوباره چک می‌شود

  • نزدیک‌ترین نقطه پوشش‌دهنده در فیلدهای سفارشی ذخیره می‌شود (`ftth_coverage_site_name`)

  • خود فیلد نقشه به‌صورت JSON ذخیره می‌شود: `{ lat, lng, address }`


  • API زنده: `GET /inventory/ftth/coverage?lat=&lng=&product_offering_id=`

    ---

    مرتبط



  • [wireless-inventory.md](wireless-inventory.md) — الگوی مشابه وایرلس

  • [product-addons.md](product-addons.md) — افزونه اجباری + فیلد نقشه

  • [tenant-panel.md](tenant-panel.md)

  • [mapir-settings.md](mapir-settings.md)

  • کلاس‌ها: `FtthCoverageService`, `FtthOrderService`, `FtthCoverageImportService`