Comprehensive setup and venue management manual for ReservePress Events (v1.0.0) — covering venue spaces, capacity & full-day/half-day/hourly pricing, event packages, deposit & balance payment links, and event calendars.
Before installing ReservePress Events, confirm your server meets the following requirements: Requirement
Minimum
WordPress
PHP
MySQL / MariaDB
MySQL 5.7+ or MariaDB 10.3+
HTTPS
Required for Stripe payments (strongly recommended for all installs)
Pretty Permalinks
Must be enabled — Settings → Permalinks → any option except Plain
WP Memory Limit
128 MB minimum; 256 MB recommended
Optional: Stripe Account
Required only if you want to collect online deposits or full payments. Not required for invoice-on-request or pay-at-event workflows.
/wp-content/plugins/ via FTP or your host's file manager.The plugin automatically creates 8 custom database tables prefixed with wp_rpevt_ (or your configured prefix). Custom capabilities are added to the Administrator role. No existing WordPress data is modified.
wp_rpevt_spaceswp_rpevt_event_typeswp_rpevt_packageswp_rpevt_bookingswp_rpevt_clientswp_rpevt_blocked_dateswp_rpevt_inquirieswp_rpevt_promotionsFollow these steps in order after activating the plugin. Completing each step before the next ensures the availability checker and booking flow work correctly from day one.
Go to RP Events → Settings and fill in the General section:
Go to RP Events → Spaces → Add New Space. Fill in:
Go to RP Events → Event Types → Add New. Event types populate the Event Type dropdown in the inquiry form and availability checker. Examples:
Each event type can optionally be linked to one or more spaces to filter availability results by event type.
Go to RP Events → Packages → Add New Package. Packages allow you to bundle spaces, add-ons, and services into a single priced offer. Fill in:
Go to RP Events → Spaces, click a space, then click Blocked Dates. Add any dates when that space is unavailable — recurring closures, maintenance periods, or already-booked dates not yet in the system.
A space with no blocked dates is considered available on all days. Block dates proactively for public holidays and recurring closure days.
Create the following pages in WordPress → Pages → Add New. The slug (URL) must match exactly for the plugin's internal links to work correctly.
Page Title
Slug
Content / Notes
Events
events
Add shortcode [rp_events]. Displays upcoming events listing. Use ReservePress Events Theme Events Page template.
Book a Venue
book-venue
Add shortcode [rp_book_venue]. The inquiry form. Use ReservePress Events Theme Booking Page template.
Manage Booking
manage-booking
Add shortcode [rp_manage]. Accessed via ?rp_manage={token} link in confirmation emails.
Payment
payment
Add shortcode [rp_payment]. Handles deposit and balance collection via Stripe token URLs.
ReservePress Events provides four shortcodes. Each can be placed in any WordPress page, post, or widget area. Required CSS and JavaScript are enqueued automatically.
[rp_events]
[rp_events limit="6"]
[rp_events category="wedding" limit="4"]
[rp_events venue="grand-ballroom"]
Displays a listing of upcoming public events. Each event card shows the event name, date, venue space, and a details link. Events are managed in RP Events → Events in the admin dashboard. Attribute
Default
Description
limit
12
Maximum number of events to display.
category
—
Filter by event type slug or ID. Omit to show all event types.
venue
—
Filter by venue (space) slug or ID. Omit to show events across all spaces.
[rp_book_venue]
[rp_book_venue title="Start Planning Your Event"]
[rp_book_venue venue_id="3" event_type="wedding"]
[rp_book_venue trigger="yes" label="Request a Booking"]
Renders the venue inquiry form: name, email, phone, event type, start date, end date, approximate guest count, and a free-text details field. On submission the inquiry is saved to RP Events → Bookings with status Inquiry, and automated confirmation emails are sent to the client and the venue admin.
When trigger="yes" is set, the form is hidden by default and collapses behind a button. Clicking the button expands the form inline on the same page. Use label to customise the button text.
Attribute
Default
Description
title
event
Heading displayed at the top of the form.
venue_id
—
Pre-select a venue (space) by ID. Hides the venue selector if set.
event_type
—
Pre-select an event type by slug or ID.
trigger
no
Set to "yes" to collapse the form behind an expand button.
label
Book This Venue
Button text shown when trigger mode is active.
[rp_manage]
Displays a guest's booking details and a cancel request option. This shortcode reads a secure token from the URL parameter ?rp_manage={token} — the token is included automatically in the booking confirmation email sent to the client. No shortcode attributes are needed.
Place this shortcode on a dedicated page (recommended slug: manage-booking). Save the page URL in RP Events → Settings → General so the plugin can generate the correct link in confirmation emails.
[rp_payment]
Handles both deposit and balance collection via Stripe. The shortcode reads the payment context from the URL:
Place this shortcode on a dedicated page (recommended slug: payment). Save the page URL in RP Events → Settings → General. Both token links are generated automatically by the plugin and sent to the client via email. Do not link to this page directly from your navigation. HTTPS is required for Stripe to process payments on this page.
The RP Events menu appears in the WordPress admin sidebar. It contains the following sections:
All settings are at RP Events → Settings. Each tab saves independently — click Save Settings within each tab.
Setting
Description
rpevt_venue_name
Your venue name — appears in email notifications and the booking widget.
rpevt_venue_email
Reply-to email address for all client-facing emails.
rpevt_venue_phone
Venue phone number — included in confirmation emails.
rpevt_theme_style
auto = inherit active theme CSS variables. off = always use plugin default colours.
Setting
Description
rpevt_min_advance_days
Minimum days in advance a client can submit an inquiry. Default: 7.
rpevt_max_advance_days
How far ahead clients can request dates. Default: 730 days (2 years).
rpevt_require_deposit
Require a deposit at booking confirmation. Deposit % set per package.
rpevt_allow_guest_inquiry
Allow inquiries without a WordPress account. Recommended: on.
rpevt_require_phone
Make the phone field required on the inquiry form.
rpevt_auto_confirm
Automatically confirm inquiries (skips Under Review status). Default: off.
Setting
Description
rpevt_payment_mode
deposit = charge deposit at confirmation. full = charge full amount. none = invoice manually.
rpevt_stripe_enabled
Enable Stripe payment processing.
rpevt_stripe_test_mode
on = use test API keys. off = use live keys.
rpevt_stripe_pub_key_live
Stripe live publishable key (starts with pk_live_).
rpevt_stripe_secret_live
Stripe live secret key (starts with sk_live_). Never share this key.
rpevt_stripe_pub_key_test
Stripe test publishable key (starts with pk_test_).
rpevt_stripe_secret_test
Stripe test secret key (starts with sk_test_).
rpevt_stripe_webhook_secret
Stripe webhook signing secret (starts with whsec_). Required for payment confirmation.
Setting
Description
rpevt_tax_enabled
Apply tax to package and space pricing at checkout.
rpevt_tax_rate
Tax percentage (e.g. 13 for 13% HST).
rpevt_tax_name
Label shown at checkout (e.g. HST, GST, VAT).
rpevt_tax_inclusive
on = prices already include tax. off = tax added on top.
Setting
Description
rpevt_currency
ISO currency code. Default: CAD.
rpevt_currency_symbol
Symbol displayed with prices. Default: $.
rpevt_currency_position
before = $10.00. after = 10.00$.
rpevt_currency_decimals
Number of decimal places. Default: 2.
Setting
Description
rpevt_email_from_name
Sender name for all plugin emails.
rpevt_email_from_address
Sender email address.
rpevt_email_inquiry_confirm
Send a confirmation email to the client after inquiry submission.
rpevt_email_booking_confirm
Send a confirmation email when booking is confirmed by admin.
rpevt_email_reminder
Send a reminder email before the event date.
rpevt_email_reminder_days
Days before the event to send the reminder. Default: 7.
rpevt_email_cancellation
Send a cancellation notice to the client.
rpevt_smtp_host
SMTP server hostname (e.g. smtp.sendgrid.net).
rpevt_smtp_port
SMTP port. Common values: 587 (TLS), 465 (SSL).
rpevt_smtp_username
SMTP account username.
rpevt_smtp_password
SMTP account password.
rpevt_smtp_encryption
tls or ssl.
WordPress default email (wp_mail) is often blocked by hosting providers. Use a transactional email service such as SendGrid, Mailgun, or Postmark for reliable delivery. Enter the SMTP credentials in the fields above, or use a dedicated SMTP plugin if preferred.
ReservePress Events adds custom capabilities to the WordPress role system. Administrators receive all capabilities automatically on activation. Assign individual capabilities to other roles using a role management plugin such as User Role Editor.
Capability
Description
Admin
Manager*
Recept.*
manage_rpevt_bookings
View, create, edit bookings
✓
✓
✓
edit_rpevt_bookings
Edit existing bookings
✓
✓
✓
delete_rpevt_bookings
Delete bookings
✓
✓
manage_rpevt_spaces
Manage venue spaces
✓
✓
manage_rpevt_packages
Manage packages
✓
✓
manage_rpevt_settings
Access plugin settings
✓
✓
view_rpevt_reports
reports
✓
✓
view_rpevt_calendar
View the calendar screen
✓
✓
✓
access_rpevt_frontend
Access the Front Desk interface
✓
✓
✓
* Manager and Receptionist are not created automatically. Assign capabilities to existing roles using a role editor plugin.
The Front Desk is a dedicated interface designed for in-venue use — reception desks, coordinator tablets, or any staff-facing screen. It is separate from the WordPress admin and accessible at: https://yoursite.com/?rpevt_front_desk=1
The interface includes:
The Front Desk interface requires the access_rpevt_frontend capability. Administrators have this by default. Assign it to coordinator or receptionist roles as needed.
The plugin sends the following emails automatically. All emails are sent via the SMTP settings configured in RP Events → Settings → Email.
Trigger
Recipient
Inquiry Confirmation
Immediately after inquiry form submission
Client
Booking Confirmation
When admin confirms and approves the booking
Client
Deposit Receipt
After successful Stripe deposit payment
Client
Event Reminder
N days before the event date (configurable)
Client
Cancellation Notice
When a booking is cancelled
Client
New Inquiry Alert
Immediately after inquiry form submission
Venue Admin
Reminder emails require a WP-Cron job to fire. On most shared hosts this works automatically. For mission-critical reminders, configure a real cron job on your server: */5 * * * * curl -s https://yoursite.com/wp-cron.php?doing_wp_cron > /dev/null
Step 1: Create a Stripe Account
Go to stripe.com and create or log in to your account. Complete business verification if required for live payments.
Step 2: Get Your API Keys
In the Stripe dashboard, go to Developers → API Keys. Copy your Publishable key and Secret key. Start with test mode keys (pk_test_… and sk_test_…) for initial setup.
Step 3: Enter Keys in Plugin Settings
Go to RP Events → Settings → Payments. Enable Stripe and check Test Mode. Paste your test keys into the Test Publishable Key and Test Secret Key fields. Save settings.
Step 4: Set Up Webhook
In Stripe dashboard go to Developers → Webhooks → Add Endpoint. Endpoint URL: https://yoursite.com/wp-json/rpevt/v1/stripe-webhook. Select events: payment_intent.succeeded and payment_intent.payment_failed. Copy the Signing Secret and paste it into the Stripe Webhook Secret field in plugin settings.
Step 5: Test a Payment
Submit a test inquiry and confirm the booking in RP Events → Bookings. Use Stripe test card 4242 4242 4242 4242 with any future expiry and any CVC. Confirm the booking shows payment status Deposit Paid or Paid in Full. When ready for live payments, switch off Test Mode and replace with live API keys.
Never paste your Stripe secret key anywhere public or in version control. The webhook secret prevents fraudulent payment confirmation requests. HTTPS is required for Stripe to function on live sites.
The ReservePress Events Theme is the official companion theme for ReservePress Events. It is designed to work out of the box with the plugin — no manual shortcode setup required for the Availability, Spaces, Packages, or Booking pages.
Page Title
Slug
Template
Home (set as front page)
/
Front Page
Spaces
spaces
Spaces Page
Availability
availability
Availability Page
Events
events
Events Page
Packages
packages
Packages Page
Book an Event
book-event
Booking Page
Go to Appearance → Customize to access all theme options. The Customizer is organised into the following sections:
Section
What you can configure
Typography
Font pairing (5 curated options). Only the selected pair is loaded from Google Fonts.
Venue Information
Venue name, tagline, phone, email, address, and Book a Tour URL.
Homepage — Hero
Eyebrow text, heading, subtext, both CTA buttons, hero image, and availability widget toggle.
Homepage — Spaces
Section heading, subtext, and which spaces appear in the featured grid.
Homepage — Packages
Section heading and subtext for the packages preview.
Testimonials
Section heading plus up to 3 testimonials (quote, name, role each).
Colours
Primary Gold, Background, Body Text, Card Background, and Front Desk sidebar colour.
ReservePress Events Theme Lite is a minimal booking shell included free with every ReservePress Events purchase. It is designed for venues whose main website runs on a non-WordPress platform such as Shopify, Squarespace, or Wix — where you need a clean, branded inquiry experience without building a full WordPress site.
Install WordPress in a subfolder of your domain (e.g. yourdomain.com/book/). Theme Lite turns that subfolder into a self-contained booking portal — nothing more. Visitors who land on your booking URL see only the venue inquiry form and a booking management page. The header shows your logo, which links back to your main site.
Go to Appearance → Customize. Theme Lite exposes four options only: Option
Description
Logo
Upload your venue logo. Displayed in the header, links back to your main site.
Primary Colour
Accent colour applied to buttons and highlights in the inquiry form.
Main Site URL
The URL your logo links to (e.g. https://yourdomain.com).
Footer Copyright
Copyright line displayed in the footer.
Theme Lite has no navigation menu, no homepage, and no marketing content. It is intentionally minimal — a booking shell only. For a full venue website with a homepage, spaces page, packages, availability checker, and events listing, use the ReservePress Events Theme (Chapter 11).
Availability checker shows “No spaces available” for all dates
Headers already sent or white screen after saving bookings
For additional help, feature requests, or to report a bug, visit reservepress.ca or contact us at hello@reservepress.ca.
ReservePress Events is open source software licensed under the GNU General Public License v2 or later.