Hospitality AI
AI guest assistant: resolving property context before the first reply
I worked on a multilingual WhatsApp assistant for more than 60 properties, where reliable guest and property identification mattered more than generating a fluent response.

The system I joined
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.
Where I contributed
I worked on 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.
Decision trail
Constraints became architecture.
Each decision below connects a concrete limitation to the engineering response and its practical effect.
- 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
What the work produced
- 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.
Technology
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 Ahmed