Hospitality

A Multi-Tenant AI Concierge Platform for Luxury Hospitality

One agentic platform that answers guest messages across WhatsApp, SMS, voice, and web chat, and drives staff operations, for many hotels at once, with no per-property custom code.

20+
vendor integrations across 15 categories
8
specialized domain agents behind one classifier
4
guest channels: WhatsApp, SMS, voice, web
0
code changes to onboard a new property

The challenge

Luxury hotels run on a fragmented stack of property management, point of sale, spa, food and beverage, revenue, and housekeeping systems, and a single guest request can touch several of them. Answering one message often means a staff member logging into multiple vendor systems by hand. The client needed to automate guest concierge and staff operations across a portfolio of properties without writing and maintaining bespoke software for every hotel.

Architecture

Guest channels

  • WhatsApp, SMS
  • Voice, web chat

Intent classifier

  • Cheap model
  • Sticky routing

8 domain agents

  • Concierge, ops, spa
  • Bounded tool allowlist

Adapter layer

  • 20+ vendors
  • 1 file per adapter

Hotel systems

  • PMS, POS, spa
  • Revenue, housekeeping
A guest message is classified, routed to a specialized agent, and answered by calling that hotel's configured vendor systems through the adapter layer.

What we built

We built a multi-tenant runtime where a single codebase serves every hotel. An inbound guest message is classified by a lightweight model and routed, with sticky per-session routing, to one of eight domain agents (concierge, operations, spa, food and beverage, housekeeping, revenue, maintenance, events), each with its own prompt and a bounded allowlist of tools.

Every vendor system sits behind a pluggable adapter. Adding a new integration is one adapter file plus one registry line; onboarding a new hotel is a configuration row and a set of credentials, with no deploy. That kept 20+ integrations across 15 categories maintainable by a small team.

Real-time voice is handled by a hosted voice agent that calls our runtime as an HMAC-signed tool provider, so the same tools and policies back both chat and phone.

Trust and safety are structural: guest-versus-staff trust levels filter which tools are even visible, per-tenant write gates and step-up confirmation guard high-risk actions, guest PII is scrubbed, and low-confidence answers auto-escalate to a human.

Stack

PythonFastAPIPostgreSQL + pgvectorRedisOpenAITwilioAWS