Sloephuren Booking releasesself-updates
Custom WordPress boekplugin voor sloepverhuurzaanstad.nl: online sloepen boeken met beschikbaarheidscontrole en iDEAL-betaling (mock + Mollie).
by Studio Vilpy · github.com/vilpystudio/sloephuren-booking · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/vilpystudio/sloephuren-booking/releases/download/v2.13.0/sloephuren-booking.zipShips its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.
Readme
Sloephuren Booking
Custom WordPress-plugin voor sloepverhuurzaanstad.nl: bezoekers boeken online een sloep en rekenen direct af via iDEAL. Beschikbaarheid wordt gecontroleerd op datum, tijdslot en sloep-type, zodat dubbele boekingen onmogelijk zijn.
Installatie
Installeer via de zip uit de GitHub Releases, of:
-
Kopieer de map
sloephuren-bookingnaarwp-content/plugins/. -
Activeer de plugin in Plugins. Bij activatie worden de databasetabellen aangemaakt en gevuld met standaarddata (3 sloep-types, 2 pakketten, tijdsloten).
-
Plaats op een pagina de shortcode:
[sloephuren_booking]De widget verschijnt als zwevende launcher rechtsonder op de pagina. Optionele attributen:
[sloephuren_booking sloep="Stout 650"] koppel aan één sloep (slaat stap 1 over) [sloephuren_booking start_open="1"] widget direct geopend tonen [sloephuren_booking auto_advance="0"] niet automatisch doorgaan na een keuzeOpenen vanaf een eigen knop/link:
[sloephuren_open]Boek je sloep[/sloephuren_open] link die de widget opent [sloephuren_open sloep="Stout 650"]Boek de Stout 650[/sloephuren_open]Zonder shortcode (bijv. Elementor-knop): zet de link op
#sloephuren, of geef de knop de CSS-classshb-open. Een volledig overzicht met kopieerbare codes staat onder Sloephuren → Shortcodes.
Standaarddata
Sloep-types | Sloep | Voorraad | Max personen | |-------|----------|--------------| | Luxal Nautic | 1 | 8 | | Stout 650 | 1 | 8 | | Zaanse Sloep | 2 | 8 |
Pakketten | Pakket | Prijs | |--------|-------| | Halve dag varen | € 265 | | Hele dag varen | € 399 |
Boekflow (frontend)
Zwevende widget (Booqable-achtig): een launcher-pill rechtsonder (full-width onderaan op mobiel) opent een boekingspaneel. Stappen: sloep → pakket → datum (inline kalender) → tijdslot → gegevens & samenvatting → Boek & betaal. Na terugkeer van de betaling toont de widget een successcherm met boekingsnummer.
- Alleen beschikbare tijdsloten worden getoond (echte beschikbaarheid bij de tijdslot-stap).
- Prijzen zonder brandstofkosten in het prijsblok.
- Zaanse Sloep = max. 2 boekingen per tijdslot; Luxal Nautic en Stout 650 = max. 1.
- Niet-betaalde (pending) boekingen blokkeren een plek maximaal 15 minuten.
Betaling
- Mock (standaard): werkt direct zonder keys. De klant komt op een testpagina waar je de betaling laat "slagen" of "mislukken". Handig om de volledige flow te testen.
- Mollie (iDEAL): vul onder Sloephuren → Instellingen een Mollie API-sleutel in en zet de provider op Mollie. Zonder geldige sleutel valt de plugin automatisch terug op mock.
Flow: eerst een boeking met status pending_payment → betaling starten → payment_id en checkout_url opslaan → klant naar betaalpagina → pas op paid na een succesvolle webhook. Mislukte/verlopen betalingen worden nooit definitief.
Admin (menu "Sloephuren")
- Boekingen — tabel met datum, tijdslot, sloep, klant, telefoon, e-mail, personen, status en bedrag. Filters op status, datumbereik en zoekterm. Status per boeking handmatig aanpasbaar.
- Sloep-types — naam, voorraad, max personen, actief/inactief.
- Pakketten — naam, prijs, actief/inactief.
- Tijdsloten — per pakket, met start/eindtijd en actief/inactief.
- Instellingen — betaalprovider, Mollie-sleutel, pending-minuten, beheerder-e-mail, voorwaarden-URL.
E-mails
Na een succesvolle betaling gaat er automatisch een bevestiging naar de klant en een melding naar de beheerder, met boekingsnummer, datum, tijd, sloep-type, aantal personen, betaald bedrag en contactgegevens.
Techniek
- Eigen tabellen via
dbDelta(prefixwp_shb_). - Beveiligd met nonces, sanitization en escaping.
- Beschikbaarheidschecks via de REST API (
/wp-json/sloephuren/v1/…). - Gelijktijdige boekingen worden veilig afgehandeld met een MySQL named lock (
GET_LOCK), plus een hercontrole binnen de lock voordat de boeking wordt weggeschreven. - WP-Cron (elke 5 min) markeert verlopen pending-boekingen als
expired. - Automatische updates vanuit GitHub Releases: nieuwe versies verschijnen in het normale WordPress update-scherm, met een "Controleer op updates"-link in de pluginregel.
Bestandsstructuur
sloephuren-booking.php Hoofdbestand (constanten, includes, activatie)
includes/class-install.php Databaseschema, seed-data, cron
includes/class-bookings.php Data-laag (types, pakketten, sloten, boekingen)
includes/class-availability.php Beschikbaarheid + veilige boeking-aanmaak
includes/class-payments.php Mock + Mollie betaalproviders
includes/class-emails.php Bevestigings- en beheerdersmails
includes/class-admin.php Admin-menu en beheerschermen
includes/class-github-updater.php Automatische updates vanuit GitHub Releases
includes/class-plugin.php Shortcode, assets, REST API, callbacks
public/js/booking.js Zwevende widget (launcher + paneel, stappen, kalender)
public/css/booking.css Styling (Sloephuren-designsysteem)
public/img/logo.svg Logo voor launcher en paneel-headerRead the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v2.13.0 | Aug 11, 2026 | sloephuren-booking.zip | 0 |
| v2.12.0 | Aug 11, 2026 | sloephuren-booking.zip | 0 |
| v2.11.0 | Aug 11, 2026 | sloephuren-booking.zip | 0 |
| v2.10.0 | Aug 10, 2026 | sloephuren-booking.zip | 0 |
| v2.9.1 | Jul 13, 2026 | sloephuren-booking.zip | 0 |
| v2.9.0 | Jul 13, 2026 | sloephuren-booking.zip | 0 |
| v2.8.2 | Jul 13, 2026 | sloephuren-booking.zip | 0 |
| v2.8.1 | Jul 13, 2026 | sloephuren-booking.zip | 0 |
| v2.8.0 | Jul 13, 2026 | sloephuren-booking.zip | 0 |
| v2.7.1 | Jul 13, 2026 | sloephuren-booking.zip | 0 |
| v2.7.0 | Jul 11, 2026 | sloephuren-booking.zip | 0 |
| v2.6.0 | Jul 11, 2026 | sloephuren-booking.zip | 0 |
| v2.5.2 | Jul 11, 2026 | sloephuren-booking.zip | 0 |
| v2.5.1 | Jul 11, 2026 | sloephuren-booking.zip | 0 |
| v2.5.0 | Jul 10, 2026 | sloephuren-booking.zip | 0 |
| v2.4.3 | Jul 9, 2026 | sloephuren-booking.zip | 0 |
| v2.4.2 | Jul 2, 2026 | sloephuren-booking.zip | 0 |
| v2.4.1 | Jul 2, 2026 | sloephuren-booking.zip | 0 |
| v2.4.0 | Jul 2, 2026 | sloephuren-booking.zip | 0 |
| v2.3.0 | Jul 2, 2026 | sloephuren-booking.zip | 0 |
| v2.2.0 | Jul 2, 2026 | sloephuren-booking.zip | 0 |
| v2.1.2 | Jul 1, 2026 | sloephuren-booking.zip | 3 |
| v2.1.0 | Jul 1, 2026 | sloephuren-booking.zip | 0 |
| v2.0.0 | Jul 1, 2026 | sloephuren-booking.zip | 0 |
| v1.0.3 | Jul 1, 2026 | sloephuren-booking.zip | 0 |