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