Title: SteadyDevs Venue Booking
Author: steadydevs
Published: <strong>August 28, 2026</strong>
Last modified: August 28, 2026

---

Search plugins

![](https://ps.w.org/steadydevs-venue-booking/assets/banner-772x250.png?rev=3669691)

![](https://ps.w.org/steadydevs-venue-booking/assets/icon-256x256.png?rev=3669691)

# SteadyDevs Venue Booking

 By [steadydevs](https://profiles.wordpress.org/seanliew/)

[Download](https://downloads.wordpress.org/plugin/steadydevs-venue-booking.1.11.3.zip)

 * [Details](https://wordpress.org/plugins/steadydevs-venue-booking/#description)
 * [Reviews](https://wordpress.org/plugins/steadydevs-venue-booking/#reviews)
 *  [Installation](https://wordpress.org/plugins/steadydevs-venue-booking/#installation)
 * [Development](https://wordpress.org/plugins/steadydevs-venue-booking/#developers)

 [Support](https://wordpress.org/support/plugin/steadydevs-venue-booking/)

## Description

**SteadyDevs Venue Booking** lets your customers reserve anything you rent by time—
sports courts and simulator bays, studios and treatment rooms, restaurant tables,
equipment rental, salon chairs, meeting rooms and more. You define the resources,
prices and hours; customers book online; you stay in control by approving every 
reservation.

Nothing is confirmed until you say so, and the same slot can never be sold twice.

#### What you get

 * **Live multi-step booking** — a clean 3-step flow (date & time  resource & group
   confirm) with real-time availability, so the same slot can’t be grabbed twice.
 * **Admin approval workflow** — every booking arrives as _Pending_. Approve, reject,
   or cancel from your dashboard.
 * **Double-booking protection** — approving a resource, date and time that already
   has an approved booking is blocked automatically.
 * **Automatic customer emails** — customers are notified the moment you approve
   or reject their booking, with editable HTML templates and a live preview.
 * **Unlimited bookable resources** — add as many bays, courts, rooms or tables 
   as your venue has.
 * **Theming without code** — colour presets, layout controls (summary position,
   width, corner style), background style and an animation toggle, all with a live
   preview of the real form.
 * **Reports** — utilization, revenue and booking counts over any period, on screen.
 * **Configurable booking rules** — currency, coaching add-on, peak pricing, and
   a limited or unlimited booking window.
 * **Shortcode** — drop the form on any page with `[steadybook]`.
 * **Built to extend** — actions and filters at every point in the booking lifecycle(
   see the FAQ).

#### Who it’s for

Driving ranges and indoor golf simulators, sports and racket clubs, wellness studios,
salons and barbers, co-working and meeting rooms, equipment hire, and any business
that books resources by time slot.

#### Privacy and external services

SteadyDevs Venue Booking stores bookings in your own WordPress database and sends
email through WordPress itself. It makes **no external connections**: no third-party
services, no analytics, no phoning home, no account required. Nothing leaves your
server.

#### SteadyDevs Venue Booking Pro

The free plugin above is complete and unlimited — every feature it has is fully 
working, nothing is capped, there is no trial and nothing expires. [SteadyDevs Venue Booking Pro](https://steadydevs.com/venue-booking)
is a **separate plugin**, downloaded from our site, that adds features this one 
does not contain:

**For any venue taking bookings**

 * **Online payments** — take a deposit or full payment at the time of booking, 
   so a no-show costs the customer, not you
 * **Automatic reminder emails** before a booking
 * **A front-desk staff role**, so a receptionist can manage the day without an 
   administrator account
 * WhatsApp enquiry button
 * Custom brand colours with live preview, beyond the built-in presets
 * CSV export from Reports

**For venues running classes and courses**

 * **Class Portal** — recurring classes and programmes sold as prepaid credits, 
   with levels and per-level pricing
 * A member login portal for self-service booking, cancellation and account management
 * Credit packages, orders, and a running credit ledger per member
 * Waitlists with timed seat offers, and a printable class register
 * A public timetable shortcode

Installing Pro keeps everything you already have: it reads the same data, so every
booking, resource and setting carries over.

## Screenshots

[⌊The 3-step booking form with live availability.⌉⌊The 3-step booking form with 
live availability.⌉[

The 3-step booking form with live availability.

[⌊Resource selection with group size and duration.⌉⌊Resource selection with group
size and duration.⌉[

Resource selection with group size and duration.

[⌊Admin — All Bookings with Approve / Reject / Cancel.⌉⌊Admin — All Bookings with
Approve / Reject / Cancel.⌉[

Admin — All Bookings with Approve / Reject / Cancel.

[⌊Appearance settings with live preview and colour presets.⌉⌊Appearance settings
with live preview and colour presets.⌉[

Appearance settings with live preview and colour presets.

[⌊The email designer, with a live preview of every message the plugin sends.⌉⌊The
email designer, with a live preview of every message the plugin sends.⌉[

The email designer, with a live preview of every message the plugin sends.

[⌊Quick Setup — opening hours, pricing and contact details in one page.⌉⌊Quick Setup—
opening hours, pricing and contact details in one page.⌉[

Quick Setup — opening hours, pricing and contact details in one page.

## Installation

 1. Install through **Plugins  Add New** and search for “SteadyDevs Venue Booking”,
    or upload the ZIP via **Plugins  Add New  Upload Plugin**.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. Go to **Venue Booking  Settings** to set your business name, currency and booking
    window.
 4. Go to **Venue Booking  Bays** to configure your bookable resources and pricing.
 5. (Optional) Go to **Venue Booking  Appearance** to match the form to your brand.
 6. Add the shortcode `[steadybook]` to any page, then publish.

## FAQ

### How do customers book?

They open the page with the `[steadybook]` shortcode, pick a date and time, choose
a resource and group size, and submit their details. The booking is saved as _Pending_
for you to approve.

### How do I approve or reject a booking?

Go to **Venue Booking  All Bookings**. Each booking has Approve, Reject and Cancel
buttons. Approving or rejecting emails the customer automatically.

### Will it prevent double-bookings?

Yes. You cannot approve a booking for a resource, date and time that already has
another approved booking.

### How many resources can I add?

As many as you like. Nothing in this plugin is capped — resources, bookings, time
slots, customers and emails are all unlimited, and there is no trial period.

### Do I need an account or a licence key?

No. The plugin is fully functional the moment you activate it. It never contacts
an external server, and there is nothing to sign up for.

### Do the emails require anything?

Customers must provide an email when booking (the form collects it). For reliable
delivery we recommend an SMTP plugin such as WP Mail SMTP — standard for any WordPress
site that sends email.

### Can I change the colors and layout?

Yes. **Venue Booking  Appearance** offers colour presets, layout options (summary
position, width, corner style), background style and an animation toggle, with a
live preview of the real booking form. Custom colour pickers are part of SteadyDevs
Venue Booking Pro.

### Can I rename “Bay” to something else?

Yes. Under **Appearance**, set the singular and plural terms — Court, Room, Table,
Chair, Studio — and they are used throughout the admin and the booking form.

### What are the requirements?

WordPress 5.0 or higher and PHP 7.2 or higher.

### Can developers extend the plugin?

Yes. SteadyDevs Venue Booking fires WordPress actions and filters at every point
in the booking lifecycle, so you can extend it from a child theme or a small companion
plugin without editing the plugin itself.

Actions:

 * `steadydevs_booking_created` ($booking_id, $booking) — after a booking row is
   created, before any email. Always “pending”.
 * `steadydevs_booking_status_changed` ($booking_id, $new_status, $old_status, $
   booking) — after any admin status change.
 * `steadydevs_booking_approved` / `steadydevs_booking_rejected` / `steadydevs_booking_cancelled`(
   $booking_id, $booking) — convenience aliases.

Filters:

 * `steadydevs_booking_total` ($total, $context) — adjust the stored price. Note
   the booking form calculates its own estimate for the summary panel, so changes
   here are not reflected in the figure the customer saw.
 * `steadydevs_time_slots` ($slots, $date, $bay_id) — open or close time slots. 
   This is the place to add blackout dates, public holidays or per-weekday opening
   hours.
 * `steadydevs_bays_availability` ($bays, $date, $time, $duration) — per-resource
   availability.
 * `steadydevs_email_subject` / `steadydevs_email_body` / `steadydevs_email_recipient`(
   $value, $type, $booking) — rewrite an email before it sends.
 * `steadydevs_email_should_send` ($send, $type, $booking) — return false to cancel
   a send.

Email $type is one of: admin_new, receipt, approved, rejected.

Example — close Mondays:

    ```
    add_filter('steadydevs_time_slots', function ($slots, $date) {
        if ((int) date('w', strtotime($date)) === 1) {
            foreach ($slots as $slot) { $slot->available = false; }
        }
        return $slots;
    }, 10, 2);
    ```

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SteadyDevs Venue Booking” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ steadydevs ](https://profiles.wordpress.org/seanliew/)

[Translate “SteadyDevs Venue Booking” into your language.](https://translate.wordpress.org/projects/wp-plugins/steadydevs-venue-booking)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/steadydevs-venue-booking/),
check out the [SVN repository](https://plugins.svn.wordpress.org/steadydevs-venue-booking/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/steadydevs-venue-booking/)
by [RSS](https://plugins.trac.wordpress.org/log/steadydevs-venue-booking/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

Entries describing the Class Portal, member portal, credit packages, levels, waitlists,
the staff role and reminder emails refer to the separate **SteadyDevs Venue Booking
Pro** plugin (named SteadyBook Pro in older entries). The free plugin covers the
resource booking engine, approvals, emails, theming and reports.

#### 1.11.3

 * Changed: every function, class, constant, option, transient and hook name that
   used the generic `gbb_` / `GBB_` prefix now uses `steadydevs_` / `STEADYDEVS_`
   instead, per the WordPress.org review guideline on unique naming. If you hook
   into any of the actions or filters below, update the name. Nothing else about
   behaviour changes, and no settings are lost — the plugin copies your existing
   values across automatically the first time it loads after updating.

#### 1.11.2

 * Note: version bump only, to stay in step with the Pro plugin’s release. Nothing
   changes in this free plugin.

#### 1.11.1

 * Changed: the plugin is renamed **SteadyDevs Venue Booking** and installs as steadydevs-
   venue-booking/. The text domain follows the new slug; if you maintain your own
   translation files, rename them to match. Nothing else changes — same features,
   same data, same shortcode.

#### 1.11.0

 * **Removed the two-resource limit.** Add as many bays, courts, rooms or tables
   as you need. Nothing in this plugin is capped.
 * Changed: features belonging to SteadyBook Pro are no longer part of this plugin
   in any form. The colour pickers, CSV export and the WhatsApp setting are implemented
   in the separate Pro plugin rather than being present here and switched off. Everything
   this plugin contains, it can do.
 * Fixed: the email template screen could offer templates for messages the free 
   plugin has no way to send.
 * Fixed: translations were being loaded on `plugins_loaded` rather than `init`,
   which raises a notice on WordPress 6.7 and later.
 * Changed: the Reports and User Guide screens now use the enqueued stylesheet instead
   of printing their own styles.
 * Changed: fresh installs seed the full set of sample resources.

#### 1.10.1

 * New: Members can pay for credit packages online. Set a payment method to be settled
   by a gateway and the member is sent to that provider’s own checkout — no card
   details ever touch your site — with the credits added the moment the payment 
   clears. HitPay is the first supported gateway, covering PayNow, cards, GrabPay,
   FPX and DuitNow. **Pro.**
 * New: A “Test connection” button beside the gateway keys, so a mistyped key is
   caught while you are still looking at the field rather than by the first member
   who tries to buy something. Nothing is charged. **Pro.**
 * New: The Class Portal setup screen now reads your site rather than reciting the
   same instructions to everyone: how many classes are on the week, whether the 
   credit packs are still the samples, whether your pages carry their shortcodes,
   whether any payment method works. One step at a time is marked as next. **Pro.**
 * New: “Create the pages for me” publishes the login and portal pages with their
   shortcodes and selects them, in one click. An existing page that already has 
   the shortcode is reused, not duplicated. **Pro.**
 * New: The timetable takes several days at once — tick Mon, Wed and Fri and one
   save puts the class on all three. Every day is clash-checked before anything 
   is written. **Pro.**
 * Changed: A page selected as your login or portal page but missing its shortcode
   is now reported. It used to look configured while sending members somewhere blank.**
   Pro.**
 * Note: Nothing changes for payments you settle yourself. A transfer QR, bank details
   or cash at the desk still cost nothing in fees and still wait for you to confirm
   them, and both kinds can be offered side by side. A payment that does not add
   up is never credited automatically — it waits in the Orders queue with a note
   saying what looked wrong.

#### 1.9.0

 * New: SteadyBook is now two plugins. This free edition covers the booking engine–
   the 3-step form, approvals, double-booking protection, emails, theming and reports–
   with unlimited bookable resources. SteadyBook Pro adds online payments, reminder
   emails, a front-desk staff role, the Class Portal, member logins, credit packages
   and waitlists.
 * Note: The free edition is not a trial. Nothing expires, nothing phones home, 
   and there is no key to enter. What it does not include is not switched off – 
   it is not in the download at all.
 * Note: For existing Pro sites, nothing changes. Pro stays in the same folder it
   has always been in, updates through Freemius exactly as before, and keeps every
   booking, resource and setting. Installing Pro over the free plugin also carries
   data across untouched – both read the same tables.
 * Changed: The free edition is named SteadyBook Lite and installs as steadybook-
   lite/ so that WordPress can tell the two apart. Running both at once is harmless:
   Pro switches the free plugin off when it activates, and says so.
 * Changed: The text domain is now steadybook-lite, matching the WordPress.org slug,
   so community translations can be installed. If you maintain your own translation
   files, rename them to match.
 * Changed: Reports export to CSV, and the custom colour pickers, are Pro. The colour
   presets and the live preview stay free – presets are guesswork without a preview.
 * Changed: On Pro, what a site may use now follows its licence rather than which
   files are on disk. A lapsed subscription drops back to the free feature set instead
   of keeping everything indefinitely – and it keeps taking bookings rather than
   going dark, which is what having a free edition makes possible.
 * Changed: Sample resources and the default booking-form copy are no longer written
   for one trade.
 * Changed: The Emails screen only shows templates the installed edition can actually
   send.
 * Security: Booking duration and group size are enforced on the server, not only
   in the form.
 * Security: Request data is unslashed before sanitising, and query-string values
   are sanitised at the point of use.
 * New: languages/steadybook-lite.pot, so the plugin can be translated.
 * Developer: Entitlement is resolved through a provider interface, filterable with`
   gbb_license_provider`.

#### 1.8.0

 * New: A front-desk role. “Class Portal Staff” gets the Class Portal as its own
   menu and nothing else – no plugins, themes, users or site settings – so a receptionist
   confirming payments no longer has to be a WordPress administrator. Setup stays
   administrators-only, since it decides what members are charged and how they log
   in.
 * New: A class register. Open Register, pick a class, mark people present or absent.
   Marking an absence records the no-show and never touches their credit – refunding
   a missed class stays your decision, under Bookings. A member’s record now shows“
   18 of 24 marked classes attended”.
 * New: Waitlists, off by default. Members with enough credits can queue for a full
   class. The moment a seat frees it is offered to whoever waited longest and held
   for them – nobody else can take it while the hold runs – and they are emailed
   to claim it from the portal. If they do not, the hold expires and it passes to
   the next person. Holds never run past the class start, and how long they last
   is yours to set.
 * New: The waitlist for a class is listed under its register, in order, so the 
   front desk can answer “am I next?” without opening the database.

Earlier releases are listed in changelog.txt, which ships with the plugin. The directory
trims very long changelog sections, so only the recent entries are repeated here.

## Meta

 *  Version **1.11.3**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.2 or higher **
 * Tags
 * [appointments](https://wordpress.org/plugins/tags/appointments/)[booking](https://wordpress.org/plugins/tags/booking/)
   [calendar](https://wordpress.org/plugins/tags/calendar/)[reservations](https://wordpress.org/plugins/tags/reservations/)
   [scheduling](https://wordpress.org/plugins/tags/scheduling/)
 *  [Advanced View](https://wordpress.org/plugins/steadydevs-venue-booking/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/steadydevs-venue-booking/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/steadydevs-venue-booking/reviews/)

## Contributors

 *   [ steadydevs ](https://profiles.wordpress.org/seanliew/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/steadydevs-venue-booking/)