User Stories
Admin
- As an Admin, I want to log in with email or Google to access Django Admin securely.
- As an Admin, I want to reset my password via email if I forget it.
- As an Admin, I want to approve or reject traveller accounts to maintain quality.
- As an Admin, I want to designate travellers as Trip Leaders to enable group management.
- As an Admin, I want to suspend or delete user accounts to enforce compliance.
- As an Admin, I want to view all user roles and permissions for oversight.
- As an Admin, I want to approve or reject travel agencies and hotels so that the system maintains quality.
- As an Admin, I want to manage all users, packages, and itineraries via Django Admin.
- As an Admin, I want to manage the hotel listings manually in MVP so that we launch quickly.
Traveller
- As a Traveller, I want to register with email or Google to start planning trips.
- As a Traveller, I want to log in securely to access my dashboard.
- As a Traveller, I want to reset my password via email if I forget it.
- As a Traveller, I want to browse popular travel packages so that I can get inspired quickly.
- As a Traveller, I want to enter basic preferences (days, group size) so that I get more relevant packages.
- As a Traveller, I want to customize a package into my personal itinerary so that it matches my exact needs.
- As a Traveller, I want to view my itinerary in Brief or Detailed modes to plan effectively.
- As a Traveller, I want to save and share my itineraries via link/email.
- As a Traveller, I want to view my itinerary on a map so that I understand the route.
- As a Traveller, I want to select hotels for each day of the trip so that I can plan accommodations.
- As a Traveller, I want to use the route/map feature even without creating an itinerary so that I can explore places casually.
- As a Traveller, I want to join a group itinerary via email invitation to travel with others.
- As a Traveller, I want to view group itineraries I’ve joined without editing them.
- As a Traveler, I want AI-based package suggestions to simplify planning.
Trip Leader
- As a Trip Leader, I can perform all traveller actions, including registering, logging in, resetting my password, browsing packages, filtering preferences, customizing itineraries, viewing maps, selecting hotels, using maps casually, and joining group itineraries.
- As a Trip Leader, I want to access a travel panel to manage group itineraries.
- As a Trip Leader, I want to create group itineraries by customizing packages for my group.
- As a Trip Leader, I want to invite travellers via email to join my itinerary.
- As a Trip Leader, I want to add or remove travellers based on destinations to tailor the group experience.
- As a Trip Leader, I want to edit group itineraries, ensuring other members have read-only access.
These stories will be used to build the development backlog and prioritize features for each sprint.