***

title: ConciergeAgent
slug: /reference/python/agents/prefabs/concierge-agent
description: A virtual concierge that provides venue information, answers questions about amenities and services, helps with bookings, and gives directions.
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

[agentbase]: /docs/server-sdks/reference/python/agents/agent-base

A virtual concierge that provides venue information, answers questions about amenities and
services, helps with bookings, and gives directions.

```python
from signalwire.prefabs import ConciergeAgent
```

<ParamField path="venue_name" type="str" required={true} toc={true}>
  Name of the venue or business.
</ParamField>

<ParamField path="services" type="list[str]" required={true} toc={true}>
  List of services offered (e.g., `["room service", "spa bookings"]`).
</ParamField>

<ParamField path="amenities" type="dict[str, dict[str, str]]" required={true} toc={true}>
  Dictionary of amenities. Each key is an amenity name, and the value is a dict of
  details (typically `hours` and `location`, but any key-value pairs are accepted).
</ParamField>

<ParamField path="hours_of_operation" type="dict[str, str]" toc={true}>
  Dictionary of operating hours by department or service. Defaults to `{"default": "9 AM - 5 PM"}`.
</ParamField>

<ParamField path="special_instructions" type="list[str]" toc={true}>
  Additional instructions appended to the agent's prompt (e.g., `["Mention the daily happy hour."]`).
</ParamField>

<ParamField path="welcome_message" type="str" toc={true}>
  Custom greeting spoken when the call begins. When set, configures `static_greeting` with no-barge mode.
</ParamField>

<ParamField path="name" type="str" default="concierge" toc={true}>
  Agent name for identification and logging.
</ParamField>

<ParamField path="route" type="str" default="/concierge" toc={true}>
  HTTP route for this agent.
</ParamField>

### Built-in Tools

| Tool                 | Description                                    | Parameters                                                     |
| -------------------- | ---------------------------------------------- | -------------------------------------------------------------- |
| `check_availability` | Check service availability for a date and time | `service` (str), `date` (str, YYYY-MM-DD), `time` (str, HH:MM) |
| `get_directions`     | Get directions to an amenity or location       | `location` (str)                                               |

### Example

```python
from signalwire.prefabs import ConciergeAgent

agent = ConciergeAgent(
    venue_name="The Riverside Resort",
    services=["room service", "spa treatments", "restaurant reservations", "tours"],
    amenities={
        "pool": {"hours": "6 AM - 10 PM", "location": "Ground Floor, East Wing"},
        "spa": {"hours": "9 AM - 9 PM", "location": "Level 3, East Wing"},
        "restaurant": {"hours": "7 AM - 10 PM", "location": "Lobby Level"}
    },
    hours_of_operation={
        "front desk": "24 hours",
        "concierge": "7 AM - 11 PM"
    },
    special_instructions=["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.run()
```