Moving off Event Tickets Plus: what your WooCommerce ticket data looks like
Event Tickets Plus sells your event tickets through WooCommerce. If you're moving off it, whether because of the Liquid Web changes or because you're leaving The Events Calendar altogether, the tickets and attendees are the part that's easy to get wrong. Here's what that data looks like in your database and where a migration usually breaks. Disclosure: I build Beacon Events, a WordPress events…
Event Tickets Plus offers event ticket sales via WooCommerce. When migrating away from this plugin, due to factors like Liquid Web changes or leaving The Events Calendar, handling ticket and attendee data correctly is crucial. This source explains the data structure in the database and common migration pitfalls.
The plugin maps each ticket to a WooCommerce product, using _tribe_wooticket_for_event for the event ID and _tribe_ticket_capacity for ticket capacity (-1 indicates unlimited). The price is the product price. Each attendee is a separate tribe_wooticket post, equal to one sold ticket. These attendees link back to the event, ticket, order, and order item records.
Migrations can fail when unpaid orders are treated as attendees, or when orders in pending or on hold status are mistakenly included. Only completed and processing orders should be imported as paid attendees. For newer WooCommerce stores, orders may reside in the wc_orders table due to High-Performance Order Storage (HPOS), requiring a different query approach.
When moving tickets, the buyer may represent multiple guests. Use available attendee names and emails first, falling back to order billing details if necessary. Ticket types combine into a single price when using Event Tickets Plus, which could lose detail when migrating to a plugin that only supports one price per event per event. This can leave existing attendees without a record of their purchase type.
Migrations should not send confirmation emails to each attendee. Verify the importer is silent during testing on real data. Before migration, back up the database, including WooCommerce orders, and compare paid attendee counts in WooCommerce to the expected number post-import. Run the import while Event Tickets Plus is active, double-checking one event with multiple ticket types and a refunded order. Ensure capacities reflect the imported attendees to avoid overbooking.
Once validated, deactivate the old plugins. For those considering Beacon Events, it's a free WordPress plugin with a paid add-on, Beacon Events Pro. The Pro version imports Event Tickets Plus data, treating each ticket as its own type with associated price and capacity. Every attendee is listed under their name, linked to the WooCommerce order, and includes unpaid orders in the report without sending any emails. A 14-day free trial is available without a card.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.