BACK TO DIRECTORY

Eventnetic – Event Tickets, Booking and Calendar

by eventnetic

0.0
(0 ratings)

Eventnetic turns a WordPress site into a box office. Create an event, decide what a
ticket costs and how many there are, put the booking form on a page, and take the
money. Nothing else has to be installed and there is no account to open anywhere.

It is a plugin for events rather than appointments: people buy a ticket for a date,
not a slot with a member of staff. A cinema showing a film on five Sundays, a venue
with a support act and a headliner, a workshop with eight benches and a deposit up
front: that is the shape it is built around.

The plugin is free with no cap on how many events you run or how many tickets you
sell, and Eventnetic takes no cut of the money.
If you later add a card gateway, that company charges its own processing fee, but
nothing comes to us per ticket. You can see it running before you install anything.

Why Eventnetic is different

  • Standalone. No WooCommerce, no page builder, no form plugin, no calendar plugin underneath it.
  • No per-ticket fee, ever. Not in the free plugin and not on a paid plan.
  • Your data, your server. Customers, bookings and money stay in your own database.
  • One screen, not twelve settings pages. Lists that filter and sort, a calendar, and forms that tell you what is wrong before you save.
  • No theme can break the booking form. It renders inside a shadow root, so the theme’s CSS cannot reach into it and it cannot reach out.

✨ Features

Events

  • Unlimited events, tickets, bookings and customers. Nothing is capped.
  • Single-day, multi-day and full-day events
  • Capacity per event, counted as bookings arrive, and it refuses to drop below what is already sold
  • Status per event, open or closed or cancelled, with the reason shown to the visitor
  • Events at a venue, online, or both, with a joining link and password released a set number of minutes before the start
  • A timezone per event, for when one of them is somewhere else
  • Categories with colours, venues and staff, all reusable across events
  • A cover image, a colour and a gallery per event
  • Duplicate an event; delete in bulk
  • One click builds the WordPress page for an event with the booking form already on it
  • An admin calendar with month, week and day views: drag an event to another day, click a day to create one
  • schema.org Event data on the page, so search engines read the date, the venue and the price

Tickets and pricing

  • Several ticket types per event, in the order you want them
  • Each type either draws on the event’s capacity or holds a quota of its own
  • A sale window per ticket type: when it goes on sale and when it stops
  • Minimum and maximum per order
  • Deposits per ticket type, a percentage or a fixed amount, with the balance left owing on the order
  • Ask each attendee for their own name, email and phone, per ticket type
  • 151 currencies, with symbol position, thousands and decimal separators, and 0 to 4 decimal places
  • A ticket type that has already sold cannot be deleted by accident

The booking form

  • A step at a time: date, tickets, your details, attendees, payment, confirmation. A step that means nothing for an event is not shown.
  • Prices are quoted by the server. Nothing the browser says about money is believed.
  • Tickets are held while somebody is checking out, with a countdown, and released if they wander off
  • Guest booking, with no WordPress account needed
  • Pay a deposit or pay in full, whichever you make the default
  • Sold out and booking-closed states that say why
  • Find my booking by code and email: status, amount due, ticket codes, the joining link for an online event, Add to Google Calendar and an .ics file
  • Customers can cancel their own booking, if you switch it on. It is off until you do.
  • Rate limiting, a honeypot and a minimum fill time as standard, plus optional Google reCAPTCHA v3 or Cloudflare Turnstile

Bookings and the door

  • A bookings list with search and filters: booking status, payment status, event, date, category, booked between two dates
  • Take a booking by hand from the desk, choosing what was paid and how
  • A door list per event: search by code, name, email or phone; filter by date, ticket type and who is already inside
  • Check people in by typing a code or with a keyboard-wedge barcode scanner. One code is one seat, and it is used once.
  • A booking is marked as arrived once its last seat is in
  • CSV export of bookings and of attendees, honouring whatever you have filtered
  • Customer records built as bookings arrive; a customer who has bookings cannot be deleted by accident
  • A payments screen: record a payment, refund it, void it, and read the transaction log for any order

