My Tickets – Accessible Event Ticketing

Description

Sell tickets or take reservations for events easily! My Tickets integrates with My Calendar or can be used for ticket sales as a stand-alone plugin. Sell tickets for box office pick up, shipping, or accept print-at-home and e-tickets for an easy experience for your ticket holders!

My Tickets ships with PayPal Standard payments, so you can sell tickets immediately. You can also take offline payments, to use My Tickets as a reservation tool while you handle payments by mail or at the door.

Explore the premium add-ons for My Tickets!

Premium event ticketing add-ons include:

Basic Features:

For buyers:

  • Create an account to save your address and shipping preferences
  • Automatically convert shopping carts to your account if you log-in after adding purchases
  • Buy tickets for multiple events, with multiple ticket types.

For sellers:

  • Get reports on ticket sales by time, event, or specific ticket options within an event.
  • Easily add new ticket sales from the box office, when somebody pays in person, by phone, or by mail.
  • Use your mobile phone and a standard QRCode reader to verify print-at-home tickets or e-tickets
  • Send email to a single purchaser with questions about their ticket purchase, or mass email all purchasers for an event.
  • Select default event settings grouped by audience type (Adult, Student, Child), seating sections (Section 1, Section 2, Section 3) or individual event dates.
  • Offer member-only discounts for logged-in users
  • General Admission tickets: Sell tickets for events without dates, valid for days, weeks, or months after purchase.

My Tickets is flexible and easy to extend – check out the library of Premium add-ons!

Accessibility

My Tickets is built with accessibility in mind, and tested using assistive technology.

Documentation

Read the My Tickets online documentation.

Screenshots

  • Add to Cart Form
  • Shopping Cart
  • Payment Admin

Installation

  1. Upload the /my-tickets/ directory into your WordPress plugins directory.

  2. Activate the plugin on your WordPress plugins page

  3. Configure My Tickets using the following pages in the admin panel:

    My Tickets -> Settings
    My Tickets -> Payment Settings
    My Tickets -> Ticket Settings
    My Tickets -> Reports
    My Tickets -> Ticketing Help

  4. With My Calendar, add ticketing to an event. Without My Calendar, choose what post types will support tickets from My Tickets -> Settings, and add ticketing to any post or Page!

FAQ

I’m trying to sell tickets with My Calendar, but can’t see how to add sales information

The My Tickets sales information is entered in the ‘Registration Information’ panel of the My Calendar add event screen. This may be turned off in your installation. There are two places to look to enable it. First, go to My Calendar > Settings and go to the Input Settings section. If the ‘registration’ option isn’t checked, check it and save settings. Second, go to the Add Event screen. If the registration options still aren’t visible, you may need to enable them in your personal Screen Options. Open the Screen Options panel and check the option there – these are settings that apply only to your account.

I’m trying to sell tickets on a recurring event in My Calendar, but all the dates are the same

My Tickets data is associated with post IDs, and My Calendar’s recurring events are all based off the same event post. As a result, My Tickets doesn’t work with recurring events in My Calendar.

If I visit the ‘Tickets’ or ‘Receipts’ pages, I end up on the Purchase page. What’s happening?

The Tickets and Receipts pages are only for displaying purchased tickets or purchase receipts. If no valid ID for one of those resources is included, then they’ll redirect to the shopping cart.

How do I scan QR Codes for events?

You can use any QR Code scanning app for a mobile phone or other mobile device with a camera. In order to get the ticket status confirmation, you’ll need to be connected to a network.

Is the “number of tickets available” field required?

Yes. My Tickets won’t sell an unlimited number of tickets for an event; in order for My Tickets to sell anything, you need to specify how many tickets it’s allowed to sell.

Reviews

