🎪 WordPress Plugin · v1.0.0

WP Event
Booking
System

A complete event listing and seat booking system for WordPress. Display events in a card grid, accept bookings via AJAX, track seat availability in real time, and send confirmation emails — all without external ticketing platforms.

Getting Started

Install & Activate

01

Upload Plugin. Go to Plugins → Add New → Upload Plugin. Select wp-event-booking.zip, click Install Now.

02

Activate. Click Activate Plugin. Creates wp_wpeb_bookings database table. Adds manage_event_bookings capability to Administrator and Editor.

03

Configure. Go to Events → Settings. Set the Organiser Email and Max Seats Per Booking (default: 5).

04

Create Events. Go to Events → Add New Event. Fill in Date, Time, Venue, Total Seats, Ticket Price, and assign Event Categories.

05

Publish & Embed. Add [event_list] to your Events page. Place [event_booking event_id="42"] on each individual event page using the post ID from the URL.

Plugin Capabilities

Core Features

📅

Events CPT

Dedicated wpeb_event post type with Date, Time, Venue, Total Seats, Ticket Price, and Category taxonomy.

💺

Real-Time Seat Tracking

Available seats = Total Seats − Confirmed Bookings. Sold-out events show a sold-out message automatically.

AJAX Booking Form

No page reload. Validated client-side and server-side. Seat limit per booking enforced from settings.

📧

Confirmation Emails

Attendee receives booking details. Organiser gets a notification. Both via wp_mail().

📋

Admin Bookings Page

Filter by status (Pending / Confirmed / Cancelled). One-click Confirm and Cancel buttons with AJAX updates.

🔌

REST API

Public endpoints to list upcoming events and get single event details including available seat count.

🏷

Event Categories

Hierarchical taxonomy. Filter the event list shortcode by category slug.

Transient Cache

Event list results cached for 1 hour. Cache automatically cleared when a booking is confirmed.

Developer Reference

Shortcodes & REST API

Event List Grid

Renders a responsive card grid of upcoming events sorted by date. Only events with a future date appear.

[event_list]
[event_list category="workshop" limit="6"]
AttributeDefaultDescription
categoryallEvent Category slug to filter by.
limit10Maximum number of events to display.

Booking Form

Renders the booking form for a specific event. Shows "Sold Out" when all confirmed seats are taken.

[event_booking event_id="42"]
AttributeRequiredDescription
event_idYesWordPress post ID of the event. Found in the URL: post=42.

REST API

GET /wp-json/wpeb/v1/events          ?category=yoga&limit=10&page=1
GET /wp-json/wpeb/v1/events/{id}      Returns seats: total, booked, available
The Developer

Author Profile

Vetri Suriya
PHP · WordPress · AWS

Crafting WordPress plugins that solve real-world problems without external dependencies. Every plugin is built with WordPress-native APIs, proper capability checks, and production-ready code quality.