diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..c251790 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,57 @@ +# Repository Guidelines + +## Project Structure & Modules + +- `lib/`: static site generator code — `main.py` (entry point), `config.py`, `engine.py`. +- `pages/`: Jinja templates; layouts live in `pages/layouts/`. +- `data/`: page data in TOML; file name must match the template + (e.g., `index.toml` → `index.html`). +- `assets/`: static files copied as‑is (`css/`, `js/`, `images/`, `webfonts/`). +- `dist/`: build output (generated, can be deleted/rebuilt). +- `config.toml`: required; at minimum `name = "VillaFleurie"`. + +## Build, Test, and Development + +- `make build`: renders templates into `dist/` (`pipenv run python -m lib.main`). +- `make run`: builds then serves `dist/` via `http.server`. +- `make lint`: format (`black`), lint/fix (`ruff`), and type‑check (`mypy`). +- Direct run: `pipenv run python -m lib.main`. +- Setup: `pipenv install --dev` (Python 3.11). + +## Coding Style & Naming + +- Python: formatted by `black` (120 cols), imports via `isort` (black profile), + linted by `ruff`; type hints required (`mypy` with `disallow_untyped_defs`). +- Templates: Jinja; use inheritance with `pages/layouts/`. Prefer kebab‑case + filenames (e.g., `t3-azur.html`). +- Data files: TOML mirroring template names (e.g., `t3-azur.toml`). Keep keys lower_snake_case. +- Modules: snake_case for Python files and identifiers. + +## Testing Guidelines + +- No formal test suite. Validate changes by: + - Running `make lint` and fixing all issues. + - Building with `make build` and visually checking pages in `dist/` (`make run`). + - Verifying the correct data file is picked up for each template. + +## Commit & Pull Requests + +- Use Conventional Commits (seen in history): + - Examples: `refactor(html): modernize header markup`, + `feat(engine): add file watching`. +- PRs must: + - Pass `make lint` and build cleanly. + - Include a clear description, linked issues, and affected pages/files. + - Add screenshots of visual changes (before/after) where relevant. + - Stay focused and small; avoid mixed concerns. + +## Revamp Spec & Branch + +- Active branch: `revamp/website-spec`. +- Source of truth: `docs/spec/website-revamp-spec.md` (keep updated in PRs). +- Align changes to the agreed sitemap and CTAs defined in the spec. + +## Configuration Tips + +- Ensure `config.toml` exists at repo root; build fails without it. +- Do not commit generated `dist/` output. diff --git a/assets/images/Digital-Gallery-Award-TRA-2025.png b/assets/images/Digital-Gallery-Award-TRA-2025.png new file mode 100644 index 0000000..5011b4b Binary files /dev/null and b/assets/images/Digital-Gallery-Award-TRA-2025.png differ diff --git a/docs/spec/data/reviews-raw.txt b/docs/spec/data/reviews-raw.txt new file mode 100644 index 0000000..b99ce2f --- /dev/null +++ b/docs/spec/data/reviews-raw.txt @@ -0,0 +1,243 @@ +10 +Michel, fr +Numéro de réservation 5232909646 +2 août 2025 +Catégories principales +Personnel +10 +Propreté +10 +Situation géographique +10 +Équipements +10 +Confort +10 +Rapport qualité/prix +10 +Catégories supplémentaires +Wi-Fi +10 +Parfait +Tout était très bien, rapport qualité prix imbattable. Pour la vue mer, vous allez payer le triple, avec le bruit, le passage. Des hôtes aux petits soins, une bonne connexion wifi, un jardinet et un parking. +Le pommeau de la douche, si vous avez le souci du tout petit détail. + +9,0 +Caratterina, it +Numéro de réservation 4408247184 +12 avr. 2025 +Catégories principales +Personnel +10 +Propreté +10 +Situation géographique +7,5 +Équipements +7,5 +Confort +7,5 +Rapport qualité/prix +10 +Catégories supplémentaires +Évaluation du lit +10 +Excellente expérience a Gosier. +L'appartement est très spacieux, confortable et extrêmement propre. Il est situé dans un quartier très calme, à 15 minutes à pied du centre de Gosier. Vous disposerez également d’un petit patio et d’un agréable jardin. Le propriétaire s’est montré très aimable, disponible et extrêmement réactif. Il y a aussi un parking privé. Il ne manquerait qu’un peu plus de tasses pour le petit-déjeuner et d’assiettes. Bon rapport qualité-prix. Recommandé ! + +10 +Marie-Herminie, gf +Numéro de réservation 6658983215 +11 juil. 2025 +Catégories principales +Personnel +10 +Propreté +10 +Situation géographique +10 +Équipements +10 +Confort +10 +Rapport qualité/prix +10 +Catégories supplémentaires +Évaluation du lit +10 +Hôtes très agréables et avenants. L'hébergement était au dessus de nos attentes. Séjour validé. + +9,0 +hacer, fr +Numéro de réservation 4526300736 +23 févr. 2025 +Catégories principales +Personnel +10 +Propreté +10 +Situation géographique +10 +Équipements +7,5 +Confort +10 +Rapport qualité/prix +10 +Un très bon séjour. Notre hôte a été parfait. Très accueillant, aidant et arrangeant et avec de très bons conseils. Nous +Très fonctionnel, jardin très bien entretenu et proche de la belle plage du datcha et des commerces . + +10 +Anaïs, fr +Numéro de réservation 4592201225 +27 nov. 2024 +Catégories principales +Personnel +10 +Propreté +10 +Situation géographique +7,5 +Équipements +10 +Confort +10 +Rapport qualité/prix +10 +Catégories supplémentaires +Évaluation du lit +10 +Voyage 7 jours +La gentillesse des hôtes, la propreté du logement et literie très confortable ! +RAS + +10 +PEDRO A., fr +Numéro de réservation 4369377675 +19 nov. 2024 +Catégories principales +Personnel +10 +Propreté +10 +Situation géographique +10 +Équipements +10 +Confort +10 +Rapport qualité/prix +10 +Catégories supplémentaires +Évaluation du lit +10 +Excellent séjour au cœur de la belle zone du gosier +Tout: l emplacement, les lieux, et surtout la sympathie et l accueil des propriétaires, qui m ont bien expliqué plein de questions au cours du trajet de l aéroport et au cours du séjour. Le gosier est une commune très vivante et touristique et la villa se trouve dans une rue calme, paisible et familiale, à qq minutes à pied de la zone de loisirs. A côté il y a aussi des supérettes et des arrêts de bus pour aller à pointe à pitre et l aéroport. +Rien, tout était correct + +10 +Catherine, fr +Numéro de réservation 4857844627 +8 oct. 2024 +Catégories principales +Personnel +7,5 +Propreté +10 +Situation géographique +10 +Équipements +10 +Confort +10 +Rapport qualité/prix +10 +Catégories supplémentaires +Vue depuis la chambre +7,5 +Authentique +L’emplacement à proximité des bus, des commerces et de la mer. La bonne tenue du jardin et le calme environnant. +Rien de particilier + +10 +DANIEL, fr +Numéro de réservation 4556787176 +5 juil. 2024 +Catégories principales +Personnel +10 +Propreté +10 +Situation géographique +10 +Équipements +7,5 +Confort +10 +Rapport qualité/prix +10 +Séjour parfait logement très propre spacieux et très confortable +Localisation à 2 pas du centre du gosier à pied Joli jardin fleuri avec large place de parking Propreté +++ logement sain (carrelage, pas de vieilles boiseries etc), c’est de loin le logement le plus propre croisé en Guadeloupe sur notre séjour Moustiquaire de lit parfaitement fonctionnelle Climatisation dans la chambre, ici ça n’a pas de prix ! Logement tres spacieux c’est un vrai immense T1. +Une machine à laver et ce serait vraiment LA perfection ! + +9,0 +sandrine, fr +Numéro de réservation 4151062099 +21 mai 2024 +Catégories principales +Personnel +10 +Propreté +10 +Situation géographique +7,5 +Équipements +7,5 +Confort +10 +Rapport qualité/prix +10 +Catégories supplémentaires +Évaluation du lit +10 +La propriété, l'accueil, ne pas subir les coupures d'eau, la tranquillité et le parking privé. + +10 +Isaure, fr +Numéro de réservation 4822618112 +13 mai 2024 +Catégories principales +Personnel +10 +Propreté +10 +Situation géographique +10 +Équipements +7,5 +Confort +10 +Rapport qualité/prix +10 +3j au cœur du gosier. +Accueil chaleureux. Appartement très propre et plutôt bien équipé. Manque peut-être une bouilloire électrique. Les propriétaires sont très disponibles et attentifs au besoin de leurs locataires. Emplacement parfait. Je recommande. + +8,0 +Jean Paul, fr +Numéro de réservation 4938818633 +4 janv. 2025 +Catégories principales +Personnel +10 +Propreté +7,5 +Situation géographique +7,5 +Équipements +7,5 +Confort +7,5 +Rapport qualité/prix +7,5 +Très bon séjour au calme avec un bon rapport qualité /prix +Le calme, la proximité des commerces ( boulangerie, épiceries, banques, poste, restaurants) et de la plage de la Datcha. Le bateau navette pour aller sur l'îlet Gosier et le propriétaire très sympa, serviable et à l'écoute. diff --git a/docs/spec/website-revamp-spec.md b/docs/spec/website-revamp-spec.md new file mode 100644 index 0000000..2e4947f --- /dev/null +++ b/docs/spec/website-revamp-spec.md @@ -0,0 +1,288 @@ +# Website Revamp Specification (WIP) + +- Branch: `revamp/website-spec` +- Business Goal: Improve design to attract more customers and increase conversion rate. +- Primary Conversion: Submit a reservation request (inquiry form). +- Secondary Actions: Highlight availability on Booking.com and Airbnb with badges/links. + - Booking.com: https://www.booking.com/hotel/gp/villafleurie.fr.html + - Airbnb (T2): https://airbnb.fr/h/villafleurie-t2 + - Airbnb (T3): https://airbnb.fr/h/villafleurie-t3 +- Availability Flow: Inquiry form via Netlify Forms; manual confirmation (no live calendar sync). +- Audience: Small families and couples. +- Languages: French and English (FR/EN). + +## Internationalization +- URL structure: folder-based `/fr/...` and `/en/...`. +- Default language: FR. Root `/` redirects to `/fr/`. +- Language toggle: visible in navbar; links to the sibling page (`/fr/x` ↔ `/en/x`), fallback to home if missing. +- SEO: set ``, `hreflang` alternates, localized titles/descriptions; separate sitemap entries per locale. +- Tech note: update generator to support nested templates (e.g., `pages/fr/*.html`, `pages/en/*.html`) and preserve subdirectories in `dist/`. + +## Sitemap +- Home: Hero, value proposition, lead form (primary CTA), Booking/Airbnb badges. +- Apartments (overview): Grid of units with quick facts and CTAs. + - T2 Corail: Details, amenities, gallery, inquiry CTA. + - T3 Azur: Details, amenities, gallery, inquiry CTA. +- Gallery +- Reviews +- Location & Access: Map, parking, nearby attractions. +- Rates & Availability: Pricing explainer; links to Booking/Airbnb for instant booking. +- FAQ +- Contact: Inquiry form (primary CTA). +- Footer: Language toggle (FR/EN), Privacy, Terms. + +## Tech Stack +- Framework: Astro (static output). +- Styling: Tailwind CSS (utility-first); map brand tokens in config. +- JS: Vanilla JS only (no jQuery). Use lightweight, dependency-free components. +- Components: reuse existing HTML/CSS/JS where useful; migrate to `.astro` with Tailwind classes. +- Libraries: no Bootstrap, no Magnific. Static hero (no Swiper). Lightweight lightbox for gallery (vanilla, no jQuery). +- Hosting: Netlify (static deploys). +- Forms: Netlify Forms for reservation inquiries. + +## Analytics & Events +- Provider: Plausible (domain: `villafleuriegp.com`). +- Primary events: `booking_request_submitted`, `click_airbnb`, `click_booking`. +- Secondary events: `click_call`, `click_email`. +- Event properties: `locale` (fr/en), `page` (e.g., home, apartment), `apartment` (t2/t3/na), `position` (navbar/hero/footer/section). +- Implementation: use `plausible("event", {props})` on CTA clicks and after successful form submit; retain outbound-link tracking for platform links. + +## Release Plan +- Phase 1 (FR Core): Home, Appartements (T2/T3 pages), Reviews, Location & Access, Contact (inquiry form), Rates (flat pricing + links), footer legal links pointing to placeholders. +- Phase 2 (EN + Media): EN translations for all Phase 1 pages, Gallery (standalone + per‑apartment mini‑galleries), translated reviews on EN pages. +- Phase 3 (Policies + Analytics + Perf): French policy pages (Terms, Privacy, Cancellation, House Rules), Plausible custom events, image optimizations (WebP/srcset), Lighthouse/perf pass, optional consent banner. +- Deploy: Netlify with preview deploys per PR; production on main branch. + +## Timeline +- Phase 1 target: next week (FR core launch). +- Milestones: content freeze (T‑3), design QA + accessibility (T‑2), copy/links final check (T‑1), deploy + smoke test (T‑0). + +## Branding +- Logo: `/assets/images/logo.png` +- Primary color: `#1EBBCE` +- Fonts: `/assets/webfonts` (use existing webfonts; confirm final pairing). Current template references Open Sans + PT Serif. +- Secondary color: `#138A9A` +- Border radius: `rounded-lg` (0.5rem) + +## Contact & CTAs +- Phone: `+33 6 58 96 12 79` (click‑to‑call link). +- Email: `location.villafleurie@gmail.com` (site‑wide contact and form notifications). +- Navbar: show a prominent call button (icon + number) on mobile/desktop. +- Footer: repeat phone and booking email. +- Primary CTA label: + - FR: "Envoyer une demande" + - EN: "Send a Request" + +## Apartments +### T2 Corail +- Max occupancy: 2–3 guests +- Ideal for: couples and small families (2–3) +- Size: 45 m² +- Beds: 1 queen-sized bed, 1 sofa-bed +- Key amenities: AC, Wi‑Fi, kitchen, crib on demand, secured parking space +- House rules: no smoking, no parties +- Minimum stay: 3 nights +- Check-in/out: 14:00 / 11:00 +- Highlight photos: TBD (6–10 featured images) — use placeholders until final selection + - Description FR: Idéal pour les couples, appartement chaleureux et cosy, à proximité des plages et des commerces. + - Description EN: Ideal for couples, a cozy and warm apartment close to beaches and shops. + +### T3 Azur +- Max occupancy: up to 4 guests +- Ideal for: couples and small families (up to 4) +- Size: 55 m² +- Beds: 2 queen-sized beds +- Key amenities: same as T2 Corail +- House rules: same as T2 Corail +- Minimum stay: 3 nights +- Check-in/out: 14:00 / 11:00 +- Highlight photos: TBD (6–10 featured images) — use placeholders until final selection + - Description FR: Idéal pour les familles, appartement spacieux avec deux lits queen, proche des plages et des commerces. + - Description EN: Perfect for families, a spacious apartment with two queen beds, close to beaches and shops. + +## Reservation Inquiry Form +- Required fields: full_name, email, arrival_date, departure_date, apartment (T2/T3), guests_adults, guests_children, consent_privacy. +- Optional fields: phone, message. +- Validation: basic required checks, email format, arrival < departure. +- i18n: localized field labels and validation messages (FR/EN). + +## Form Notifications & Auto-Reply +- Owner notifications: send all submissions to `location.villafleurie@gmail.com`. +- Auto-reply: enabled; send localized confirmation (FR/EN based on page locale). +- Auto-reply content: brief thank you, submitted details (dates, apartment, guests), expected reply time, and links to Booking.com/Airbnb for instant booking. +- Implementation: Netlify Forms + serverless email (provider TBD, recommendation: Resend) via submission-created function. +- Email details (TBD): sender name, from address (e.g., `noreply@villafleuriegp.com`), subject lines per locale. +- Post-submit redirect: Yes — `/fr/merci` and `/en/thank-you` with confirmation and next steps (Booking/Airbnb CTAs). + +## Booking Description / Rates Page +- Purpose: explain pricing model and availability options, then drive inquiry or instant booking. +- Content blocks: + - Pricing explainer (flat nightly rate per apartment; no seasonal pricing). + - Secondary CTAs: Booking.com and Airbnb links. + - Booking terms section with policy links (French only): + - Terms of Service (FR) + - Privacy Policy (FR) + - Cancellation Policy (FR) + - House Rules (FR) +- Placement: terms section appears below pricing and CTAs as a concise block with 1‑line summaries + links. +- URLs: TBD — define `/fr/...` pages only; English will link to the French policies. + +### Pricing Details +- Model: Flat nightly rate per apartment (no seasonal pricing). +- T2 Corail nightly rate: 59 €. +- T3 Azur nightly rate: 79 €. +- Cleaning fee: 20 € if left dirty; free otherwise (per stay). +- Security deposit: none. +- Cancellation summary: 50% late cancellation fee (define late window in policy); link to full French policy. +- Cancellation summary: 50% fee for cancellations within 14 days of check‑in; link to full French policy. No‑show treated as late cancellation. + +## Legal & Policies (FR only) +- Pages to create under FR namespace: + - Conditions Générales d’Utilisation (CGU) / de Vente (CGV) — Terms + - Politique de Confidentialité — Privacy + - Politique d’Annulation — Cancellation + - Règlement Intérieur — House Rules +- Links: from Rates page and footer. +- Include: owner/legal entity details, address, contact email/phone, hosting provider (Netlify), analytics (Plausible) note, data rights (RGPD), and effective date. +- Drafting: assistant to provide concise templates tailored to current rules once legal details are confirmed. + +### Legal Entity Details +- Legal name: VillaFleurie (Jacques Gordien) +- Contact: location.villafleurie@gmail.com, +33 6 58 96 12 79 +- Jurisdiction: France +- Hosting provider: Netlify +- Analytics: Plausible (privacy‑friendly, no cookies by default) +- Company ID: SIRET/SIREN — TBD (provide if applicable) + +## Home Page Copy (Initial) +- FR Headline: Séjours confortables au Gosier pour couples et petites familles +- FR Subheadline: Deux appartements lumineux, près des plages. Envoyez une demande ou réservez instantanément. +- EN Headline: Comfortable stays in Le Gosier for couples and small families +- EN Subheadline: Two bright apartments near the beaches. Send a request or book instantly. + +## Home Description Copy +- FR: Villa est un lieu de vacances unique situé sur le magnifique archipel de la Guadeloupe, prête à accueillir des touristes en quête de tranquillité tout au long de l'année. +- EN: Villa is a unique holiday retreat in the beautiful Guadeloupe archipelago, ready to welcome tranquility‑seeking guests all year round. +- Images: `/assets/images/villafleurie_t2_salon_1_wl81yXI.jpg`, `/assets/images/villafleurie_t3_chambre.jpg`, `/assets/images/villafleurie_t2_terrasse.jpg`. + +## Home Hero +- Type: static image (no carousel). +- Image: `/assets/images/villafleurie_t2_salon_1_wl81yXI.jpg` (shared FR/EN). +- Overlay: localized headline, subheadline, primary CTA (inquiry), secondary Booking/Airbnb badges. +- Performance: responsive sizes, WebP preferred, lazy‑load below the fold. + +## Home Page Sections (Order) +1) Description: brief intro copy (FR/EN) and 2–3 supporting images. +2) Facilities: showcase key amenities (icons + short labels). +3) Rooms Overview: cards for T2 Corail and T3 Azur with quick facts and CTAs. +4) Reviews: 6–8 curated quotes with star ratings and attribution. +5) Location & Access: map embed + address/GPS + parking note. +6) Footer: contact, quick links, legal. + +## Navigation +- Language toggle in navbar; legal links in footer. +- FR order: Accueil, Appartements, Galerie, Avis, Accès, Tarifs & Disponibilités, FAQ, Contact +- EN order: Home, Apartments, Gallery, Reviews, Location & Access, Rates & Availability, FAQ, Contact + +## SEO +- Title format: "[Page Title] · VillaFleurie" (localized). +- Meta descriptions: custom per page (120–160 chars), localized FR/EN. +- Open Graph/Twitter: default OG image at `/assets/images/og-default.jpg`; custom OG for Home and each Apartment. +- Hreflang: cross-link FR/EN counterparts; `` set per locale. +- Sitemap: include both locales; mark FR as default. + +## Gallery +- Standalone page: lightbox grid of curated photos (20–30 images max). +- Per‑apartment mini‑galleries: 6–10 highlight photos on each apartment page. +- Captions: Yes — localized FR/EN; concise (3–6 words), only when helpful. +- Attribution: optional small note when photos feature platform badges. + +## Images & Performance +- Formats: generate WebP with JPG fallback. +- Responsive: provide `srcset` and appropriate `sizes` for hero, cards, and lightbox. +- Hero: prefetch/prioritize hero image; lazy‑load below‑the‑fold assets. +- Naming: keep existing filenames; add `-webp` variants on build if we add a pipeline. + +## FAQ +- Format: concise Q&A; FR primary, EN translated. +- Items (FR → EN to translate): + - Parking: « Parking gratuit et sécurisé sur place. » + - Plage: « Plage à 10 minutes à pied. » + - Règles: « Non‑fumeur, pas de fêtes, pas d’animaux. » + - Langues: « Nous parlons français, anglais et allemand. » + - Lit bébé: « Lit bébé sur demande. » + - Commerces: « Commerces à 2 minutes à pied. » + - Arrivée/Départ: « Arrivée 14:00 / Départ 11:00. » + - Séjour minimum: « 3 nuits minimum. » + - Wi‑Fi: « Wi‑Fi rapide et stable. » + - Annulation: « Annulation tardive: 50% dans les 14 jours avant l’arrivée. » + +### FAQ — EN Translations +- Parking: Free and secure parking on site. +- Beach: Beach 10 minutes' walk away. +- Rules: No smoking, no parties, no pets. +- Languages: We speak French, English and German. +- Crib: Crib available on request. +- Shops: Shops 2 minutes' walk away. +- Check-in/Check-out: Check-in 14:00 / Check-out 11:00. +- Minimum stay: 3 nights minimum. +- Wi‑Fi: Fast, reliable Wi‑Fi. +- Cancellation: Late cancellation: 50% fee within 14 days of arrival. +## Facilities (Icons & Labels) +- AC + - Icon: `fa-solid fa-snowflake` + - FR: "Climatisation" + - EN: "Air conditioning" +- Fast Wi‑Fi + - Icon: `fa-solid fa-wifi` + - FR: "Wi‑Fi rapide" + - EN: "Fast Wi‑Fi" +- Equipped Kitchen + - Icon: `fa-solid fa-kitchen-set` (fallback: `fa-solid fa-utensils`) + - FR: "Cuisine équipée" + - EN: "Equipped kitchen" +- Crib On Demand + - Icon: `fa-solid fa-baby` + - FR: "Lit bébé sur demande" + - EN: "Crib on demand" +- Secured Parking + - Icon: `fa-solid fa-square-parking` + - FR: "Parking sécurisé" + - EN: "Secured parking" +- Near Beaches + - Icon: `fa-solid fa-umbrella-beach` + - FR: "Près des plages" + - EN: "Near the beaches" +- Quiet Neighborhood + - Icon: `fa-solid fa-house` + - FR: "Quartier calme" + - EN: "Quiet neighborhood" +- Family‑Friendly + - Icon: `fa-solid fa-people-roof` + - FR: "Adapté aux familles" + - EN: "Family‑friendly" + +## Location & Access +- Map: Google Maps embed iframe using provided URL. + - Embed src: https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3831.2598078323063!2d-61.48991482394046!3d16.20707768449259!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x8c134f148764f5d5%3A0x981bb218cee8b16c!2sVillaFleurie!5e0!3m2!1sfr!2sde!4v1685258248016!5m2!1sfr!2sde +- Address: 4 rue Gerty Archimède, 97190 Le Gosier (localized FR/EN label). +- GPS: 16.207078, -61.489915 (rounded from embed URL) — display optionally. +- Parking: secured onsite parking (align copy with amenities). + +### Badge Labels +- FR: "Réserver sur Booking.com", "Réserver sur Airbnb (T2)", "Réserver sur Airbnb (T3)" +- EN: "Book on Booking.com", "Book on Airbnb (T2)", "Book on Airbnb (T3)" + +## Notes +- Keep one primary CTA per page; Booking/Airbnb links as secondary actions. +- This document will evolve iteratively as we refine requirements. + +## Reviews +- Source: curated from Booking.com; raw dataset captured at `docs/spec/data/reviews-raw.txt`. +- Display: show 6–10 highlight quotes with name, country, date, rating (converted to 5-star), short excerpt, and “from Booking.com” attribution. + - i18n: Translate reviews on EN pages; show originals on FR pages. Include a small “translated from {language}” note where applicable. Prefer curated/manual translations for accuracy. +## Apartments Overview Cards +- Each card shows: size (m²), max guests, bed setup, 3–4 key amenity icons, nightly rate (shown), and primary CTA. +- Currency: EUR (€). +- T2 Corail quick facts: 45 m²; 2–3 guests; 1 queen + sofa‑bed; AC, Wi‑Fi, kitchen, parking; 59 €/night. +- T3 Azur quick facts: 55 m²; up to 4 guests; 2 queen beds; AC, Wi‑Fi, kitchen, parking; 79 €/night. diff --git a/template/article.html b/template/article.html new file mode 100644 index 0000000..bb87b3f --- /dev/null +++ b/template/article.html @@ -0,0 +1,319 @@ + + +
+ + + + + + + + + + + + + + + + + +
+ Are you looking for a relaxing experience in a wonderful Mediterranean setting? Then Villa is the right answer for romantic couples and fun families. You will find everything you need for a great holiday at Villa, from clean rooms with beautiful views to wonderful cuisine and friendly staff which will go out of their way to serve you.
+You can have a good time indoors but the most exciting things await you outside in close proximity of the Villa or further way as tourist attractions. We have our own very large pool for you to enjoy but Villa's position close to the sea shore provides access to wonderful sandy beaches with restricted access only for Villa customers.
+ +Our mission at Villa is to focus an all the details to make your stay an amazing experience. We've trained our staff to meet your expectations and exceed them so that your Villa experience becomes not just a regular memory but one of the best memories you have. We're passionate about this stuff and we will not let you down.
+You can enjoy our clean spacious rooms, the splendid gardens, beautiful sea views and well thought out amenities. Villa's restaurant is famous for the fine cuisine created with only the freshest of local ingredients, cooked by famous chefs and served by our polite staff. The establishment's only purpose is to make you feel comfortable and relaxed.
+Villa is located at the Mediterranean sea and offers easy access to historical towns and tourist attractions
+You have complete unrestricted access to our restaurant, private pool, beautiful gardens and sunny terrace
+Taste our delicious food made from fresh local ingredients that will delight meat lovers and vegetarians
+Each of Villa's rooms was designed to offer the best possible experience for many types of travelers from the adventure seekers to those who value comfort. We've designed the rooms based on more than 10 years of experience in the hospitality business and the entire team is very proud of what we achieved with Villa.
+ +
+ The rooms are designed to offer the best possible levels of comfort and relaxation. The design is contemporary based on comforting colors and manages to appeal to many types of personalities and tastes. The materials used in Villa's construction are modern and durable, offering warm temperatures in the winter and cooler summer days.
+Villa's amenities and rooms rooms are designed to offer the best possible levels of comfort and relaxation. The design is contemporary based on comforting colors and manages to appeal to many types of personalities and tastes. The materials used in Villa's construction are provided by top suppliers.
+Enjoy the sun, the cool water and the benefits of fresh air by booking Villa the wonderful experience at the Mediterranean sea. It's the perfect holiday location for both tranquility seeking couples and fun families. Villa's amenities and rooms rooms are designed to offer the best possible levels of comfort and relaxation. The design is contemporary based on comforting colors and relaxing patterns.
+You can enjoy our clean spacious rooms, the splendid gardens, beautiful sea views and well thought out amenities. Villa's restaurant is famous for the fine cuisine created with only the freshest of local ingredients, cooked by famous chefs and served by our polite staff. The establishment's only purpose is to make you feel comfortable and relaxed.
+Copyright © Name
+Each of Villa's rooms was designed to offer the best possible experience for many types of travelers from the adventure seekers to those who value comfort. We've designed the rooms based on more than 10 years of experience in the hospitality business and the entire team is very proud of what we achieved with Villa.
+ +The rooms are designed to offer the best possible levels of comfort and relaxation. The design is contemporary based on comforting colors and manages to appeal to many types of personalities and tastes. The materials used in Villa's construction are modern and durable, offering warm temperatures in the winter and cooler summer days.
+Other features designed to offer the best possible levels of comfort and relaxation. The design is contemporary based on comforting colors and manages to appeal to many types of personalities and tastes. The materials used in Villa's construction are modern and durable, offering warm temperatures in the winter and cooler summer days.
+ +Copyright © Name
+Here is your opportunity to get in touch with us if you are looking for a B&B capable of offering an amazing experience both in terms of comfort and relaxation reception@villa.com or just give us a call whenever you can 1-800-324-9832
+ + + + + +Our mission at Villa is to focus an all the details to make your stay an amazing experience. We've trained our staff to meet your expectations and exceed them so that your Villa experience becomes not just a regular memory but one of the best memories you have. We're passionate about this stuff and we will not let you down.
+ +Copyright © Name
+Fill out and send the form to book Villa
+ + + + + + +Everything you need for a relaxed stay. Villa's facilities were designed to accommodate the needs of tourists with very high demands from all over the world
+
+ We serve delicious food from the local cuisine made with natural ingredients from local farms and markets. Besides the range of meat dishes Villa is vegetarian friendly too.
+No need to hurry in the morning to get good food since our breakfast serving times extend in the early noon.
+OPEN FROM 8:00 TO 22:00
+Start your vacation day with an invigorating coffee and choose to sit down and relax or plan your trips to the surrounding historical sites and tourists attractions.
+Besides alcoholic beverages we also serve a great assortment of smoothies and non-alcoholic cocktails.
+ Article Contact +
+
+ There are 2 beautiful sunny beaches near Villa, conveniently equipped with beach chairs, umbrellas, beach bar, showers and trained life guards for your safety.
+Children have their own space to have fun and play games under adult supervision so you can enjoy a few moments of relaxation in your room or some beach-front activities.
+You can check up on them through the provided video surveillance mobile app designed for parents.
+OPEN FROM 8:00 TO 22:00
+
+
+ Villa offers free parking for all its customers in a safe and easy to reach area. The parking area is guarded and supervised with special cameras for your peace of mind
+PARKING SCHEDULE: NON-STOP
+AFITOS OLD TOWN: Full of historical importance for this part of the world, Afitos Old Towm will impress you... Read More >>
+NAVAGIO BEACH: Is the most famous beach at the Mediterranean sea with white sands and cool beach bars. In the week... Read More >>
+AEGEAN BELVEDERE: The best place to watch the sunset in a romantic atmosphere and maybe even drink a glass of wine... Read More >>
+JAMES WHITE HOUSE: Don't miss this great tourist attraction. The famous writer's house will fascinate literature... Read More >>
+Copyright © Name
+Each of Villa's rooms was designed to offer the best possible experience for many types of travelers from the adventure seekers to those who value comfort. We've designed the rooms based on more than 10 years of experience in the hospitality business and the entire team is very proud of what we achieved with Villa.
+ +The rooms are designed to offer the best possible levels of comfort and relaxation. The design is contemporary based on comforting colors and manages to appeal to many types of personalities and tastes. The materials used in Villa's construction are modern and durable, offering warm temperatures in the winter and cooler summer days.
+Other features designed to offer the best possible levels of comfort and relaxation. The design is contemporary based on comforting colors and manages to appeal to many types of personalities and tastes. The materials used in Villa's construction are modern and durable, offering warm temperatures in the winter and cooler summer days.
+ +Copyright © Name
+Each of Villa's rooms was designed to offer the best possible experience for many types of travelers from the adventure seekers to those who value comfort. We've designed the rooms based on more than 10 years of experience in the hospitality business and the entire team is very proud of what we achieved with Villa.
+ +The rooms are designed to offer the best possible levels of comfort and relaxation. The design is contemporary based on comforting colors and manages to appeal to many types of personalities and tastes. The materials used in Villa's construction are modern and durable, offering warm temperatures in the winter and cooler summer days.
+Other features designed to offer the best possible levels of comfort and relaxation. The design is contemporary based on comforting colors and manages to appeal to many types of personalities and tastes. The materials used in Villa's construction are modern and durable, offering warm temperatures in the winter and cooler summer days.
+ +Copyright © Name
+