WP Manifestindependent plugin directory
manifest / events / escaperoombookingplugin

ERS Booking

plugin to handle escape room bookings using wordpress + woocommerce

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/escaperoomsupplier/escaperoombookingplugin/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress + WooCommerce plugin for booking time slots in escape rooms.

Status: early development (0.1.0) — not ready for production use.

Features

  • Rooms managed in wp-admin: player range, per-weekday start times, languages, base price + per-extra-player pricing, optional weekend prices
  • Day promotions (percent or amount off, per room or all rooms, date ranges) and recurring promotions (e.g. every Monday −10%) managed on an admin calendar; promo days get badges and struck-through prices
  • Booking calendars via shortcode or Gutenberg block: [ers_calendar] (all rooms, day view with weekday tabs) and [ers_calendar room="id"] (single room, monthly/weekly)
  • Booking flow: pick a slot → choose players & game language (live price) → standard WooCommerce checkout (works with both classic and blocks checkout)
  • Slots are blocked the moment an order is placed; unpaid orders are auto-cancelled after a configurable hold time and the slot is released
  • Admin screens: dashboard, bookings lists (next/new/past), calendar with day blocking and promotions, room editor, settings
  • Dedicated "Booking confirmed" customer email (standard WooCommerce email, templates overridable in the theme)

Requirements

  • WordPress ≥ 6.5
  • PHP ≥ 8.1
  • WooCommerce (active)

Installation

  1. Install and activate WooCommerce.
  2. Download this repository as a ZIP and install it in wp-admin under Plugins → Add New Plugin → Upload Plugin (or unpack it into wp-content/plugins/ers-booking), then activate ERS Booking.
  3. Add your rooms under ERS Booking → Rooms and review ERS Booking → Settings (game languages, hold time, weekend days, checkout mode).
  4. Put [ers_calendar] (all rooms) or [ers_calendar room="id"] (single room) on any page — or use the "ERS Booking Calendar" block.

For development, symlink this folder as wp-content/plugins/ers-booking instead.

Structure

ers-booking.php                          — main file (header, constants, bootstrap)
includes/class-ers-booking.php           — main plugin class (singleton)
includes/class-ers-install.php           — DB schema, booking page, cron
includes/class-ers-rooms.php             — room repository (CRUD, pricing)
includes/class-ers-bookings.php          — booking repository
includes/class-ers-availability.php      — bookable-slot engine
includes/class-ers-pricing.php           — day-based pricing + promotions engine
includes/class-ers-product-sync.php      — hidden Woo product per room
includes/class-ers-checkout.php          — cart/checkout/order integration
includes/class-ers-calendar.php          — [ers_calendar] shortcode views
includes/class-ers-booking-form.php      — [ers_booking_form] details step
includes/class-ers-blocks.php            — Gutenberg block registration
includes/class-ers-email-booking-confirmed.php — "Booking confirmed" WC email
includes/admin/                          — admin menu + screens
assets/                                  — frontend CSS/JS, block editor JS
templates/emails/                        — email templates (theme-overridable)
uninstall.php                            — cleanup on uninstall
languages/                               — translation files (text domain: ers-booking)
SPEC.md                                  — functional specification