1 min read
Shaza: an AI agent that answers hotel guests and books rooms
- ClientOwn product, sold to hotels
- RoleSolo, end to end
- When2026
- 20+
confirmed reservations
- 81%
conversation-to-booking rate
- 3
hotels using it
Hotels in Morocco get booking questions everywhere, and staff answer by hand. Shaza answers on WhatsApp, Booking.com, Airbnb and email. It checks live availability with the hotel's channel manager and books the room.
What I built
Agent workflow
Self-hosted n8n: messages in from every channel, tool calls to the channel manager, reply and reservation out.
Hotel rules
A system prompt per hotel: rooms, prices, policies, what to confirm, when to hand off to staff.
Model split
Claude Sonnet reasons and calls tools. Claude Haiku writes the replies. Cheaper, still natural.
Staff dashboard
Next.js admin on Drizzle and Neon Postgres.
How it's built
Every message goes through one n8n workflow. Sonnet decides and checks availability, Haiku writes the reply. The model only repeats what the channel manager returned.
- Guest messageWhatsApp, Booking.com, Airbnb or email
- n8n workflowSelf-hosted
- Claude SonnetReasoning and tool calls
- Channel managerLive availability
- Claude HaikuWrites the reply
- Reservation confirmedReply in the same thread
- Next.js dashboard
- Drizzle
- Neon Postgres
- Staff take overWhen the prompt says hand off
Hard parts
Never promising a room that isn't free.
CallAvailability comes from the channel manager, never from the model.
Replies that are natural and cheap at once.
CallSonnet for reasoning and tools, Haiku for the guest-facing text.
What's next
Real guest conversations as a regression set for prompt and model changes.