**المميزات الرئيسية**
*المصادقة والتفويض*
التسجيل، تسجيل الدخول، تسجيل الخروج، تحديث، وإعادة تعيين كلمة المرور.
*ملف المستخدم*
تحديث اسم المستخدم، والصورة، والبريد الإلكتروني، وكلمة المرور، ومعلومات أخرى.
يمكن للمستخدم أن يكون إما مستخدمًا عاديًا أو مسؤولًا أو مرشدًا رئيسيًا أو مرشدًا.
عند تسجيل المستخدم، يكون هذا المستخدم بشكل افتراضي مستخدمًا عاديًا.
*الجولة*
إدارة الحجوزات، فحص خريطة الجولة، فحص تقييمات وآراء المستخدمين.
يمكن إنشاء الجولات من قبل مستخدم مسؤول أو مرشد رئيسي.
يمكن لكل مستخدم رؤية الجولات.
يمكن تحديث الجولات من قبل مستخدم مسؤول أو مرشد رئيسي.
يمكن حذف الجولات من قبل مستخدم مسؤول أو مرشد رئيسي.
*الحجوزات*
يمكن للمستخدمين العاديين فقط حجز الجولات (إجراء دفع).
لا يمكن للمستخدمين العاديين حجز نفس الجولة مرتين.
يمكن للمستخدمين العاديين رؤية جميع الجولات التي حجزوها.
يمكن لمستخدم مسؤول أو مرشد رئيسي رؤية كل حجز في التطبيق.
يمكن لمستخدم مسؤول أو مرشد رئيسي حذف أي حجز.
يمكن لمستخدم مسؤول أو مرشد رئيسي إنشاء حجز (يدويًا، بدون دفع).
لا يمكن لمستخدم مسؤول أو مرشد رئيسي إنشاء حجز لنفس المستخدم مرتين.
يمكن لمستخدم مسؤول أو مرشد رئيسي تحرير أي حجز.
*التقييمات*
يمكن للمستخدمين العاديين فقط كتابة تقييمات للجولات التي حجزوها.
يمكن لجميع المستخدمين رؤية تقييمات كل جولة.
يمكن للمستخدمين العاديين تحرير وحذف تقييماتهم الخاصة.
لا يمكن للمستخدمين العاديين استعراض نفس الجولة مرتين.
يمكن للمسؤول حذف أي تقييم.
*الجولات المفضلة*
يمكن للمستخدم العادي إضافة أي جولة حجزها إلى قائمة جولاته المفضلة.
يمكن للمستخدم العادي إزالة جولة من قائمة جولاته المفضلة.
لا يمكن للمستخدم العادي إضافة جولة إلى قائمة جولاته المفضلة عندما تكون بالفعل مفضلة.
*دفع ببطاقة الائتمان*
=========================================================================
**Key Features **
*Authentication and Authorization*
Sign up, Log in, Logout, Update, and reset password.
*User profile*
Update username, photo, email, password, and other information
A user can be either a regular user or an admin or a lead guide or a guide.
When a user signs up, that user by default regular user.
*Tour*
Manage booking, check tour map, check users' reviews and rating
Tours can be created by an admin user or a lead-guide.
Tours can be seen by every user.
Tours can be updated by an admin user or a lead guide.
Tours can be deleted by an admin user or a lead-guide.
*Bookings*
Only regular users can book tours (make a payment).
Regular users can not book the same tour twice.
Regular users can see all the tours they have booked.
An admin user or a lead guide can see every booking on the app.
An admin user or a lead guide can delete any booking.
An admin user or a lead guide can create a booking (manually, without payment).
An admin user or a lead guide can not create a booking for the same user twice.
An admin user or a lead guide can edit any booking.
*Reviews*
Only regular users can write reviews for tours that they have booked.
All users can see the reviews of each tour.
Regular users can edit and delete their own reviews.
Regular users can not review the same tour twice.
An admin can delete any review.
*Favorite Tours*
A regular user can add any of their booked tours to their list of favorite tours.
A regular user can remove a tour from their list of favorite tours.
A regular user can not add a tour to their list of favorite tours when it is already a favorite.
*Credit card Payment*