The problem
Brașov hotel real estate has tripled in EU funding allocations since 2022, which sounds great until you discover it tripled the supply too. By 2025 there were 1,400+ rooms within 10 minutes of the Old Town fighting for the same Bucharest weekend traveler. This 38-room boutique hotel — opened in 2019 by a husband-and-wife team and run today with their two adult kids — was profitable on paper, but the family had not taken more than four days off together since their oldest started university.
The financial pain was concentrated in the shoulder months. December 22 to January 7 sold itself; mid-July through August 20 sold itself. The other seven months were a knife fight. Average occupancy from October to mid-December and again from mid-January through April hovered at 47%. Anything below 60% on a property of their size meant they were paying the cleaning company, the front-desk shift, and the breakfast buffet to wait for guests who never showed.
OTA chat was where leads were quietly bleeding out. Booking.com sends a message inside the platform for almost every booking — questions about parking, pet policy, late check-in, transport from Bucharest, gluten-free breakfast, dog beds, the wedding-suite balcony view. The family ran reception 7am–11pm. The 11pm–7am Booking.com inbox would have 30 to 60 unanswered messages every morning. Booking.com penalizes slow response time directly in its ranking algorithm; the listing had been demoted twice.
Direct bookings — the only ones that don't pay 18% to Booking and 22% to Expedia — were stuck at 11% of total volume. The PMS could push availability to the website, but the site couldn't actually take a booking without bouncing the guest to a third-party widget that converted at 2.4%. Anyone who landed on the site at 1am with a real intent to book ended up on Booking.com 90 seconds later.
Upselling was the third leak. The hotel had four room categories — Standard Double, Deluxe Double, Junior Suite, and the Wedding Suite with the famous Tâmpa-mountain balcony. The front desk was supposed to suggest upgrades at check-in, but during the 4pm rush, a tired clerk facing a queue of seven groups skipped the upsell every single time. The €38 average upsell-per-stay the brand could have captured stayed at €11.
Reviews were the fourth leak. A 4.4 score on Booking.com sat between the 4.6 you need for the „Excellent" badge and the 4.2 below which corporate travel buyers stop looking. Most negative reviews were not about the rooms — they were about response time before the stay or a missed amenity request during it.
What we built
We did not change the PMS, the breakfast supplier, the cleaners, or the receptionists. The whole project was an ops layer that sat between the OTAs, the website, the phone line, and the family's WhatsApp. It went live in 11 weeks.
The brain of the system is a multilingual voice agent that answers the front-desk phone in Romanian, English, and Hungarian, with a fallback handoff to a human staff member during day shift and an SMS-back loop overnight. The OpenAI realtime model holds the conversation; the ElevenLabs voice is a clone of the owner's daughter, who recorded 18 minutes of consented training audio and signed off on every guardrail.
But the real revenue lift came from the WhatsApp side. Three days before every check-in, the upsell concierge sends a personalized message: „I see you're driving from Bucharest on Friday — would you like a free welcome ceai and a Tâmpa-view upgrade for €24/night?" It checks the live PMS for actual upgrade availability, prices the offer dynamically based on remaining inventory, and confirms the upsell straight into the PMS without anyone touching a screen.
Dynamic pricing replaced the spreadsheet the owner used to update on Sunday nights. RoomPriceGenie now reads competitor rates, demand signals from Google Hotel Ads, weather, school holidays, and Brașov event calendars, and pushes new rates to all OTAs through SiteMinder every six hours. The owner approves a daily summary email; everything else runs.
- Multilingual voice concierge (RO/EN/HU) on the front-desk phone with live PMS read access — no more „let me check and call you back"
- 24/7 OTA chat agent that answers Booking.com and Expedia messages in under 30 seconds in 14 languages, with an escalation rule that wakes a human if a guest types anything containing refund / medical / police / legal
- Pre-arrival WhatsApp upsell concierge: 72h, 24h, and 2h before check-in — room upgrades, late check-out, parking, breakfast for kids, mountain transfer
- Direct-booking conversion engine on the website: a single-page checkout with Stripe and instant PMS confirmation, replacing the 2.4% widget with a 9.1% native flow
- AI revenue manager that re-prices all four room categories every six hours across Booking, Expedia, Google Hotel Ads, Hotelbeds, and the direct site
- Review responder that drafts a personalized reply to every Booking and Google review in the guest's language, using their actual stay details from the PMS, and posts it after a one-tap approval from the owner
- No-show insurance: an AI risk-score predicts which non-prepaid bookings are likely to no-show; for any score above 65% the agent sends a „confirm by tapping yes or your room releases at 7pm" WhatsApp 8 hours before check-in, recovering ~31% of would-be no-shows
- Maintenance ticketer: any in-stay guest message that mentions a broken / dirty / cold / hot / leaking item routes to the housekeeping WhatsApp group with the room number, before the guest checks out angry
- Owner dashboard: occupancy, ADR, RevPAR, upsell revenue, OTA mix, and „rooms that need attention" (review trend, repair backlog, average cleaning time) on one weekly page
The results after 6 months
Shoulder-season occupancy moved from 47% to 91%. Most of that gain came from the OTA chat agent finally responding overnight (Booking.com lifted the listing back into the top 10 for Brașov within three weeks) and from dynamic pricing actually catching the demand spikes the family used to miss because Sunday-night Excel was the only time the rates moved.
RevPAR went up €41 per available night — about €58,000 of incremental revenue per quarter on a property this size. The upsell engine alone added €27 to the average stay, which on 11,200 stays per year is €302,000 of incremental margin without selling a single extra room.
Direct-booking share moved from 11% to 28%, saving roughly 18% commission on every euro that switched channel. The Booking.com score climbed from 4.4 to 4.8 — driven mostly by faster response time before the stay and faster fixes during it, not by anything physically changing about the rooms. Two months after the score crossed 4.7, the property started showing up in corporate travel-management RFPs it had never qualified for.
The number we did not put on the marketing page: the family took its first proper vacation in seven years in April. All four of them, in Greece, for nine days. The hotel ran a 4.9 score the whole time.
What we'd do differently
We over-engineered the voice concierge in the first month. We let it answer questions about restaurants, ski conditions, hiking trails, and how to get to Bran Castle. It hallucinated a closed restaurant as „open for dinner tonight" and a guest drove 11 minutes through a snowstorm. We re-scoped: the agent now answers anything about the hotel itself with full PMS access, and for everything outside the property it reads from a curated, dated database of partner businesses or escalates to a human. Conversion held; trust improved.
We also disabled the WhatsApp upsell concierge for any booking made under 24 hours from check-in. Guests booking that close to arrival are stressed, often in transit, and an upsell push reads as pressure. We moved those to a single in-room tablet message after check-in, which converted better and never generated a complaint.
Last lesson: the review responder is the most dangerous tool in the stack. A bad auto-reply to a 1-star review goes viral in a way a great one never does. We kept the human one-tap approval as a non-negotiable, even after eight months and 3,400 reviews drafted without an issue. The cost of that human tap is 90 seconds a day. The cost of one wrong AI reply on a public review page is the brand.
"Last month I was hiking in Meteora and a guest asked if we could move her dinner reservation by 30 minutes. Before I could pick up my phone, the AI had already done it, double-checked with the kitchen, and sent her a confirmation. I went back to my hike. That is the business I wanted to build seven years ago."
— Co-owner & general manager