Hospitality AI
The right property context before the first WhatsApp reply.
I built the context, routing, and escalation system behind a multilingual WhatsApp assistant for more than 60 properties. Correctly identifying the guest and property mattered more than generating a fluent reply.
Technology
A fluent answer was useless with the wrong property context
Routine guest questions were documented in Airtable, but every answer depended on identifying the correct booking, property, and unit from an incoming phone number that was not always reliable.
The system had to serve English, Spanish, and French conversations around the clock, protect access information, stay within Airtable and WhatsApp limits, and hand sensitive or uncertain conversations to a person.
Built the context and escalation layer
I owned the session-routing logic, property-context pipeline, multilingual conversation flow, caching strategy, and escalation controls.
The central engineering problem was the 45-millisecond decision before generation: deciding which operational context could safely be attached to a new conversation.
Architecture
Identity and context were resolved before generation
The assistant could use property-specific knowledge only after the system established a defensible connection between sender, booking, property, and unit.
- 01
Constraint
The sender's phone number could be masked, formatted differently, or belong to another person in the booking.
Decision
Use a three-pass resolver: normalised exact match, active-booking-window match with confirmation, then a minimal open-conversation fallback.
Impact
Most sessions receive the correct context immediately, while ambiguous sessions reveal no property-specific information until identity is confirmed.
- 02
Constraint
Reading property records from Airtable on every message created latency and exceeded the five-request-per-second base limit at peak check-in times.
Decision
Normalise and batch the Airtable read at session start, then cache non-sensitive property context in Redis with short expiry windows.
Impact
p95 session initialisation fell from about 1.2 seconds on a cold read to about 180 milliseconds on a cache hit.
- 03
Constraint
A single low-confidence score produced too many unnecessary human escalations.
Decision
Separate missing context from stylistic uncertainty and retry against verified session data before escalating.
Impact
Unnecessary escalations fell from 34% to 8% while complaints and safety concerns still transferred immediately.
Outcome
Automation that reduced work without leaking context
- Autonomous resolution reached 83% in the second month.
- Average first-response time stayed below three seconds at p90.
- Routine guest-communication hours fell by approximately 70%.
- The WhatsApp account scaled from 250 to 10,000 conversations per day while maintaining quality thresholds.
Conversation quality starts before the model receives a prompt. Identity resolution, context boundaries, and escalation rules determine whether an assistant is merely fluent or operationally safe.
Abrar
Start a project
Need an AI assistant connected to real operations?
I can help design the identity, context, integration, and escalation layers that make automation safe enough to run unattended.
Discuss your AI assistant