Skip to content

Functional requirements

ownerofglory edited this page Dec 9, 2023 · 3 revisions
  1. User Management
  • FR1.1: The system must support multiple user types: customers, staff, and administrators.
  • FR1.2: Customers can create accounts using email, username, and password, or book as guests.
  • FR1.3: Users must be able to sign in using their external identity (Google, Facebook, etc.).
  • FR1.4: Staff and administrators' accounts are created through a secure internal process.
  • FR1.5: Users should be able to log in to their respective accounts with role-specific access and privileges.
  • FR1.6: The system should provide password recovery options for all user types.
  • FR1.7: Administrators must have the ability to manage (create, edit, delete) accounts for staff.
  1. Hotel Management
  • FR2.1: Customers must be able to search for hotels by location, date, and number of guests.
  • FR2.2: The system should display a list of available hotels based on the search criteria.
  • FR2.3: Customers must be able to view detailed information about each hotel, including amenities, ratings, and reviews.
  • FR2.4: Customers should be able to book hotel rooms, specifying check-in and check-out dates.
  1. Car Rental Management
  • FR3.1: Customers should be able to search for car rentals by location and rental dates.
  • FR3.2: The system must list available cars for rent, including details like model, price, and terms.
  • FR3.3: Customers must be able to book a selected car for specific dates.
  1. Flight Booking
  • FR4.1: Customers must be able to search for flights by departure and arrival destinations, dates, and number of passengers.
  • FR4.2: The system should display available flight options with details like duration, price, and airline.
  • FR4.3: Customers should be able to book flights, selecting preferred times and seating.
  1. Restaurant Reservations
  • FR5.1: Customers must be able to search for restaurants by location and desired dining date and time.
  • FR5.2: The system should provide a list of restaurants, including cuisine types, ratings, and availability.
  • FR5.3: Customers should be able to make a reservation at a restaurant for a specific date and time.
  1. Sightseeing and Activities Booking
  • FR6.1: Customers must be able to search for local sightseeing spots and activities by location and date.
  1. Payment Processing
  • FR7.1: The system must securely process payments for bookings.
  • FR7.2: Customers should receive confirmation of successful payments and bookings via email.
  1. Itinerary Management
  • FR8.1: Customers must be able to view and manage their itinerary, including all bookings made (hotels, flights, car rentals, etc.).
  • FR8.2: The system should allow users to modify or cancel bookings.
  1. Reviews and Ratings
  • FR9.1: After the completion of their hotel stay, car rental, or activity, customers should be able to leave a review and rating.
  • FR9.2: The system must display these reviews and ratings to other Customers.
  1. Notifications and Alerts
  • FR10.1: Customers should receive notifications for booking confirmations, reminders, and changes.
  • FR10.2: Staff and administrators should receive system-generated alerts for relevant operational updates.
  1. Help and Support
  • FR11.1: Customers should have access to a help section with FAQs.
  • FR11.2: All users should have access to a customer support contact for inquiries and assistance.
  1. Administrative Functions
  • FR12.1: Administrators must be able to access and manage all system data, including user information, booking details, and financial reports.
  1. Staff Functions
  • FR13.1: Staff members should have access to manage bookings, including confirmations, modifications, and cancellations.
  • FR13.2: Staff can assist with customer inquiries and resolve issues related to bookings.
  1. Security and Access Control
  • FR14.1: The system must implement role-based access control (RBAC) to ensure users can only access features and data relevant to their role.
  • FR14.2: Sensitive user data must be protected.
Clone this wiki locally