Emails and automation

  • A workflow builder rather than a fixed set of emails: pick a trigger, add actions, test each one
  • 15 triggers, including booking created, status changed, payment received, refunded, attendee checked in, event starts, event ends, date cancelled, date reopened and customer created
  • Time offsets on triggers, so a reminder can go three days before the event or an hour after it ends
  • Filters on triggers, so a workflow only runs for the status or payment method you mean
  • Around 60 merge placeholders across event, booking, customer and attendee, each with a sample
  • One-click links in your own email to approve, reject or cancel a booking without logging in
  • Three workflows are set up on install: booking confirmation, payment received and booking cancelled
  • A queue screen showing what is planned, what ran, what failed and what can be retried
  • Mail through wp_mail or your own SMTP server

Payments

  • Pay at the door with no gateway and no account: cash, a card machine at the venue, or a bank transfer you mark as paid by hand
  • Your own wording for the payment instructions the customer sees
  • Orders with lines, totals, what is paid and what is still due
  • Refunds, voids, and rules enforced on the server so an order cannot be overpaid or over-refunded
  • Drag the payment methods into the order the customer sees them in

Putting it on the site

  • Five shortcodes: [eventnetic_booking], [eventnetic_events], [eventnetic_calendar], [eventnetic_my_bookings], [eventnetic_thank_you]
  • The same five as Gutenberg blocks, in their own block category
  • The same five as Elementor widgets, in their own widget category
  • A calendar with month, week, day and list views, rendered on the server, so it is readable by search engines and works with JavaScript off
  • An event catalogue with search, category filters and a “from” price

Design and the technical side

  • Named appearance styles with eight colour tokens and three layout tokens, eight presets to start from, and a style you can pick per shortcode
  • Every widget mounts in a shadow root, so no theme can break it and it cannot leak styles out
  • Assets load only on pages that actually have a widget on them
  • A REST API under eventnetic/v1, and around 85 actions and filters for extending it
  • Translation ready, with RTL support
  • A setup wizard, a checklist, and a system information panel that checks cron, folders and PHP extensions
  • Uninstall removes its tables, its options and its uploads folder. Nothing is left behind.

⭐ Eventnetic Pro

The free plugin is not a trial and does not expire. Eventnetic Pro
adds features rather than lifting a cap:

  • Seat maps: draw the room once and reuse it. Rows, tables, stands and standing areas, numbered any way you like. Seats belong to the date, so A7 sells again next week.
  • PDF tickets and QR codes: a printable pass per seat, attached to the confirmation email.
  • Card payments: Stripe, PayPal, or hand the checkout to WooCommerce.
  • Discount codes: percentage or fixed, scoped to certain tickets, with limits and a date range.
  • Taxes: percentage or fixed, scoped to a venue, a category or an event.
  • Invoices: gapless numbering series, editable templates, issued when the money arrives.
  • Waiting lists: offers only the places that actually came free, and the offer expires.
  • Repeating dates: one class, ten Tuesdays, each with its own capacity and door list.
  • Price per date: a different price, quota or sale window on the dates that need one.
  • Custom booking fields: thirteen field types, conditional logic and file uploads.
  • Zoom: meetings and webinars, a separate room per date.
  • SMS, WhatsApp, Telegram and webhooks: the same workflow builder, more ways to reach people.

Free and Pro, side by side.

External services

Eventnetic works without contacting anything outside your site. Two features, both
switched off until you configure them, call a third party:

Google reCAPTCHA is used only if you switch bot protection on under
Settings Integrations Bot protection and choose Google, which needs a site
key and a secret key from your own Google account. Two things then happen, and both
stop the moment the setting is switched back off:

  • A page carrying the booking form loads https://www.google.com/recaptcha/api.js
    into the visitor’s browser. This is how the check is made, and there is no way
    to run reCAPTCHA without it. Google may set cookies and will see the visitor’s
    IP address and the page they are on.
  • When the form is submitted, the token their browser produced is sent from your
    server to https://www.google.com/recaptcha/api/siteverify, together with your
    secret key and the visitor’s IP address, and Google answers whether it looks
    like a person. Nothing else is sent.

