If you run a cinema, a community playhouse or a single-screen theatre, you already know that audiences expect to pick a seat and pay from their phone. This guide shows you how to create an online theatre booking and reservation system on WordPress using WpEvently (WooCommerce Event Manager Pro) and its add-ons — no custom development required.
You will build a cinema management system in five steps: install the plugins, create an organizer and category, publish a showtime with multiple ticket tiers, draw a reserved seat map, and take live bookings. Along the way you will also see how QR-code entry, recurring showtimes and PDF tickets fit together for a complete theatre reservation system.
Everything below is aimed at WordPress site owners with basic dashboard experience. If you also sell tickets for seminars or workshops, the same event engine covers that too — see how to create a seminar booking system with a WordPress event booking plugin when your needs are classroom-style rather than seat-mapped.
What a Theatre Booking System Needs to Do
Before touching any settings, be clear about the job. A genuine theatre ticketing and reservation system is not a generic appointment form. It has to handle:
- Recurring showtimes. The same film or play at 2pm, 5pm and 8pm for weeks.
- Reserved seating. Row- and column-based seat maps, not just a headcount.
- Tiered pricing. Balcony, stalls, and recliner rows priced differently.
- Per-show capacity. Every showtime sells its own block of seats.
- Verified entry. A scannable ticket at the door so nobody reuses a booking.
General-purpose booking tools usually cover one or two of these. The stack below covers all five inside WordPress, and it keeps your ticket revenue on your own site instead of routing it through a third-party marketplace that takes a cut of every sale.
Step 1: Install And Activate Plugins And Add-Ons
Log in to your WordPress dashboard and install the core stack before you build anything. Four pieces do the heavy lifting: the event manager plugin, WooCommerce, the seat plan add-on and the QR code add-on.
Event Manager Pro (WpEvently): this is the engine that creates showtimes, ticket types, attendee forms and PDF tickets. Go to Plugins → Add New from your dashboard to begin.

Click Add New, type “WpEvently” in the search bar and press Enter.

The plugin will appear first in the results. Click Install Now, wait for the download to finish, then click Activate. WordPress redirects you to the plugin welcome screen.

As a prerequisite, install and activate the WooCommerce plugin so WpEvently can handle ticketing and checkout.

Click Install and Activate. Within seconds WooCommerce is running. Click Next to move from the Welcome page to the General Settings page.

On the General Settings page, fill in the events label, event slug, event expiry date and time, email from name and email address.

Click Next once those fields are complete.

Click Finish & Save to preserve the settings. Now install and activate WpEvently Pro plus the QR code add-on.
Purchase and install WpEvently Pro: the Pro version unlocks the advanced ticketing options you need for a theatre. Purchase the plugin and download the ZIP file before installing.

To purchase or download WpEvently Pro, visit MagePeople’s WooCommerce Event Booking Manager Pro and click Purchase Now. Check current pricing on the product page, and make sure the ZIP is downloaded before you install it.

Click Upload Plugin in the Plugins section of your dashboard, then Choose File and select the downloaded ZIP. WpEvently Pro ships with two bundled add-ons: the Form Builder add-on and the PDF Ticket add-on, so keep both ZIPs handy.

Click Open and the ZIP file will be listed with an install option. Select Install Now to add it to your site.
Wait a few seconds for the upload to finish, then click Activate Plugin.

Within two or three seconds the plugin is active.
QR Code Add-on: with the event manager installed, add the WooCommerce Event QR Code Addon so every ticket carries a scannable code for door entry.

Download, install and activate the WooCommerce QR code add-on from the add-on page.

Once it is active, open the Events menu and go to QR Code Settings. Enable QR codes and choose which user roles can view them.

Then open Events Attendees and click Download Ticket to generate a PDF ticket that already contains the QR code.

That completes the QR code setup. Tickets can now be issued as PDFs with embedded codes, which is what makes queue-free entry possible on opening night.
If you want a deeper walkthrough of the scan-and-verify workflow, read this guide on setting up a QR code add-on for an event.
All plugins and add-ons are installed and active. Time to build the actual show.
Step 2: Create a New Category And Organizer
Because WpEvently organises everything into categories and organizers, create both before you add a showtime. It keeps your event archive tidy once you have dozens of listings.

Head to the Events menu and click Organizer.

Enter the organizer name, slug and parent organizer. You can also add a short description with the venue’s address or location details.
Click Add New Organizer to save it. For a theatre, the organizer is usually the venue itself — useful when you programme multiple productions under one roof.
Next, create a category. Click Category under the Events section.

Add the category name, slug and parent category, plus an optional short description. Categories are how you group genres or formats — “Drama”, “Musical”, “Friday Late Show” — so visitors can filter your listings.

Click Add New Category to save it. You can create as many categories and organizers as your programme needs.
Step 3: Add New Event
With the taxonomy in place, create your first show. Go to the Events menu and click Add New Event.

Type the event title — your production or film name — and add a short description if you want a summary in the listings.

