AI Operations
TL;DR
POST to /v1/ai with an operation type: respond-to-guest, classify-intent, generate-listing, review-response, or price-suggestion. Returns AI-generated content.
Pre-built AI endpoints for common hospitality tasks. Send a request, get an AI-generated result with full context from the connected PMS. All endpoints accept JSON and return structured responses.
Phase 2 Preview
Respond to Guest
Generate a context-aware guest response draft. The AI pulls in property knowledge base, reservation details, and conversation history to craft an appropriate reply.
curl -X POST https://api.repull.dev/v1/ai/respond-to-guest \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"reservation_id": "res_abc123",
"message": "Hi, is early check-in possible tomorrow?",
"tone": "friendly",
"language": "en"
}'{
"id": "aiop_r1k2m3",
"type": "respond-to-guest",
"response": {
"draft": "Hi! Thanks for reaching out. Early check-in is available tomorrow from 1 PM. Would you like me to arrange that for you?",
"confidence": 0.94,
"sources": ["knowledge_base", "reservation_details", "availability_calendar"],
"suggested_actions": ["confirm_early_checkin", "offer_luggage_storage"]
}
}Classify Intent
Classify an incoming guest message into an intent category. Useful for routing messages, triggering automations, or prioritizing urgent requests.
curl -X POST https://api.repull.dev/v1/ai/classify-intent \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"message": "The hot water is not working and we have been waiting for 2 hours",
"reservation_id": "res_abc123"
}'{
"id": "aiop_c4n5p6",
"type": "classify-intent",
"result": {
"intent": "maintenance_issue",
"confidence": 0.97,
"urgency": "high",
"sentiment": "frustrated",
"categories": ["maintenance", "hot_water", "complaint"],
"suggested_priority": 1
}
}Generate Listing
Generate or optimize a property listing title and description. Provide property details and get SEO-optimized copy tailored for each platform.
curl -X POST https://api.repull.dev/v1/ai/generate-listing \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"property_id": "prop_xyz789",
"platform": "airbnb",
"style": "professional",
"highlights": ["ocean view", "newly renovated", "walk to beach"]
}'{
"id": "aiop_g7h8j9",
"type": "generate-listing",
"result": {
"title": "Stunning Oceanfront Retreat — Newly Renovated, Steps to Beach",
"description": "Wake up to panoramic ocean views in this beautifully renovated retreat...",
"seo_keywords": ["oceanfront", "beach house", "vacation rental"],
"character_count": { "title": 58, "description": 1842 }
}
}Review Response
Generate a professional reply to a guest review. The AI considers the review sentiment, your property details, and best practices for public responses.
curl -X POST https://api.repull.dev/v1/ai/review-response \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"review_text": "Great location but the WiFi was unreliable during our stay.",
"rating": 4,
"property_id": "prop_xyz789",
"tone": "professional"
}'{
"id": "aiop_v1w2x3",
"type": "review-response",
"result": {
"draft": "Thank you for your kind words about the location! We apologize for the WiFi issues during your stay. We have since upgraded to a dedicated fiber connection to ensure reliable connectivity for all guests. We would love to welcome you back!",
"sentiment_detected": "mixed_positive",
"issues_addressed": ["wifi_reliability"]
}
}Price Suggestion
Get dynamic pricing recommendations based on seasonality, local events, competitor rates, and historical occupancy data.
curl -X POST https://api.repull.dev/v1/ai/price-suggestion \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"property_id": "prop_xyz789",
"date_range": {
"start": "2025-07-01",
"end": "2025-07-31"
}
}'{
"id": "aiop_p4q5r6",
"type": "price-suggestion",
"result": {
"suggestions": [
{ "date": "2025-07-01", "current_price": 150, "suggested_price": 189, "reason": "Independence Day weekend demand" },
{ "date": "2025-07-04", "current_price": 150, "suggested_price": 219, "reason": "Peak holiday pricing" },
{ "date": "2025-07-15", "current_price": 150, "suggested_price": 165, "reason": "Mid-week summer baseline" }
],
"avg_increase_pct": 18.2,
"confidence": 0.88
}
}Combine with webhooks
classify-intent endpoint with webhooks to automatically triage incoming messages. When a message.received event fires, classify the intent and route high-urgency issues to your on-call team.