Availability and rate accuracy
On a sample: whether what was said matched the PMS at that moment, for that date and channel.
How it gets fixed
Live queries, never the index. It is the failure that turns a booking into a complaint.
A hotel assistant that cannot read the PMS can converse but cannot book. And one that answers well in Spanish and badly in English looks fine on average and is useless to half the guests. We measure both separately.
4–8 weeks to production · 10 countries in operation, several languages at once · 2M+ users served by systems we operate
Built on
Ninety seconds: who we are, how we work and what you get at the end.
WhatsApp, the website or email land in the same system: it understands the question, searches your documents, answers with a citation and hands over to a person when unsure.
Example: someone asks if there is a room free. The system checks price and availability, and holds the booking.
01 Channels
Searches by meaning and by exact words, and filters by the tag before choosing.
answers with a source · 91 of 100
Swipe to follow the flow →
01
A good share of bookings gets decided outside reception hours, and there is nobody there. The booking is not postponed: it goes elsewhere.
02
Check-in time, pets, parking, how to get here from the airport. High volume, fixed answers.
03
The concierge who knows what to suggest to each guest exists in a twenty-room hotel, not a two-hundred-room one.
04
Demand triples and staffing does not, so service quality drops exactly when the most revenue is on the table.
05
That is where the upsell lives and where the review gets asked for, and almost nobody does it.
01
The technical part
The first is the PMS. Availability, room type and rate change by date and by channel, so they get queried live at answer time and never come out of an index. The semi-stable — policies, amenities, directions, FAQs — does go into the index. An assistant quoting an old rate does not generate a booking: it generates an argument at the front desk on arrival day.
The second is language, and almost nobody measures it. A hotel in Colombia receives guests in Spanish, English and sometimes Portuguese, and the foreign guest is usually the higher-rate one. A system evaluated with a Spanish-only set reports a high number and may be answering badly in English without anyone noticing, because those conversations are few and the average dilutes them. So the evaluation set is built per language and the number is reported per language.
And one operating rule: in hospitality the handoff to a person has to be fast and frictionless. A guest with a problem in their room does not want to converse with a system, and the assistant has to recognise that in the first message.
On a sample: whether what was said matched the PMS at that moment, for that date and channel.
How it gets fixed
Live queries, never the index. It is the failure that turns a booking into a complaint.
The same evaluation set run in every language the hotel serves, with the number reported separately.
How it gets fixed
The weaker language gets more examples, and the translated documentation in the index gets reviewed.
Those that started in the conversation and ended in your own engine, measured with a control group.
How it gets fixed
Without a control group, the system gets credit for the booking that was going to happen anyway.
How many turns it takes to reach a person when the guest has a real problem.
How it gets fixed
Intent classification before retrieval: a complaint does not enter the FAQ flow.
For a small hotel whose operation fits in one person’s inbox, this is over-engineering: a good FAQ page and a WhatsApp number somebody answers cover nearly everything.
The conversation changes with several properties, several languages, a marked season and dependence on online travel agencies. There, every point of direct booking recovered pays for the system, and that can actually be measured.
With the evaluation set run before it ever reaches production.
MCP servers against the systems already in operation.
LangGraph orchestration, durable state and human approval on steps with consequences.
Catalogue, inventory and order status live, not a script.
Key takeaways
The most valuable query is the one that arrives outside reception hours, and it is exactly the one that today gets lost or answered the next day, when the guest has already booked elsewhere.
Availability and rates are queried live against the PMS, never from an index. A stale rate in the chat is an argument at the front desk.
Quality gets measured per language, not on average: a system that answers well in Spanish and badly in English reports a good overall number and loses the foreign guest, who is usually the higher-rate one.
The best-returning case is not the virtual concierge but the direct booking: every reservation that skips an online travel agency saves its commission.
An AI system is worth what its sources are worth. These are the standard connectors; anything with an API or a database connects the same way, and what has no API is handled by file.
SAP
Enterprise ERP
Oracle
ERP and database
NetSuite
Cloud ERP
Salesforce
CRM and service
HubSpot
CRM and marketing
PostgreSQL
Database and pgvector
Microsoft SQL
Database
Snowflake
Data warehouse
BigQuery
Google data warehouse
Databricks
Data platform
Redshift
AWS data warehouse
Synapse
Azure data warehouse
Supabase
Managed Postgres
Workday
Payroll and HR
QuickBooks
Accounting
Sage
Accounting and ERP
Xero
Cloud accounting
Shopify
Catalogue and orders
WooCommerce
Catalogue and orders
Magento
Catalogue and orders
Stripe
Payments and subscriptions
Google Drive
Documents and folders
CSV y Excel
Flat files
Nothing in this category
We built and operated the assistant for a loyalty platform serving more than two million active users across ten countries.
We built the full pipeline: document ingestion and normalization, chunking, embedding generation, vector store on Azure AI Search and Pinecone, and retrieval with grounded generation on LangChain.
We held it above 99% availability for three years.
RAG systems →Yes, over API or an MCP server against whichever system you run, and that is what separates an assistant that books from one that only informs. When the PMS does not expose availability and rates in a queryable way, we say so before quoting: we would rather ship a smaller, honest scope — amenities, policies, directions — than an assistant that improvises a rate.
Whichever the hotel needs; in Colombia that is usually Spanish, English and sometimes Portuguese. What sets us apart is not that it answers in several languages — any model does that — but that quality is measured in each one separately. A Spanish-only evaluation set reports a high number and may be failing in English without anyone seeing it, and the foreign guest is usually the higher-rate one.
It can, and the only honest way to know is to measure it with a control group. Answering the query at the moment it happens — at night, in the guest’s language, with real availability — removes one of the reasons people end up booking through an agency. Any vendor promising a percentage increase before knowing your operation is making it up.
It can prepare check-in: collect details, send the form, confirm arrival time and leave everything ready in the PMS. Payment we recommend keeping on a gateway link rather than inside the conversation, because handling card data in a chat adds a compliance problem that does not pay for what it saves.
It escalates fast, and that is designed and measured. A complaint does not enter the FAQ flow: it is classified before retrieval and routed to a person with the context of what was already said. The metric is how many turns that handoff takes. An assistant that insists on solving what it cannot turns an annoyance into a one-star review.
Four to eight weeks to production depending on integrations and the number of languages, with something running from week one. It is quoted with fixed scope, price and date in a proposal 48 hours after the first call. The price is driven by the number of properties, the languages, and how accessible the PMS is.
It gets fixed, it gets built, or it is not worth it. And if the diagnostic does not reach three actionable findings, it is not charged.
We use cookies to improve the user experience. Privacy