Tourist Profiles
Tourist profiles help travelers showcase their preferences and connect with compatible guides.Profile Information
Personal Details
Manage location, bio, avatar, and cover images to create an attractive profile
Travel Preferences
Define travel style, trip type, pace preferences, and activity levels
Interests & Languages
Add interests and languages to improve matching with guides
Badges & Recognition
Earn badges based on membership status and platform activity
Key Fields
TheTouristProfile model includes:
- Basic Info: Location, bio, member since date, avatar/cover URLs
- Travel Style: Travel style, trip type, pace and company preferences
- Activity Level: Enum values for activity intensity (
LOW,MODERATE,HIGH,VERY_HIGH) - Planning Level: Enum values for planning preferences (
SPONTANEOUS,FLEXIBLE,STRUCTURED,VERY_PLANNED) - Preferences: Group size, dietary preferences, amenities, transport options
- Accessibility: Accessibility requirements and additional notes
- Photos: Photo taking preferences
Tourist profiles are linked to user accounts via
user_id and stored in the tourist_profiles table.Managing Interests
Tourists can add multiple interests to their profile:InterestController.java- CRUD operations for interest categoriesTouristProfileInterestController.java- Link/unlink interests to profiles
Language Support
Tourists can specify languages they speak:TouristProfileLanguageController.java for adding/removing languages.
Guide Profiles
Guide profiles are more comprehensive, showcasing expertise, availability, and professional credentials.Profile Components
Professional Info
Summary, story, hourly rate, experience level, and tour style
Ratings & Reviews
Average rating and review count displayed prominently
Expertise Areas
Multiple expertise areas to attract relevant tourists
Certifications
Display professional certifications and credentials
Key Fields
TheGuideProfile model includes:
- Profile Content: Summary, story, status text, avatar/cover URLs
- Pricing: Hourly rate and currency
- Reputation: Average rating (
rating_avg) and reviews count - Location: Location label for guide’s area of operation
- Experience: Experience level and tour style
- Tour Details: Group size preferences, tour intensity, transport offered
- Photo Style: Photography style and approach
- Updates: Post text, images, captions with publish timestamps
Guide profiles track reputation metrics automatically through the review system.
Expertise Management
Guides can add multiple expertise areas:GuideExpertiseAreaController.java- Manage expertise categoriesGuideProfileExpertiseController.java- Link expertise to guide profiles
Certifications
Guides can add professional certifications:GuideCertificationController.java at:
Languages & Adaptations
Guides specify:- Languages: Managed via
GuideProfileLanguageController.java - Adaptations: Special accommodations offered (e.g., wheelchair accessible) via
GuideAdaptationController.java
Availability Calendar
Guides manage availability through calendar events:GuideCalendarEventController.java tracks:
- Start and end datetime
- Event type and status
- Source (manual entry, booking, or system-generated)
Location Management
Guides can define multiple service locations:API Endpoints
Tourist Profile
Guide Profile
What's the difference between tourist and guide profiles?
What's the difference between tourist and guide profiles?
Tourist profiles focus on preferences, interests, and travel style to help match with guides. Guide profiles are professional portfolios showcasing expertise, certifications, availability, and pricing information.
Can users have both tourist and guide profiles?
Can users have both tourist and guide profiles?
Yes, users can have both profile types linked to their user account, allowing them to both book tours as tourists and offer tours as guides.
How are profile images stored?
How are profile images stored?
Profile images are stored via URLs in
avatar_url and cover_url fields. The actual file storage and upload handling is managed separately from the profile data.Related Features
Compatibility Matching
Learn how profiles power our matching algorithm
Reviews & Ratings
See how reviews update guide profile ratings