Maison des Lacs Bleus
Van Excel-kalender naar rechtstreekse boekingen
De situatie
Een vakantiewoning van honderdzestig vierkante meter in de Charente, met verwarmd zwembad, plaats voor acht personen. Verhuurd aan Belgische en Nederlandse gezinnen, deels via Airbnb, deels rechtstreeks.
De administratie erachter was volledig manueel. De beschikbaarheid stond in een Excel-bestand. Elke vraag — is de tweede week van augustus nog vrij — betekende het bestand openen, kijken, terugmailen. Boekingen werden met de hand genoteerd, voorschotten met de hand opgevolgd, en de kalender op de WordPress-site moest apart bijgewerkt worden. Dat gaat, tot je vergeet de site bij te werken en je een week dubbel belooft.
Het probleem was niet dat het te veel werk was. Het probleem was dat elke rechtstreekse boeking traag verliep, terwijl een Airbnb-boeking in twee klikken rond was.
Wat er al draaide
Airbnb is niet afgeschaft. Dat kanaal levert bereik en vertrouwen die je als particuliere verhuurder zelf niet opbouwt, en de commissie is daar de prijs voor.
| Tool | Rol | Beslissing | Toelichting |
|---|---|---|---|
| WordPress | Website met beperkte inhoud | vervangen | Teksten en beeldmateriaal overgenomen |
| Excel | Boekingsregistratie en beschikbaarheid | vervangen | Blijft als historisch overzicht |
| Bereik naar gezinnen in België en Nederland | behouden | Blijft handwerk, en dat is prima | |
| Airbnb | Boekingskanaal met bereik en betaalzekerheid | behouden | Blijft het vangnet voor bereik |
| Google-bedrijfsprofiel | Vindbaarheid in Maps en lokale zoekresultaten | gekoppeld | Aangesloten op de nieuwe site |
Het doel was niet Airbnb weg te doen, maar ervoor te zorgen dat wie rechtstreeks wíl boeken dat ook vlot kán.
Wat we hergebruikt en vereenvoudigd hebben
Teksten en foto's zijn meegegaan
De WordPress-site was mager, maar wat er stond was bruikbaar. Dat is overgenomen en uitgebreid, niet weggegooid.
De verhuurregels bestonden al — in iemands hoofd
Zaterdag tot zaterdag in het hoogseizoen, minimum vier nachten daarbuiten, vaste seizoensgrenzen: die regels werden al jaren consequent toegepast, alleen handmatig en met de kans dat er eens eentje door de mazen glipt. Ze zijn niet bedacht, ze zijn opgeschreven en in code gezet.
Eén handeling in plaats van drie
Een boeking bevestigen betekende vroeger: noteren in Excel, kalender op de site bijwerken, mail sturen. Nu is het één bevestiging, en de rest volgt vanzelf — de kalender blokkeert, de mails vertrekken op hun moment.
De vertraging is bewust bewaard
Het systeem is geen instant booking. De eigenaars willen weten wie er komt, en die menselijke stap is niet weggeautomatiseerd omdat het technisch kon. Wat weg is, is het handwerk eromheen.
Wat we gebouwd hebben
Een nieuwe site, tweetalig in het Nederlands en het Engels, met daarin een boekingssysteem dat de verhuurregels van deze woning kent. Een bezoeker die een onmogelijke combinatie kiest, krijgt dat meteen te zien in plaats van drie dagen later per mail.
De kalender toont de bezetting rechtstreeks. Wie boekt, doorloopt een aanvraag. Na bevestiging volgt dertig procent voorschot, en het saldo met de waarborg vier weken voor aankomst. Die termijnen zitten in het systeem, met de bijhorende berichten. Gasten vinden hun boeking terug met hun referentie en e-mailadres, zonder account en zonder wachtwoord — iemand die één keer per jaar boekt gaat geen account aanmaken.
Daarnaast is de inhoud van de site fors uitgebreid. Waar er eerst drie magere pagina's stonden, staan er nu tientallen: per activiteit in de streek, per categorie, in beide talen. Dat is geen opvulling maar het antwoord op hoe mensen vandaag zoeken, of dat nu via Google gebeurt of via een AI-assistent die een bron citeert.
Onder de motorkapDe technische keuzes en waarom ze zo gemaakt zijn
De lichtste vorm van eigen code
Geen backend-server, geen CMS, geen plugins. Een Next.js-app op Vercel met een handvol API-routes die de boekingslogica bevatten, op een serverless database. Bij stilstand kost de hele opstelling nagenoeg niets.
De verhuurregels zitten in de API, niet in een plugin
Beschikbaarheid, seizoensgrenzen en minimumverblijven worden serverseitig bepaald en teruggegeven aan de kalender. Een kalenderplugin kan tonen wat bezet is; ze kan niet afdwingen dat juli enkel per volledige week van zaterdag tot zaterdag verhuurd wordt. Precies dáár zit het verschil tussen een kalender en een verhuurbedrijf.
Serverless Postgres op Neon
De database schaalt naar nul wanneer er niemand boekt en rekent per gebruik af. Een vakantiehuis heeft pieken van januari tot april en maandenlange stilte; een permanent draaiende database betalen is zonde. Dezelfde databasetaal als bij de andere projecten, een ander beheermodel — gekozen naar de belasting, niet uit gewoonte.
Alle input gevalideerd met Zod
De server vertrouwt de browser niet. Elke aanvraag wordt tegen een schema gecontroleerd voor er iets mee gebeurt, en foutmeldingen komen gestructureerd terug in plaats van als een generieke fout.
Gastenportaal zonder accounts
Opzoeken op referentie plus e-mailadres. Geen wachtwoorden om te vergeten, geen accountbeheer om te bouwen, geen persoonsgegevens om te bewaren die je niet nodig hebt.
Geen enkel script van derden
Geen tag manager, geen analytics, geen pixel. Een keuze voor snelheid en privacy; meten kan later zonder de bezoeker eerst aan drie partijen door te geven.
Eerst manueel, PSP later
Voorschotten komen op rekening binnen. Mollie staat gepland zodra het proces zich bewezen heeft. Eerst het proces, dan de automatisering — dezelfde volgorde als bij de andere trajecten.
Het resultaat
- Beschikbaarheid live op de site, geen Excel-bestand meer
- Verhuurregels afgedwongen door het systeem in plaats van door nalezen
- Voorschot- en saldotermijnen automatisch opgevolgd
- Gasten vinden hun boeking zelf terug, zonder account
- Tweetalige site met uitgebreide streekinformatie
- Rechtstreekse boekingen zonder commissie
- Aandeel rechtstreekse boekingen van 40% naar 100%