منصة الورد والهدايا الأولى

هدية من القلب،
توصل بوقتها.

منصة إلكترونية تجمع محلات الورد والهدايا مع الزبائن والمندوبين في مكان واحد، لتصير كل مناسبة أجمل وأسهل.

20–30محلًا عند الإطلاق
4أنظمة مترابطة
7مراحل للطلب
🌸🌿
9:41● ● ●
مساء الخير 👋شنو المناسبة اليوم؟
أ
🎂ميلاد💍خطوبة🎓تخرج💝حب
مختارة إلكعرض الكل
🌹
باقة الحب الأحمربيت الورد · بغداد
45,000 د.ع
طلبك بالطريق!يوصل خلال 18 دقيقة

Laravel Merchant API

روابط API المتوقعة لصلاحيات التاجر

المسار الأساسي /api/v1/merchant. يحدد Laravel المتجر من Sanctum Token تلقائيًا، فلا يمكن للتاجر الوصول إلى متجر آخر.

GET قراءةPOST إنشاء أو تنفيذPATCH تعديلDELETE حذف
الحمايةSanctum Tokenتاجر معتمدStore Scope تلقائيصلاحيات الموظفينAudit Log

🔐 الحساب والدخول

  • POST/loginتسجيل الدخول
  • POST/verify-otpتأكيد الهاتف
  • POST/forgot-passwordطلب الاستعادة
  • POST/reset-passwordكلمة مرور جديدة
  • POST/logoutتسجيل الخروج
  • POST/logout-allإغلاق كل الجلسات
  • GET/meالحساب والصلاحيات
  • PATCH/profileتعديل الملف
  • PATCH/passwordتغيير كلمة المرور
  • GET/devicesالأجهزة النشطة
  • DELETE/devices/{id}إلغاء جلسة

📊 لوحة المتجر

  • GET/dashboard/summaryملخص اليوم
  • GET/dashboard/ordersمؤشرات الطلبات
  • GET/dashboard/sales-chartمخطط المبيعات
  • GET/dashboard/top-productsأفضل المنتجات
  • GET/dashboard/low-stockتنبيهات المخزون
  • GET/dashboard/recent-reviewsأحدث التقييمات
  • GET/dashboard/alertsتنبيهات مهمة

🏪 المتجر والفروع

  • GET/storeبيانات المتجر
  • PATCH/storeتعديل البيانات
  • POST/store/logoرفع الشعار
  • POST/store/coverصورة الغلاف
  • PATCH/store/locationالعنوان والخريطة
  • GET/store/hoursساعات العمل
  • PATCH/store/hoursتعديل الدوام
  • PATCH/store/availabilityفتح أو إغلاق مؤقت
  • GET/branchesالفروع
  • POST/branchesطلب إضافة فرع
  • PATCH/branches/{id}تعديل الفرع
  • PATCH/branches/{id}/hoursدوام الفرع
  • PATCH/branches/{id}/availabilityحالة الفرع

👨‍💼 موظفو المتجر

  • GET/staffقائمة الموظفين
  • POST/staffإضافة موظف
  • GET/staff/{id}بيانات الموظف
  • PATCH/staff/{id}تعديل الموظف
  • PATCH/staff/{id}/permissionsتحديد الصلاحيات
  • PATCH/staff/{id}/statusتفعيل أو إيقاف
  • GET/staff/{id}/activityسجل العمليات
  • DELETE/staff/{id}حذف الموظف
  • GET/staff-permissionsالصلاحيات المتاحة

🌹 المنتجات والصور

  • GET/productsمنتجات المتجر
  • POST/productsإضافة منتج
  • GET/products/{id}تفاصيل المنتج
  • PATCH/products/{id}تعديل المنتج
  • DELETE/products/{id}أرشفة المنتج
  • PATCH/products/{id}/statusإظهار أو إيقاف
  • POST/products/{id}/imagesرفع الصور
  • PATCH/products/{id}/images/reorderترتيب الصور
  • DELETE/products/{product}/images/{image}حذف صورة
  • POST/products/{id}/duplicateنسخ المنتج
  • GET/categoriesالتصنيفات
  • GET/occasionsالمناسبات

📦 المتغيرات والمخزون

  • GET/products/{product}/variantsالأحجام والألوان
  • POST/products/{product}/variantsإضافة متغير
  • PATCH/variants/{id}السعر والكمية
  • DELETE/variants/{id}حذف المتغير
  • GET/inventoryالمخزون
  • PATCH/inventory/{variant}تعديل الكمية
  • POST/inventory/bulk-updateتحديث جماعي
  • GET/inventory/low-stockقرب النفاد
  • GET/inventory/movementsحركة المخزون

🧩 تصميم الباقة والإضافات

  • GET/bouquet-optionsخيارات الباقة
  • POST/bouquet-optionsإضافة خيار
  • PATCH/bouquet-options/{id}تعديل السعر والتوفر
  • DELETE/bouquet-options/{id}حذف الخيار
  • GET/gift-addonsإضافات الهدايا
  • POST/gift-addonsإنشاء إضافة
  • PATCH/gift-addons/{id}تعديل الإضافة
  • PATCH/gift-addons/{id}/stockتعديل الكمية
  • DELETE/gift-addons/{id}حذف الإضافة

🛍 الطلبات والتسليم

  • GET/ordersطلبات المتجر
  • GET/orders/{id}تفاصيل الطلب
  • POST/orders/{id}/acceptقبول الطلب
  • POST/orders/{id}/rejectرفض مع السبب
  • PATCH/orders/{id}/preparingبدء التجهيز
  • PATCH/orders/{id}/readyجاهز للاستلام
  • POST/orders/{id}/report-delayالإبلاغ عن تأخير
  • GET/orders/{id}/timelineسجل الحالة
  • GET/orders/{id}/invoiceالفاتورة
  • GET/orders/{id}/driverموظف التوصيل
  • GET/orders/{id}/pickup-codeرمز الاستلام
  • POST/orders/{id}/handoverتأكيد التسليم للموظف
  • POST/orders/{id}/handover-issueمشكلة في الاستلام
  • GET/deliveriesتوصيلات المتجر

🏷 الخصومات

  • GET/discountsخصومات المتجر
  • POST/discountsإنشاء خصم
  • GET/discounts/{id}التفاصيل والاستخدام
  • PATCH/discounts/{id}تعديل الخصم
  • PATCH/discounts/{id}/statusتفعيل أو إيقاف
  • DELETE/discounts/{id}حذف الخصم
  • GET/platform-promotionsحملات المنصة المتاحة
  • POST/platform-promotions/{id}/joinطلب المشاركة

💰 الأموال والمستحقات

  • GET/finance/summaryالملخص المالي
  • GET/transactionsالحركات المالية
  • GET/transactions/{id}تفاصيل الحركة
  • GET/settlementsدفعات المستحقات
  • GET/settlements/{id}تفاصيل الدفعة
  • POST/withdrawal-requestsطلب سحب
  • GET/withdrawal-requestsطلبات السحب
  • POST/withdrawal-requests/{id}/cancelإلغاء طلب معلق
  • GET/commissionالعمولة والعقد
  • GET/financial-statements/exportتصدير كشف

📈 التقارير والتقييمات

  • GET/reports/salesالمبيعات
  • GET/reports/ordersالطلبات
  • GET/reports/productsأداء المنتجات
  • GET/reports/inventoryالمخزون
  • GET/reports/preparation-timeوقت التجهيز
  • GET/reports/exportتصدير التقرير
  • GET/reviewsالتقييمات
  • GET/reviews/summaryملخص النجوم
  • POST/reviews/{id}/replyالرد على تقييم
  • POST/reviews/{id}/reportالإبلاغ عن مخالفة

