De meeste boekingssystemen zijn voor één taak gemaakt: een tafel reserveren, een huurauto boeken of een ticket kopen. Kiewiet had iets anders nodig: één systeem voor fietsverhuur, het ophalen en bezorgen van bagage op het hele eiland en het boeken van personenvervoer, met een webwinkel die deze diensten samenbrengt.
We bouwden het in 4D. Het systeem ondersteunt alle drie de activiteiten zonder concessies.
Waarom 4D?
4D is in de wereld van webontwikkeling geen alledaagse naam, en juist daarom raden we het soms aan. Voor complexe backofficeapplicaties die veel gegevens verwerken, met name bij Europese mkb-bedrijven en in operationele omgevingen, biedt 4D iets wat algemene webtechnologieën niet bieden: een nauw geïntegreerde database, applicatieserver en ontwikkelomgeving in één product.
Er is geen ORM-laag die tegenwerkt, geen verschil in benadering tussen het datamodel en de querytaal en geen uitrolproces met zes afzonderlijke diensten. U definieert de tabellen, schrijft de methoden en het systeem draait.
Voor Kiewiet betekende dit dat we zeer uitgebreide bedrijfslogica konden realiseren: overlappende huurperiodes, routegebonden bagageplanning, seizoensprijzen en beschikbaarheidskalenders. Daarvoor was geen microservicearchitectuur nodig die voor dit vraagstuk onnodig ingewikkeld zou zijn.
Wat het systeem beheert
De Kiewiet-applicatie beheert drie afzonderlijke bedrijfsactiviteiten vanuit één backoffice:
- Fietsverhuur: beschikbaarheid van de verhuurvloot, meerdaagse boekingen, klantgegevens, registratie van borgsommen en seizoenstarieven
- Bagagevervoer: routeplanning per eilandgebied, tijdvensters voor het ophalen, gewichts- en volumebeperkingen en toewijzing aan chauffeurs
- Veerbootvervoer: koppeling met dienstregelingen, groepsboekingen en passagierslijsten
Het gaat niet om drie losse modules die achteraf aan elkaar zijn gekoppeld. De gegevens worden daadwerkelijk gedeeld: een klant die een fiets boekt, kan ook bagage laten vervoeren en een overtocht laten registreren. De backoffice ziet alles in één dossier.
De webinterface
Het boekingsproces voor klanten is gebouwd in PHP met een overzichtelijke JavaScript-frontend. 4D stelt een interne API beschikbaar die de PHP-laag gebruikt. Zo blijft de presentatielaag volledig gescheiden van de bedrijfslogica. We kunnen de website verder ontwikkelen zonder de centrale 4D-applicatie te wijzigen, en het 4D-systeem bijwerken zonder de werking van de frontend te verstoren.
Bedrijfsvoering op een eiland
Ameland is een Waddeneiland met seizoensgebonden toeristische pieken. In de zomer verwerkt Kiewiet honderden boekingen per week. Het systeem moet betrouwbaar en snel zijn, en te bedienen door medewerkers zonder achtergrond in softwareontwikkeling. We besteedden veel aandacht aan de backoffice-interface: duidelijke formulieren, logische standaardinstellingen en een kalender waarop de beschikbaarheid direct zichtbaar is.
Het resultaat is een systeem dat het team van Kiewiet zelf beheert, zonder ons voor dagelijkse handelingen te hoeven bellen. Zo hoort goede bedrijfssoftware te werken.