Concierge

View as Markdown

Concierge

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

Basic Usage

1from signalwire_agents.prefabs import ConciergeAgent
2
3agent = ConciergeAgent(
4 venue_name="Grand Hotel",
5 services=["room service", "spa bookings", "restaurant reservations", "tours"],
6 amenities={
7 "pool": {"hours": "7 AM - 10 PM", "location": "2nd Floor"},
8 "gym": {"hours": "24 hours", "location": "3rd Floor"},
9 "spa": {"hours": "9 AM - 8 PM", "location": "4th Floor"}
10 }
11)
12
13if __name__ == "__main__":
14 agent.run()

Amenity Format

1amenities = {
2 "amenity_name": {
3 "hours": "Operating hours",
4 "location": "Where to find it",
5 "description": "Optional description",
6 # ... any other key-value pairs
7 }
8}

Constructor Parameters

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

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.
Concierge Flow

Complete Example

1#!/usr/bin/env python3
2## resort_concierge.py - Hotel concierge agent
3from signalwire_agents.prefabs import ConciergeAgent
4
5
6agent = ConciergeAgent(
7 venue_name="The Riverside Resort",
8 services=[
9 "room service",
10 "spa treatments",
11 "restaurant reservations",
12 "golf tee times",
13 "airport shuttle",
14 "event planning"
15 ],
16 amenities={
17 "swimming pool": {
18 "hours": "6 AM - 10 PM",
19 "location": "Ground Floor, East Wing",
20 "description": "Heated indoor/outdoor pool with poolside bar"
21 },
22 "fitness center": {
23 "hours": "24 hours",
24 "location": "Level 2, West Wing",
25 "description": "Full gym with personal trainers available"
26 },
27 "spa": {
28 "hours": "9 AM - 9 PM",
29 "location": "Level 3, East Wing",
30 "description": "Full service spa with massage and facials"
31 },
32 "restaurant": {
33 "hours": "Breakfast 7-10 AM, Lunch 12-3 PM, Dinner 6-10 PM",
34 "location": "Lobby Level",
35 "description": "Fine dining with panoramic river views"
36 }
37 },
38 hours_of_operation={
39 "front desk": "24 hours",
40 "concierge": "7 AM - 11 PM",
41 "valet": "6 AM - 12 AM"
42 },
43 special_instructions=[
44 "Always offer to make reservations when guests ask about restaurants or spa.",
45 "Mention the daily happy hour at the pool bar (4-6 PM)."
46 ],
47 welcome_message="Welcome to The Riverside Resort! How may I assist you today?"
48)
49
50if __name__ == "__main__":
51 agent.add_language("English", "en-US", "rime.spore")
52 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