🔔 الإشعارات والدعم

  • GET/notificationsالإشعارات
  • GET/notifications/unread-countغير المقروء
  • PATCH/notifications/{id}/readتعليم كمقروء
  • PATCH/notifications/read-allقراءة الكل
  • GET/notification-settingsإعدادات التنبيه
  • PATCH/notification-settingsتعديل الإعدادات
  • POST/devices/fcm-tokenرمز Firebase
  • GET/support-ticketsتذاكر الدعم
  • POST/support-ticketsفتح تذكرة
  • GET/support-tickets/{id}تفاصيل التذكرة
  • POST/support-tickets/{id}/replyإرسال رد
  • POST/orders/{id}/disputeاعتراض على طلب
  • GET/policiesالسياسات
  • GET/contractالعقد الحالي

📁 الملفات والحساب المالي

  • POST/mediaرفع ملف
  • POST/media/bulkرفع عدة ملفات
  • DELETE/media/{id}حذف ملف مملوك
  • GET/documentsالوثائق وحالتها
  • POST/documentsرفع أو تجديد وثيقة
  • GET/payout-accountحساب المستحقات
  • PATCH/payout-accountطلب تحديث الحساب
قيود APIلا يرى متجرًا آخرلا يغيّر العمولةلا يعيّن موظف توصيللا يعدّل قيمة طلب مؤكدلا يعتمد الاستردادلا يرى رسالة الهدية الخاصة بلا حاجة

الفكرة باختصار

منصة واحدة، وكل أطراف الهدية متصلين

الزبون يختار، المحل يجهّز، المندوب يوصّل، والإدارة تتابع العملية كاملة بكل سلاسة.

👤

الزبون

يتصفح المحلات، يختار الباقة، يحدد الوقت والمكان، ويدفع ويتابع الطلب.

تجربة سهلة ←
🌷

بائع الورد

يدير المنتجات والأسعار، يستقبل الطلبات، ويتابع المبيعات والأرباح.

متجر متكامل ←
🛵

موظف التوصيل

يستلم طلب التوصيل، يشاهد عنوان المحل والزبون، ويوصل الطلب بأمان وفي الموعد.

توصيل ذكي ←

الإدارة

لوحة تحكم للمحلات والطلبات والمندوبين والمدفوعات والتقييمات.

تحكم كامل ←
🌹🌹🌿
باقتك صارت جاهزةحسب ذوقك تمامًا ✨

الميزة الأقوى

صمّم باقتك بنفسك،
تفصيلًا تفصيلًا

مو لازم تختار باقة جاهزة. ابنِ هديتك الخاصة واختَر كل شيء كما تحب.

  1. 1
    نوع الورد واللونورد أحمر، أبيض، توليب والمزيد
  2. 2
    الحجم والإضافاتشوكولاتة، بالونات أو دمية
  3. 3
    التغليف والبطاقةاكتب رسالتك الخاصة للمستلم
🎁
هدية مجهولة

اختَر إخفاء هويتك لتصل المفاجأة برسالة: «لديك هدية من شخص يحبك».

رحلة الطلب

من أول ضغطة... لحد باب البيت

إشعارات فورية تبقي الزبون مطمئنًا في كل مرحلة.

01طلب جديدتم استلام طلبك
02قيد التجهيزالمحل يحضّر الهدية
03جاهز للاستلامالمندوب في الطريق
04تم التسليموصلت الفرحة بنجاح

مكوّنات المشروع

أربع واجهات، نظام واحد

تطبيقات مترابطة تخدم كل طرف حسب دوره، مع بنية قابلة للتوسع مستقبلًا.

📱تطبيق الزبونAndroid + iPhone
🏪تطبيق البائعAndroid + iPhone
🛵تطبيق موظف التوصيلAndroid + iPhone
لوحة الإدارةWeb Dashboard

لوحة الأدمن بالتفصيل

مركز التحكم الكامل بالمشروع

من لوحة واحدة يستطيع صاحب المشروع متابعة كل ما يحدث في المنصة، وإدارة المستخدمين والطلبات والأموال بناءً على أرقام واضحة.

نظرة عامةملخص أداء المنصة اليوم
الخميس، 20 أغسطس
طلبات اليوم126+12%
إجمالي المبيعات3,450,000د.ع
قيد التوصيل11طلبًا
عمولة المنصة480,000د.ع
أحدث الطلباتعرض الكل
#1048بيت الوردمحمد عليقيد التجهيز
#1047زهور بغدادسارة أحمدقيد التوصيل
#1046لمسة وردنور حسنتم التسليم
📊

الرئيسية والإحصائيات

طلبات اليوم، المبيعات، عمولة المنصة، الطلبات قيد التجهيز والتوصيل، وأعداد المحلات والزبائن وموظفي التوصيل النشطين.

🛍

إدارة الطلبات

تفاصيل المنتجات والعناوين، متابعة الحالة، الإلغاء والاسترجاع، تعيين موظف توصيل، ومراجعة سجل التحديثات.

🏪

المحلات والبائعون

مراجعة طلبات الانضمام والوثائق، قبول أو رفض وإيقاف المحل، تحديد العمولة، ومتابعة المنتجات والتقييمات والمستحقات.

🛵

موظفو التوصيل

إضافة الموظفين والتحقق من هويتهم، معرفة المتاح والمشغول، تتبع الطلب، تحديد مناطق العمل والأجرة، وحساب المستحقات.

👥

الزبائن

الحسابات والعناوين وسجل الطلبات، إدارة الحظر والبلاغات، معرفة الرصيد والكوبونات، والتواصل عند الحاجة.

🌹

المنتجات والتصنيفات

إدارة الورد والهدايا والشوكولاتة والبالونات والمناسبات، مراجعة الصور والأسعار، وإخفاء المنتجات المخالفة.

💳

الأموال والمدفوعات

الدفع النقدي والإلكتروني، عمولات المنصة، رسوم التوصيل، مستحقات المحلات والموظفين، والاستردادات وكشوف الحساب.

🏷

العروض والكوبونات

إنشاء أكواد الخصم وتحديد النسبة والصلاحية، تخصيص العرض لمدينة أو محل، وقياس عدد مرات الاستخدام.

التقييمات والشكاوى

تقييم المحلات وموظفي التوصيل، استقبال الشكاوى والرد عليها وإرفاق الأدلة واتخاذ إجراء مع حفظ سجل القضية.

🔔

الإشعارات والمحتوى

إشعارات عامة أو مخصصة، صور الواجهة والبنرات، صفحات الأسئلة والسياسات، ورسائل حالات الطلب.

📈

التقارير والتحليلات

تقارير المبيعات والأرباح، أكثر المنتجات والمحلات مبيعًا، أوقات الذروة، نسبة الإلغاء وأداء التوصيل.

🔐

الموظفون والصلاحيات

مدير عام، محاسب، دعم فني ومشرف طلبات بصلاحيات مختلفة، مع سجل الدخول وكل العمليات المنفذة.

إعدادات النظام

المدن ومناطق التغطية، تسعير التوصيل، نسب العمولة، وسائل الدفع، أوقات العمل، الشروط وسياسة الخصوصية.

Laravel Admin API

روابط API المتوقعة لصلاحيات الأدمن

جميع الروابط تبدأ بـ /api/v1/admin، وتُحمى باستخدام Laravel Sanctum وصلاحيات Roles & Permissions. الرمز {id} يعني رقم السجل المطلوب.

GET قراءة البياناتPOST إنشاء أو تنفيذPATCH تعديلDELETE حذف
🔑المصادقةAuthorization: Bearer {token}Laravel Sanctum مع انتهاء الجلسة وإبطال الأجهزة.
🛡الصلاحياتpermission: orders.manageكل مسار محمي بصلاحية مستقلة.
📄ترقيم الصفحات?page=1&per_page=20بحث وفرز وتصفية موحدة للقوائم.
🌐اللغة والتوقيتAccept-Language: arISO 8601 وتخزين الوقت بصيغة UTC.
🔁منع التكرارIdempotency-Keyللدفع والاسترداد والتسويات الحساسة.
🧾تتبع الأخطاءX-Request-IDرقم فريد يربط الطلب بسجل النظام.

