← العودة للفهرس
الدول
مرجع مركزي للدولة المستخدمة في التسعير وحسابات العملاء والموردين ومستخدمي اللوحة.
المجموعة: Settings
اسم القائمة: Countries
الرابط: /admin/countries
الأيقونة: كرة أرضية
الغرض ومنطق العمل
الدولة هنا ليست نصاً للعرض فقط. هي مفتاح يربط العميل والمورد والمستخدم بشريحة تسعير جغرافية. إذا كانت Pricing Active تظهر ضمن قائمة الدول العامة ويمكن استخدامها في استيراد وتصدير الأسعار.
لا تكرر الدولة بأسماء مختلفة مثل Syria وSyrian Arab Republic. التكرار يقسم العملاء وشرائح الأسعار بين سجلين.
الارتباطات مع الموارد الأخرى
| المورد المرتبط | الحقل | أثر الارتباط |
| App Customers |
country_id |
الدولة تحدد شريحة التسعير الافتراضية التي يستخدمها العميل في التطبيق. |
| Pricing Segments |
country_id |
لكل دولة شريحة أو أكثر. التطبيق يستخدم الشريحة الافتراضية (is_default). هذا الحقل غير ظاهر في نموذج الشرائح حالياً؛ سوريا Default تُزرع عادة من البيانات الأولية. |
| Product Prices |
عبر Pricing Segment |
السعر النهائي: الدولة ← الشريحة الافتراضية ← سعر المنتج + نوع السعر. |
| User Segments |
عبر الشريحة |
ربط مستخدمي اللوحة بشريحة تسعير الدولة (ليس حساب التطبيق). |
| Suppliers |
country_id |
بلد المورد أو المصنع. اختيار في شاشة الموردين. |
| Users |
country_id |
دولة موظف اللوحة عند الحاجة. ليست دولة عميل التطبيق. |
| Dealers / Warranties |
نص حر (ليس مفتاحاً) |
حقل الدولة هناك نص يُكتب يدوياً، وليس اختياراً من هذه الشاشة. |
| Pricing Import / Export |
Country |
تظهر الدول ذات Pricing Active فقط في عمليات الأسعار. |
| تسجيل حساب التطبيق |
country_id في Auth |
العميل الجديد يختار دولة من القائمة العامة؛ تُحفظ على App Customer. |
| قائمة الدول العامة |
GET /api/countries |
للتطبيق وتسجيل الحساب. منتقي الدولة في الموقع قائمة ثابتة ولا يستدعي هذا المسار. |
زر الحذف في صف الجدول يمنع الحذف إذا وُجدت Pricing Segments. الحذف الجماعي وزر الحذف داخل صفحة التعديل لا يفحصان ذلك. إن بقي عملاء تطبيق مرتبطون بالدولة يفشل الحذف أيضاً. انقل/احذف الشرائح والعملاء أولاً.
أين تظهر على الموقع والتطبيق
- تطبيق الجوال وقائمة التسجيل:
GET /api/countries — الدول ذات Pricing Active مع الشريحة الافتراضية.
- أسعار العميل في التطبيق: Country → Default Pricing Segment → Product Prices + Price Type.
- منتقي الدولة في الموقع قائمة ثابتة (سوريا، السعودية، الإمارات…) ولا يقرأ شاشة Countries. اختيار الزائر يُرسل كـ
country_code مع طلبات المتجر لتسعير البطاقات.
صورة تقريبية — القائمة
Marvel Techadmin / countries
Settings
Countries
Site Settings
App Updates
About Us
Countries+ New
| Name | Code | Pricing | Segments | |
| Syria | SY | | 2 | تعديل · حذف |
| Iraq | IQ | | 1 | تعديل · حذف |
الحقول
| الاسم الظاهر | الاسم التقني | مطلوب؟ | الشرح |
| Name | name | مطلوب | اسم الدولة المستخدم في القوائم والفلاتر. |
| Country Code (ISO) | code | اختياري | رمز مثل SY أو IQ، حتى 10 محارف. يُفضّل ISO من حرفين وبأحرف كبيرة. |
| Pricing Active | is_pricing_active | افتراضياً مغلق | تشغيل الدولة في API الدول وفي أدوات استيراد/تصدير الأسعار. |
الأعمدة والفلاتر والأوامر
- Name: بحث وترتيب — Code: ترتيب.
- Pricing: حالة Pricing Active.
- Segments: عدد Pricing Segments المرتبطة.
- فلتر Pricing Active، وأوامر Edit / Delete.
خطوات إنشاء دولة صحيحة
- أنشئ الدولة باسم موحد ورمز ISO.
- فعّل Pricing Active إذا كانت سوق بيع وتسعير.
- انتقل إلى Pricing Segments وأنشئ شريحة مرتبطة بهذه الدولة. تأكد أن للدولة شريحة افتراضية واحدة (الحقل غير موجود في النموذج؛ راجع البيانات أو اطلب من المطوّر ضبط
is_default).
- أكمل Product Prices على تلك الشريحة مع أنواع التسعير.
- اربط App Customer بالدولة؛ الأسعار تتبع شريحتها الافتراضية + نوع السعر.
أخطاء شائعة
| المشكلة | السبب | الحل |
| العميل لا يرى سعراً | لا شريحة افتراضية، أو الشريحة بلا أسعار، أو Pricing Active مغلق | راجع Country → Default Segment → Product Prices + Price Type. |
| لا تظهر الدولة الجديدة في قائمة الموقع | منتقي الدولة في الموقع قائمة ثابتة وليست من هذه الشاشة | Pricing Active يؤثر على التطبيق والتسعير، لا على قائمة الدول في رأس الموقع. |
| لا يمكن حذف الدولة | شرائح تسعير أو عملاء مرتبطون | انقل/احذف الشرائح والعملاء أولاً. لا تعتمد على الحذف الجماعي. |
| خلط دولة الوكيل أو الكفالة مع هذه الشاشة | Dealers و Warranties تخزّن اسم دولة كنص | تسعير التطبيق فقط عبر Countries هنا. |