A comprehensive SQL Server database system for managing a travel agency's operations, including tour management, reservations, payments, and customer relations.
-
Tour Management
- Tour creation and scheduling
- Guide assignment and availability tracking
- Amenity management
- Capacity control and participant tracking
-
Reservation System
- Client booking management
- Payment processing
- Insurance plan integration
- Status tracking (Pending, Confirmed, Cancelled, Completed)
-
Client Management
- Client categorization with discount levels
- Contact information management
- Booking history tracking
- Custom client categories
-
Geographic Data
- Multi-level geography hierarchy (Continents, Countries, Cities)
- Support for international tours
- Polish character support (Polish_CS_AS collation)
-
Analytics and Reporting
- Revenue analysis
- Tour popularity metrics
- Guide performance tracking
- Destination analytics
- Clients
- Tours
- TourSchedules
- Reservations
- Payments
- Guides
- Continents
- Countries
- Cities
- TourTypes
- ClientCategories
- AmenityTypes
- InsurancePlans
- TourAmenities
- ReservationInsurance
- Role-based access control
- Three user roles:
- TravelManagerRole
- TravelAgentRole
- TravelReaderRole
- Granular permissions for different operations
- vwOrderedToursAnalytics
- vwTourDetails
- vwUpcomingTours
- vwReservationSummary
- vwRevenueAnalysis
- vwPaymentAnalytics
- vwGuidePerformance
- vwDestinationPopularity
- CreateClient
- UpdateClient
- GetClientTourHistory
- CreateReservation
- UpdateReservationStatus
- AddInsuranceToReservation
- CreateTour
- CreateTourSchedule
- UpdateTourScheduleStatus
- SearchAvailableTours
- CreatePayment
- GetTourStatistics
The system includes comprehensive testing procedures:
- Business rules validation
- Data integrity checks
- User permission verification
- Trigger functionality testing
- Use case scenarios
- Polish character support
- Tour capacity validation
- Payment validation
- Reservation status flow
- Date validation
- Email uniqueness
- Insurance plan integration
-
Execute scripts in the following order:
DatabaseCreation.sql TableStructure.sql StoredProcedures.sql TriggerCreation.sql Views.sql LoginsUsersRoles.sql DataPopulation.sql
-
Run test scripts:
Tests.sql TestUseCases.sql