🔐 الدخول وحساب الأدمن

  • POST/loginتسجيل دخول الأدمن
  • POST/logoutتسجيل الخروج
  • GET/meبيانات الأدمن وصلاحياته
  • PATCH/profileتعديل الملف الشخصي
  • PATCH/passwordتغيير كلمة المرور

📊 لوحة المعلومات

  • GET/dashboard/summaryملخص الأرقام الرئيسية
  • GET/dashboard/sales-chartمخطط المبيعات
  • GET/dashboard/orders-chartمخطط الطلبات
  • GET/dashboard/recent-ordersأحدث الطلبات
  • GET/dashboard/live-deliveriesالتوصيلات الجارية

👥 العملاء

  • GET/customersقائمة وبحث وتصفية العملاء
  • GET/customers/{id}تفاصيل العميل
  • PATCH/customers/{id}تعديل بيانات مسموحة
  • PATCH/customers/{id}/statusتفعيل أو حظر الحساب
  • GET/customers/{id}/ordersطلبات العميل
  • GET/customers/{id}/addressesعناوين العميل
  • DELETE/customers/{id}حذف/أرشفة الحساب

🏪 التجار والمحلات

  • GET/merchantsقائمة التجار
  • GET/merchants/{id}تفاصيل التاجر ووثائقه
  • GET/merchant-applicationsطلبات الانضمام
  • POST/merchant-applications/{id}/approveقبول التاجر
  • POST/merchant-applications/{id}/rejectرفض الطلب مع السبب
  • PATCH/merchants/{id}/statusتفعيل أو إيقاف التاجر
  • GET/storesجميع المحلات
  • GET/stores/{id}تفاصيل المحل
  • PATCH/stores/{id}/commissionتحديد نسبة العمولة
  • PATCH/stores/{id}/featuredترتيب/تمييز إداري غير مدفوع
  • PATCH/stores/{id}/statusفتح أو إيقاف المحل

🛵 موظفو التوصيل

  • GET/driversقائمة موظفي التوصيل
  • POST/driversإضافة موظف توصيل
  • GET/drivers/{id}البيانات والوثائق والأداء
  • PATCH/drivers/{id}تعديل بيانات الموظف
  • POST/drivers/{id}/approveاعتماد الوثائق
  • PATCH/drivers/{id}/statusتفعيل أو إيقاف الموظف
  • GET/drivers/availableالموظفون المتاحون الآن
  • GET/drivers/{id}/deliveriesسجل التوصيلات
  • GET/drivers/{id}/earningsالأرباح والمستحقات
  • DELETE/drivers/{id}أرشفة الموظف

🌹 التصنيفات والمنتجات

  • GET/categoriesقائمة التصنيفات
  • POST/categoriesإنشاء تصنيف
  • PATCH/categories/{id}تعديل وترتيب التصنيف
  • DELETE/categories/{id}حذف التصنيف
  • GET/productsكل المنتجات مع التصفية
  • GET/products/{id}تفاصيل المنتج
  • PATCH/products/{id}/statusقبول أو إخفاء المنتج
  • DELETE/products/{id}حذف منتج مخالف
  • GET/occasionsالمناسبات
  • POST/occasionsإضافة مناسبة
  • PATCH/occasions/{id}تعديل المناسبة

🛍 الطلبات والتوصيل

  • GET/ordersقائمة الطلبات وتصفية الحالة
  • GET/orders/{id}كل تفاصيل الطلب
  • PATCH/orders/{id}/statusتعديل حالة الطلب إداريًا
  • POST/orders/{id}/assign-driverتعيين موظف توصيل
  • POST/orders/{id}/reassign-driverتغيير موظف التوصيل
  • POST/orders/{id}/cancelإلغاء الطلب مع السبب
  • POST/orders/{id}/refundطلب/تنفيذ الاسترداد
  • GET/orders/{id}/timelineسجل حالات الطلب
  • GET/orders/{id}/delivery-locationموقع التوصيل الحالي
  • GET/orders/{id}/invoiceفاتورة الطلب

💳 المدفوعات والمستحقات

  • GET/paymentsسجل المدفوعات
  • GET/payments/{id}تفاصيل عملية الدفع
  • GET/refundsطلبات الاسترداد
  • POST/refunds/{id}/approveالموافقة على الاسترداد
  • POST/refunds/{id}/rejectرفض الاسترداد
  • GET/store-settlementsمستحقات المحلات
  • POST/store-settlements/{id}/payتأكيد دفع مستحق المحل
  • GET/driver-settlementsمستحقات موظفي التوصيل
  • POST/driver-settlements/{id}/payتأكيد دفع مستحق الموظف
  • GET/transactions/exportتصدير كشف مالي

🏷 الكوبونات والعروض

  • GET/couponsقائمة الكوبونات
  • POST/couponsإنشاء كوبون
  • GET/coupons/{id}التفاصيل والاستخدامات
  • PATCH/coupons/{id}تعديل الكوبون
  • PATCH/coupons/{id}/statusتفعيل أو إيقاف
  • DELETE/coupons/{id}حذف الكوبون
  • GET/promotionsالعروض الموسمية
  • POST/promotionsإنشاء عرض
  • PATCH/promotions/{id}تعديل العرض

⭐ التقييمات والشكاوى

  • GET/reviewsجميع التقييمات
  • PATCH/reviews/{id}/statusإظهار أو إخفاء تقييم
  • DELETE/reviews/{id}حذف تقييم مخالف
  • GET/complaintsقائمة الشكاوى
  • GET/complaints/{id}تفاصيل الشكوى والأدلة
  • POST/complaints/{id}/replyالرد على الشكوى
  • PATCH/complaints/{id}/statusتحديث حالة المعالجة
  • POST/complaints/{id}/resolveإغلاق الشكوى مع القرار

🔔 الإشعارات والمحتوى

  • GET/notificationsسجل الإشعارات
  • POST/notifications/sendإرسال إشعار مخصص
  • POST/notifications/broadcastإرسال جماعي
  • GET/bannersبنرات التطبيق
  • POST/bannersإضافة بنر
  • PATCH/banners/{id}تعديل البنر وترتيبه
  • DELETE/banners/{id}حذف البنر
  • GET/pagesالصفحات الثابتة
  • PATCH/pages/{id}تعديل الشروط أو الخصوصية

📈 التقارير والتصدير

  • GET/reports/salesتقرير المبيعات
  • GET/reports/ordersتقرير الطلبات والحالات
  • GET/reports/commissionsتقرير عمولة المنصة
  • GET/reports/storesأداء المحلات
  • GET/reports/driversأداء موظفي التوصيل
  • GET/reports/productsالمنتجات الأكثر مبيعًا
  • GET/reports/customersنمو ونشاط العملاء
  • GET/reports/exportتصدير Excel أو PDF

🔐 فريق الأدمن والصلاحيات

  • GET/adminsموظفو الإدارة
  • POST/adminsإنشاء حساب إداري
  • PATCH/admins/{id}تعديل حساب إداري
  • PATCH/admins/{id}/statusتفعيل أو إيقاف الحساب
  • DELETE/admins/{id}حذف الحساب
  • GET/rolesالأدوار والصلاحيات
  • POST/rolesإنشاء دور
  • PATCH/roles/{id}تعديل صلاحيات الدور
  • DELETE/roles/{id}حذف الدور
  • GET/audit-logsسجل عمليات الإدارة

⚙ إعدادات النظام

  • GET/settingsجميع الإعدادات
  • PATCH/settings/generalالإعدادات العامة
  • PATCH/settings/orderإعدادات الطلب والإلغاء
  • PATCH/settings/paymentوسائل الدفع
  • PATCH/settings/commissionالعمولة الافتراضية
  • GET/delivery-zonesمناطق التغطية
  • POST/delivery-zonesإضافة منطقة
  • PATCH/delivery-zones/{id}تعديل السعر والمسافة
  • DELETE/delivery-zones/{id}حذف المنطقة
  • GET/citiesالمدن المدعومة
  • POST/citiesإضافة مدينة
  • PATCH/cities/{id}تعديل أو تعطيل مدينة

