Inbound Group Management System - Requirements Specification¶
Document Information¶
| Property | Value |
|---|---|
| Document Version | 1.1 |
| Last Updated | 2026-03-10 |
| Status | Draft |
| Owner | Product Management |
| Target Release | TBD |
Table of Contents¶
- Introduction
- Scope
- Functional Requirements
- Non-Functional Requirements
- User Interface Requirements
- Data Requirements
- Integration Requirements
- Future Enhancement Requirements
1. Introduction¶
1.1 Purpose¶
This document specifies the requirements for an Inbound Group Management System designed for tour operators who handle tourist group bookings from international partner agencies. The system must support the complete lifecycle of group travel management from initial inquiry through post-departure invoicing.
1.2 Business Context¶
Tour operators need to coordinate multiple aspects of group travel including passenger manifests, accommodation arrangements, activity bookings, ground transportation, and financial management. The system must provide a centralized platform for managing all these elements while maintaining clear cost/pricing separation for profitability tracking.
1.3 Target Users¶
- Operations Managers: Overall group coordination and status monitoring
- Reservations Staff: Creating quotes, managing bookings
- Operations Coordinators: Day-to-day activity and transport coordination
- Finance Staff: Pricing, invoicing, and margin analysis
- Management: Reporting and business analytics
1.4 Key Business Objectives¶
- Reduce manual effort in group booking management
- Improve accuracy in passenger and rooming list management
- Provide real-time visibility into group profitability
- Streamline quote generation and approval processes
- Enable efficient coordination with partner agencies and suppliers
2. Scope¶
2.1 In Scope¶
- Group registration and lifecycle management
- Passenger information management
- Hotel accommodation booking and room assignment
- Activity and service scheduling
- Ground transportation coordination
- Financial tracking (costs, prices, margins)
- Quote generation
- Calendar and timeline visualization
- Search and filtering capabilities
2.2 Out of Scope (Current Phase)¶
- Flight booking management
- Payment processing and accounting integration
- Document storage and management
- Email and communication tracking
- Mobile applications
- Supplier portal
- Customer/partner self-service portal
3. Functional Requirements¶
3.1 Group Management¶
REQ-GRP-001: Create New Group¶
Priority: MUST Description: The system shall allow users to create a new group booking with essential information.
Acceptance Criteria: - User can enter group name and description - User can select partner agency from existing partners or create new - User can specify arrival date and time - User can specify departure date and time - User can enter expected number of passengers (adults + children) - User can enter expected number of nights - User can enter group leader name - User can enter partner contact person name - User can specify quote deadline date - User can specify confirmation deadline date - User can select currency for the group - System shall validate that departure date is after arrival date - System shall assign initial status "IN PREPARATION" - System shall generate unique group identifier upon creation
REQ-GRP-002: Search and Filter Groups¶
Priority: MUST Description: The system shall provide search capabilities to find groups based on various criteria.
Acceptance Criteria: - User can search by arrival date range (from date, to date) - User can filter by partner agency - User can combine multiple search criteria - System shall display results in a tabular list - Search results shall show: arrival date, departure date, group name, partner name, number of passengers, number of nights, status - User can click on a search result to view/edit full group details - System shall handle empty search results gracefully
REQ-GRP-003: Update Group Information¶
Priority: MUST Description: The system shall allow users to update group information at any time.
Acceptance Criteria: - All fields from group creation shall be editable - User can change group status through defined workflow states - System shall track who made changes and when - System shall validate all business rules on update - System shall warn user before saving changes that may affect dependent records
REQ-GRP-004: Group Status Management¶
Priority: MUST Description: The system shall track group booking status through defined lifecycle stages.
Acceptance Criteria: - System shall support following statuses: IN PREPARATION, QUOTE SENT, CONFIRMED, CANCELLED, ARRIVED, DEPARTED - User can change status via dropdown selection - System shall display current status prominently - Status changes shall be logged with timestamp and user
REQ-GRP-005: View Group Details¶
Priority: MUST Description: The system shall provide comprehensive view of all group-related information.
Acceptance Criteria: - User shall see group master information - User shall see list of all passengers - User shall see all hotel bookings - User shall see all room assignments - User shall see all activities/services - User shall see all transportation arrangements - User shall see financial summary - User shall see calendar view of trip timeline - Information shall be organized in logical sections/tabs - User can navigate between sections without losing context
3.2 Passenger Management¶
REQ-PAX-001: Add Individual Passenger¶
Priority: MUST Description: The system shall allow users to add passenger information to a group.
Acceptance Criteria: - User can enter passenger first name (mandatory) - User can enter passenger last name (mandatory) - User can select gender (Male/Female) - User can enter date of birth - System shall calculate age from date of birth - User can enter nationality - User can enter passport number - User can enter contact telephone - User can enter contact email - User can add notes/special requirements - System shall associate passenger with correct group - System shall generate unique passenger identifier
REQ-PAX-002: Bulk Passenger Creation¶
Priority: SHOULD Description: The system shall provide quick method to create multiple passenger placeholders.
Acceptance Criteria: - User can trigger "auto-fill" function - System shall calculate number of passengers to create based on group size minus existing passengers - System shall create placeholder records with sequential naming (e.g., "Pax 1 Passenger 1") - User can subsequently edit each placeholder with actual passenger information - System shall prevent creation if group is already full
REQ-PAX-003: Edit Passenger Information¶
Priority: MUST Description: The system shall allow users to update passenger information at any time.
Acceptance Criteria: - All passenger fields shall be editable - System shall recalculate age if date of birth changes - Changes shall be saved to database - User shall see confirmation of successful update
REQ-PAX-004: View Passenger List¶
Priority: MUST Description: The system shall display all passengers for a group in organized manner.
Acceptance Criteria: - Passengers shall be displayed in a list/table - List shall show at minimum: full name - User can select a passenger from list to view/edit details - Currently selected passenger shall be visually highlighted - List shall update automatically when passengers are added/removed
REQ-PAX-005: Delete Passenger¶
Priority: SHOULD Description: The system shall allow removal of passengers from a group.
Acceptance Criteria: - User can delete a passenger record - System shall warn if passenger is assigned to rooms - System shall remove passenger from any room assignments upon deletion - System shall require confirmation before deletion - Deleted passengers shall be removed from passenger count
3.3 Accommodation Management¶
REQ-ACC-001: Add Hotel Booking¶
Priority: MUST Description: The system shall allow users to add hotel bookings to a group itinerary.
Acceptance Criteria: - User can select hotel from existing hotel master data - User can enter check-in date - User can enter check-out date - System shall validate check-out is after check-in - User can enter hotel contact information - User can enter confirmation deadline date - User can set booking status (OPEN, REQUESTED, QUOTED, CONFIRMED, CANCELLED) - User can enter contracted room rate (cost price) - User can enter sale rate (selling price) - User can select currency - User can enter description/notes - System shall calculate number of nights automatically - System shall associate booking with correct group
REQ-ACC-002: Edit Hotel Booking¶
Priority: MUST Description: The system shall allow users to modify hotel bookings.
Acceptance Criteria: - All fields shall be editable - System shall re-validate business rules on update - Changes to dates shall not affect existing room assignments - User shall see confirmation of successful update
REQ-ACC-003: View Hotel Booking List¶
Priority: MUST Description: The system shall display all hotel bookings for a group.
Acceptance Criteria: - Hotels shall be displayed in a list/table - List shall show: hotel name, dates, number of nights - User can select a hotel to view/edit details - Currently selected hotel shall be visually highlighted
REQ-ACC-004: Delete Hotel Booking¶
Priority: SHOULD Description: The system shall allow removal of hotel bookings.
Acceptance Criteria: - User can delete a hotel booking - System shall warn if rooms are assigned to this hotel - System shall cascade delete all associated rooms - System shall require confirmation before deletion
3.4 Room Management¶
REQ-ROOM-001: Create Room Assignment¶
Priority: MUST Description: The system shall allow users to create room allocations for a hotel booking.
Acceptance Criteria: - User can specify which hotel the room belongs to - User can enter number of passengers for the room (capacity) - User can select room type (e.g., King Bed, Split Beds) - User can indicate extra bed requirement (yes/no) - User can enter room cost (per room per night) - User can enter room price (per room per night) - User can enter room-specific notes - System shall create room record associated with hotel and group
REQ-ROOM-002: Assign Passengers to Room¶
Priority: MUST Description: The system shall allow users to assign specific passengers to specific rooms.
Acceptance Criteria: - User can view list of unassigned passengers - User can select passengers to add to current room - User can remove passengers from room - System shall update passenger count in room as passengers are added/removed - System shall prevent assigning more passengers than room capacity plus extra bed - System shall prevent assigning same passenger to multiple rooms in same hotel - Passengers assigned to rooms shall be removed from unassigned list
REQ-ROOM-003: Edit Room Details¶
Priority: MUST Description: The system shall allow users to modify room details.
Acceptance Criteria: - User can change room capacity - User can toggle extra bed - User can change room type - User can adjust cost and price - User can modify notes - Changes shall be saved immediately
REQ-ROOM-004: Delete Room¶
Priority: MUST Description: The system shall allow users to remove room allocations.
Acceptance Criteria: - User can delete a room - System shall require confirmation - System shall unassign all passengers from room before deletion - Unassigned passengers shall return to available passenger pool - Room shall be removed from rooming list
REQ-ROOM-005: View Rooming List¶
Priority: MUST Description: The system shall display all room assignments for selected hotel.
Acceptance Criteria: - User can select hotel to view its rooms - Rooms shall be displayed in visual grid/card layout - Each room shall show: capacity, extra bed indicator, assigned passengers - Each room shall have edit and delete actions - List shall update automatically when rooms are added/removed - User can see count of unassigned passengers
REQ-ROOM-006: Automatic Room Creation¶
Priority: SHOULD Description: The system should provide intelligent room auto-creation feature.
Acceptance Criteria: - User can trigger "auto-add rooms" function - System shall calculate number of rooms needed based on unassigned passengers - System shall create rooms with default capacity of 2 - System shall use hotel's default room rate if available - Created rooms shall be ready for manual passenger assignment
3.5 Activity and Service Management¶
REQ-ACT-001: Add Activity/Service¶
Priority: MUST Description: The system shall allow users to add activities and services to group itinerary.
Acceptance Criteria:
- User can search and select activity from product catalog
- User can select specific product variant/option
- User can enter number of adults participating
- User can enter number of children participating
- User can enter cost per adult
- User can enter price per adult
- User can enter cost per child
- User can enter price per child
- User can enter activity date and time
- User can enter guide/driver name
- User can indicate if tickets are required (yes/no)
- User can indicate if tickets have been purchased (yes/no) — this flag is automatically set to true when offline tickets are assigned via the Offline Tickets module
- User can indicate if transfers are included (yes/no)
- User can enter notes
- System shall calculate total cost and price based on quantities
- System shall associate activity with correct group
- When tickets are required, pre-purchased offline tickets can be assigned to the activity from the Offline Tickets module (via POST /offline/sale/assign-group API). This creates a link from assigned tickets to the trip service via a trip_service_id foreign key on the offline_ticket table.
REQ-ACT-002: Edit Activity/Service¶
Priority: MUST Description: The system shall allow users to modify activity details.
Acceptance Criteria: - All activity fields shall be editable - System shall recalculate totals when quantities or rates change - Changes shall be saved immediately
REQ-ACT-003: Delete Activity/Service¶
Priority: MUST Description: The system shall allow users to remove activities from itinerary.
Acceptance Criteria: - User can delete an activity - System shall require confirmation - Activity shall be removed from calendar and financial summary
REQ-ACT-004: View Activity List¶
Priority: MUST Description: The system shall display all activities for a group.
Acceptance Criteria: - Activities shall be displayed in visual card/grid layout - Each activity shall show: name, date/time, participant counts, pricing, flags (tickets, transfers) - Each activity shall have edit and delete actions - Activities shall be sorted chronologically
3.6 Transportation Management¶
REQ-TXP-001: Add Transport Service¶
Priority: MUST Description: The system shall allow users to schedule ground transportation.
Acceptance Criteria: - User can enter transport description (e.g., "Airport Pickup") - User can select transport company/partner - User can enter date and time - User can select vehicle type (Sedan, 7-Seater, 14-Seater, 24-Seater, 30-Seater, 40-Seater, 52-Seater) - User can enter duration in hours - User can enter driver name - User can enter contact telephone - User can enter cost - User can enter price - User can enter notes - System shall associate transport with correct group
REQ-TXP-002: Edit Transport Service¶
Priority: MUST Description: The system shall allow users to modify transport details.
Acceptance Criteria: - All transport fields shall be editable - Changes shall be saved immediately
REQ-TXP-003: Delete Transport Service¶
Priority: SHOULD Description: The system shall allow users to remove transport services.
Acceptance Criteria: - User can delete a transport record - System shall require confirmation - Transport shall be removed from calendar and financial summary
REQ-TXP-004: View Transport List¶
Priority: MUST Description: The system shall display all transport services for a group.
Acceptance Criteria: - Transport services shall be displayed in a list/table - List shall show: description, date/time, vehicle type - User can select a transport to view/edit details - Currently selected transport shall be visually highlighted
3.7 Financial Management¶
REQ-FIN-001: Calculate Financial Summary¶
Priority: MUST Description: The system shall automatically calculate financial totals for the group.
Acceptance Criteria: - System shall aggregate costs from all sources: rooms, activities, transport - System shall aggregate prices from all sources - System shall calculate margin (price - cost) for each line item - System shall calculate total cost for entire group - System shall calculate total price for entire group - System shall calculate total margin for entire group - Calculations shall update automatically when any component changes
REQ-FIN-002: View Itemized Financial Summary¶
Priority: MUST Description: The system shall display detailed breakdown of all costs and prices.
Acceptance Criteria: - Each line item shall show: description, quantity, unit cost, unit price, line margin - Rooms shall be grouped by hotel and rate - Activities shall show separate adult and child lines - Transport shall show individual services - User can see sub-totals for each category (accommodation, activities, transport) - User can see grand totals at bottom
REQ-FIN-003: Adjust Costs and Prices¶
Priority: MUST Description: The system shall allow users to override calculated costs and prices.
Acceptance Criteria: - User can edit cost value for any line item - User can edit price value for any line item - System shall recalculate margins when values change - System shall recalculate totals when values change - Changes shall be reflected in financial summary immediately
REQ-FIN-004: Include/Exclude Items from Quote¶
Priority: MUST Description: The system shall allow users to selectively include items in customer quotes.
Acceptance Criteria: - Each line item shall have include/exclude checkbox - Items marked as excluded shall not be counted in totals - System shall show both "included total" and "excluded total" - User can toggle inclusion status at any time - System shall recalculate totals immediately
REQ-FIN-005: Multi-Currency Support¶
Priority: MUST Description: The system shall support multiple currencies for costs and prices.
Acceptance Criteria: - Each group shall have a default currency - Costs and prices can be entered in different currencies - System shall display currency code next to all monetary values - Financial summary shall group items by currency if needed - System shall not perform automatic currency conversion in this phase
3.8 Quote Generation¶
REQ-QTE-001: Generate Customer Quote¶
Priority: MUST Description: The system shall generate formatted quotes for partner agencies.
Acceptance Criteria: - User can trigger quote generation from financial summary - Quote shall include only items marked as "included" - Quote shall show group details (name, dates, passenger count) - Quote shall show itemized services with prices - Quote shall show total price - Quote shall be formatted for printing/export - User can choose between itemized or summary-only format
REQ-QTE-002: Quote Versioning¶
Priority: SHOULD Description: The system should track quote versions.
Acceptance Criteria: - Each generated quote shall be assigned version number - System shall store quote data at time of generation - User can view historical quotes - System shall associate quote with group record
3.9 Calendar and Timeline¶
REQ-CAL-001: Display Trip Calendar¶
Priority: MUST Description: The system shall provide calendar visualization of group itinerary.
Acceptance Criteria: - Calendar shall display from arrival date to departure date - Each day shall show: date, activities scheduled, transport scheduled - Arrival day shall be visually highlighted - Departure day shall be visually highlighted - Current day shall be visually highlighted (if within trip dates) - Calendar shall update automatically when activities/transport are added/removed
REQ-CAL-002: Calendar Interactions¶
Priority: SHOULD Description: The calendar should provide interactive features.
Acceptance Criteria: - User can click on activity in calendar to view details - User can see all information for a day in expanded view - Calendar shall be responsive to screen size
3.10 Data Validation¶
REQ-VAL-001: Date Validations¶
Priority: MUST Description: The system shall enforce date-related business rules.
Acceptance Criteria: - Departure date must be after arrival date (groups) - Check-out date must be after check-in date (hotels) - Hotel dates should be within group trip dates (warning only) - Activity dates should be within group trip dates (warning only) - Transport dates should be within group trip dates (warning only) - All future dates should be validated as realistic (not 100 years in future)
REQ-VAL-002: Capacity Validations¶
Priority: MUST Description: The system shall enforce capacity-related business rules.
Acceptance Criteria: - Room passenger count cannot exceed room capacity plus extra bed allowance - System shall warn if total room capacity is less than group size - System shall warn if activity participant count exceeds group size
REQ-VAL-003: Required Field Validations¶
Priority: MUST Description: The system shall enforce mandatory field requirements.
Acceptance Criteria: - Group name is required - Partner agency is required - Arrival date is required - Departure date is required - Passenger first name and last name are required - Hotel name and dates are required - Activity name and date are required - System shall display clear error messages for missing required fields - System shall prevent save operation if required fields are missing
REQ-VAL-004: Referential Integrity¶
Priority: MUST Description: The system shall maintain data consistency across related records.
Acceptance Criteria: - Passengers cannot be orphaned (must belong to a group) - Rooms must belong to a hotel booking and a group - Room-passenger assignments must reference valid rooms and passengers - Activities must belong to a group - Transport must belong to a group - Deletion of parent records shall handle child records appropriately
3.11 User Experience¶
REQ-UX-001: Unsaved Changes Warning¶
Priority: MUST Description: The system shall warn users before losing unsaved changes.
Acceptance Criteria: - System shall track when data is modified but not saved - When user attempts to navigate away from modified data, system shall display warning - Warning shall offer options: Save and Continue, Discard and Continue, Cancel - System shall not lose data without user confirmation
REQ-UX-002: Auto-complete and Lookups¶
Priority: MUST Description: The system shall provide auto-complete for searchable entities.
Acceptance Criteria: - Partner agency field shall provide auto-complete search - Hotel field shall provide auto-complete search - Activity/service field shall provide auto-complete search - Transport company field shall provide auto-complete search - Auto-complete shall start after 2 characters typed - Auto-complete shall display matching results in dropdown - User can select from dropdown or continue typing
REQ-UX-003: Loading Indicators¶
Priority: MUST Description: The system shall provide feedback during data loading operations.
Acceptance Criteria: - System shall display loading indicator during API calls - Loading indicator shall prevent user interaction with blocked content - Loading indicator shall be dismissed when operation completes - System shall display error message if operation fails
REQ-UX-004: Success and Error Notifications¶
Priority: MUST Description: The system shall provide clear feedback for user actions.
Acceptance Criteria: - System shall display success message after save operations - System shall display error message if save fails - Messages shall be dismissible by user - Messages shall auto-dismiss after 5 seconds - Error messages shall be prominent (red/alert styling) - Success messages shall be positive (green/success styling)
REQ-UX-005: Responsive Design¶
Priority: SHOULD Description: The system should be usable on various screen sizes.
Acceptance Criteria: - Interface shall adapt to desktop screens (1920x1080 and above) - Interface shall adapt to laptop screens (1366x768) - Interface shall adapt to tablet screens (1024x768) - Key information shall remain accessible on smaller screens - Forms shall reflow appropriately
4. Non-Functional Requirements¶
4.1 Performance¶
REQ-NFR-001: Response Time¶
Priority: MUST Description: The system shall respond to user actions within acceptable timeframes.
Acceptance Criteria: - Page loads shall complete within 3 seconds - Search operations shall return results within 2 seconds - Save operations shall complete within 2 seconds - Report generation shall complete within 5 seconds - System shall handle 50 concurrent users without degradation
REQ-NFR-002: Data Volume¶
Priority: MUST Description: The system shall handle realistic data volumes efficiently.
Acceptance Criteria: - System shall support minimum 10,000 active groups - System shall support minimum 500,000 passenger records - System shall support groups with up to 200 passengers - System shall support groups with up to 20 hotels - System shall support groups with up to 50 activities - Search results shall paginate for large result sets
4.2 Security¶
REQ-NFR-003: Authentication¶
Priority: MUST Description: The system shall require user authentication.
Acceptance Criteria: - Users must log in with credentials - Sessions shall expire after 4 hours of inactivity - Failed login attempts shall be logged - System shall integrate with existing authentication mechanism
REQ-NFR-004: Authorization¶
Priority: MUST Description: The system shall enforce role-based access control.
Acceptance Criteria: - Users shall have assigned roles (Admin, Manager, User, Viewer) - Viewers can only read data, not modify - Users can create and edit their own groups - Managers can edit all groups - Admins have full system access - System shall enforce permissions on all operations
REQ-NFR-005: Data Protection¶
Priority: MUST Description: The system shall protect sensitive data.
Acceptance Criteria: - Passenger passport numbers shall be encrypted at rest - Communication between client and server shall use HTTPS - System shall log all access to sensitive data - System shall comply with GDPR requirements for personal data
4.3 Reliability¶
REQ-NFR-006: Availability¶
Priority: MUST Description: The system shall be available during business hours.
Acceptance Criteria: - System shall have 99% uptime during business hours (8 AM - 8 PM local time) - Planned maintenance shall be communicated 48 hours in advance - System shall recover from failures within 15 minutes
REQ-NFR-007: Data Integrity¶
Priority: MUST Description: The system shall maintain data consistency.
Acceptance Criteria: - All database transactions shall be ACID-compliant - System shall prevent data loss during failures - System shall maintain referential integrity - Concurrent updates shall not corrupt data
REQ-NFR-008: Backup and Recovery¶
Priority: MUST Description: The system shall support data backup and recovery.
Acceptance Criteria: - System data shall be backed up daily - Backups shall be stored in geographically separate location - System shall support point-in-time recovery - Recovery time objective (RTO) shall be 4 hours - Recovery point objective (RPO) shall be 24 hours
4.4 Usability¶
REQ-NFR-009: Accessibility¶
Priority: SHOULD Description: The system should follow accessibility best practices.
Acceptance Criteria: - Interface shall support keyboard navigation - Buttons and links shall have appropriate focus indicators - Form fields shall have clear labels - Error messages shall be associated with relevant fields - Color shall not be sole means of conveying information
REQ-NFR-010: Browser Support¶
Priority: MUST Description: The system shall work on modern web browsers.
Acceptance Criteria: - System shall support Chrome (latest 2 versions) - System shall support Firefox (latest 2 versions) - System shall support Safari (latest 2 versions) - System shall support Edge (latest 2 versions)
4.5 Maintainability¶
REQ-NFR-011: Logging¶
Priority: MUST Description: The system shall maintain comprehensive logs.
Acceptance Criteria: - System shall log all errors with stack traces - System shall log all user actions (audit trail) - System shall log all API calls with parameters - Logs shall include timestamp and user identifier - Logs shall be retained for 90 days - Logs shall be searchable
REQ-NFR-012: Monitoring¶
Priority: SHOULD Description: The system should provide operational monitoring.
Acceptance Criteria: - System shall expose health check endpoint - System shall track response times - System shall alert on error rate thresholds - System shall monitor database connection pool
5. User Interface Requirements¶
5.1 Layout and Navigation¶
REQ-UI-001: Main Layout¶
Priority: MUST Description: The system shall provide consistent layout across all screens.
Acceptance Criteria: - Header with application logo and user menu shall be present on all screens - Main navigation menu shall be accessible from all screens - Content area shall be clearly defined - Footer with version information shall be present
REQ-UI-002: Group Management Screen Layout¶
Priority: MUST Description: The group management screen shall be organized logically.
Acceptance Criteria: - Search panel shall be at top - Search results table shall be below search panel - Group details shall be displayed in tabbed interface - Tabs shall include: Group Details, Passengers, Accommodation, Rooming List, Activities, Transport, Summary, Calendar - Active tab shall be visually distinct - Tab content shall be scrollable if it exceeds viewport
5.2 Visual Design¶
REQ-UI-003: Branding¶
Priority: MUST Description: The system shall follow organizational branding guidelines.
Acceptance Criteria: - Color scheme shall match corporate colors - Primary color: #362c5d (purple) - Secondary color: #FFC166 (orange/gold) - Success color: #3adb76 (green) - Warning color: #ffae00 (amber) - Alert/error color: #cc4b37 (red) - Info color: #1779ba (blue)
REQ-UI-004: Typography¶
Priority: MUST Description: The system shall use consistent typography.
Acceptance Criteria: - Font family shall be 'Inter', 'Noto Sans', or system sans-serif - Font sizes shall range from 0.8rem to 1.25rem - Headings shall be bold (600 weight) - Body text shall be regular (400 weight)
REQ-UI-005: Status Indicators¶
Priority: MUST Description: The system shall use visual indicators for status.
Acceptance Criteria: - Status badges shall use color coding - Icons shall supplement text when appropriate - Loading states shall use spinners - Disabled states shall reduce opacity - Success/error states shall use appropriate icons
5.3 Forms and Input¶
REQ-UI-006: Form Design¶
Priority: MUST Description: Forms shall be user-friendly and clearly structured.
Acceptance Criteria: - Labels shall be above or beside input fields - Required fields shall be marked with asterisk (*) - Field groups shall be visually separated - Related fields shall be grouped together - Forms shall use appropriate input types (date picker, dropdown, etc.)
REQ-UI-007: Buttons¶
Priority: MUST Description: Buttons shall be clearly styled and positioned.
Acceptance Criteria: - Primary actions shall use primary color background - Secondary actions shall use secondary styling - Destructive actions (delete) shall use alert color - Buttons shall have hover effects - Buttons shall show loading state during processing - Button text shall be action-oriented ("Save", "Cancel", "Delete", etc.)
5.4 Tables and Lists¶
REQ-UI-008: Data Tables¶
Priority: MUST Description: Tabular data shall be clearly presented.
Acceptance Criteria: - Headers shall be fixed when scrolling long tables - Rows shall have hover effects - Selected rows shall be highlighted - Clickable rows shall show pointer cursor - Tables shall be responsive (stack on mobile if needed)
REQ-UI-009: Cards and Grids¶
Priority: MUST Description: Card-based layouts shall be visually appealing.
Acceptance Criteria: - Cards shall have subtle shadows - Cards shall have rounded corners (8px border radius) - Cards shall have clear headers - Card content shall be properly padded - Multiple cards shall align in grids
6. Data Requirements¶
6.1 Data Model¶
REQ-DATA-001: Group Entity¶
Priority: MUST Description: The system shall maintain group booking master data.
Attributes: - tripGroupId (Integer, Primary Key, Auto-generated) - tripGroupName (String, Max 200 chars, Required) - tripGroupDesc (String, Max 1000 chars, Optional) - partnerId (Integer, Foreign Key, Required) - partnerName (String, Max 200 chars, Display only) - arrivalDate (DateTime, Required) - departureDate (DateTime, Required) - confirmationDate (Date, Optional) - quoteByDate (Date, Optional) - numNights (Integer, Calculated) - numPax (Integer, Required) - tripLeader (String, Max 200 chars, Optional) - tripContact (String, Max 200 chars, Optional) - status (String, Enum, Required) - quoteId (Integer, Foreign Key, Optional) - invoiceId (Integer, Foreign Key, Optional) - currencyCode (String, 3 chars, Required) - createdBy (String, Audit) - createdDate (DateTime, Audit) - modifiedBy (String, Audit) - modifiedDate (DateTime, Audit)
REQ-DATA-002: Passenger Entity¶
Priority: MUST Description: The system shall maintain passenger information.
Attributes: - paxId (Integer, Primary Key, Auto-generated) - groupId (Integer, Foreign Key, Required) - paxFirstName (String, Max 100 chars, Required) - paxLastName (String, Max 100 chars, Required) - gender (String, 1 char, Optional, Values: M/F) - birthDate (Date, Optional) - age (Integer, Calculated from birthDate) - nationality (String, Max 100 chars, Optional) - passportNum (String, Max 50 chars, Optional, Encrypted) - contactTel (String, Max 50 chars, Optional) - contactEmail (String, Max 200 chars, Optional, Validated email format) - note (String, Max 1000 chars, Optional) - createdBy (String, Audit) - createdDate (DateTime, Audit) - modifiedBy (String, Audit) - modifiedDate (DateTime, Audit)
REQ-DATA-003: Hotel Booking Entity¶
Priority: MUST Description: The system shall maintain hotel booking data.
Attributes: - tripHotelId (Integer, Primary Key, Auto-generated) - groupId (Integer, Foreign Key, Required) - hotelId (Integer, Foreign Key, Required) - hotelName (String, Max 200 chars, Display only) - status (String, Enum, Required, Values: OPEN/REQUESTED/QUOTED/CONFIRMED/CANCELLED) - checkInDate (Date, Required) - checkOutDate (Date, Required) - confirmationDate (Date, Optional) - description (String, Max 1000 chars, Optional) - hotelContacts (String, Max 500 chars, Optional) - roomRate (Decimal(10,2), Optional, Cost per room per night) - saleRate (Decimal(10,2), Optional, Selling price per room per night) - currencyCode (String, 3 chars, Required) - createdBy (String, Audit) - createdDate (DateTime, Audit) - modifiedBy (String, Audit) - modifiedDate (DateTime, Audit)
REQ-DATA-004: Room Entity¶
Priority: MUST Description: The system shall maintain room allocation data.
Attributes: - roomId (Integer, Primary Key, Auto-generated) - groupId (Integer, Foreign Key, Required) - tripHotelId (Integer, Foreign Key, Required) - roomType (String, Max 100 chars, Optional) - roomNumber (Integer, Optional) - roomPax (Integer, Required, Capacity) - extraBed (Integer, Required, Default 0, Values: 0/1) - roomPrice (Decimal(10,2), Optional) - roomCost (Decimal(10,2), Optional) - notes (String, Max 500 chars, Optional) - createdBy (String, Audit) - createdDate (DateTime, Audit) - modifiedBy (String, Audit) - modifiedDate (DateTime, Audit)
REQ-DATA-005: Room-Passenger Assignment Entity¶
Priority: MUST Description: The system shall maintain room passenger assignments.
Attributes: - tripRoomPaxId (Integer, Primary Key, Auto-generated) - roomId (Integer, Foreign Key, Required) - paxId (Integer, Foreign Key, Required) - groupId (Integer, Foreign Key, Required) - tripHotelId (Integer, Foreign Key, Required) - createdBy (String, Audit) - createdDate (DateTime, Audit)
Constraints: - Unique constraint on (roomId, paxId) - Unique constraint on (tripHotelId, paxId) to prevent double-booking
REQ-DATA-006: Activity/Service Entity¶
Priority: MUST Description: The system shall maintain activity and service data.
Attributes: - tripServiceId (Integer, Primary Key, Auto-generated) - groupId (Integer, Foreign Key, Required) - serviceName (String, Max 200 chars, Required) - productId (String, Max 50 chars, Foreign Key, Optional) - startTime (DateTime, Required) - adultCost (Decimal(10,2), Optional) - childCost (Decimal(10,2), Optional) - adultPrice (Decimal(10,2), Optional) - childPrice (Decimal(10,2), Optional) - numAdults (Integer, Optional, Default 0) - numChildren (Integer, Optional, Default 0) - guideName (String, Max 200 chars, Optional) - status (Integer, Optional) - note (String, Max 1000 chars, Optional) - currency (String, 3 chars, Required) - hasTickets (Boolean, Default false) - ticketsPurchased (Boolean, Default false) - transferIncluded (Boolean, Default false) - createdBy (String, Audit) - createdDate (DateTime, Audit) - modifiedBy (String, Audit) - modifiedDate (DateTime, Audit)
REQ-DATA-007: Transport Entity¶
Priority: MUST Description: The system shall maintain ground transportation data.
Attributes: - tripTransportId (Integer, Primary Key, Auto-generated) - groupId (Integer, Foreign Key, Required) - partnerId (Integer, Foreign Key, Optional) - partnerName (String, Max 200 chars, Display only) - description (String, Max 500 chars, Required) - notes (String, Max 1000 chars, Optional) - startTime (DateTime, Required) - duration (Integer, Optional, Hours) - vehicle (String, Max 100 chars, Optional) - status (String, Max 50 chars, Optional) - contactTel (String, Max 50 chars, Optional) - driverName (String, Max 200 chars, Optional) - currencyCode (String, 3 chars, Optional) - cost (Decimal(10,2), Optional) - price (Decimal(10,2), Optional) - createdBy (String, Audit) - createdDate (DateTime, Audit) - modifiedBy (String, Audit) - modifiedDate (DateTime, Audit)
6.2 Data Integrity¶
REQ-DATA-008: Referential Integrity¶
Priority: MUST Description: The system shall maintain referential integrity between related entities.
Acceptance Criteria: - Passengers must reference valid groups - Rooms must reference valid groups and hotel bookings - Room-passenger assignments must reference valid rooms and passengers - Activities must reference valid groups - Transport must reference valid groups - Foreign key constraints shall be enforced at database level
REQ-DATA-009: Cascade Operations¶
Priority: MUST Description: The system shall handle cascading deletes appropriately.
Acceptance Criteria: - Deleting a group shall delete all associated passengers, hotels, rooms, activities, transport - Deleting a hotel booking shall delete all associated rooms - Deleting a room shall delete all room-passenger assignments - System shall perform cascades in correct order to maintain integrity
REQ-DATA-010: Data Validation¶
Priority: MUST Description: The system shall validate data at multiple levels.
Acceptance Criteria: - Client-side validation for immediate feedback - Server-side validation for security - Database constraints for ultimate enforcement - Validation errors shall provide clear messages
7. Integration Requirements¶
7.1 Authentication Integration¶
REQ-INT-001: Session Management¶
Priority: MUST Description: The system shall integrate with existing authentication system.
Acceptance Criteria: - System shall accept session token from authentication service - System shall validate session token on each request - System shall handle expired sessions gracefully - System shall support session refresh
7.2 Master Data Integration¶
REQ-INT-002: Partner Agency Lookup¶
Priority: MUST Description: The system shall retrieve partner agency information from master data.
Acceptance Criteria: - System shall provide API endpoint for partner search - Search shall support partial name matching - Results shall include partner ID and name - System shall support creating new partners if not found
REQ-INT-003: Hotel Lookup¶
Priority: MUST Description: The system shall retrieve hotel information from hotel master.
Acceptance Criteria: - System shall provide API endpoint for hotel search - Search shall support partial name matching - Results shall include hotel ID, name, and default rates - System shall support creating new hotels if not found
REQ-INT-004: Product/Activity Lookup¶
Priority: MUST Description: The system shall retrieve activity information from product catalog.
Acceptance Criteria: - System shall provide API endpoint for product search - Search shall support partial name matching - Results shall include product ID, name, and available variants - System shall retrieve pricing information for selected products
7.3 API Architecture¶
REQ-INT-005: RESTful API¶
Priority: MUST Description: The system shall expose RESTful API endpoints.
Acceptance Criteria: - All endpoints shall use HTTP POST method - All endpoints shall consume and produce JSON - All requests shall include session token - All responses shall include status code and message - Error responses shall include error code and descriptive message
REQ-INT-006: API Response Format¶
Priority: MUST Description: API responses shall follow consistent format.
Acceptance Criteria: - Success responses shall include data object - Error responses shall include errorCode and errorMessage - List responses shall return arrays - Single object responses shall return object - Date/time values shall use ISO 8601 format
8. Future Enhancement Requirements¶
This section outlines requirements for features not included in the initial implementation but recommended for future phases.
8.1 Document Management¶
REQ-FUT-001: Document Attachment¶
Priority: HIGH Description: The system shall allow users to attach documents to groups and passengers.
Acceptance Criteria: - Users can upload files (PDF, JPG, PNG, DOC, DOCX) - Maximum file size: 10 MB per file - Documents can be attached to: groups, passengers, hotels, activities - Users can download attached documents - Users can delete documents - System shall scan uploads for malware - Document list shall show: filename, upload date, uploaded by, file size
REQ-FUT-002: Document Categories¶
Priority: HIGH Description: The system shall categorize documents by type.
Acceptance Criteria: - Document types include: Contract, Voucher, Insurance, Passport, Visa, Invoice, Confirmation, Itinerary, Other - Users can assign category when uploading - Users can filter document list by category - System shall enforce required documents per group status
REQ-FUT-003: Document Expiration Tracking¶
Priority: MEDIUM Description: The system shall track expiration dates for documents.
Acceptance Criteria: - Users can set expiration date for documents (passports, visas, insurance) - System shall warn when documents are expiring within 30 days - System shall alert when documents have expired - Expiration warnings shall appear on group dashboard
REQ-FUT-004: Automated Document Generation¶
Priority: HIGH Description: The system shall generate standard documents automatically.
Acceptance Criteria: - System can generate hotel vouchers from booking data - System can generate rooming list in printable format - System can generate activity manifests - System can generate transport orders for drivers - Generated documents shall be in PDF format - Generated documents shall follow standard templates - Users can customize templates
8.2 Communication & Notifications¶
REQ-FUT-005: Email Integration¶
Priority: HIGH Description: The system shall send emails directly from the application.
Acceptance Criteria: - Users can send quotes via email to partner agencies - Users can send confirmations via email - System can send automated reminder emails - Emails shall use professional templates - Sent emails shall be logged in communication history
REQ-FUT-006: Communication History¶
Priority: MEDIUM Description: The system shall maintain log of all communications.
Acceptance Criteria: - System shall log all sent emails with content - Users can add manual communication notes (phone calls, meetings) - Communication history shall show: date, type, subject, from/to, content - Users can filter history by date range and type - History shall be visible on group details screen
REQ-FUT-007: Automated Notifications¶
Priority: HIGH Description: The system shall send automated notifications for important events.
Acceptance Criteria: - System shall notify when quote deadline is approaching (7 days, 3 days, 1 day) - System shall notify when confirmation deadline is approaching - System shall notify when payment is due - System shall notify when documents are expiring - System shall notify 7 days before group arrival - Users can configure notification preferences - Notifications can be delivered via email and/or in-app
REQ-FUT-008: SMS Notifications¶
Priority: LOW Description: The system shall send SMS messages to guides and drivers.
Acceptance Criteria: - System can send SMS to guide's mobile number - System can send daily activity schedules - System can send urgent updates - Users can manually compose and send SMS - SMS shall integrate with SMS gateway service
REQ-FUT-009: Partner Portal Access¶
Priority: MEDIUM Description: Partner agencies shall have read-only access to their group information.
Acceptance Criteria: - Partner users can log in with separate credentials - Partners can view their groups only - Partners can see group details, itinerary, and documents - Partners can download quotes and vouchers - Partners cannot modify data - System shall log partner access
8.3 Payment & Financial Management¶
REQ-FUT-010: Payment Schedule¶
Priority: HIGH Description: The system shall manage payment schedules for groups.
Acceptance Criteria: - Users can define payment milestones (deposit, installments, final payment) - Each milestone has: amount, due date, description - System shall calculate amounts based on percentages or fixed values - System shall track milestone status (pending, received, overdue) - System shall show total received vs. total due
REQ-FUT-011: Payment Recording¶
Priority: HIGH Description: The system shall record received payments.
Acceptance Criteria: - Users can record payment against a milestone - Payment record includes: date received, amount, payment method, reference number, notes - Multiple partial payments can be recorded per milestone - System shall automatically mark milestone as paid when full amount received - Users can view complete payment history
REQ-FUT-012: Payment Reminders¶
Priority: MEDIUM Description: The system shall send payment reminders.
Acceptance Criteria: - System shall notify when payment due date is approaching - System shall notify when payment is overdue - Reminders shall be sent 7 days, 3 days, and 1 day before due date - Overdue reminders shall be sent daily until paid
REQ-FUT-013: Payment Methods¶
Priority: MEDIUM Description: The system shall support various payment methods.
Acceptance Criteria: - Payment methods include: Bank Transfer, Credit Card, Cash, Cheque, PayPal, Other - Users select method when recording payment - System shall track payment method statistics for reporting
REQ-FUT-014: Currency Exchange Management¶
Priority: MEDIUM Description: The system shall handle multi-currency payments and conversions.
Acceptance Criteria: - Users can enter exchange rates manually - System can retrieve exchange rates from external service - System shall convert costs in different currencies to group currency for totaling - System shall display both original and converted amounts - Exchange rate used shall be recorded with transaction
REQ-FUT-015: Refund Management¶
Priority: MEDIUM Description: The system shall handle refunds for cancelled bookings.
Acceptance Criteria: - Users can record refunds against payments - Refund record includes: date, amount, reason, payment method - System shall adjust payment balance after refund - System shall track refund status (pending, processed)
REQ-FUT-016: Commission Calculation¶
Priority: MEDIUM Description: The system shall calculate commissions for partner agencies.
Acceptance Criteria: - Users can define commission rate per partner (percentage or fixed) - System shall calculate commission based on total group price - System shall track commission payment status - Commission reports shall be available
REQ-FUT-017: Payment Receipts¶
Priority: HIGH Description: The system shall generate payment receipts.
Acceptance Criteria: - System can generate receipt in PDF format - Receipt includes: receipt number, date, payer details, amount, payment method, group reference - Receipts can be emailed to partner - Receipt history is maintained
8.4 Meal Plan Management¶
REQ-FUT-018: Hotel Meal Plans¶
Priority: MEDIUM Description: The system shall track meal plans per hotel booking.
Acceptance Criteria: - Meal plan options include: Room Only, Bed & Breakfast, Half Board, Full Board, All Inclusive - Users can select meal plan for each hotel booking - Meal plan affects hotel cost calculation - System shall display meal plan in hotel details
REQ-FUT-019: Dietary Requirements¶
Priority: MEDIUM Description: The system shall track special dietary requirements per passenger.
Acceptance Criteria: - Users can specify dietary requirements (Vegetarian, Vegan, Gluten-Free, Halal, Kosher, Allergies, Other) - Dietary requirements are stored with passenger record - System can generate report of all dietary requirements for a group - Hotel and restaurant can be notified of special requirements
REQ-FUT-020: Restaurant Reservations¶
Priority: LOW Description: The system shall manage restaurant reservations for group dining.
Acceptance Criteria: - Users can add restaurant reservation to itinerary - Reservation includes: restaurant name, date/time, number of guests, menu selection, cost, price - Reservations appear in calendar view - System can generate reservation confirmation
REQ-FUT-021: Meal Vouchers¶
Priority: LOW Description: The system shall generate meal vouchers.
Acceptance Criteria: - System can generate vouchers for meals not included in hotel - Voucher includes: restaurant name, date, meal type, number of guests, value - Vouchers can be printed in batch
8.5 Insurance & Risk Management¶
REQ-FUT-022: Travel Insurance Tracking¶
Priority: MEDIUM Description: The system shall track travel insurance policies.
Acceptance Criteria: - Insurance can be tracked at group level or passenger level - Insurance record includes: provider, policy number, coverage type, coverage amount, valid from/to dates, cost - System shall warn if passengers are not insured - System shall alert when insurance is expiring
REQ-FUT-023: Emergency Contact Information¶
Priority: HIGH Description: The system shall maintain emergency contact information.
Acceptance Criteria: - Each passenger can have emergency contact (name, relationship, phone, email) - Emergency contacts shall be easily accessible - System can generate emergency contact list for entire group - Emergency contact list can be shared with guides
REQ-FUT-024: Medical Information¶
Priority: MEDIUM Description: The system shall track medical conditions and allergies.
Acceptance Criteria: - Users can record medical conditions per passenger - Users can record medication requirements - Users can record allergies - Medical information shall be clearly flagged - Medical information is included in emergency contact report
REQ-FUT-025: Emergency Response Procedures¶
Priority: LOW Description: The system shall provide access to emergency procedures.
Acceptance Criteria: - System shall store emergency procedure documents - Emergency contacts for local authorities and embassies - Quick access from any group screen - Include phone tree for escalation
8.6 Flight & Visa Management¶
REQ-FUT-026: Flight Itinerary Management¶
Priority: HIGH Description: The system shall track flight details for groups.
Acceptance Criteria: - Users can add inbound and outbound flights - Flight details include: flight number, airline, origin, destination, departure time, arrival time, terminal - Flight details appear in calendar - System can generate arrival/departure information sheets
REQ-FUT-027: Airport Meet & Greet¶
Priority: MEDIUM Description: The system shall manage airport meet and greet arrangements.
Acceptance Criteria: - Users can assign greeter to flight arrival - Greeter details include: name, contact number, meeting point - System can generate greeter instruction sheet with passenger manifest - System can send greeter details to partner
REQ-FUT-028: Flight Delay Notifications¶
Priority: LOW Description: The system shall integrate with flight tracking services.
Acceptance Criteria: - System shall monitor tracked flight status - System shall notify users of delays or cancellations - Notifications shall include updated arrival time - System shall automatically adjust pickup time in transport schedule
REQ-FUT-029: Visa Requirements Tracking¶
Priority: MEDIUM Description: The system shall track visa requirements by passenger nationality.
Acceptance Criteria: - System shall have database of visa requirements by country and nationality - System shall flag passengers requiring visas - Users can track visa application status per passenger - Visa status options: Not Required, Not Applied, Applied, Issued, Denied - System shall warn if visa is not issued before travel
REQ-FUT-030: Visa Document Management¶
Priority: MEDIUM Description: The system shall manage visa-related documents.
Acceptance Criteria: - Users can attach visa application documents - Users can attach visa approval documents - System shall track visa expiration date - System shall warn if visa expires during trip
8.7 Reporting & Analytics¶
REQ-FUT-031: Group Profitability Report¶
Priority: HIGH Description: The system shall generate profitability reports per group.
Acceptance Criteria: - Report shows total cost, total price, total margin, margin percentage - Report breaks down by category (accommodation, activities, transport) - Report can be filtered by date range - Report can be exported to Excel/PDF
REQ-FUT-032: Partner Performance Report¶
Priority: MEDIUM Description: The system shall analyze partner agency performance.
Acceptance Criteria: - Report shows number of groups per partner - Report shows total revenue per partner - Report shows average group size per partner - Report shows conversion rate (quotes to confirmed) - Report covers specified date range
REQ-FUT-033: Seasonal Occupancy Analysis¶
Priority: MEDIUM Description: The system shall analyze occupancy patterns.
Acceptance Criteria: - Report shows number of groups per month - Report shows total passengers per month - Report identifies high and low seasons - Report can span multiple years for trend analysis
REQ-FUT-034: Activity Popularity Report¶
Priority: LOW Description: The system shall analyze which activities are most popular.
Acceptance Criteria: - Report lists activities by booking frequency - Report shows total participants per activity - Report shows revenue per activity - Report identifies top-performing activities
REQ-FUT-035: Guide/Driver Utilization Report¶
Priority: LOW Description: The system shall track guide and driver assignments.
Acceptance Criteria: - Report shows number of assignments per guide/driver - Report shows date range of availability - Report identifies conflicts (double bookings) - Report helps with resource planning
REQ-FUT-036: Revenue Forecasting¶
Priority: MEDIUM Description: The system shall provide revenue forecasts.
Acceptance Criteria: - Forecast based on confirmed and quoted groups - Forecast shows expected revenue by month - Forecast includes probability weighting for quoted groups - Forecast can be viewed in chart format
REQ-FUT-037: Cost Variance Analysis¶
Priority: MEDIUM Description: The system shall compare estimated vs. actual costs.
Acceptance Criteria: - Report compares quoted costs with invoiced costs - Report identifies variances by category - Report shows variance reasons (if recorded) - Report helps improve future cost estimates
REQ-FUT-038: Dashboard and KPIs¶
Priority: HIGH Description: The system shall provide executive dashboard with key metrics.
Acceptance Criteria: - Dashboard shows: total groups, total passengers, total revenue, average margin - Dashboard shows groups by status (visual chart) - Dashboard shows upcoming arrivals and departures - Dashboard shows pending tasks (expiring documents, payment due) - Dashboard can be filtered by date range
8.8 Optimization & Smart Features¶
REQ-FUT-039: Intelligent Room Assignment¶
Priority: MEDIUM Description: The system shall suggest optimal room assignments.
Acceptance Criteria: - Algorithm considers passenger relationships (families together) - Algorithm considers gender when assigning strangers - Algorithm considers age (elderly passengers on lower floors) - Algorithm minimizes single occupancy where possible - Users can review and adjust suggestions before applying
REQ-FUT-040: Optimal Vehicle Allocation¶
Priority: LOW Description: The system shall suggest appropriate vehicles for transport.
Acceptance Criteria: - System calculates passenger count plus luggage - System suggests minimum number of vehicles needed - System considers vehicle types available - System optimizes for cost-effectiveness
REQ-FUT-041: Route Optimization¶
Priority: LOW Description: The system shall optimize multi-stop itineraries.
Acceptance Criteria: - System can suggest optimal sequence for visiting multiple venues - System considers opening hours and travel time - System minimizes total travel distance - Users can manually override suggestions
REQ-FUT-042: Dynamic Pricing Suggestions¶
Priority: LOW Description: The system shall suggest pricing based on demand and season.
Acceptance Criteria: - System analyzes historical pricing data - System considers season and demand - System suggests markup percentages - System shows price range for similar groups - Suggestions are advisory only
REQ-FUT-043: Duplicate Passenger Detection¶
Priority: MEDIUM Description: The system shall detect potential duplicate passenger entries.
Acceptance Criteria: - System flags passengers with identical name and date of birth - System flags passengers with identical passport numbers - System shows potential duplicates for review - Users can merge duplicates or mark as unique individuals
REQ-FUT-044: Conflict Detection¶
Priority: MEDIUM Description: The system shall detect scheduling conflicts.
Acceptance Criteria: - System detects overlapping activities - System detects transport conflicts (same vehicle double-booked) - System detects guide/driver conflicts (same person double-booked) - System warns users when conflicts are created - Conflict report lists all detected issues
8.9 Multi-language Support¶
REQ-FUT-045: Multi-language Interface¶
Priority: MEDIUM Description: The system interface shall be available in multiple languages.
Acceptance Criteria: - Supported languages: English, Arabic, French, German, Spanish, Mandarin - User can select preferred language - Language preference is saved per user - All UI labels and messages are translated - Date and number formats adapt to locale
REQ-FUT-046: Multi-language Documents¶
Priority: MEDIUM Description: Generated documents shall be available in multiple languages.
Acceptance Criteria: - Quotes can be generated in partner's language - Vouchers can be generated in passenger's language - System stores translations for standard text - Users can customize translations
REQ-FUT-047: Activity Description Translations¶
Priority: LOW Description: Activity descriptions shall be available in multiple languages.
Acceptance Criteria: - Product catalog stores descriptions in multiple languages - System displays description in user's selected language - Generated documents use appropriate language version
8.10 Mobile & Offline Capabilities¶
REQ-FUT-048: Mobile App for Guides¶
Priority: MEDIUM Description: Guides and drivers shall have mobile app for daily schedules.
Acceptance Criteria: - App available for iOS and Android - Guide can log in with credentials - Guide can view daily assigned activities - Guide can see passenger lists - Guide can see pickup/dropoff locations and times - Guide can mark activities as completed
REQ-FUT-049: Offline Access¶
Priority: MEDIUM Description: Mobile app shall work without internet connection.
Acceptance Criteria: - App downloads schedule for next 7 days when online - Downloaded data is cached locally - App functions normally when offline - App syncs changes when connection restored
REQ-FUT-050: Real-time Location Tracking¶
Priority: LOW Description: System shall track vehicle locations in real-time.
Acceptance Criteria: - Drivers share location via mobile app - Operations staff can see vehicle positions on map - System estimates arrival times - System alerts if vehicle is significantly delayed
REQ-FUT-051: QR Code Check-in¶
Priority: LOW Description: System shall support QR code scanning for passenger check-in.
Acceptance Criteria: - System generates QR codes for passengers - Guide scans QR code to mark passenger as present - System tracks attendance for each activity - System identifies missing passengers
REQ-FUT-052: Photo Upload¶
Priority: LOW Description: Guides can upload photos during the trip.
Acceptance Criteria: - Guide can capture and upload photos via mobile app - Photos are associated with activities or dates - Photos are visible in web application - Photos can be shared with partner agencies
8.11 Integration Capabilities¶
REQ-FUT-053: Hotel Booking System Integration¶
Priority: HIGH Description: System shall integrate with hotel booking systems via API.
Acceptance Criteria: - System can query live hotel availability - System can retrieve current room rates - System can submit booking requests - System can retrieve booking confirmations - Integration supports major booking platforms (Amadeus, Sabre, etc.)
REQ-FUT-054: Accounting Software Integration¶
Priority: HIGH Description: System shall integrate with accounting software.
Acceptance Criteria: - System can export invoices to accounting system - System can export payment records - System can export expense records - Integration supports QuickBooks, Xero, or similar - Data mapping is configurable
REQ-FUT-055: CRM Integration¶
Priority: MEDIUM Description: System shall integrate with CRM for partner management.
Acceptance Criteria: - System synchronizes partner contact information - System logs communication in CRM - System creates opportunities for new quotes - System updates deal status when group confirms - Integration supports Salesforce, HubSpot, or similar
REQ-FUT-056: Payment Gateway Integration¶
Priority: HIGH Description: System shall integrate with payment processors.
Acceptance Criteria: - System can generate payment links - System can process credit card payments - System can track payment status - System supports major payment gateways (Stripe, PayPal, etc.) - Payment data is encrypted
REQ-FUT-057: Flight Tracking API¶
Priority: MEDIUM Description: System shall integrate with flight tracking services.
Acceptance Criteria: - System can retrieve live flight status - System receives notifications of delays - System updates arrival times automatically - Integration with services like FlightStats or FlightAware
REQ-FUT-058: Weather Forecast Integration¶
Priority: LOW Description: System shall display weather forecasts for activity dates.
Acceptance Criteria: - System retrieves forecast for activity locations - Forecast is displayed on activity details - System warns if extreme weather expected - Integration with weather API services
REQ-FUT-059: Messaging Platform Integration¶
Priority: MEDIUM Description: System shall integrate with WhatsApp/Telegram for communication.
Acceptance Criteria: - System can send messages via WhatsApp Business API - System can create group chats for tour groups - System can send itinerary updates - Message history is logged in system
8.12 Compliance & Audit¶
REQ-FUT-060: Complete Audit Trail¶
Priority: HIGH Description: System shall maintain comprehensive audit logs.
Acceptance Criteria: - System logs all create, update, delete operations - Logs include: timestamp, user, operation, entity type, entity ID, old values, new values - Logs are tamper-proof - Logs are searchable and filterable - Logs can be exported for compliance
REQ-FUT-061: GDPR Compliance Tools¶
Priority: HIGH Description: System shall support GDPR requirements.
Acceptance Criteria: - Users can export all data for a passenger (data portability) - Users can permanently delete passenger data (right to be forgotten) - System tracks consent for data processing - System provides privacy policy acceptance tracking - System anonymizes data when required
REQ-FUT-062: Booking Terms Acceptance¶
Priority: MEDIUM Description: System shall track acceptance of terms and conditions.
Acceptance Criteria: - System stores terms and conditions with version numbers - System records when partner accepted terms - System requires re-acceptance when terms change - Acceptance record includes: date, time, user, IP address, document version
REQ-FUT-063: Cancellation Policy Enforcement¶
Priority: MEDIUM Description: System shall enforce cancellation policies.
Acceptance Criteria: - Cancellation policies are defined per group or partner - System calculates applicable penalties based on cancellation date - System warns users of penalties before cancellation - System records cancellation reason and details
REQ-FUT-064: User Role Management¶
Priority: HIGH Description: System shall provide granular permission management.
Acceptance Criteria: - Roles can be defined with specific permissions - Permissions include: view, create, edit, delete per module - Users can have multiple roles - Permission changes take effect immediately - System logs all permission changes
REQ-FUT-065: Security Monitoring¶
Priority: HIGH Description: System shall monitor for security threats.
Acceptance Criteria: - System logs failed authentication attempts - System detects unusual access patterns - System alerts administrators of potential breaches - System can automatically lock accounts after repeated failures - Security logs are retained for 1 year
8.13 Template & Cloning Features¶
REQ-FUT-066: Group Templates¶
Priority: MEDIUM Description: System shall support group templates for recurring itineraries.
Acceptance Criteria: - Users can save group as template - Template includes: hotels, activities, transport, pricing structure - Users can create new group from template - Template values can be adjusted before creating group - Templates can be shared across users
REQ-FUT-067: Activity Packages¶
Priority: MEDIUM Description: System shall support predefined activity packages.
Acceptance Criteria: - Users can create activity packages (e.g., "Dubai Highlights Package") - Package includes multiple activities with default pricing - Users can add entire package to group with one click - Package activities can be individually customized after adding
REQ-FUT-068: Quick Clone Group¶
Priority: HIGH Description: System shall allow cloning of existing groups.
Acceptance Criteria: - Users can clone any existing group - Clone includes all passengers, hotels, rooms, activities, transport - Clone creates new group with new ID - Users can modify dates for cloned group - Pricing is copied but can be adjusted
REQ-FUT-069: Default Settings per Partner¶
Priority: LOW Description: System shall remember default settings per partner agency.
Acceptance Criteria: - System stores default currency per partner - System stores default markup percentage per partner - System stores preferred hotels per partner - Defaults are applied when creating new group for that partner - Defaults can be overridden per group
8.14 Supplier Management¶
REQ-FUT-070: Supplier Database¶
Priority: MEDIUM Description: System shall maintain comprehensive supplier information.
Acceptance Criteria: - Supplier types include: Hotel, Activity Provider, Transport Company, Restaurant - Supplier record includes: name, type, contact information, address, tax ID, payment terms - Users can search suppliers by name or type - Suppliers can be marked as preferred - Suppliers can be marked as blacklisted
REQ-FUT-071: Supplier Contracts¶
Priority: MEDIUM Description: System shall manage supplier contracts and rates.
Acceptance Criteria: - Users can attach contract documents to suppliers - Contracts have: start date, end date, terms, rate schedules - System warns when contract is expiring - System prevents booking if no valid contract exists - Rate schedules can be uploaded in bulk
REQ-FUT-072: Supplier Performance Ratings¶
Priority: LOW Description: System shall track supplier quality ratings.
Acceptance Criteria: - Users can rate suppliers after each service (1-5 stars) - Rating categories: Quality, Timeliness, Communication, Value - System calculates average rating per supplier - Ratings are visible when selecting suppliers - Low-rated suppliers can be flagged for review
REQ-FUT-073: Supplier Payment Terms¶
Priority: MEDIUM Description: System shall track payment terms per supplier.
Acceptance Criteria: - Payment terms include: payment due date offset (e.g., Net 30), payment method, bank details - System calculates payment due dates based on terms - System generates supplier payment report - System tracks paid vs. unpaid supplier invoices
REQ-FUT-074: Supplier Payment Reconciliation¶
Priority: MEDIUM Description: System shall help reconcile supplier payments.
Acceptance Criteria: - System lists all services provided by supplier for a date range - System calculates total amount owed - Users can mark invoices as paid - System generates payment summary for accounting - System identifies discrepancies between expected and actual amounts
8.15 Quality Control & Feedback¶
REQ-FUT-075: Post-Trip Surveys¶
Priority: MEDIUM Description: System shall send surveys to passengers after trip completion.
Acceptance Criteria: - Survey is sent automatically when group status changes to DEPARTED - Survey includes: overall satisfaction, hotel ratings, activity ratings, guide ratings - Survey can include open-ended comments - Response rate is tracked - Survey results are associated with group record
REQ-FUT-076: Quality Ratings Collection¶
Priority: MEDIUM Description: System shall collect ratings for all service components.
Acceptance Criteria: - Users can rate: hotels, activities, guides, drivers, restaurants - Rating scale: 1-5 stars - Ratings include optional comments - Ratings are visible on supplier records - Poor ratings trigger review process
REQ-FUT-077: Issue Tracking¶
Priority: MEDIUM Description: System shall track and manage service issues.
Acceptance Criteria: - Users can log issues/complaints - Issue record includes: date, type, severity, description, supplier involved, resolution - Issue status: Open, In Progress, Resolved, Closed - Users can assign issues to staff members - Issue resolution is documented - Issues are linked to group and supplier
REQ-FUT-078: Continuous Improvement Metrics¶
Priority: LOW Description: System shall track quality improvement over time.
Acceptance Criteria: - Dashboard shows trend of customer satisfaction scores - Dashboard shows issue frequency trends - Dashboard identifies recurring problems - Reports help management make improvement decisions
REQ-FUT-079: Partner Satisfaction Tracking¶
Priority: LOW Description: System shall track partner agency satisfaction.
Acceptance Criteria: - Partners can provide feedback on services - System tracks partner retention rate - System tracks repeat booking rate - System identifies at-risk partnerships
REQ-FUT-080: Complaint Management¶
Priority: MEDIUM Description: System shall manage customer complaints formally.
Acceptance Criteria: - Complaints are categorized by type and severity - Complaints follow escalation procedure - Response time is tracked (SLA) - Complaints are tracked to resolution - Compensation offered is documented - Complaint reports are available for management
9. Implementation Notes¶
9.1 Development Approach¶
- Iterative Development: Implement core features first (sections 3.1-3.9), then enhance with future features
- API-First Design: Build robust API layer before UI implementation
- Mobile-Responsive: Design for desktop first, ensure mobile compatibility
- Modular Architecture: Design system in modules that can be enhanced independently
9.2 Priority Definitions¶
- MUST: Critical for system to function, must be in initial release
- SHOULD: Important for usability, target for initial release
- COULD: Nice to have, can be deferred if time constrained
- WON'T: Out of scope for current phase, documented for future
9.3 Testing Requirements¶
- Unit Testing: Minimum 80% code coverage for business logic
- Integration Testing: Test all API endpoints with various scenarios
- User Acceptance Testing: Involve actual users in testing before release
- Performance Testing: Test with realistic data volumes
- Security Testing: Conduct penetration testing before production
9.4 Documentation Requirements¶
- API Documentation: Complete API reference with examples
- User Manual: Step-by-step guide for all features
- Administrator Guide: System configuration and maintenance
- Training Materials: Videos and tutorials for end users
10. Appendix¶
10.1 Glossary¶
- Group: A travel booking for multiple passengers traveling together
- Pax: Passenger (industry standard abbreviation)
- Rooming List: Document showing which passengers are assigned to which rooms
- Ground Transport: Transportation within destination (not flights)
- Margin: Difference between sale price and cost price
- Quote: Proposal sent to partner showing estimated pricing
- Partner Agency: Travel agency or tour operator sending groups to destination
- Supplier: Company providing services (hotels, activity providers, transport companies)
- Manifest: List of passengers participating in an activity or transport
10.2 Assumptions¶
- Users have basic computer literacy
- Users have access to modern web browsers
- Internet connectivity is available during working hours
- Authentication system already exists in organization
- Master data for partners, hotels, and products exists in separate modules
10.3 Constraints¶
- Must integrate with existing authentication system
- Must use existing database infrastructure
- Must comply with organizational security policies
- Must not exceed allocated budget
- Must be delivered in agreed timeline
10.4 Dependencies¶
- Authentication service must be available
- Partner master data API must be available
- Hotel master data API must be available
- Product catalog API must be available
- Database server must be provisioned
Document End
Version 1.0 - For detailed discussions and clarifications, please contact Product Management team.