Coding Agency for Web Development » Case Studies » Case Study :: Villa Chinka – A Restaurant and a Hotel on One Site, in Four Languages

15.10.2026

Case Studies

Case Study :: Villa Chinka – A Restaurant and a Hotel on One Site, in Four Languages

Summarize this article with:

READING TIME: MIN

Table of Content

Villa Chinka sits above the sea at St. Constantine & Helena – a restaurant with an Italian kitchen inside a villa that looks like a small fortress, and, in the same building, a hotel. Two businesses, one address, one name, and guests who arrive for very different reasons: dinner with a sea view, or a room for a week.

We built villachinkataste.com as a bespoke Next.js site on Cloudflare’s network that serves both without choosing between them – the restaurant leads, the hotel has its own path to its booking engine, and a visitor is never bounced to a second, unrelated website halfway through.

It is also the project where we solved a problem that every Bulgarian resort business has: the site is written and maintained in Bulgarian, but a large part of the guests are German- and Russian-speaking. Instead of three half-finished translations nobody updates, the pages translate themselves in the visitor’s browser – and we had to make that work without breaking the site.

The Villa Chinka website - villachinkataste.com

Project Overview

The site covers the restaurant (the room, the kitchen, the menu, the gallery, reservations), the legend of the villa itself, the location, the hotel and its offers, the neighbouring Astor Garden Hotel, and a full 360° virtual tour – plus the legal pages a hospitality business needs.

Table reservations arrive as e-mail in the venue’s own mailbox. Room reservations go to the hotel’s existing booking engine, because that is where availability and rates actually live – the site’s job is to get the right guest there with the least friction, not to duplicate a reservation system.

Objectives

  • One site for a restaurant and a hotel, where neither is buried under the other
  • One language to maintain – Bulgarian – but readable for English, German and Russian-speaking guests
  • Table reservations into the venue’s inbox; room reservations into the existing booking engine
  • Carry over the whole marketing stack of the previous site: Tag Manager, Google Ads, the Meta pixel and two Yandex Metrika counters, under a working cookie-consent banner
  • Show the property properly – large photography, galleries and the 360° tour – without a heavy page
  • No CMS to maintain and no plugins to update
  Case Study :: Custom Financial Education Platform with Multi-Level Learning System

Key Features

Two businesses, one site

The restaurant owns the home page and the main navigation; the hotel has its own page, its own phone number and mailbox, its offers and a direct route into its booking engine. Structured data describes both – a Restaurant and a Hotel at the same address – so Google and AI assistants understand that this is one property with two services rather than two unrelated businesses.

Villa Chinka - the restaurant page and the hotel page

One language to write, four to read

The content is written once, in Bulgarian. The EN / DE / RU buttons translate the page in place in the visitor’s browser and remember the choice across the site, so a German guest reads the whole property in German without the owners maintaining three more versions that drift out of date after the first menu change.

This is harder than it looks: browser translation replaces text nodes with its own markup, and a React site normally crashes the moment it tries to update a part of the page that has been rewritten underneath it. We made the site tolerate exactly that, so the translation and the interface coexist instead of fighting.

A 360° tour, inside the site

Guests choosing a venue for a wedding, a company dinner or a holiday want to see the place, not photographs of the place. The virtual tour lives on its own page within the site, in the same design, so it is a page we can link to and advertise – not a third-party link that drops the visitor somewhere else.

  Case Study :: Mythos - Launching a New Seaside Restaurant Together With Its Website

The marketing that was already running, kept

Resort businesses advertise heavily, and a rebuild is where that history usually breaks. We carried over the Tag Manager container, the Google Ads conversion tag, the Meta pixel and both Yandex Metrika counters – the last of which matter for exactly the Russian-speaking audience the translation serves – and wired them to a cookie banner that holds everything in “denied” mode until the visitor agrees.

villachinkataste.com on a phone

Photography that does not punish the visitor

The sea, the terrace, the rooms and the food are the whole argument, so the site is built around full-width images, sliders and galleries. Every one of them is resized, re-encoded and cached per device at the edge, so the pages stay light on a phone – including for a guest browsing from abroad before they travel.

Everything a hospitality site has to have

Reservation and enquiry forms protected by Cloudflare Turnstile and delivered by e-mail, a light and dark palette, menus, offers, directions, the legal and cookie pages, a sitemap and robots rules, and per-page titles, descriptions and social images.

Technology Stack

  • Front end: Next.js 16 (App Router), React 19, TypeScript, hand-written CSS
  • Hosting: one Cloudflare Worker through OpenNext, on Workers custom domains – Cloudflare issues the DNS records and the certificate itself
  • Images: the Cloudflare Images binding behind the Next.js image pipeline
  • Translation: in-browser translation to English, German and Russian, with the choice stored in a cookie and the React tree hardened against the DOM rewriting it causes
  • Forms: a Worker API route with Cloudflare Turnstile and a Workers SMTP client delivering to the venue’s mailbox
  • Hotel bookings: a direct route into the hotel’s existing booking engine
  • SEO: schema.org Restaurant, Hotel and BreadcrumbList, per-page metadata, generated sitemap and robots
  • Marketing: Google Tag Manager, Google Ads, Meta pixel and Yandex Metrika, behind a consent banner
  Case Study :: MORE - Three Black Sea Restaurants on One Next.js Site

Architecture Highlights

  • One codebase serves a restaurant and a hotel as one brand, with structured data that keeps them distinct for search engines
  • Translation is a reading aid, not a content strategy: one Bulgarian source of truth, no stale translations, and the original text restored exactly when the visitor switches back
  • The React tree is explicitly hardened against the DOM surgery that browser translation performs – the crash that normally follows it simply does not happen
  • Reservations and room bookings follow different paths on purpose, each to the system that owns the answer
  • No CMS, no database, no plugin updates – and no admin panel exposed to the internet
  • All tracking is loaded only after consent, from one place, so the banner actually controls what it claims to control

Results

Villa Chinka now presents the restaurant, the hotel and the property itself on one fast site that the owners do not have to maintain, readable in four languages from a single Bulgarian source, with table reservations arriving by e-mail, room reservations going straight into the booking engine, and the advertising and analytics history of the previous site intact.

See it live at villachinkataste.com.

Why Partner With Vipe Studio

Hotels and restaurants on the Bulgarian coast share the same three problems: guests in several languages, a booking system that already exists and cannot be replaced, and a website that nobody has time to maintain between May and September. This project is our answer to all three.

We design and build the site, connect it to the systems you already pay for, keep your campaigns and rankings through the switch, and hand you something that runs without maintenance. Tell us about your property and we will come back with a plan and a fixed price.

The content of this website is copyrighted and protected by Creative Commons 4.0.

Vipe Team

Author Vipe Team

Our tireless team who creates high-quality WordPress-related content for you 24/7/365.