Scroll down to the Event’s Information panel and start with the venue. Adding a precise address matters here: it is what powers the map view on the event page and helps audiences find the right door.

In the Venue/Location section you can reuse the organizer’s address or enter one manually with a map view for accuracy.

Move to Ticket & Pricing. This is the heart of the theatre ticketing system. Click Add New Ticket Type to create a ticket with its own price and capacity.

Use one ticket type per seating tier. A typical single-screen setup might sell “Stalls”, “Balcony” and “Recliner”, each with its own price and seat allocation, so the capacity figure always matches the seats you actually have.
The Extra Service Area section underneath lets you sell add-ons that sit outside the ticket price — a programme booklet, interval drinks voucher or merchandise bundle.

In the Date & Time section, set the opening performance date and time. Because a theatre runs the same show repeatedly, choose the repeated event option.

Below it you will find extended Repeated Date & Time Settings for recurring performances. Generate showtimes for selected days or weeks in one go, and toggle the time format to suit your audience. This single setting is what turns a one-off event into a full run of shows.

The Settings section lets you control SKU number, whether the end date, time, available seat count and attendee list display on the front end, and more.

Next is Rich Text, which is where you write the long-form description and add schema markup that helps the show surface in search results.

The Attendee Form section defines the fields a customer completes before booking. Collect name, email and phone at minimum; add custom fields if you need accessibility requirements or group bookings. WpEvently Pro also supports reusable custom forms here.

Theatre bookings do not need a speaker panel, so skip the Speaker Info section. The next section is for FAQs — a good place to answer practical questions about doors opening times, age limits and refunds.

Then comes Terms & Conditions. Display your own terms, or click Add New Term & Condition to create one. For a theatre, state your late-entry and cancellation policy clearly here.

Now assign the event category and organizer you created in Step 2. You can add new sub-categories or organizers inline if needed.

Finally, set a featured image for the show poster. Click Set Featured Image and upload the artwork from your computer.
Step 4: Create Seat Plan
Now for the element that separates a real theatre reservation system from a simple ticket counter: reserved seating.

Start by getting the Seat Plan Addon for Event Manager. Purchase it, download the ZIP and install it from your dashboard.

After uploading the ZIP, click Install Now and then Activate.
Open the event you just created and scroll down until you find the Event Seat Plan settings panel.
Based on your ticket types, set the number of rows and columns, then click Create Seat Plan. The add-on builds the map using WordPress’s drag-and-drop editor, so you can match the real auditorium rather than a generic grid.

Once the seats exist, assign a colour to each seat type and set the pricing rules per type. Colour coding is what makes the map legible at a glance — audiences instantly see which seats are premium and which are already taken.

For more detail on rows, aisles and seat categories, see this guide on how to add an event seating plan using an add-on.
Step 5: Preview & Publish It
Click Preview to check the whole listing — poster, showtimes, ticket tiers, seat map and attendee form — before anything goes live.

If everything looks right, click Publish. The event is live and customers can select seats and pay through WooCommerce checkout. Here is the finished cinema management system in live view:

Place a test booking yourself before you announce the run. Buy one ticket, confirm the WooCommerce order completes, check that the confirmation email arrives with a PDF ticket, and scan the QR code with your phone. Five minutes of testing here prevents a queue at the box office on opening night.
If you would rather deploy the full stack in one purchase instead of sourcing each component separately, the Cinema, Movie or Any Seat Reservation Solution for WordPress bundles the event manager, seat plan and QR code pieces together.
Frequently Asked Questions
Can I sell tickets for the same film at several showtimes?
Yes. Use the recurring event option in the Date & Time section to generate repeated showtimes for the days you choose. Each performance carries its own date, time and seat availability.
Do customers need an account to book?
Checkout runs through WooCommerce, so guest checkout and account-based booking both work depending on how you configure your store settings. The attendee form collects whatever details you actually need.
How does entry verification work at the door?
The QR code add-on attaches a unique code to each PDF ticket. Staff scan the code at the entrance to confirm the booking, which prevents duplicate or counterfeit tickets being admitted.
Can I sell snacks or merchandise with a ticket?
Yes. The Extra Service Area section lets you attach products that are priced separately from the ticket, so a customer can add a voucher or bundle during the same checkout.
Conclusion
Building an online theatre booking and reservation system on WordPress comes down to four components working together: an event manager for showtimes and tickets, WooCommerce for payments, a seat plan add-on for reserved seating, and a QR code add-on for verified entry. Set them up once and every future production reuses the same structure.
The payoff is straightforward. Audiences pick their exact seat from a phone instead of queueing at the box office, your staff scan tickets instead of counting cash, and you keep the full ticket price rather than paying a marketplace commission on every sale.
Start with one showtime, test a booking end to end, and expand the programme from there. If your booking needs are closer to classes than cinema seats, the same plugin family handles that — see the guide to creating a yoga class booking system with WordPress and WpBookingly for a class-based setup.