🏬 الفروع وموظفو المحلات

  • GET/stores/{store}/branchesفروع المحل
  • POST/stores/{store}/branchesإضافة فرع
  • PATCH/branches/{id}تعديل الفرع
  • PATCH/branches/{id}/statusفتح أو إيقاف الفرع
  • DELETE/branches/{id}أرشفة الفرع
  • GET/stores/{store}/staffموظفو المحل
  • GET/store-staff/{id}/activityسجل الموظف
  • PATCH/store-staff/{id}/statusحالة الموظف

🧩 تصميم الباقة والإضافات

  • GET/bouquet-optionsخيارات تصميم الباقة
  • POST/bouquet-optionsإضافة خيار
  • PATCH/bouquet-options/{id}تعديل الخيار والسعر
  • PATCH/bouquet-options/{id}/statusتفعيل أو إخفاء
  • DELETE/bouquet-options/{id}حذف الخيار
  • GET/gift-addonsإضافات الهدايا
  • POST/gift-addonsإنشاء إضافة
  • PATCH/gift-addons/{id}تعديل الإضافة

📁 الملفات والوثائق

  • POST/mediaرفع ملف
  • POST/media/bulkرفع عدة ملفات
  • GET/media/{id}بيانات الملف
  • DELETE/media/{id}حذف الملف
  • POST/merchants/{id}/documentsوثائق التاجر
  • POST/drivers/{id}/documentsوثائق موظف التوصيل
  • PATCH/documents/{id}/verifyاعتماد أو رفض الوثيقة
  • GET/documents/expiringوثائق قاربت الانتهاء

🚚 إدارة التوصيل المباشر

  • GET/deliveriesمهمات التوصيل
  • GET/deliveries/{id}تفاصيل المهمة
  • GET/deliveries/live-mapالخريطة الحية
  • POST/deliveries/{id}/dispatchإرسال المهمة
  • POST/deliveries/{id}/force-completeإغلاق إداري
  • POST/deliveries/{id}/mark-failedفشل التوصيل
  • GET/deliveries/{id}/proofإثبات التسليم
  • GET/delivery-pricing/estimateاحتساب أجرة متوقعة

💵 العهدة والتسوية النقدية

  • GET/cash-collectionsالمبالغ المحصلة
  • GET/cash-collections/{id}تفاصيل العهدة
  • POST/cash-collections/{id}/settleتأكيد التسليم
  • POST/cash-collections/{id}/disputeتسجيل فرق
  • GET/cash-reconciliation/summaryملخص يومي
  • GET/cash-reconciliation/exportتصدير الكشف

🎧 تذاكر الدعم

  • GET/support-ticketsقائمة التذاكر
  • GET/support-tickets/{id}المحادثة والمرفقات
  • POST/support-tickets/{id}/replyالرد
  • POST/support-tickets/{id}/assignتعيين موظف دعم
  • PATCH/support-tickets/{id}/priorityالأولوية
  • PATCH/support-tickets/{id}/statusتحديث الحالة
  • POST/support-tickets/{id}/closeإغلاق التذكرة

🩺 المراقبة والنسخ الاحتياطي

  • GET/system/healthحالة النظام وقاعدة البيانات
  • GET/system/queuesطوابير Laravel
  • GET/system/failed-jobsالمهام الفاشلة
  • POST/system/failed-jobs/{id}/retryإعادة المحاولة
  • GET/system/error-logsسجل الأخطاء
  • GET/system/backupsالنسخ الاحتياطية
  • POST/system/backupsإنشاء نسخة
  • POST/system/cache/clearمسح الكاش
  • PATCH/system/maintenanceوضع الصيانة

🔗 الدفع والـWebhooks

  • GET/payment-gatewaysبوابات الدفع
  • PATCH/payment-gateways/{id}إعدادات البوابة
  • GET/webhooksسجل الإشعارات الخارجية
  • GET/webhooks/{id}تفاصيل الإشعار
  • POST/webhooks/{id}/retryإعادة المعالجة
  • GET/payment-attemptsمحاولات الدفع
الاستجابة الناجحة{ "success": true, "message": "تمت العملية بنجاح", "data": {}, "meta": {} }استجابة الخطأ{ "success": false, "message": "تعذر تنفيذ الطلب", "errors": {}, "request_id": "..." }

الحالات الأساسية: 200 نجاح، 201 إنشاء، 401 غير مسجل، 403 بلا صلاحية، 404 غير موجود، 422 خطأ تحقق، 429 طلبات كثيرة، 500 خطأ خادم.

تطبيق العميل بالتفصيل

كل ما يحتاجه العميل لإرسال هدية

تجربة عربية سهلة تبدأ من اكتشاف الهدية المناسبة، مرورًا بالتخصيص والدفع، وتنتهي بتتبع الطلب حتى وصوله إلى المستلم.

اكتشافاختيار وتخصيصالعنوان والدفعتتبع وتقييم
👤

إنشاء الحساب والدخول

التسجيل برقم الهاتف أو البريد، رمز تحقق، استعادة كلمة المرور، أو تصفح المنتجات كزائر قبل إتمام الطلب.

🏠

الصفحة الرئيسية

البحث، التصنيفات، المناسبات، الأكثر مبيعًا، المحلات المميزة، العروض والاقتراحات المناسبة للعميل.

🔎

البحث والتصفية

البحث باسم الهدية أو المحل، والفرز حسب السعر والتقييم والمسافة وسرعة التوصيل ونوع المناسبة.

🏪

تصفح المحلات

مشاهدة ملف المحل وصوره وتقييمه وأوقات العمل ومدة التجهيز ورسوم التوصيل ومنتجاته المتاحة.

🌹

تفاصيل المنتج

الصور والوصف والسعر والأحجام والألوان والمكونات ووقت التجهيز والتقييمات والإضافات الممكنة.

🧩

صمّم باقتك بنفسك

اختيار نوع الورد ولونه وعدده والتغليف، ثم إضافة شوكولاتة أو بالون أو دمية وبطاقة شخصية.

💌

البطاقة واسم المرسل

كتابة رسالة للمستلم، إظهار اسم المرسل أو تفعيل «هدية مجهولة» لإخفاء الهوية.

المفضلة

حفظ المنتجات والمحلات المفضلة والعودة إليها لاحقًا، مع إمكانية مشاركة رابط الهدية.

🛒

السلة

تعديل الكمية والإضافات، حذف المنتجات، عرض السعر ورسوم التوصيل والخصم والمبلغ النهائي قبل التأكيد.

📍

العناوين والموقع

حفظ أكثر من عنوان، تحديد الموقع على الخريطة، اسم المستلم ورقمه، ووصف واضح للمنزل أو مكان التسليم.

🕒

موعد التوصيل

اختيار التوصيل بأقرب وقت أو جدولة يوم وساعة مستقبلية، مع إظهار المواعيد المتاحة فقط.

💳

الدفع والكوبونات

الدفع عند الاستلام أو إلكترونيًا، إدخال كوبون الخصم، مشاهدة تفاصيل المبلغ واستلام إيصال الطلب.

تأكيد الطلب

مراجعة المحل والمنتجات والرسالة والعنوان والموعد والدفع، ثم الحصول على رقم طلب واضح.

🛵

تتبع موظف التوصيل

متابعة حالات الطلب وإشعاراتها، ثم مشاهدة الموظف على الخريطة ووقت الوصول المتوقع عند بدء التوصيل.

📞

التواصل الآمن

الاتصال بموظف التوصيل أو الدعم عند الحاجة دون كشف الرقم الشخصي للمحل، مع حماية بيانات المستلم.

📋

طلباتي

