Skip to main content

Concierge

Concierge

Summary: ConciergeAgent provides venue information, answers questions about amenities and services, helps with bookings, and gives directions.

Basic Usage

from signalwire_agents.prefabs import ConciergeAgent

agent = ConciergeAgent(
venue_name="Grand Hotel",
services=["room service", "spa bookings", "restaurant reservations", "tours"],
amenities={
"pool": {"hours": "7 AM - 10 PM", "location": "2nd Floor"},
"gym": {"hours": "24 hours", "location": "3rd Floor"},
"spa": {"hours": "9 AM - 8 PM", "location": "4th Floor"}
}
)

if __name__ == "__main__":
agent.run()

Amenity Format

amenities = {
"amenity_name": {
"hours": "Operating hours",
"location": "Where to find it",
"description": "Optional description",
# ... any other key-value pairs
}
}

Constructor Parameters

ConciergeAgent(
venue_name="...", # Name of venue (required)
services=[...], # List of services offered (required)
amenities={...}, # Dict of amenities with details (required)
hours_of_operation=None, # Dict of operating hours
special_instructions=None, # List of special instructions
welcome_message=None, # Custom welcome message
name="concierge", # Agent name
route="/concierge", # HTTP route
**kwargs # Additional AgentBase arguments
)

Built-in Functions

ConciergeAgent provides these SWAIG functions automatically:

FunctionDescription
check_availabilityCheck service availability for date/time
get_directionsGet directions to an amenity or location

Concierge Flow

┌─────────────────────────────────────────────────────────────────────────────┐
│ Concierge Flow │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Guest: "What time does the pool close?" │
│ │ │
│ ▼ │
│ AI looks up pool in amenities │
│ │ │
│ ▼ │
│ Response: "The pool is open until 10 PM and located on the 2nd Floor." │
│ │
│ ───────────────────────────────────────────────────────────────────────── │
│ │
│ Guest: "Can I book a spa appointment for tomorrow at 2 PM?" │
│ │ │
│ ▼ │
│ AI calls check_availability("spa", "2025-01-16", "14:00") │
│ │ │
│ ▼ │
│ Response: "Yes, the spa is available tomorrow at 2 PM. Shall I book it?" │
│ │
│ ───────────────────────────────────────────────────────────────────────── │
│ │
│ Guest: "How do I get to the gym?" │
│ │ │
│ ▼ │
│ AI calls get_directions("gym") │
│ │ │
│ ▼ │
│ Response: "The gym is on Level 2, West Wing. From the lobby..." │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

Complete Example

#!/usr/bin/env python3
## resort_concierge.py - Hotel concierge agent
from signalwire_agents.prefabs import ConciergeAgent


agent = ConciergeAgent(
venue_name="The Riverside Resort",
services=[
"room service",
"spa treatments",
"restaurant reservations",
"golf tee times",
"airport shuttle",
"event planning"
],
amenities={
"swimming pool": {
"hours": "6 AM - 10 PM",
"location": "Ground Floor, East Wing",
"description": "Heated indoor/outdoor pool with poolside bar"
},
"fitness center": {
"hours": "24 hours",
"location": "Level 2, West Wing",
"description": "Full gym with personal trainers available"
},
"spa": {
"hours": "9 AM - 9 PM",
"location": "Level 3, East Wing",
"description": "Full service spa with massage and facials"
},
"restaurant": {
"hours": "Breakfast 7-10 AM, Lunch 12-3 PM, Dinner 6-10 PM",
"location": "Lobby Level",
"description": "Fine dining with panoramic river views"
}
},
hours_of_operation={
"front desk": "24 hours",
"concierge": "7 AM - 11 PM",
"valet": "6 AM - 12 AM"
},
special_instructions=[
"Always offer to make reservations when guests ask about restaurants or spa.",
"Mention the daily happy hour at the pool bar (4-6 PM)."
],
welcome_message="Welcome to The Riverside Resort! How may I assist you today?"
)

if __name__ == "__main__":
agent.add_language("English", "en-US", "rime.spore")
agent.run()

Best Practices

Amenities

  • Include hours for all amenities
  • Provide clear location descriptions
  • Add any special requirements or dress codes
  • Keep information up to date

Services

  • List all bookable services
  • Connect to real booking system for availability
  • Include service descriptions and pricing if possible

Special Instructions

  • Use for promotions and special offers
  • Include upselling opportunities
  • Add seasonal information