July 5, 2023 1 reply
Ever since this new plug-in update i am not able to edit my website. The happiness engineer said it was an issue with this plug-in update. Have tried to contact Joe via the forum but no response. Am going to cancel my Wordpress account if I can’t get this fixed.
February 11, 2022 1 reply
Very impressed with this plugin. We use it for ticketing to events and a visitor attraction. It’s easy to set up a new event, set different prices for different categories of visitors, get reports on how many have booked in. We use the Stripe add-on, so money goes straight into the bank account, less Stripe’s fees of course. On the gate, the QR code scanning works perfectly, and the system can be accessed on a phone – if someone has booked their ticket while waiting in the queue, you can get into the system in real time and check what they have booked. We did have some problems in the early stages with some software bugs, but Joe gives exemplary support – he gets back to you quickly, and because he built the system he know the issues and context. It might be nice to have easy ways to customize the appearance of the tickets sent out, and of other messages, but this is a trivial detail – other systems are weighed down with stupid eye-candy that does not improve the functionality, but leaves lots of places for bugs to lurk.
August 12, 2020 5 replies
I have been testing various ticketing plugins, My Tickets really stands out. Lightweight, well thought out, simple but with the right features. Great work. Taxes is the only option missing for me. I need two different ones. I will include taxes in the total price and have succeeded in displaying tax details in the receipt template by including some of the functions found in mt-templating.php. A minor improvement would be currency symbol positioning, as I need the dollar symbol to be placed after the amount with a space (French standard). Overriding currency symbol by manual input would also be useful (for CAD, ‘C $’ is confusing for my users, just need ‘$’).
March 20, 2019 1 reply
Thanks a lot for the development of this nice plugin, it helps solve my demands for event management once and for all. I have downloaded many other event management plugins, but for the registration, especially the bar code email notification part, every plugin will ask for premium upgrades. Although I fully support that every developer should get paid for their work, but they should state it clearly in their plugin introduction. But for My Tickets, what it can do is exactly what it states in the description. JOE DOLSON, Thanks for your great work.
Read all 27 reviews

Contributors & Developers

“My Tickets – Accessible Event Ticketing” is open source software. The following people have contributed to this plugin.

Contributors

“My Tickets – Accessible Event Ticketing” has been translated into 4 locales. Thank you to the translators for their contributions.

Translate “My Tickets – Accessible Event Ticketing” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0.6

  • Remove textdomain loader (Obsolete since WP 4.6)
  • Bug fix: issue where hidden ticket creation fields still marked as required.
  • Bug fix: Update payment data when moving tickets to a different ticket type.
  • Bug fix: Incorrect variable reference in mt_handle_expiration_status().
  • Bug fix: Ensure remaining count doesn’t display negative numbers.
  • Bug fix: Check virtual inventory when adding tickets to cart, to see if it has changed since page was loaded.
  • Bug fix: Remove remove_filter on add to cart form.
  • Change: Set default installation behavior to only display forms on singular views.

2.0.5

  • Bug fix: Ticket creation form should not show in My Calendar Pro’s front-end submissions form.
  • Change: [ticket] shortcode no longer requires the current page’s ID to render the form.
  • Feature: [ticket_venue] shortcode to render an event’s hcard on the page.
  • Feature: Attribute ‘location’ added to [ticket] shortcode with options ‘false’, ‘before’, and ‘after’.

2.0.4

  • Bug fix: Hiding remaining tickets failed because I passed the summary value instead of the individual event value.
  • Bug fix: Support using HTML in the offline gateway payment notes field. Props https://github.com/Martin-OHV
  • Accessibility: Save address action should use a button.
  • Docs: Added filter documentation for add to cart form filters.

2.0.3

  • Bug fix: Individual event type email notifications not sent if entire event has closed.
  • Bug fix: Current ticket group not marked as selected in reports.
  • Bug fix: Custom field headers inserted one space too far to the left.
  • Add: filter mt_field_paramters to dynamically change custom field characteristics.
  • Add: filter mt_after_remaining_text to append text after the remaining tickets in cart.
  • Add: action mt_custom_field_saved executed after a custom field is saved to a payment.
  • Add: support for report_callback for custom fields for displaying in reports.
  • Docs: Document mt_cart_custom_fields filter.
  • Docs: Document mt_show_in_cart_fields filter.
  • Docs: Document mt_purchase_completed action.
  • Change: Pass additional arguments to mt_show_in_cart_fields filter.
  • Change: Pass payment ID into mt_generate_cart_table() when available.
  • Change: Remove filter on the_content after running to prevent duplication.

2.0.2

  • Bug fix: Reports on tickets didn’t limit by ticket groups.
  • Bug fix: If label not retrieved from post meta, admin tickets render with incorrect time.
  • Bug fix: Don’t use the virtual inventory when sending admin notifications.
  • Bug fix: If a ticket type was not already in the sold cart, switching a ticket to that ticket type failed in the admin.
  • Bug fix: If ‘all’ passed as ticket type, tickets reports were empty.
  • Bug fix: Moving tickets between events was broken due to invalid falsey value check.
  • Bug fix: Don’t run ticket type expired action during cart processing, only check existing values.
  • Documentation: Add filter docs on closed and sold out admin email filters.