الطلبات الحالية والسابقة والملغاة، تفاصيل كل طلب وفاتورته، وإعادة طلب نفس الهدية بضغطة واحدة.

الإلغاء والاسترجاع

طلب الإلغاء قبل بدء التجهيز حسب السياسة، إرسال طلب استرداد، ورفع صورة عند وجود مشكلة بالمنتج.

التقييم

تقييم جودة المنتج والمحل وموظف التوصيل بشكل منفصل، كتابة تعليق وإضافة صورة بعد التسليم.

🎟

العروض والمحفظة

مشاهدة الكوبونات والعروض الموسمية، نقاط المكافآت أو الرصيد المسترجع وسجل استخدامه مستقبلًا.

🔔

الإشعارات

حالة الطلب والعروض والمناسبات، مع التحكم في أنواع الإشعارات التي يرغب العميل باستلامها.

💬

الدعم والشكاوى

محادثة الدعم أو فتح شكوى مرتبطة بطلب، إرفاق الصور، ومتابعة الحالة والرد حتى حل المشكلة.

الملف والإعدادات

الاسم والهاتف واللغة والعناوين وطرق الدفع المحفوظة، تغيير كلمة المرور وحذف الحساب.

🔐

الخصوصية والأمان

رمز تحقق وتسجيل دخول آمن، حماية بيانات الدفع والموقع، التحكم بالأجهزة النشطة وسياسة واضحة للبيانات.

🆘

المساعدة والسياسات

الأسئلة الشائعة، طريقة الطلب، سياسة الإلغاء والاسترجاع، شروط الاستخدام والتواصل مع المنصة.

تطبيق موظف التوصيل بالتفصيل

من المحل إلى باب المستلم بأمان

تطبيق عملي لموظف التوصيل يساعده على استقبال المهمة، الوصول إلى المحل والمستلم، إثبات التسليم ومتابعة أرباحه بدون الاطلاع على بيانات لا يحتاجها.

🛵
مرحبًا أحمدأنت متاح لاستقبال الطلبات
متصل
🏪
📍12 دقيقة
طلب توصيل جديدمن بيت الورد إلى المنصور
المسافة: 4.2 كمالأجرة: 6,000 د.ع
🪪

التسجيل والتحقق

رقم الهاتف والهوية والصورة الشخصية وبيانات المركبة ورخصة القيادة والحساب المالي، ثم انتظار موافقة الإدارة.

🟢

حالة التوفر

التحويل بين «متاح» و«غير متاح»، مع عدم استقبال مهام جديدة أثناء تنفيذ طلب حالي.

📲

طلبات التوصيل الجديدة

إشعار يوضح موقع الاستلام والمنطقة والمسافة التقريبية والأجرة، مع وقت محدد للقبول أو الرفض.

قبول المهمة

بعد القبول تُحجز المهمة للموظف، تظهر معلومات المحل ويبدأ احتساب الوقت حتى الوصول.

🧭

الخريطة والملاحة

مسار مباشر إلى المحل ثم إلى المستلم، الموقع الحالي والمسافة والوقت المتوقع وزر فتح تطبيق الخرائط.

🏪

الاستلام من المحل

رقم الطلب واسم المحل وتفاصيل التواصل الضرورية، فحص سلامة التغليف وتأكيد الاستلام برمز خاص.

🔄

تحديث حالة التوصيل

«في الطريق إلى المحل»، «تم الاستلام»، «في الطريق للمستلم»، «وصلت للموقع» ثم «تم التسليم».

📞

التواصل الآمن

الاتصال بالمحل أو المستلم عند الحاجة من داخل التطبيق، مع إخفاء أرقامهم الشخصية قدر الإمكان.

🔐

إثبات التسليم

رمز يرسله المستلم أو توقيع وصورة حسب نوع الطلب، لمنع التسليم الخطأ وتوثيق إكمال المهمة.

💵

تحصيل الدفع النقدي

إظهار المبلغ المطلوب تحصيله بدقة، تأكيد استلامه، وتسجيل المبلغ الذي يجب تسويته مع الإدارة أو المحل.

تعذر التسليم

اختيار سبب مثل عدم الرد أو عنوان غير صحيح، الاتصال بالدعم، وإرفاق إثبات قبل إعادة الطلب للمحل.

📋

سجل التوصيلات

الطلبات الحالية والمكتملة والملغاة مع التاريخ والمسافة والأجرة وطريقة الدفع وتفاصيل كل مهمة.

💰

الأرباح والمحفظة

أرباح اليوم والأسبوع والشهر، الحوافز والخصومات، الرصيد المتاح، التسويات وطلب سحب المستحقات.

📈

الأداء والتقييم

عدد المهام ونسبة القبول ومتوسط وقت التوصيل والتقييمات، مع تنبيهات لتحسين جودة الخدمة.

🎯

المناطق وساعات العمل

اختيار مناطق التغطية المسموحة وجدول التوفر، مع إمكانية إضافة حوافز لأوقات الذروة.

🔔

الإشعارات

مهام جديدة وتغييرات الطلب ورسائل الإدارة وتحويل الأرباح وانتهاء الوثائق أو الحاجة لتحديثها.

🆘

الدعم والطوارئ

دعم مباشر أثناء المهمة، الإبلاغ عن حادث أو مشكلة مع الطلب، ومشاركة الموقع مع الإدارة عند الطوارئ.

الملف والأمان

تحديث الصورة والمركبة والوثائق والحساب المالي، تغيير كلمة المرور والتحقق بخطوتين وسجل الدخول.

حدود صلاحية موظف التوصيللا يرى محتوى رسالة الهدية الخاصةلا يغيّر قيمة الطلب أو أجرة التوصيللا يدخل إلى بيانات المحل الماليةلا يشاهد إلا الطلب المعيّن له

صلاحيات التاجر بالتفصيل

كل ما يحتاجه صاحب محل الورد

يحصل كل تاجر على لوحة خاصة بمتجره فقط؛ يدير منها المنتجات والطلبات والأموال وفريق العمل، بدون الوصول إلى بيانات المحلات الأخرى أو إعدادات إدارة المنصة.

🏪

لوحة متجر بيت الورد

حساب مستقل وآمن لإدارة نشاط المحل داخل منصة «بايع الورد».

✓ يستطيع التاجرإدارة متجره ومنتجاته وطلباته وموظفيه ومستحقاته.
× لا يستطيع التاجرمشاهدة بيانات المنافسين أو تغيير عمولة المنصة أو إعدادات الأدمن.
🏠

الرئيسية وملخص المتجر

طلبات اليوم، المبيعات، الطلبات الجديدة وقيد التجهيز، المنتجات النافدة، التقييم، صافي المستحقات والتنبيهات.

🏪

ملف المتجر

تعديل اسم ووصف المحل والشعار والغلاف والهاتف والعنوان، مناطق الخدمة، أوقات الدوام وأيام الإغلاق.

🌹

المنتجات

إضافة وتعديل وحذف الباقات والهدايا، رفع الصور، الوصف، السعر والخصم والحجم والألوان والإضافات.

📦

المخزون والتوفر

تحديد الكمية، إيقاف منتج مؤقتًا، تنبيه قرب النفاد، ووقت تجهيز المنتجات المصنوعة حسب الطلب.

🛍

استقبال الطلبات

إشعار فوري، مشاهدة المنتجات وموعد التسليم، وقبول الطلب أو رفضه مع ذكر السبب.

🔄

تحديث حالة الطلب

تحويله من «مقبول» إلى «قيد التجهيز» ثم «جاهز للاستلام»، وإبلاغ الإدارة عن التأخير أو النقص.

🛵

تسليم موظف التوصيل

مشاهدة الموظف المعيّن، تأكيد تسليمه الطلب، واستخدام رمز استلام لمنع تسليمه للشخص الخطأ.

🧩

باقات «صمّم بنفسك»

تحديد أنواع وألوان الورد وأسعار الأحجام والتغليف والبطاقات والشوكولاتة والبالونات والإضافات.

