Back to templates

Template details

Riviera Villa Lite

Free Astro theme for one holiday rental: calm, photo-first, direct booking requests. Lite edition of Riviera Villa.

About this template

Riviera Villa Lite is a free, MIT-licensed Astro theme for a single holiday rental's direct-booking website, delivering a photo-first site where guests read about the house and send a booking request straight to the owner with no platform fee.

What is Riviera Villa Lite?

Riviera Villa Lite is a static site template built with Astro 7, Tailwind CSS 4 and TypeScript for owners of one holiday rental. It takes a single configuration file (villa.config.ts) holding every text and setting — name, address, capacity, rates by season, reviews, FAQ, house rules, contact and colours — plus a folder of photos, and outputs a static site in dist/ that any static host can serve.

What makes Riviera Villa Lite stand out?

  • Single config file — every text and setting lives in villa.config.ts, with per-language one-line entries for each string.
  • Astro 7 + Tailwind CSS 4 + TypeScript — the stated stack, with no cookie, tracker or Google Fonts request on page load.
  • Booking-request form — validates dates, guest count, the season's minimum stay and (when the calendar is on) already-booked nights, then sends the request by email through Web3Forms or Formspree.
  • No-service fallback — setting provider: 'none' or an empty key turns the button into a WhatsApp or email-app link with the request pre-written.
  • Build-time validation — the build stops with a clear message naming missing translations or photos, e.g. a missing de translation or a gallery image absent from src/assets/photos/.
  • Section toggles — hide any section via sections (for example faq: false) and reorder them in src/views/home-page.astro.
  • Self-hosted fonts and images — Fontsource fonts; Astro resizes photos and serves WebP at several widths, with 1800 px landscape photos recommended and 2400 px for hero.jpg.
  • SEO built in — per-language title and description, canonical link, hreflang links, sitemap-index.xml with alternates, robots.txt and a 1200 × 630 Open Graph image.
  • Privacy and accessibility — no analytics, the map is a link to OpenStreetMap rather than an embed, keyboard navigation with visible focus, and prefers-reduced-motion respected.

Who is it for?

  • Owners of a single holiday villa or rental who want a direct-booking site without platform fees.
  • Astro developers building a client site who want a config-driven template with TypeScript type checking (astro check) and Vitest unit tests.
  • Small hospitality businesses in France that need the tourist rental registration number shown in the footer via property.registrationNumber.

What can you do with Riviera Villa Lite?

  • Set up a rental site in five minutes: install with Node.js 22.23 or newer, run npm run dev at localhost:4321, fill in villa.config.ts, add photos matching the listed file names, then run npm run build.
  • Collect booking requests by email: connect a free Web3Forms access key or a Formspree form ID; spam is handled by the services' hidden trap fields (botcheck and _gotcha).
  • Customise branding: set background, surface, text and accent colours in theme.colors, with shades computed from them.

How does Riviera Villa Lite work?

Edit villa.config.ts and drop photos into src/assets/photos/, then build; the build validates the config and warns while site.url is still example.com. Deploy settings are given for Cloudflare Pages, Netlify, Vercel or any static host.

Pricing

The Lite edition is free under the MIT licence. Riviera Villa Pro is a paid upgrade adding four languages, an availability calendar synced with Airbnb, Booking.com and Vrbo, and Google VacationRental data.

FAQ

Is Riviera Villa Lite free?

Yes. The Lite edition is free under the MIT licence. It supports one language and has no availability calendar; the paid Pro edition adds four languages and a calendar synced with Airbnb, Booking.com and Vrbo.

Does the booking form need a server?

The form posts to a free form service — Web3Forms or Formspree — so nothing runs on your server. Without JavaScript it posts straight to the service, and with no service configured it becomes WhatsApp and email buttons.

Screenshot of Riviera Villa Lite