The problem
A 42-room independent hotel in Brașov's old town lives or dies on two clocks: the mountain weekend and the Instagram scroll. By spring 2026 our client was full most Fridays and Saturdays — and still thin on profit. Booking.com and Expedia were taking 78% of room-nights at 18–22% commission, which on a €95 ADR and a busy summer is not a rounding error. It is the difference between hiring a night receptionist and asking the owner to sleep with the phone on the nightstand.
The discovery channel had already moved. Reels of the courtyard at golden hour, the ski bus stop, the rooftop breakfast with the Tampa behind it — those clips were doing the marketing work that a €40K OTA marketing package used to buy. Guests who watched them did not open Booking. They opened Instagram DM at 22:17 and asked: 'do you have a twin for 12–14 June, and is parking included?' If nobody answered before midnight, they booked the listing next door. Front desk closed the inbox at 21:00. Roughly 1,100 Instagram and WhatsApp threads a month sat on read past office hours.
The second leak was operational, not commercial. After a direct booking somehow landed, the guest still had twelve questions: early check-in, luggage storage, airport transfer, gluten-free breakfast, invoice for a German company, pet policy. Two receptionists typed the same paragraphs in Romanian, English, and German between check-ins. On a Saturday changeover the queue simply overflowed, and the team started steering people back to Booking because 'at least the app answers.' That sentence, said out loud in a morning stand-up, is what made the owner call us.
Meanwhile the legal and compliance backdrop shifted under their feet. The CJEU's September 2024 parity ruling (C-264/23) and FIHR's invitation for Romanian hotels to join the European collective action against Booking.com finally gave independents permission — commercially and psychologically — to publish a cheaper member rate on their own channels. But permission without a funnel is just a PDF on a lawyer's desk. And from 1 January 2026, e-Factura B2C meant every cash- or card-paying leisure guest needed a structured invoice through SPV ANAF within five working days. The hotel's old 'invoice on request' habit became a fineable gap.
Then July 2026 added a transparency layer. ANPC published its Ghid de bune practici for online products and services — not a statute, but a clear signal of what inspectors will look for when a consumer books a service through chat. Undisclosed AI agents that negotiate availability, take deposits, or confirm contracts sit uncomfortably next to unfair-commercial-practice rules and the EU AI Act's transparency expectations. The owner did not want a clever bot that quietly pretended to be Ana from reception. He wanted a bot that said it was a bot, booked cleanly, and handed hard cases to a human before anyone felt lied to.
What we built
We did not rip out Mews, the channel manager, or the Booking.com contract. OTAs still fill shoulder midweeks and last-minute gaps; the job was to stop giving them the weekends Instagram had already sold. We wrapped an AI concierge around Instagram DMs, WhatsApp Business, and the website chat that owns the conversation, the rate presentation, the deposit, and the PMS write — and escalates the moment money, groups, or complaints need a human signature.
Two rules locked on day one with the GM. First: every AI conversation opens with a one-line disclosure in the guest's language — 'You're chatting with our booking assistant (AI); a receptionist joins if you need one' — aligned with ANPC's July 2026 transparency guidance and the spirit of the EU AI Act. Second: the agent can confirm published BAR and member rates and take a 30% Stripe deposit, but any discretionary discount, group of 6+, or complaint about a past stay jumps to a human within two minutes. The bot sells the room; people own the relationship.
- 24/7 Instagram + WhatsApp + web concierge: answers availability, parking, breakfast, pet, and transfer questions in Romanian, English, German, and French in under 45 seconds; 87% of routine threads close without front desk
- Reel-to-room funnel: UTM-tagged Instagram bio and Story swipe-ups land in the same agent, which already knows the campaign room category and offers the member rate (−8% to −14% vs OTA BAR) the platforms never display
- In-chat booking into Mews: selects the rate plan, holds the room for 15 minutes, collects guest details + billing preference, takes a 30% Stripe deposit, writes the reservation, and emails a confirmation PDF the guest can keep — durable medium under ANPC distance-contract expectations
- Upsell and ops layer: early check-in, late checkout, parking, spa slot, and airport transfer offered as add-ons with live inventory; housekeeper and transfer WhatsApp groups get structured tasks instead of screenshots
- e-Factura B2C queue: every settled folio generates a draft structured invoice for the night auditor to submit to SPV ANAF the same day — 100% B2C coverage since the January mandate, including Instagram-origin stays
- OTA coexistence, not war: channel manager keeps Booking/Expedia for distressed inventory; when occupancy on a date crosses 70% on direct, the agent stops discounting and the channel manager raises OTA rates — weekends flipped first
- Cost-gated stack on purpose: after Meta's August 2026 Business Agent token billing made native 'set and forget' bots unpredictable for high-volume hospitality DMs, we ran the agent on WhatsApp Business API + Instagram Messaging API with our own orchestration (n8n + GPT-4.1 / Claude) so reply cost stayed flat and reviewable
- Human escalation pack: complaint, overbooking conflict, special-needs guest, or 'I need to talk to someone' routes to the on-shift receptionist with a three-line summary — no guest has to re-explain the stay
The results after one high season
From 1 May to 31 August 2026 the hotel sold 11,420 room-nights. Direct share moved from 22% in the same period of 2025 to 59%. OTA share fell from 78% to 41%. On the nights that moved, the hotel kept the 18–22% that used to leave for Booking and Expedia — €186K in recovered commission before counting the ADR lift on member rates.
Speed was the conversion lever. Median reply time across Instagram and WhatsApp dropped under 45 seconds, 24/7. Threads that used to die overnight converted at 34% when answered inside two minutes; the 2025 after-hours baseline was effectively zero. Front desk stopped being a typing pool and went back to arrivals, VIPs, and the hard conversations the bot is forbidden to finish.
Instagram stopped being a vanity metric. Three of the hotel's top booking weeks in July traced to Reels that ended in a DM the agent closed the same evening with a deposit. The member-rate offer — legal post-parity, invisible on OTAs — became the reason guests who discovered the property socially never opened Booking 'just to compare.'
Compliance held under real traffic. Every AI chat carried the disclosure line; night audit closed e-Factura B2C the same day for direct folios; and when an ANPC-minded travel blogger asked whether they were talking to a person, the transcript showed the assistant had already said it was AI twice. That is a boring screenshot. Boring is what you want when the inspector asks.
What we'd do differently
We launched the member rate at a flat −12% and learned the hard way that ski weekends and midweek corporate do not want the same discount. By July we rebuilt it as a yield rule tied to occupancy and lead time — deeper for 14+ day lead midweeks, shallower when the house was already 80% direct. Static 'loyalty' math leaves money on the table almost as fast as OTA commission does.
We underestimated German-language edge cases around Firmenrechnung and the difference between a leisure e-Factura and a B2B invoice with CUI. The first two weeks produced a handful of folios the accountant had to rework by hand. We added a billing-intent step in the chat ('private stay / company invoice') before the deposit, and the rework queue emptied.
The line we underline for every independent hotel still living on Booking.com in 2026: recover the weekend that social media already sold you, disclose the AI, and keep a human on complaints and groups. Do not try to 'delete OTAs.' Try to stop paying 20% for guests who were already in your Instagram inbox at 22:17 — and make sure that inbox answers before they fall asleep.
"Booking was not our marketing department — Instagram was. We just had nobody answering after nine. The AI takes the deposit before the guest opens the OTA tab, says upfront that it is a bot, and leaves the messy conversations to us. That is how you keep a mountain weekend without keeping a 20% bill."
— General Manager & Co-Owner, Brașov boutique hotel