Skip to main content

Overview

The Tourist Profiles API manages detailed profile information for tourist users. Each tourist profile is linked to a user account and contains travel preferences, interests, activity levels, and personalization settings.

Tourist Profile Object

The Tourist Profile object extends user information with travel-specific data:
userId
Long
References the user account (primary key)
location
string
Tourist’s current location or home base
bio
string
Personal biography or description
memberSince
date
Date when the tourist joined the platform
badge
string
Achievement badge or membership level
travelStyle
string
Preferred travel style (e.g., adventurous, relaxed, cultural)
tripType
string
Preferred trip types (e.g., solo, family, group)
paceAndCompany
string
Preferred travel pace and company preferences
activityLevel
TouristProfileActivityLevel
Activity level preference (enum value)
groupPreference
string
Group size preferences
dietaryPreferences
string
Dietary restrictions or preferences
planningLevel
TouristProfilePlanningLevel
Planning style preference (enum value)
amenities
string
Preferred amenities
transport
string
Transportation preferences
photoPreference
string
Photography preferences during tours
accessibility
string
Accessibility requirements
additionalNotes
string
Additional notes or special requests
avatarUrl
string
URL to profile avatar image
coverUrl
string
URL to profile cover image
updatedAt
datetime
Last update timestamp

Create Tourist Profile

curl -X POST http://localhost:8080/api/tourist_profiles \
  -H "Content-Type: application/json" \
  -d '{
    "userId": 1,
    "location": "Mexico City, Mexico",
    "bio": "Passionate traveler exploring cultural heritage sites and local cuisine.",
    "memberSince": "2024-03-11",
    "badge": "Explorer",
    "travelStyle": "Cultural & Culinary",
    "tripType": "Solo & Small Groups",
    "paceAndCompany": "Moderate pace, enjoy meeting locals",
    "activityLevel": "MODERATE",
    "groupPreference": "Small groups (4-8 people)",
    "dietaryPreferences": "Vegetarian",
    "planningLevel": "FLEXIBLE",
    "amenities": "WiFi, comfortable walking shoes recommended",
    "transport": "Public transport & walking",
    "photoPreference": "Love taking photos at scenic spots",
    "accessibility": "None",
    "additionalNotes": "Interested in off-the-beaten-path experiences",
    "avatarUrl": "https://example.com/avatars/maria.jpg",
    "coverUrl": "https://example.com/covers/maria-cover.jpg"
  }'
userId
Long
required
User ID to create profile for (must reference existing user)
location
string
Tourist’s location
bio
string
Personal biography
memberSince
date
Membership start date
badge
string
Achievement badge
travelStyle
string
Travel style preferences
tripType
string
Preferred trip types
paceAndCompany
string
Pace and company preferences
activityLevel
TouristProfileActivityLevel
Activity level
groupPreference
string
Group size preference
dietaryPreferences
string
Dietary preferences
planningLevel
TouristProfilePlanningLevel
Planning level preference
amenities
string
Preferred amenities
transport
string
Transportation preferences
photoPreference
string
Photography preferences
accessibility
string
Accessibility requirements
additionalNotes
string
Additional notes
avatarUrl
string
Avatar image URL
coverUrl
string
Cover image URL

Response

{
  "userId": 1,
  "location": "Mexico City, Mexico",
  "bio": "Passionate traveler exploring cultural heritage sites and local cuisine.",
  "memberSince": "2024-03-11",
  "badge": "Explorer",
  "travelStyle": "Cultural & Culinary",
  "tripType": "Solo & Small Groups",
  "paceAndCompany": "Moderate pace, enjoy meeting locals",
  "activityLevel": "MODERATE",
  "groupPreference": "Small groups (4-8 people)",
  "dietaryPreferences": "Vegetarian",
  "planningLevel": "FLEXIBLE",
  "amenities": "WiFi, comfortable walking shoes recommended",
  "transport": "Public transport & walking",
  "photoPreference": "Love taking photos at scenic spots",
  "accessibility": "None",
  "additionalNotes": "Interested in off-the-beaten-path experiences",
  "avatarUrl": "https://example.com/avatars/maria.jpg",
  "coverUrl": "https://example.com/covers/maria-cover.jpg",
  "updatedAt": "2024-03-11T10:30:00Z"
}