Terms: https://policies.google.com/terms / Privacy: https://policies.google.com/privacy

Cloudflare Turnstile is the same feature with Turnstile chosen instead, and the
same two steps: https://challenges.cloudflare.com/turnstile/v0/api.js is loaded
into the visitor’s browser, and the token is verified from your server at
https://challenges.cloudflare.com/turnstile/v0/siteverify.
Terms: https://www.cloudflare.com/website-terms/ / Privacy: https://www.cloudflare.com/privacypolicy/

Captcha is off when the plugin is installed. Until you turn it on and enter your
own keys, no page loads anything from either service and nothing is sent to them.

Source code

The admin screens and the booking form are a React application, and the files
under react/dist/ that the browser loads are compiled and minified. Both the
source and the toolchain that produces the bundles ship inside this plugin, so
nothing has to be fetched from anywhere to read or rebuild them:

  • react/src/ is our source, TypeScript and TSX, one directory per screen
  • react/package.json is the dependency list and the build script
  • react/package-lock.json pins every dependency, so a rebuild draws the same
    source it was built from
  • react/vite.config.ts and react/tsconfig*.json are the build configuration
  • react/dist/ is the compiled output the plugin loads at runtime

To rebuild react/dist/ from source, from the react directory, run npm ci
and then npm run build. That runs tsc -b && vite build, the same command
that produced the files in this package.

Third-party libraries. The compiled bundles also contain open-source
libraries, minified in with our own code by Vite. They are not written by us and
their unminified source is not in react/src/; every one is a published npm
package, pinned in react/package.json and react/package-lock.json and fetched
from https://www.npmjs.com by the npm ci above. The notable ones, with their
public source repositories:

  • React: https://github.com/react/react
  • FullCalendar: https://github.com/fullcalendar/fullcalendar
  • TanStack Query: https://github.com/TanStack/query
  • TanStack Table: https://github.com/TanStack/table
  • TipTap: https://github.com/ueberdosis/tiptap
  • Radix UI: https://github.com/radix-ui/primitives
  • dnd-kit: https://github.com/clauderic/dnd-kit
  • Hugeicons (@hugeicons/*, the source of icon chunks such as MapsLocation01Icon and PaintBoardIcon): https://github.com/hugeicons/hugeicons
  • react-phone-number-input (the flags chunk): https://gitlab.com/catamphetamine/react-phone-number-input
  • react-hook-form: https://github.com/react-hook-form/react-hook-form
  • Zod: https://github.com/colinhacks/zod
  • DOMPurify: https://github.com/cure53/DOMPurify

The full, authoritative list of dependencies is react/package.json; each is a
published npm package under its own OSI-approved licence, with its repository
linked from its page at https://www.npmjs.com.

The PHP is not compiled and is included as written. vendor/ holds Composer’s
generated autoloader only, no third-party PHP libraries.

Licence

Eventnetic is licensed under the GPL, version 2 or later. The JavaScript libraries
listed under “Source code” are each under their own OSI-approved, GPL-compatible
licence (MIT in almost every case), none modified from its published release, and
vendor/ holds only Composer’s generated autoloader. The Geist font files under
react/dist/ come from @fontsource/geist (https://github.com/fontsource/font-files)
under the SIL Open Font License 1.1, which is GPL-compatible.

Screenshots

The dashboard: what is coming up, and how the month has gone.

The dashboard: what is coming up, and how the month has gone.

An event, with its dates, capacity and ticket types.

An event, with its dates, capacity and ticket types.

The bookings list, filtered and sorted.

The bookings list, filtered and sorted.

The door list, searchable by name.

The door list, searchable by name.

The booking form as a visitor sees it.

The booking form as a visitor sees it.

Settings, on one screen with a search.

Settings, on one screen with a search.

Plugin Details

Active Installs
0
Total Downloads
38
Version
1.0.0
Requires WP
6.4
Requires PHP
8.1
Tested Up To
7.1
Added
2026-09-16
Last Updated
2026-09-16 6:13pm GMT

Ratings

5
0
4
0
3
0
2
0
1
0