Beskrivelse
Bordreservation gjort nemt. Modtag reservationer og bordbookinger online. Bekræft eller afvis hurtigt restaurantreservationer, send tilpassede e-mail-notifikationer, begræns reservationstider og meget mere.
Reservations-demo
Pluginet inkluderer en Gutenberg-restaurantblok samt en shortcode til restaurantreservation, så du kan vise din reservationsformular på enhver side, uanset hvilket redigeringssystem du bruger.
Nøglefunktioner:
- Opret en tilpasset restaurantreservationsformular
- Responsivt formular-layout der ser godt ud på mobil og alle enheder
- Tilføj din formular til enhver side via Gutenberg-blok eller shortcode, eller vælg din reservationsside i indstillingerne
- Opsæt en specifik tidsplan ved at definere tilgængelige tider og datoer for reservation
- Bekræft eller afvis hurtigt en reservation
- Underret kunden via e-mail, når anmodningen bekræftes eller afvises
- Modtag en e-mail-notifikation, når en reservationsanmodning modtages
Ændringslog
2.1.17 (2026-06-20)
- Settings: moved 'Late Cancellations' (cancel-time) from the Schedule tab into the Basic tab so it sits next to the 'Let Guests View and Cancel Bookings' toggle (same setting group).
- Admin booking edit popup: when 'Fixed start times' is configured, the time
<select>now correctly pre-selects the booking's existing time by normalising the storedh:i Avalue to the 24-hourH:iformat used by the fixed-times options. Previously editing a booking left the time field blank and submitting saved an empty/incorrect time. - Admin booking form (add/edit modal): the party-size dropdown is no longer capped by the public 'Max Party Size' (party-size) / 'Min Party Size' (party-size-min) / per-location max-people settings. Admins and Booking Managers can now select any party size from 1 up to the global upper limit (100) when creating or editing a booking from wp-admin.
2.1.16 (2026-06-02)
- Consent checkbox: the privacy-page link inside the booking-form consent statement now opens the page in a lightweight vanilla-JS modal (loaded in an iframe) instead of navigating away. Uses no Bootstrap so it stays compatible with the Colibri theme. Adds
.watb-modalstyles tobooking-form.cssand the small handler tobooking-form.js.
2.1.15 (2026-06-02)
- New setting under Schedule: 'Fixed start times' (HH:MM, comma-separated). When set, the booking form's time picker is replaced by a select limited to exactly those times. Combined with multiple schedule rules (e.g. 11:30–13:30 and 13:45–17:00) this lets you offer a small number of fixed seating slots without the customer being able to pick arbitrary times in between.
- Added 'At least 12 hours in advance' and 'At least 48 hours in advance' to the Late Cancellations dropdown, so customers can be required to cancel/modify 12 t or 48 t before their booking.
2.1.14 (2026-05-22)
- QuickPay reconciler heartbeat now writes on every admin pageload (moved before throttle) with an error_log() fallback if the DB insert fails, so it's verifiable that the reconciler is actually running.
- Admin "Take deposit" modal: removed hardcoded placeholder transaction values (SF20896 / #531954373), added full i18n on all labels, now displays the booked deposit amount, allows entering a partial capture amount, and falls back to a translated default subject and message when the optional
subject-admin-deposit-taken/message-admin-deposit-takensettings are empty. - Bookings list "Handle deposit" link now passes the deposit amount and currency so the modal can render them.
- New AJAX endpoint
watb-admin-deposit-modalwires the "Take deposit" button to QuickPay capture (full or partial amount), so the modal is now functional instead of decorative. capture_quickpay_payment()accepts an optional explicit amount (in minor units) for partial captures.
2.1.13 (2026-05-22)
- QuickPay reconciler runs on every admin pageload (no longer gated to the bookings list) and writes a heartbeat log row to
wp_wa_payment_logso it is always possible to verify it executed. A manual trigger?watb_qp_reconcile=forceis available on any admin page for users withmanage_options. Capability gate widened tomanage_optionsormanage_bookings; the per-pageload cost is bounded by a 5-minute transient so the reconciler does not hammer QuickPay's API.
2.1.12 (2026-05-22)
- Reconciliation now also recovers QuickPay payments that never received the customer-return (
continue) call. For eachwp_wa_paymentrow that has atransidbut noaq_status_code, WATB queries the QuickPay REST API (GET /payments/{id}) and — if the payment is Approved — fills in the card/acquirer details on the payment row and marks the booking paid with the correct deposit. Combined with 2.1.10 this means that all historic payments (whether QuickPay-data was stored locally or not) are repaired the first time an admin opens the bookings list.
2.1.11 (2026-05-22)
- Compatibility: Tested with WordPress 7.0.
2.1.10 (2026-05-22)
- Reconciliation tool for historic QuickPay payments. When the booking admin list (Bookings) is opened, WATB now scans
wp_wa_paymentfor rows that QuickPay has marked Approved (aq_status_code = '000') but where the matching booking still has emptydeposit/receipt_id. Those bookings are patched in place: deposit is taken from the stored amount,receipt_idis set from the QuickPay transaction id, and the booking status is recalculated viadetermine_status(true). Each repair is logged towp_wa_payment_log. This fixes bookings created before 2.1.9 (when the QuickPay server-to-server callback was not registered) so they now show the correct deposit and status.
2.1.9 (2026-05-22)
- QuickPay payment registration is now reliable even if the customer never returns to the site from QuickPay. A server-to-server callback URL is registered with QuickPay when the payment is created (
?watb_action=callback&id=…). Both the return (continue) and the QuickPay callback now share the same verification + booking-update logic: the payment row is re-verified against the QuickPay REST API, then the booking deposit, receipt id and status are written. The flow is idempotent — whichever request arrives first marks the booking paid, and the second is a no-op. This fixes cases where a payment showed as Approved in QuickPay but the booking remained in "Afventer betaling" with 0 kr deposit. - Added log entries to
wp_wa_payment_logfor every step ofcontinueandcallbackto make future diagnostics possible.
2.1.8 (2026-05-22)
- QuickPay payment button on the booking page now uses the same look as the booking form's main submit button: it is rendered as a
<button>inside<div class="watb-form-submit">, so the existing.watb-booking-form .watb-form-submit buttonstyling from the active WATB theme (minimal, contemporary, columns, columns-alternate, booking-form) applies automatically. No new CSS needed.
2.1.7 (2026-05-21)
- QuickPay credentials are now auto-imported from Webalive Food & Drink Menu (WFDM) when they are missing in Table Booking. If WFDM is installed and configured on the same site, its
ordering-quickpay-*values (API key, Agreement ID, Merchant ID, Private Key, Payment Window key, last used order number) are copied into the matchingwatb-quickpay-*settings — each field is only copied when WATB's own value is empty, so existing WATB credentials are never overwritten.
2.1.6 (2026-05-21)
- New setting "Payment text shown to customer" (Bookings > Settings > Payments > Quickpay): a free-text/textarea message that is shown to the customer above the QuickPay payment button during checkout.
- QuickPay payments are now never autocaptured. The payment is only authorised at checkout; you decide later whether to charge it.
- New bulk action in the bookings list: "QuickPay: Capture payment" — captures the authorised amount on the selected booking(s) via the QuickPay REST API.
- New bulk action in the bookings list: "QuickPay: Cancel / refund payment" — cancels an authorised-but-not-yet-captured payment, or refunds it if already captured.
2.1.5 (2026-05-21)
- QuickPay integration switched from the legacy Payment Window form-POST + async callback flow to the QuickPay REST API (api.quickpay.net), matching the approach used by Webalive Food & Drink Menu (WFDM). No more dependency on Quickpay-for-WooCommerce style code.
- Payments are now created server-side via
POST /payments+PUT /payments/{id}/link, and the user is redirected to QuickPay's hosted payment window via a simple link. - On return, payment status is verified by polling
GET /payments/{id}(HTTP Basic auth usingwatb-quickpay-apikey), instead of relying on the async webhook callback. - Removed the bundled
lib/wa-quickpay/library (was unused dead code parallel to the gateway implementation). - Settings
watb-quickpay-mercantid,watb-quickpay-formkeyandwatb-quickpay-privatekeyare kept for backwards compatibility but are no longer used by the payment flow. Onlywatb-quickpay-apikey,watb-quickpay-agreementidandwatb-currencyare required.
2.1.4 (2026-05-15)
- Fixed fatal error when WooCommerce logger class is unavailable: QuickPay logger now initializes safely and skips logging operations if no WooCommerce logger exists.