Get All Tourist Profiles

curl -X GET http://localhost:8080/api/tourist_profiles
Retrieves all tourist profiles in the system.

Response

[
  {
    "userId": 1,
    "location": "Mexico City, Mexico",
    "bio": "Passionate traveler exploring cultural heritage sites and local cuisine.",
    "memberSince": "2024-03-11",
    "badge": "Explorer",
    "travelStyle": "Cultural & Culinary",
    "activityLevel": "MODERATE",
    "avatarUrl": "https://example.com/avatars/maria.jpg"
  }
]

Get Tourist Profile by ID

curl -X GET http://localhost:8080/api/tourist_profiles/1
Retrieves a specific tourist profile by user ID.

Response

{
  "userId": 1,
  "location": "Mexico City, Mexico",
  "bio": "Passionate traveler exploring cultural heritage sites and local cuisine.",
  "memberSince": "2024-03-11",
  "badge": "Explorer",
  "travelStyle": "Cultural & Culinary",
  "tripType": "Solo & Small Groups",
  "paceAndCompany": "Moderate pace, enjoy meeting locals",
  "activityLevel": "MODERATE",
  "groupPreference": "Small groups (4-8 people)",
  "dietaryPreferences": "Vegetarian",
  "planningLevel": "FLEXIBLE",
  "amenities": "WiFi, comfortable walking shoes recommended",
  "transport": "Public transport & walking",
  "photoPreference": "Love taking photos at scenic spots",
  "accessibility": "None",
  "additionalNotes": "Interested in off-the-beaten-path experiences",
  "avatarUrl": "https://example.com/avatars/maria.jpg",
  "coverUrl": "https://example.com/covers/maria-cover.jpg",
  "updatedAt": "2024-03-11T10:30:00Z"
}

Update Tourist Profile

curl -X PUT http://localhost:8080/api/tourist_profiles/1 \
  -H "Content-Type: application/json" \
  -d '{
    "userId": 1,
    "location": "Mexico City, Mexico",
    "bio": "Experienced traveler with a passion for cultural immersion and authentic local cuisine.",
    "travelStyle": "Cultural Immersion",
    "activityLevel": "HIGH",
    "badge": "Advanced Explorer",
    "updatedAt": "2024-03-15T14:20:00Z"
  }'
Updates an existing tourist profile.

Response

{
  "userId": 1,
  "location": "Mexico City, Mexico",
  "bio": "Experienced traveler with a passion for cultural immersion and authentic local cuisine.",
  "memberSince": "2024-03-11",
  "badge": "Advanced Explorer",
  "travelStyle": "Cultural Immersion",
  "tripType": "Solo & Small Groups",
  "paceAndCompany": "Moderate pace, enjoy meeting locals",
  "activityLevel": "HIGH",
  "groupPreference": "Small groups (4-8 people)",
  "dietaryPreferences": "Vegetarian",
  "planningLevel": "FLEXIBLE",
  "amenities": "WiFi, comfortable walking shoes recommended",
  "transport": "Public transport & walking",
  "photoPreference": "Love taking photos at scenic spots",
  "accessibility": "None",
  "additionalNotes": "Interested in off-the-beaten-path experiences",
  "avatarUrl": "https://example.com/avatars/maria.jpg",
  "coverUrl": "https://example.com/covers/maria-cover.jpg",
  "updatedAt": "2024-03-15T14:20:00Z"
}

Delete Tourist Profile

curl -X DELETE http://localhost:8080/api/tourist_profiles/1
Deletes a tourist profile from the system.

Response

{
  "message": "Tourist profile deleted successfully"
}

Build docs developers (and LLMs) love