🏷

العروض والخصومات

إنشاء خصومات، تحديد البداية والنهاية والحد الأدنى، والمشاركة في حملات المنصة بموافقة الإدارة.

💰

المبيعات والمستحقات

قيمة الطلبات والعمولة والاستردادات وصافي الربح والدفعات المستلمة والمتبقية وطلب السحب.

📄

الفواتير وكشوف الحساب

عرض وتنزيل فاتورة كل طلب وكشف يومي أو شهري بتفاصيل المبيعات والعمولة والضرائب إن وجدت.

📈

التقارير

المبيعات، أفضل المنتجات، أوقات الذروة، نسبة القبول والإلغاء، متوسط التجهيز وآراء الزبائن.

التقييمات

قراءة تقييمات الزبائن والرد عليها، الإبلاغ عن المخالف، ومتابعة تقييم جودة المنتج والتجهيز.

💬

الدعم والمشكلات

فتح تذكرة عن طلب أو دفعة أو موظف توصيل، إرفاق المستندات، ومتابعة الرد وحالة المشكلة.

👨‍💼

موظفو المحل والصلاحيات

حسابات للعاملين وتحديد من يعدّل المنتجات أو يقبل الطلبات أو يرى الأموال والتقارير.

🔔

الإشعارات

تنبيهات الطلبات والإلغاء والتأخير ونفاد المخزون وتحويل المستحقات عبر التطبيق أو البريد.

🔐

الحساب والأمان

كلمة المرور والتحقق بخطوتين وبيانات المالك والحساب البنكي والأجهزة وسجل الدخول.

📜

العقد وسياسات المنصة

مراجعة نسبة العمولة المتفق عليها والعقد، وسياسة الإلغاء والاسترجاع وشروط البيع داخل المنصة.

تقنيات تنفيذ المشروع

Laravel للباك إند، وFlutter للتطبيقات

سيتم تنفيذ المشروع بشكل صريح على بنية حديثة: باك إند مركزي بلارافيل يربط جميع أجزاء المنصة، وثلاثة تطبيقات موبايل مبنية بفلاتر تعمل على Android وiPhone.

👤
تطبيق العميلFlutter · Android + iOS
🏪
تطبيق التاجرFlutter · Android + iOS
🛵
تطبيق موظف التوصيلFlutter · Android + iOS
REST API / JSON
الخادم الخلفي

Laravel Backend

الحسابات والصلاحيات · الطلبات · المنتجات · الدفع · التوصيل · الإشعارات · التقارير

قاعدة بيانات موحدة
🗄MySQL / PostgreSQLقاعدة البيانات
🔔Firebaseالإشعارات الفورية
🗺Google Mapsالخرائط والتتبع
🖥Laravel Webلوحة الأدمن
ما الذي يفعله Flutter؟

واجهة تطبيقات الموبايل التي يستخدمها العميل والتاجر وموظف التوصيل. قاعدة كود واحدة تنتج تطبيق Android وتطبيق iPhone لكل فئة.

ما الذي يفعله Laravel؟

يدير منطق المشروع والبيانات والصلاحيات والطلبات والأسعار والمدفوعات، ويقدم API آمنًا تتصل به تطبيقات Flutter.

لوحة الإدارة

لوحة Web مرتبطة مباشرة بباك إند Laravel، ويستخدمها الأدمن من المتصفح لإدارة المنصة كاملة.

الخلاصة التقنية: المشروع = Flutter Mobile Apps + Laravel Backend & API + Laravel Web Admin Dashboard + MySQL/PostgreSQL Database

خطة واقعية للنمو

نبدأ من بغداد،
ونكبر مدينة مدينة

إطلاق نسخة أولى مركّزة مع عدد محدود من المحلات الموثوقة، ثم إضافة الخدمات والتوسع بناءً على النتائج.

01
إطلاق النسخة الأساسية MVPبغداد · 20–30 محلًا · الدفع عند الاستلام
02
تطوير المنصةمحلات ومندوبون أكثر · دفع إلكتروني · هدايا
03
التوسع داخل العراقالبصرة · أربيل · النجف · كربلاء · الموصل

نموذج العمل

مصادر دخل واضحة ومرتبطة بالطلبات

يعتمد دخل المنصة على العمليات الفعلية داخل المشروع، بدون اشتراكات للمحلات أو إعلانات مدفوعة.

٪

عمولة الطلبات

نسبة 10%–20% من قيمة كل طلب مكتمل، وتُحدد حسب الاتفاق مع المحل.

🛵

رسوم التوصيل

تُحسب حسب المسافة بين المحل والمستلم، وتظهر للعميل بوضوح قبل تأكيد الطلب.

🌹

كل وردة تحمل حكاية

«بايع الورد» يحوّل الهدية من فكرة إلى لحظة فرح تصل بوقتها.

تواصل معنا

Laravel Driver API

روابط API المتوقعة لموظف التوصيل

تبدأ المسارات بـ /api/v1/driver. كل طلب وتتبّع وإثبات تسليم مرتبط بالموظف المعيّن للمهمة فقط، مع تسجيل الموقع والعمليات الحساسة في Laravel.

GET قراءةPOST إنشاء أو تنفيذPATCH تعديلDELETE حذف
حماية المهمةSanctum TokenDriver ScopeAssigned Delivery OnlyLocation ConsentAudit Trail

🪪 التسجيل والتحقق

  • POST/registerطلب التسجيل
  • POST/verify-otpتأكيد الهاتف
  • POST/resend-otpإعادة الرمز
  • POST/application/documentsرفع الوثائق
  • GET/application/statusحالة طلب الانضمام
  • POST/loginتسجيل الدخول
  • POST/forgot-passwordاستعادة كلمة المرور
  • POST/reset-passwordتعيين كلمة جديدة
  • POST/logoutتسجيل الخروج
  • POST/logout-allإغلاق الجلسات

👤 الملف والوثائق

  • GET/meالحساب والحالة
  • PATCH/profileتعديل البيانات
  • POST/profile/photoالصورة الشخصية
  • PATCH/passwordتغيير كلمة المرور
  • GET/documentsالوثائق وحالتها
  • POST/documentsرفع أو تجديد وثيقة
  • GET/documents/expiringوثائق قاربت الانتهاء
  • GET/vehicleبيانات المركبة
  • PATCH/vehicleتحديث المركبة
  • GET/devicesالأجهزة النشطة
  • DELETE/devices/{id}إلغاء جلسة

🟢 التوفر والدوام

  • GET/availabilityالحالة الحالية
  • PATCH/availabilityمتاح أو غير متاح
  • GET/working-hoursجدول العمل
  • PATCH/working-hoursتعديل الجدول
  • GET/service-zonesمناطق العمل
  • PATCH/service-zonesاختيار المناطق
  • GET/shiftالوردية الحالية
  • POST/shift/startبدء الوردية
  • POST/shift/endإنهاء الوردية
  • GET/shift/summaryملخص الوردية

📲 مهام التوصيل الجديدة

  • GET/delivery-offersالمهام المعروضة
  • GET/delivery-offers/{id}المسافة والمنطقة والأجرة
  • POST/delivery-offers/{id}/acceptقبول المهمة
  • POST/delivery-offers/{id}/rejectرفض المهمة
  • POST/delivery-offers/{id}/expireانتهاء وقت العرض
  • GET/delivery-offers/settingsتفضيلات استقبال المهام
  • PATCH/delivery-offers/settingsتعديل التفضيلات

🛵 المهمة الحالية

  • GET/deliveries/currentالمهمة النشطة
  • GET/deliveries/{id}تفاصيل المهمة المسموحة
  • GET/deliveries/{id}/timelineسجل الحالات
  • GET/deliveries/{id}/pickupبيانات المحل
  • GET/deliveries/{id}/dropoffبيانات التسليم الضرورية
  • GET/deliveries/{id}/feeأجرة المهمة
  • POST/deliveries/{id}/arrived-storeوصل إلى المحل
  • POST/deliveries/{id}/report-delayالإبلاغ عن تأخير
  • POST/deliveries/{id}/cancel-requestطلب الانسحاب للطوارئ

