Skip to main content

Overview

The Tourist Profile API provides endpoints for managing tourist user profiles, including personal information, travel preferences, and favorite guides. All endpoints are prefixed with /api/tourists.

Profile Management

Get Tourist Profile

Retrieve a tourist’s complete profile information.
curl -X GET http://localhost:8080/api/tourists/123
Endpoint: GET /api/tourists/{userId}
userId
long
required
Tourist user’s unique identifier
response
object
Tourist profile object

Update Tourist Profile

Update a tourist’s profile information. This endpoint uses PATCH, so only the fields you include will be updated.
curl -X PATCH http://localhost:8080/api/tourists/123 \
  -H "Content-Type: application/json" \
  -d '{
    "location": "San Francisco, CA",
    "bio": "Adventure seeker and food enthusiast",
    "travelStyle": "Adventure",
    "activityLevel": "High",
    "groupPreference": "Small Group",
    "languages": ["English", "Spanish"],
    "interests": ["Hiking", "Photography", "Local Cuisine"]
  }'
Endpoint: PATCH /api/tourists/{userId}
userId
long
required
Tourist user’s unique identifier
location
string
Tourist’s current location or home city
bio
string
Personal biography or description
badge
string
Achievement badge or status level
travelStyle
string
Preferred travel style
tripStyle
string
Type of trips preferred
paceAndCompany
string
Preferred pace and company
activityLevel
string
Physical activity level preference
groupPreference
string
Group size preference
dietaryPreferences
string
Dietary restrictions or preferences
planningLevel
string
Level of trip planning preferred
amenities
string
Preferred amenities and facilities
transport
string
Transportation preferences
photoPreference
string
Photography preferences
accessibility
string
Accessibility needs or requirements
additionalNotes
string
Additional notes or special requests
avatarUrl
string
URL to the user’s avatar image
coverUrl
string
URL to the profile cover image
languages
array
Set of spoken languages
interests
array
Set of travel interests and hobbies
response
object
Updated tourist profile object

Favorite Guides

Get Favorite Guides

Retrieve the list of guide IDs that a tourist has marked as favorites.
curl -X GET http://localhost:8080/api/tourists/123/favorites
Endpoint: GET /api/tourists/{touristId}/favorites
touristId
long
required
Tourist user’s unique identifier
response
array
Array of guide user IDs that are marked as favorites

Add Favorite Guide

Add a guide to the tourist’s list of favorites.
curl -X POST http://localhost:8080/api/tourists/123/favorites/456
Endpoint: POST /api/tourists/{touristId}/favorites/{guideId}
touristId
long
required
Tourist user’s unique identifier
guideId
long
required
Guide user’s unique identifier to add as favorite
response
void
Returns HTTP 204 No Content on success

Remove Favorite Guide

Remove a guide from the tourist’s list of favorites.
curl -X DELETE http://localhost:8080/api/tourists/123/favorites/456
Endpoint: DELETE /api/tourists/{touristId}/favorites/{guideId}
touristId
long
required
Tourist user’s unique identifier
guideId
long
required
Guide user’s unique identifier to remove from favorites
response
void
Returns HTTP 204 No Content on success

Build docs developers (and LLMs) love