GemBooking Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
GemBooking turns any WordPress site into a booking platform. One plugin covers slot-based appointments, multi-day hotel stays, restaurant table reservations, and fixed-date event ticketing with assigned seating.
Core features
- Service appointments — Customer picks a date + time slot from your weekly availability. Per-service duration, buffer time, lead-time / advance-reservation gates.
- Resource bookings — Bookable rentables (rooms, courts, equipment) with their own capacity, pricing, and availability rules.
- Multi-host calendar — Assign hosts to services; the booking modal picks the right host and respects per-host availability.
- Custom availability — Weekly schedule per service / resource, with per-date overrides (block dates, partial-day windows).
- Booking management — Status workflow (pending confirmed / cancelled / rescheduled), bulk actions, search + filter by date / status / customer.
- Booking questions — Per-service or global question schema (text, email, phone, dropdown, checkbox), required + notify-on-answer.
- Email notifications — Templated confirmations, cancellation reminders, host alerts.
- Multilingual + RTL ready — Full WP i18n support, translation strings under the
gembookingtext domain.
Ticketed events
Switch a service into ticket mode to sell time-bounded tickets:
- Fixed event datetime + sales cutoff.
- Per-tier pricing (Adult / Child / VIP / GA) with included perks.
- Single-use entitlements (Entry, Breakfast, Lunch, T-Shirt) with QR-code redemption — each ticket carries its own redeem state, scan-once enforcement.
- Mobile staff scan page for redemption at the gate.
Pro extension
GemBooking Pro adds recurring bookings, post-booking redirect rules, group bookings, attendee cancel/reschedule locks, and addon packs for hotels (room inventory + nightly pricing), restaurants (floor plan + table picker), and seat-map venues (assigned seating with multi-stop journey support for buses / trains).
Compatible with
- WooCommerce + StoreEngine for payments.
- Zoom, Google Meet, Microsoft Teams for online meetings.
- Twilio for SMS reminders.
Privacy
GemBooking stores guest-supplied data (name, email, phone, any custom booking-question answers) in custom database tables ({prefix}_gembk_bookings, {prefix}_gembk_booking_meta). This data is used solely to fulfil and contact the customer about their booking, plus internal admin reports.
No data is sent to third-party services by the core plugin. Optional addons (Zoom, Google Calendar, SMS, payment gateways) only contact their respective vendors when explicitly enabled and configured.
Deleting the plugin does not automatically erase your booking data — the custom tables ({prefix}_gembk_bookings, {prefix}_gembk_booking_meta, and related availability/account tables) are intentionally preserved so an accidental delete never wipes your records. To remove all stored booking data, drop those {prefix}_gembk_* tables and delete the plugin’s gembooking_* options using your database or hosting tools.
External services
GemBooking’s core booking, ticketing, and QR-code features run entirely on your own server. QR codes for event tickets are rendered locally by the plugin — no third-party image or QR service is contacted — and no booking data leaves your site by default.
The plugin only sends data to an external destination through a feature you explicitly set up:
Outgoing webhooks (optional).
If you create a webhook in GemBooking, the plugin sends a signed HTTPS POST request to the destination URL that you enter, each time the booking event you selected occurs (for example, when a booking is created, cancelled, or rescheduled). The request body contains the details of that booking (such as booking id, status, service/event, times, and the customer name/email/phone as provided). No request is sent unless you add a destination URL, and nothing is sent to GemBooking or Kodezen. Because the destination is a URL you choose, the applicable terms and privacy policy are those of the service you point the webhook at (e.g. your own endpoint, Zapier, Make, or your CRM).
Optional integrations (via the separate GemBooking Pro plugin).
Online-meeting, calendar, and SMS integrations (Zoom, Google Meet, Google Calendar, Microsoft Teams, Twilio) are provided by the separate GemBooking Pro add-on and only contact those providers after you connect an account and enable the integration. Each provider’s data handling is governed by its own terms of service and privacy policy:
- Zoom — https://zoom.us/terms , https://zoom.us/privacy
- Google (Meet / Calendar) — https://policies.google.com/terms , https://policies.google.com/privacy
- Microsoft (Teams) — https://www.microsoft.com/servicesagreement , https://privacy.microsoft.com/privacystatement
- Twilio (SMS) — https://www.twilio.com/legal/tos , https://www.twilio.com/legal/privacy
Source code & build process
All of GemBooking is human-readable and open. Nothing in this plugin is obfuscated, and the source for every compiled or minified file ships inside the plugin alongside the build output.
Compiled assets and their source
- The admin and front-end JavaScript/CSS bundles under
assets/build/(for examplebackend.<version>.js,frontend.<version>.js, and the.cssfiles) are compiled from the React source in thedev_gembooking/directory and the SCSS source inassets/scss/. - The full, unminified source, together with the build configuration (
package.json,webpack.config.js,postcss.config.js,tailwind.config.js), is included in the plugin so the compiled output can be reviewed and regenerated.
Build tools
- JavaScript / CSS are built with @wordpress/scripts (webpack, Babel, PostCSS, Sass). Requires Node.js 18+ and npm.
- PHP dependencies are managed with Composer.
Build steps
- Install JS dependencies:
npm install - Build the front-end/admin assets:
npm run build(writes toassets/build/). Usenpm startfor a watched development build. - Install runtime PHP dependencies:
composer install --no-dev --optimize-autoloader
Third-party libraries
chillerlan/php-qrcode(v5) — MIT license — https://github.com/chillerlan/php-qrcode — used to render event-ticket QR codes locally (bundled undervendor/).- JavaScript libraries used by the source are declared in
package.json(React, Redux Toolkit, Formik, and others) and are fetched via npm during the build.
Screenshots
No screenshots provided