🏪 استلام الطلب

  • GET/deliveries/{id}/pickup-codeطلب رمز الاستلام
  • POST/deliveries/{id}/verify-pickupالتحقق من الرمز
  • POST/deliveries/{id}/pickupتأكيد استلام الطلب
  • POST/deliveries/{id}/package-checkتأكيد سلامة التغليف
  • POST/deliveries/{id}/pickup-issueمشكلة في المحل أو الطلب
  • POST/deliveries/{id}/pickup-evidenceرفع صورة عند الحاجة
  • GET/deliveries/{id}/pickup-contactتواصل آمن مع المحل

🧭 الموقع والملاحة

  • POST/locationتحديث الموقع الحالي
  • POST/location/batchرفع نقاط عند عودة الإنترنت
  • GET/deliveries/{id}/routeمسار المهمة
  • GET/deliveries/{id}/navigationرابط فتح الخرائط
  • GET/deliveries/{id}/etaوقت الوصول المتوقع
  • POST/deliveries/{id}/route-issueإغلاق طريق أو مشكلة مسار
  • PATCH/location-sharingموافقة مشاركة الموقع

📍 الوصول والتواصل

  • POST/deliveries/{id}/en-routeفي الطريق للمستلم
  • POST/deliveries/{id}/arrived-dropoffوصل إلى الموقع
  • POST/deliveries/{id}/contact-storeاتصال آمن بالمحل
  • POST/deliveries/{id}/contact-recipientاتصال آمن بالمستلم
  • POST/deliveries/{id}/contact-supportالتواصل مع الدعم
  • POST/deliveries/{id}/recipient-unreachableالمستلم لا يرد
  • POST/deliveries/{id}/wrong-addressعنوان غير صحيح
  • POST/deliveries/{id}/wait-startبدء وقت الانتظار
  • POST/deliveries/{id}/wait-endإنهاء الانتظار

🔐 إثبات التسليم

  • POST/deliveries/{id}/verify-delivery-codeالتحقق من رمز المستلم
  • POST/deliveries/{id}/signatureرفع التوقيع
  • POST/deliveries/{id}/proof-photoصورة إثبات عند السماح
  • POST/deliveries/{id}/completeإكمال التسليم
  • GET/deliveries/{id}/proofملخص الإثبات
  • POST/deliveries/{id}/failedتعذر التسليم
  • POST/deliveries/{id}/return-to-storeبدء إعادة الطلب
  • POST/deliveries/{id}/return-completeتأكيد الإعادة للمحل

💵 التحصيل النقدي والعهدة

  • GET/deliveries/{id}/cash-dueالمبلغ المطلوب تحصيله
  • POST/deliveries/{id}/cash-collectedتأكيد استلام النقد
  • POST/deliveries/{id}/cash-issueمشكلة في المبلغ
  • GET/cash-walletالعهدة الحالية
  • GET/cash-wallet/transactionsحركة العهدة
  • GET/cash-settlementsسجل التسويات
  • POST/cash-settlementsطلب تسوية العهدة
  • GET/cash-settlements/{id}تفاصيل التسوية
  • POST/cash-settlements/{id}/receiptرفع إيصال التسليم

📋 سجل التوصيلات

  • GET/deliveriesكل التوصيلات
  • GET/deliveries/completedالمكتملة
  • GET/deliveries/failedالمتعذرة
  • GET/deliveries/cancelledالملغاة
  • GET/deliveries/{id}/receiptإيصال المهمة
  • GET/deliveries/exportتصدير السجل

💰 الأرباح والمحفظة

  • GET/earnings/summaryأرباح اليوم والأسبوع والشهر
  • GET/earningsتفاصيل الأرباح
  • GET/earnings/{id}أجرة مهمة محددة
  • GET/walletالرصيد المتاح والمعلق
  • GET/wallet/transactionsحركات المحفظة
  • POST/withdrawal-requestsطلب سحب
  • GET/withdrawal-requestsطلبات السحب
  • POST/withdrawal-requests/{id}/cancelإلغاء طلب معلق
  • GET/payout-accountحساب استلام الأرباح
  • PATCH/payout-accountطلب تحديث الحساب

📈 الأداء والتقييم

  • GET/performanceمؤشرات الأداء
  • GET/performance/acceptance-rateنسبة قبول المهام
  • GET/performance/delivery-timeمتوسط وقت التوصيل
  • GET/ratingsالتقييمات
  • GET/ratings/summaryملخص النجوم
  • POST/ratings/{id}/reportالإبلاغ عن تقييم مخالف
  • GET/incentivesالحوافز المتاحة
  • GET/incentives/progressالتقدم نحو الحافز

🆘 الدعم والطوارئ

  • GET/support-ticketsتذاكر الدعم
  • POST/support-ticketsفتح تذكرة
  • GET/support-tickets/{id}التفاصيل
  • POST/support-tickets/{id}/replyرد أو مرفق
  • POST/emergencyإبلاغ طارئ
  • POST/emergency/share-locationمشاركة الموقع مع الإدارة
  • POST/incident-reportsبلاغ حادث
  • GET/incident-reports/{id}حالة البلاغ
  • GET/faqsالأسئلة الشائعة
  • GET/policiesسياسات التوصيل

🔔 الإشعارات والإعدادات

  • GET/notificationsالإشعارات
  • GET/notifications/unread-countغير المقروء
  • PATCH/notifications/{id}/readتعليم كمقروء
  • PATCH/notifications/read-allقراءة الكل
  • GET/notification-settingsإعدادات التنبيه
  • PATCH/notification-settingsتعديل الإعدادات
  • POST/devices/fcm-tokenرمز Firebase
  • GET/app-settingsإعدادات التطبيق
  • GET/app-versionالتحقق من التحديث
حدود صلاحيات الموظفلا يرى إلا المهمة المعيّنة لهلا يرى رسالة الهديةلا يغيّر الأجرة أو قيمة الطلبلا يعتمد استردادًالا يرى بيانات مالية للمحلالموقع يُشارك أثناء العمل فقط

Laravel Customer API

روابط API المتوقعة لتطبيق العميل

تبدأ المسارات بـ /api/v1/customer. المسارات العامة للتصفح لا تحتاج تسجيلًا، بينما السلة والطلب والدفع والتتبع محمية باستخدام Laravel Sanctum.

GET قراءةPOST إنشاء أو تنفيذPATCH تعديلDELETE حذف
تجربة آمنةGuest BrowsingSanctum TokenOTP VerificationRate LimitingIdempotent Payment

🔐 التسجيل والدخول

  • POST/registerإنشاء حساب
  • POST/verify-otpتأكيد رقم الهاتف
  • POST/resend-otpإعادة إرسال الرمز
  • POST/loginتسجيل الدخول
  • POST/forgot-passwordاستعادة كلمة المرور
  • POST/reset-passwordكلمة مرور جديدة
  • POST/logoutتسجيل الخروج
  • POST/logout-allإغلاق كل الجلسات
  • GET/meالحساب الحالي
  • PATCH/profileتعديل الملف
  • PATCH/passwordتغيير كلمة المرور
  • DELETE/accountطلب حذف الحساب

🏠 الرئيسية والاكتشاف

  • GET/homeمحتوى الرئيسية
  • GET/home/bannersالبنرات
  • GET/home/featured-storesالمحلات المقترحة إداريًا
  • GET/home/best-sellersالأكثر مبيعًا
  • GET/home/recommendedاقتراحات للعميل
  • GET/categoriesالتصنيفات
  • GET/categories/{id}/productsمنتجات التصنيف
  • GET/occasionsالمناسبات
  • GET/occasions/{id}/productsهدايا المناسبة

