🤖 Chatbot Configuration
Explains how to personalize and optimize your hotel's AI agent behavior.
What is the ChatBook chatbot?
The chatbot is an AI sales agent that acts as your hotel's virtual receptionist, available 24/7. It learns about your hotel through a vector knowledge base (RAG) and adapts its responses to each guest's profile.
What the bot can do:
- Answer questions about the hotel, rooms, services, and location
- Show hotel photos when the guest requests them
- Quote prices and check availability (if you have a PMS integrated)
- Create direct bookings (Matrix/Pro with PMS)
- Capture leads with contact details
- Detect the guest type and adapt the conversation
What the bot does NOT do:
- Make up information — if it doesn't know, it asks for the guest's contact details
- Process payments directly (coming in Phase 3)
- Remember previous conversations beyond 10 messages
1. Agent personalization
Go to Hotels → [your hotel] → Settings in the side menu.
1.1 Bot identity
| Field | Description | Example |
|---|---|---|
| Bot name | How it introduces itself to guests | "Sofía", "Hotel Luna Assistant" |
| Default language | The bot detects the guest's language automatically. This is the fallback | Spanish |
| Tone | Formal / Friendly (both are valid, choose based on the hotel's profile) | Friendly |
1.2 Web widget configuration
Accessible from Connections → Web Widget → Customization:
- Primary color — color of the chat button and header
- Hotel logo — image that appears in the chat header
- Welcome message — the first message the guest sees when opening the chat
- Widget position — bottom-right corner (default) or bottom-left
- Text field placeholder — helper text in the chat input
1.3 Widget embed code example
<!-- Agregar antes de </body> en tu sitio web -->
<script>
(function(d,s,id){
var js,fjs=d.getElementsByTagName(s)[0];
if(d.getElementById(id))return;
js=d.createElement(s);js.id=id;
js.src="https://widget.hotelchatbook.io/embed.js";
js.setAttribute('data-hotel','TU_HOTEL_ID');
fjs.parentNode.insertBefore(js,fjs);
}(document,'script','chatbook-widget'));
</script>
2. Knowledge base — how the bot learns
The knowledge base is the bot's "brain". The more complete it is, the better it sells.
2.1 What the knowledge base includes
| Category | Description | Source |
|---|---|---|
| General info | Name, description, address, phone, website | Initial scraping + manual |
| Rooms | Types, capacity, description, amenities | Rooms module |
| Services | Breakfast, pool, spa, parking, restaurant | Conversational training |
| Rates | Base prices by category and season | Rates module |
| Policies | Cancellation, check-in/out, pets, children | Hotel Information |
| Location | Exact address, Google Place ID, directions | Google Places |
| Images | Photos of rooms and common areas | Manual upload in AI Training |
| Custom FAQs | Answers to the hotel's frequently asked questions | Training + Missing Information |
2.2 Knowledge quality
The bot responds with different levels of certainty:
- Confirmed certainty → answers directly with the data
- Partial certainty → answers with "Normally…" or "Subject to confirmation"
- No information → "I don't have confirmed information about this. Would you like the team to contact you?"
To improve coverage, regularly review the "Missing Information" section in AI Training — that's where the questions the bot couldn't answer appear.
2.3 How the bot uses rates
The pricing engine follows this priority hierarchy:
1. Discount rules (if applicable — Matrix/Pro)
2. Traveler package price (if the guest picks one)
3. Active promotion with dates (% or fixed amount)
4. Seasonal rate (multiplier per date range)
5. Day-type rate (weekend / weekday)
6. Base rate (fallback)
3. Bot behavior by guest type (Buyer Personas)
The bot automatically detects the guest type and adapts its response. This happens in the bot's "internal monologue" — the guest doesn't see it.
| Buyer Persona | Signals it detects | Bot strategy |
|---|---|---|
| BP1 — Direct Booker (35% of traffic) | Exact dates, direct price question, "I want to book" | Shows price immediately + booking CTA. Maximum conversion. |
| BP2 — Comparer (40% of traffic) | Compares options, tentative dates, "I'm looking around" | Shows unique value proposition + soft urgency + conditional price |
| BP3 — Explorer (20% of traffic) | "I'm thinking about…", no dates, exploratory tone | Inspires, does NOT show price. Captures email for nurturing |
| BP4 — Urgent (5% of traffic) | "Tonight", "right now", "urgent" | Immediate close. Availability first, then details |
When the bot hands off to a human (Handoff)
The bot reports the lead and escalates to a human when:
- The guest explicitly asks to speak with a human
- Complex negotiation (large group, event)
- 3+ messages with high intent without closing
- Critical missing information that the bot cannot resolve
4. WhatsApp configuration (Matrix / Pro)
4.1 Connect a WhatsApp Business number
- Go to Connections in the side menu
- Select "WhatsApp Business"
- Click "Connect number"
- Options:
- Your own number: you need an active WhatsApp Business API (via 360dialog or a similar provider)
- ChatBook shared number: the hotel receives messages on a UNOZERO number (available in basic Matrix)
- Enter the
whatsapp_account_sidandauth_tokenfrom 360dialog - The system verifies the connection — it takes ~2 minutes
- Expected status:
connected
4.2 Message templates (Meta Templates)
WhatsApp requires Meta-approved templates to start conversations. The bot uses them for:
- Booking confirmation
- Payment reminder with deadline
- Post-registration welcome message
View and manage templates at: Connections → WhatsApp Business → Templates
Sending non-template messages within the 24h window (in reply to a guest's message) is permitted without restrictions.
5. Optimize bot performance
5.1 Quality checklist — a well-configured bot
| Check | How to verify it |
|---|---|
| ✅ Complete hotel info | AI Training → completeness % > 80% |
| ✅ At least 5 images uploaded | AI Training → Images |
| ✅ Check-in/out times configured | Hotels → [your hotel] → Policies |
| ✅ Cancellation policy defined | Hotels → [your hotel] → Policies |
| ✅ At least 1 room category with a rate | Hotels → [your hotel] → Rooms + Rates |
| ✅ Missing information reviewed | AI Training → Missing Information (0 pending items) |
| ✅ Widget visible and working on the website | Visit the website and start a test chat |
5.2 Bot benchmark metrics
| Metric | Current ChatBook value | Industry benchmark |
|---|---|---|
| Conversion rate (lead → booking) | 18.4% | 12–15% |
| Lead capture rate | 64.2% | 45–55% |
| Average response time | 1.8 seconds | 3–5 seconds |
| Guest CSAT | 4.7 / 5.0 | 4.2 / 5.0 |
| Escalation to human | 8.3% | 15–20% |
5.3 Common performance issues
| Symptom | Probable cause | Solution |
|---|---|---|
| Bot says "I don't have information" frequently | Incomplete knowledge base | Complete AI Training + review Missing Information |
| Bot shows incorrect prices | Rates not configured or PMS disconnected | Check the Rates module and PMS Integration |
| Bot doesn't show images | Images without consistent names | Rename using the {tipo}-{número} format |
| Bot doesn't capture leads | Notification channel not configured | Configure email or WhatsApp in Hotels → Notifications |
| Conversations fall into expired without a reply | 30 conv/month limit reached (Freemium) | Buy an additional package or upgrade the plan |