Direct-Booking Independence (Hospitality)

Najem Koče — Custom Front-End + Destination ContentOps on Ortoscale

221 cabins, two languages, zero commission tax. Direct-booking share held at 40% while the portfolio grew — and the double-bookings that used to cost refunds and reviews are now at zero. Independence from Booking.com and Airbnb as a margin strategy.

Client
Najem Koče d.o.o.
Sector
Direct-Booking Independence (Hospitality)
Engagement
Launch + ongoing ContentOps
Year
2025
  1. Najem Koče operates 221 holiday properties across Slovenia — cabins, wine-country cottages, farm stays, holiday homes. The business model is fragile in a specific way: every booking that goes through Booking.com or Airbnb carries a 15-18% commission tax. Over ten years, an operator with 221 properties and no direct channel hands half of net margin to aggregators. We built the direct channel.

  2. The aggregator tax

    The operator's real fight is not visibility — aggregators provide that — it's margin. At average nightly rates of €40 to €320 across the Najem Koče portfolio, a 15% commission on a single summer-week booking is €50-€350 of margin surrendered per stay. Multiply by portfolio size, multiply by bookings per year, and the ten-year number is a second business-worth of lost margin.

    The fix is a credible direct channel. That means two things at once: content surface that competes with aggregator SEO, and channel sync discipline so the direct calendar and the aggregator calendars never disagree.

  3. What we shipped on content

    A Claude Opus pipeline drafts two content classes. First, per-property listing copy: we pass property attributes (capacity, amenities, view, location cluster, season, historical occupancy) and Claude returns a distinct, SEO-shaped description in both Slovenian and English. All 221 listings ship with bilingual native copy — not machine translation, actual dual-language drafting.

    Second, destination guides: Bled, Bohinj, Kranjska Gora, Soča Valley are live, with capacity for 20+ more as the portfolio expands. These are the pages that catch long-tail direct-channel search ("glamping Bohinj", "turistic farms Pomurje") instead of handing that traffic to Booking.com.

  4. What we shipped on channel sync

    The front-end runs on the Ortoscale SaaS booking platform with a custom SvelteKit skin on top. We wrote a Python channel-sync worker that normalizes iCal feeds from Booking.com and Airbnb into the Ortoscale API on a tight polling interval, with Pydantic-validated diffs and a conflict resolver that locks the room the moment any source shows a booking.

    The pricing-rules layer reads seasonality, occupancy trend, and lead-time, and writes back a recommended nightly rate per property per night. Owners can override per-property.

  5. The numbers that define the business

    • 0 double-bookings since launch — the refunds, compensation nights, and review hits that came with drift are gone.
    • ~40% direct-booking share held through portfolio growth. Historically this number falls as a portfolio scales (aggregator traffic grows faster than a direct channel can). Holding it flat is a win.
    • 221 of 221 listings maintained in SL + EN. Previously: ~70 of 221 had partial bilingual copy.
  6. Newsletter and retention

    An n8n workflow handles the retention loop: seasonal newsletters drafted by Claude (spring opening, summer peak, autumn deals, winter ski), personalized by the destination cluster the guest previously booked. Approximately 18% open rate and 4% direct-booking conversion from the links — numbers the owner never had capacity to chase before.

  7. Where this replicates

    Any multi-property short-term-rental operator or regional hospitality group with double-digit listings and a direct-booking strategy is paying the same commission tax. The pattern scales linearly — roughly one engineer-week per 50 new properties on top of a fixed ~4-week build for the sync and content layers. Works for boutique hotel groups, glamping networks, and cottage collections.

By the numbers

What shipped, in figures. 4 metrics.

Direct-booking share
~40% held while portfolio scaled From ~40%, threatened by growth
Double-bookings per month
0 (Python channel sync) From 2-4 incidents (refunds + reviews)
Bilingual SEO coverage (SL + EN)
221 of 221 listings From ~70 of 221 listings
Destination landing pages live
4 (Bled, Bohinj, Kranjska Gora, Soča Valley) From 0

Want outcomes like this?

Book AI Audit (€900)