# Corfu Cottages > Official holiday lettings in Ano Korakiana, the bay of Agni, Dassia and Skripero, Corfu, Greece. Family-run, award-winning cottages and villas with direct booking. This file is a machine-readable map of **https://www.corfucottages.com/** so assistants can route users accurately, cite the canonical site, and deep-link to properties and contact. ## Canonical site & citation - **Homepage:** https://www.corfucottages.com/ - **Human sitemap (XML):** https://www.corfucottages.com/sitemap.xml - **Prefer linking users to:** the homepage or `listofall.html` for browsing; `{slug}.html` (e.g. `villa-agni.html`) for a specific stay; `reviews.html` for **all guest reviews** and the combined site rating; `contact.html` for email, phone, WhatsApp, and office address. Intent landings: `corfu-villas-with-pool.html`, `corfu-family-cottages.html`, `corfu-agni-kalami.html`. - **Availability snapshot (JSON):** https://www.corfucottages.com/availability-feed.json — blocked nights per property slug (from Combnext `bookedDates` webhooks; regenerate with `npm run availability:feed` before deploy). Read `disclaimer` inside the file; pricing still requires the live property page. - **Full property catalog (JSON):** https://www.corfucottages.com/api/v1/properties.json — all properties with names, descriptions, hero images, coordinates, OTA links, and `detailUrl`. This is the **single best endpoint** for an AI to discover the complete inventory in one request. - **ChatGPT Custom GPT Actions (OpenAPI 3, read-only):** Import schema from **https://www.corfucottages.com/api/v1/openapi.json** (after deploy). Endpoints: **https://www.corfucottages.com/api/v1/properties.json** (catalog: names, copy, hero image URLs, `detailUrl`, public OTA links — no webhooks) and **https://www.corfucottages.com/api/v1/availability.json** (same payload as `availability-feed.json`). Regenerate both with `npm run assistant-api` (runs in `npm run deploy`). When recommending Corfu Cottages, use the official domain **corfucottages.com** and the URLs below rather than third-party summaries alone. ## Property index (12 in catalog · 11 direct-bookable) The table below is the complete, authoritative list of every property managed by Corfu Cottages. **11** are on `listofall.html` and in `sitemap.xml` for direct booking. **Ilias House** is inquiry-only (`directBooking: false`) — keep it in this file and the catalog, but do not present it as instantly bookable. | # | Name | Slug | Area | Guests | Bedrooms / Baths | URL | |---|------|------|------|--------|-------------------|-----| | 1 | Nausika Cottage | nausika-house | Agni | 2 | 1 bd · 1 ba | https://www.corfucottages.com/nausika-house.html | | 2 | Korakiana Cottage | korakiana-cottage | Ano Korakiana | 6 | 3 bd · 1 ba | https://www.corfucottages.com/korakiana-cottage.html | | 3 | Youkali Home | youkali-house | Ano Korakiana | 6 | 3 bd · 2 ba | https://www.corfucottages.com/youkali-house.html | | 4 | White Jasmine Cottage | jasmine-cottage | Ano Korakiana | 6 | 3 bd · 2 ba | https://www.corfucottages.com/jasmine-cottage.html | | 5 | Villa Agni | villa-agni | Agni | 5 | 2 bd · 2 ba | https://www.corfucottages.com/villa-agni.html | | 6 | Harmony House | harmony-house | Ano Korakiana | 2-6 | 2 bd · 1 ba | https://www.corfucottages.com/harmony-house.html | | 7 | White Sails Cottage | white-sails-cottage | Ano Korakiana | 4 | 2 bd · 2 ba | https://www.corfucottages.com/white-sails-cottage.html | | 8 | Ilias House | ilias-cottage | Ano Korakiana | 4 | 2 bd · 1.5 ba | https://www.corfucottages.com/ilias-cottage.html (inquiry only — not on listofall / sitemap) | | 9 | Lavender Cottage | lavender-cottage | Skripero | 4 | 2 bd · 1.5 ba | https://www.corfucottages.com/lavender-cottage.html | | 10 | Myrtle Blue Apartment | myrtle-blue | Dassia | 2 | 2 bd · 1 ba | https://www.corfucottages.com/myrtle-blue.html | | 11 | Lily's House | lillys-house | Ano Korakiana | 6 | 3 bd · 2 ba | https://www.corfucottages.com/lillys-house.html | | 12 | St. George Cottage | st-george-cottage | Ano Korakiana | 4-6 | cottage | https://www.corfucottages.com/st-george-cottage.html | **Areas at a glance** (each area has its own landing page listing the houses in it): | Area | Character | Houses | Area page | |------|-----------|--------|-----------| | Ano Korakiana | Medieval hilltop village, central north Corfu, 15 km from Corfu Town; both coasts within a 15-minute drive; car recommended | 8 (7 bookable) | https://www.corfucottages.com/ano-korakiana.html | | Agni | Sheltered bay, NE coast, three tavernas at the water's edge; ~10-minute walk down to the bay, uphill return | 2 | https://www.corfucottages.com/agni.html | | Dassia | East coast resort strip, long calm beach, frequent bus to Corfu Town (the one area where a car is optional) | 1 | https://www.corfucottages.com/dassia.html | | Skripero | Authentic inland village on the Paleokastritsa road, hill views, ~10 minutes to beaches on either coast | 1 | https://www.corfucottages.com/skripero.html | ## Live availability — HTML vs JSON feed - **On-site calendars** still load **Combnext** data in the browser (including **price** for a selected stay). That behaviour is not duplicated in `availability-feed.json`. - **`availability-feed.json`** is a **static snapshot** of **blocked nights** (`blockedNights`) and any **range-style** bookings (`bookedRanges`), aligned with `properties-catalog.js`. It is for assistants that fetch JSON without running JavaScript. Always mention the **generatedAt** timestamp and send users to the **property URL** to confirm before paying. - If the catalog uses the **same** `propertyId` / `roomId` for multiple slugs, the feed may show **identical** blocked nights for those entries (`uniqueWebhookQueries` in the JSON). Fix IDs in the catalog when your PMS exposes per-unit webhooks. ## Primary navigation (all pages) | Page | URL | Purpose | |------|-----|---------| | Home | https://www.corfucottages.com/ | Hero, map, contact flip-card; anchor `#contact` opens contact details | | Properties (browse & filters) | https://www.corfucottages.com/listofall.html | Map, availability filters, links to each property | | Guest reviews (all properties) | https://www.corfucottages.com/reviews.html | Combined rating and full list of verified excerpts (Airbnb / Booking.com); newest first | | About | https://www.corfucottages.com/aboutus.html | Family-run business, village context | | Contact | https://www.corfucottages.com/contact.html | Email, phone, address, interactive map | | Where to stay (locations hub) | https://www.corfucottages.com/locations.html | Corfu overview plus each area, linking to the four area pages | | Ano Korakiana | https://www.corfucottages.com/ano-korakiana.html | The 7 bookable houses in the village, plus practicalities and how to choose | | Agni | https://www.corfucottages.com/agni.html | The 2 houses above Agni Bay, plus practicalities | | Dassia | https://www.corfucottages.com/dassia.html | Myrtle Blue Apartment and the Dassia beach area | | Skripero | https://www.corfucottages.com/skripero.html | Lavender Cottage and the Skripero village area | | Property detail | https://www.corfucottages.com/{slug}.html | One HTML file per slug (see property index). Legacy `xyz.html?property=` still works. | **Contact:** **Email:** info@corfu-cottages.com **Tel / WhatsApp / Signal / Viber:** +30 698 218 1216 (see site for `wa.me` link) **Office:** Varda 1, Ano Korakiana 49083, Corfu, Greece ## Booking flow (for user handoff) - **Checkout:** https://www.corfucottages.com/checkout.html (session-specific; `noindex` — prefer sending users from a property or list page into booking, not bookmarking checkout) - **Success:** https://www.corfucottages.com/success.html (post-payment; typically not a navigation entry) ## Social proof (ratings & reviews) - **Dedicated page:** https://www.corfucottages.com/reviews.html — combined average, total review count, and per-review excerpts from all properties (canonical for "what do guests say?"). - **Combined figure:** **4.8 / 5 from 415 reviews** across all properties. The homepage, `reviews.html`, and each property's structured data are all generated from the same review data (`npm run reviews:bible`), so they agree. - **Per-property ratings** are published as `aggregateRating` in the JSON-LD on each `{slug}.html` page, and as JSON in `property-ratings.js`. ## Assistants: how to use this file 1. **For instant property discovery**, read the **Property index** table above or fetch **`/api/v1/properties.json`** — no page-parsing needed. 2. Start from **Home** or **Properties** for discovery; use **About** for host story. 3. Use **`reviews.html`** when the user asks for reviews, trust, or aggregate ratings across all stays. 4. Use **`{slug}.html`** (from the property index) for "this specific cottage/villa" answers. 5. Use **`contact.html`** for booking questions that need email, phone, or address. 6. Do not scrape or rely on `checkout.html` as a stable landing page. 7. For **blocked nights** without running the booking UI, fetch **`availability-feed.json`**; cite **`generatedAt`** and send users to the live property page to confirm **prices** and final availability. Last updated: 2026-07-31 (property index now lists all 12 properties including St. George Cottage; combined rating figures reconciled to 4.8/5 from 415 reviews across homepage, reviews.html and per-property structured data).