Skip to main content

Overview

The Guide Profile API provides endpoints for managing guide user profiles, including professional information, rates, specializations, and showcase posts. All endpoints are prefixed with /api/guide_profiles.

Profile Management

Create Guide Profile

Create a new guide profile for a user.
curl -X POST http://localhost:8080/api/guide_profiles \
  -H "Content-Type: application/json" \
  -d '{
    "userId": 123,
    "summary": "Experienced local guide specializing in cultural tours",
    "story": "I have been guiding tours in this beautiful city for over 10 years...",
    "statusText": "Available for bookings",
    "hourlyRate": 75.00,
    "currency": "USD",
    "ratingAvg": 4.8,
    "reviewsCount": 127,
    "locationLabel": "Mexico City, Mexico",
    "experienceLevel": "Expert",
    "style": "Cultural and Historical",
    "groupSize": "Small groups (2-8 people)",
    "tourIntensity": "Moderate",
    "transportOffered": "Walking, Private Vehicle",
    "photoStyle": "Professional photography included",
    "additionalNotes": "Flexible scheduling available",
    "avatarUrl": "https://example.com/avatar.jpg",
    "coverUrl": "https://example.com/cover.jpg",
    "postText": "Latest tour highlights!",
    "postImageUrl": "https://example.com/post.jpg",
    "postCaption": "Amazing day at the pyramids",
    "postPublishedAt": "2024-03-10T14:00:00"
  }'
Endpoint: POST /api/guide_profiles
userId
long
required
User ID for the guide
summary
string
Brief professional summary
story
string
Detailed background story and experience
statusText
string
Current availability status
hourlyRate
decimal
Hourly rate for guide services
currency
string
Currency code (e.g., USD, MXN, EUR)
ratingAvg
decimal
Average rating (0.0 to 5.0)
reviewsCount
integer
Total number of reviews received
locationLabel
string
Primary operating location
experienceLevel
string
Experience level (e.g., “Beginner”, “Intermediate”, “Expert”)
style
string
Guiding style or specialization
groupSize
string
Preferred group size range
tourIntensity
string
Typical tour intensity level
transportOffered
string
Available transportation options
photoStyle
string
Photography services offered
additionalNotes
string
Any additional information or special offerings
avatarUrl
string
URL to profile avatar image
coverUrl
string
URL to profile cover image
postText
string
Featured post text
postImageUrl
string
URL to featured post image
postCaption
string
Caption for featured post
postPublishedAt
datetime
Publication date of featured post
updatedAt
datetime
Profile last update timestamp
response
object
Created guide profile object with HTTP 201 status

Get All Guide Profiles

Retrieve a list of all registered guide profiles.
curl -X GET http://localhost:8080/api/guide_profiles
Endpoint: GET /api/guide_profiles
response
array
Array of guide profile objects (see structure in Create Guide Profile response)

Get Guide Profile by ID

Retrieve a specific guide profile by ID.
curl -X GET http://localhost:8080/api/guide_profiles/123
Endpoint: GET /api/guide_profiles/{id}
id
long
required
Guide profile unique identifier
response
object
Guide profile object (see structure in Create Guide Profile response)

Update Guide Profile

Update an existing guide profile. Only provided fields will be updated.
curl -X PUT http://localhost:8080/api/guide_profiles/123 \
  -H "Content-Type: application/json" \
  -d '{
    "summary": "Updated professional summary",
    "hourlyRate": 85.00,
    "statusText": "Booking available for summer season",
    "ratingAvg": 4.9,
    "reviewsCount": 150
  }'
Endpoint: PUT /api/guide_profiles/{id}
id
long
required
Guide profile unique identifier
summary
string
Brief professional summary
story
string
Detailed background story
statusText
string
Current availability status
hourlyRate
decimal
Hourly rate for services
currency
string
Currency code
ratingAvg
decimal
Average rating
reviewsCount
integer
Total review count
locationLabel
string
Primary location
experienceLevel
string
Experience level
style
string
Guiding style
groupSize
string
Preferred group size
tourIntensity
string
Tour intensity level
transportOffered
string
Transportation options
photoStyle
string
Photography services
additionalNotes
string
Additional information
avatarUrl
string
Avatar image URL
coverUrl
string
Cover image URL
postText
string
Featured post text
postImageUrl
string
Post image URL
postCaption
string
Post caption
postPublishedAt
datetime
Post publication date
updatedAt
datetime
Last update timestamp
response
object
Updated guide profile object

Delete Guide Profile

Delete a guide profile from the system.
curl -X DELETE http://localhost:8080/api/guide_profiles/123
Endpoint: DELETE /api/guide_profiles/{id}
id
long
required
Guide profile unique identifier
response
void
Returns HTTP 204 No Content on success

Guide profiles also have additional specialized endpoints for managing:
  • Certifications: Professional certifications and licenses (GuideProfileCertificationController)
  • Expertise Areas: Specialized knowledge areas (GuideProfileExpertiseController)
  • Languages: Spoken languages and proficiency levels (GuideProfileLanguageController)
  • Locations: Service areas and coverage zones (GuideLocationController)
  • Adaptations: Accessibility and special accommodations (GuideAdaptationController)
  • Calendar Events: Availability and booking calendar (GuideCalendarEventController)
These endpoints follow similar RESTful patterns and will be documented in their respective sections.

Build docs developers (and LLMs) love