2.0.1

  • Enhancement: Add email & purchaser name to purchase when moving a cart from public to admin.
  • Enhancement: Styling for ‘create admin cart’ link.
  • Enhancement: Move admin cart listing to top of create payment screen.
  • Change: Update readme for new version.
  • Change: Add field styling for inline report forms.
  • Change: Move daily cron to an hourly cron.
  • Document: mt_confirmed_transaction filter.
  • Document: mt_successful_payment action.
  • Document: mt_link_title filter.
  • Bug fix: Move price label out of remaining tickets filter.
  • Bug fix: Total incrementor displayed in wrong location in purchase list.
  • Bug fix: Apply cart styling in admin cart creation.
  • Bug fix: Send Playground preview link to page list rather than direct to edit, as page ID not dependable.
  • Bug fix: Add to cart was hidden if ticket count selector changed to select input.
  • Bug fix: Reports of purchases with multiple ticket types only listed the last type purchased.
  • Bug fix: Function to update virtual inventory failed during cron because data about what to remove was not passed.
  • Bug fix: If mt_is_cart_expired() is executed with a cart ID and a logged-in user, the cart ID was ignored.
  • Bug fix: After sales are closed, only display the real inventory, not the virtual inventory.

2.0.0

  • Feature: Set dates as ticket types with independent expirations.
  • Feature: Introduce virtual inventory option to remove tickets from inventory when added to cart.
  • Feature: Add setting to control cart expiration time.
  • Feature: Add setting to extend expiration of cart when less than 60 minutes remaining.
  • Feature: Add ability to switch between different saved default ticket models when creating new event.
  • Feature: Add ability to set general admission tickets with no expiration.
  • Feature: Add ability to set a specific custom expiration date for general admission tickets.
  • Feature: Bulk ticket check-in for groups.
  • Feature: Reports specific to ticket groups.
  • Feature: Individual date-based ticket groups send sold-out and sales expired messages independently.
  • Feature: Add ability to move ticket between different ticket groups.
  • Feature: Improved templating and template filters for HTML email messages.
  • Change: Move ticket label index to post meta.
  • Change: Add custom buttons to increment ticket count due to incredibly small browser input design.
  • Change: Revamp data storage model for public users.
  • Change: Secret keys displayed as password fields when filled.
  • Change: Match fields displayed in admin view reports & CSV downloads.
  • Design & visual changes.
  • Rename ticket types from ‘Discrete’ and ‘Continous’ to ‘Seating Sections’ and ‘Audience Types’.
  • Wide variety of miscellaneous bug fixes that would be difficult to isolate.
  • Remove payments JS not used in core plugin.

1.11.2

  • Change: Add cache-control headers to prevent browser caching of cart pages.
  • Bug fix: Fix minor misnamed variable reference.

1.11.1

  • Bug fix: Misnamed variable in ticket templates displayed wrong expiration date for fixed date events.
  • Bug fix: Cart handling charges generated error in offline payments.

1.11.0

  • Feature change: Extend General Admission tickets to set specific expiration dates.
  • Feature: Option to ignore cart-wide ticket handling fees for specific gateways.
  • Feature: Add autocomplete on move ticket feature.
  • Bug fix: No default padding on cart handling costs.
  • Bug fix: Incorrect permission check for ticket check-in in admin.
  • Bug fix: Setting the number format in the total paid field breaks values with thousands separators.
  • Bug fix: Counting error after moving tickets between events.
  • Change: Add payment gateway into purchase report download.
  • Change: Change default colors to use WordPress palette colors.
  • Change: Default event report changed to purchases & download instead of tickets & view.

1.10.2

  • Bug fix: Stripslashes before sending payment confirmation to PayPal.
  • Improve: Prefix some invalid nonce errors.

1.10.1

  • Bug fix: List of payment tickets sourced from event instead of payment.
  • Change: refactor payment storage of ticket IDs.

1.10.0

  • Feature: UI to move tickets from one event to another on a payment.
  • Feature: Show tickets used in payments view.
  • Feature: Remove tickets from a payment.
  • Bug fix: Minor styling improvements for shopping cart.
  • Bug fix: Exit early if ticketing options do not exist.
  • Bug fix: Hide short cart when empty.
  • Bug fix: Correctly handle singular/plural values in quick cart.
  • Change: Add script debugging to break caches on styles and scripts.
  • Change: Style – wider price column.
  • Change: Expand information shown on verification views. Props @masonwolf.

Future

  • Improve options when there are multiple dates available for a specific event. Multiple ticket patterns w/separate pricing & availability options, etc.?
  • Add option to use radio buttons instead of checkboxes
  • Email QR code for e-tickets
  • Server-side validation of required fields in purchase process
  • Make admin-only ticketing options configurable in settings
  • Limit number of discount tickets per event for registered users
  • Add filter to pull user data into ticketing reports if user is registered.
  • Make address fields required & validated
  • BUG FIX: problem with passing address fields to notifications when shipping off but collect address on using PayPal (and other gateways?)
  • TODO: add ability to add or remove tickets from an existing payment
  • TODO: option to filter ticket purchasers by ticket type purchased (requires JS)