🔎 البحث والتصفية

  • GET/searchبحث شامل
  • GET/search/suggestionsاقتراحات فورية
  • GET/search/recentعمليات البحث الأخيرة
  • DELETE/search/recentمسح سجل البحث
  • GET/productsبحث وتصفية المنتجات
  • GET/storesبحث وتصفية المحلات
  • GET/delivery/availabilityالتحقق من تغطية المنطقة
  • GET/delivery/estimateوقت ورسوم متوقعة

🏪 المحلات والمنتجات

  • GET/stores/{id}صفحة المحل
  • GET/stores/{id}/productsمنتجات المحل
  • GET/stores/{id}/reviewsتقييمات المحل
  • GET/stores/{id}/availabilityالدوام والتوفر
  • GET/products/{id}تفاصيل المنتج
  • GET/products/{id}/variantsالأحجام والألوان
  • GET/products/{id}/addonsالإضافات المتاحة
  • GET/products/{id}/reviewsتقييمات المنتج
  • GET/products/{id}/relatedمنتجات مشابهة

🧩 صمّم باقتك بنفسك

  • GET/stores/{store}/bouquet-builderإعدادات مصمم الباقة
  • GET/stores/{store}/bouquet-optionsالورد والألوان والتغليف
  • GET/stores/{store}/gift-addonsالشوكولاتة والبالونات
  • POST/bouquets/previewمعاينة السعر والمكونات
  • POST/bouquets/validateالتحقق من التوفر
  • POST/bouquets/saveحفظ التصميم
  • GET/bouquets/savedالتصاميم المحفوظة
  • DELETE/bouquets/saved/{id}حذف تصميم محفوظ
  • POST/bouquets/{id}/add-to-cartإضافة الباقة للسلة

♡ المفضلة والمشاركة

  • GET/favoritesكل المفضلة
  • POST/favorites/products/{id}حفظ منتج
  • DELETE/favorites/products/{id}إزالة منتج
  • POST/favorites/stores/{id}حفظ محل
  • DELETE/favorites/stores/{id}إزالة محل
  • GET/products/{id}/shareرابط مشاركة المنتج
  • GET/stores/{id}/shareرابط مشاركة المحل

🛒 السلة والتسعير

  • GET/cartالسلة الحالية
  • POST/cart/itemsإضافة منتج
  • PATCH/cart/items/{id}تعديل الكمية والإضافات
  • DELETE/cart/items/{id}حذف عنصر
  • DELETE/cartتفريغ السلة
  • POST/cart/couponتطبيق كوبون
  • DELETE/cart/couponإزالة الكوبون
  • POST/cart/validateفحص الأسعار والتوفر
  • GET/cart/summaryتفصيل المبلغ النهائي

📍 العناوين والمستلم

  • GET/addressesالعناوين المحفوظة
  • POST/addressesإضافة عنوان
  • GET/addresses/{id}تفاصيل العنوان
  • PATCH/addresses/{id}تعديل العنوان
  • PATCH/addresses/{id}/defaultتعيين الافتراضي
  • DELETE/addresses/{id}حذف العنوان
  • POST/addresses/reverse-geocodeتحويل الموقع إلى عنوان
  • GET/delivery-slotsالمواعيد المتاحة
  • POST/delivery-slots/checkتأكيد توفر الموعد

✅ إنشاء الطلب

  • POST/checkout/validateمراجعة نهائية
  • GET/checkout/payment-methodsوسائل الدفع المتاحة
  • POST/ordersإنشاء الطلب
  • GET/orders/{id}/confirmationتأكيد ورقم الطلب
  • POST/orders/{id}/gift-messageحفظ رسالة البطاقة
  • PATCH/orders/{id}/sender-privacyتفعيل هدية مجهولة
  • GET/orders/{id}/invoiceالفاتورة
  • POST/orders/{id}/repeatإعادة الطلب

💳 الدفع

  • POST/payments/intentإنشاء عملية دفع
  • POST/payments/{id}/confirmتأكيد الدفع
  • GET/payments/{id}/statusحالة العملية
  • POST/payments/{id}/retryإعادة المحاولة
  • GET/payment-methodsالطرق المحفوظة
  • DELETE/payment-methods/{id}حذف طريقة محفوظة
  • GET/transactionsسجل المدفوعات
  • GET/transactions/{id}تفاصيل الحركة

🛵 الطلبات والتتبع

  • GET/ordersطلباتي
  • GET/orders/activeالطلبات الحالية
  • GET/orders/{id}تفاصيل الطلب
  • GET/orders/{id}/timelineمراحل الطلب
  • GET/orders/{id}/trackingالتتبع المباشر
  • GET/orders/{id}/driverبيانات موظف التوصيل المسموحة
  • GET/orders/{id}/etaوقت الوصول المتوقع
  • POST/orders/{id}/delivery-codeإنشاء رمز التسليم
  • POST/orders/{id}/contact-driverاتصال آمن
  • POST/orders/{id}/contact-supportدعم مرتبط بالطلب

↩ الإلغاء والاسترجاع

  • GET/orders/{id}/cancellation-optionsإمكانية وأسباب الإلغاء
  • POST/orders/{id}/cancelطلب إلغاء
  • GET/refundsطلبات الاسترداد
  • POST/refundsإنشاء طلب استرداد
  • GET/refunds/{id}حالة الاسترداد
  • POST/refunds/{id}/evidenceرفع صورة أو دليل
  • POST/refunds/{id}/cancelإلغاء طلب الاسترداد

⭐ التقييمات

  • GET/orders/{id}/review-eligibilityالتحقق من إمكانية التقييم
  • POST/orders/{id}/reviewsتقييم المنتج والمحل والتوصيل
  • GET/reviewsتقييماتي
  • GET/reviews/{id}تفاصيل التقييم
  • PATCH/reviews/{id}تعديل ضمن المدة
  • DELETE/reviews/{id}حذف التقييم
  • POST/reviews/{id}/imagesإضافة صور

🎟 الكوبونات والمحفظة

  • GET/coupons/availableالكوبونات المتاحة
  • POST/coupons/validateالتحقق من الكوبون
  • GET/walletالرصيد
  • GET/wallet/transactionsحركات المحفظة
  • GET/rewardsالمكافآت
  • GET/rewards/historyسجل النقاط

🔔 الإشعارات

  • GET/notificationsالإشعارات
  • GET/notifications/unread-countعدد غير المقروء
  • PATCH/notifications/{id}/readتعليم كمقروء
  • PATCH/notifications/read-allقراءة الكل
  • DELETE/notifications/{id}حذف إشعار
  • GET/notification-settingsإعدادات التنبيه
  • PATCH/notification-settingsتعديل الإعدادات
  • POST/devices/fcm-tokenتسجيل Firebase Token

🎧 الدعم والمساعدة

  • GET/support-ticketsتذاكر الدعم
  • POST/support-ticketsفتح تذكرة
  • GET/support-tickets/{id}التفاصيل والمحادثة
  • POST/support-tickets/{id}/replyرد أو مرفق
  • POST/support-tickets/{id}/closeإغلاق التذكرة
  • GET/faqsالأسئلة الشائعة
  • GET/pages/{slug}الشروط والخصوصية
  • POST/contactالتواصل العام

⚙ الإعدادات والخصوصية

  • GET/settingsإعدادات العميل
  • PATCH/settingsاللغة والتفضيلات
  • GET/devicesالأجهزة النشطة
  • DELETE/devices/{id}إلغاء جهاز
  • POST/privacy/export-dataطلب نسخة من البيانات
  • GET/privacy/consentsموافقات الخصوصية
  • PATCH/privacy/consentsتعديل الموافقات
  • POST/account/deactivateتعطيل مؤقت
حماية العميل والمستلملا تظهر بيانات المحل الداخليةلا يظهر موقع موظف التوصيل قبل استلامه الطلبلا تُكشف هوية الهدية المجهولةلا يُخزن رقم البطاقة كاملًاكل طلب مرتبط بصاحبه فقط