Events Manager for WooCommerce

Our WooCommerce integration allows events created with the Events Manager plugin to be booked and paid for via the WooCommerce store. This allows you to leverage many features and add-ons in the WooCommerce ecosystem, such as additional payment gateways, PDF invoices, and much more!

Here’s a quick screencast of the plugin in action:

Below are some installation instructions, information on nuancesknown limitations, and a technical explanation of how the add-on works with both plugins.

Installation

↑ Back to top

Installation is very easy! You will first need to have installed and set up Events Manager and WooCommerce separately. Events Manager Pro is not required but can also be installed.

  1. Download the Events Manager — WooCommerce Add-On plugin .zip file from your WooCommerce account.
  2. Go toWordPress Admin > Plugins > Add New > Upload Plugin. Choose File for the file you have downloaded.
  3. Install Now and Activate Plugin.
  4. Visit the WooCommerce Settings > Events Manager tab and modify the setup options if needed:
  5. That’s it! You’re set up and ready to go. Any booking form submissions via Events Manager will now be added to the WooCommerce cart and ready for checkout.

Plugin Settings

↑ Back to top

The settings specific to WooCommerce will be in the WooCommerce Settings > Events Manager tab, as shown below.

Please note that many more settings related to events searching, bookings, and more are available in the main plugin settings under Admin Dashboard > Events > Settings. See our Events Manager documentation site, including a getting started guide, for more help.

General Options

↑ Back to top

Booking added to cart
Custom message when a booking is made on Events Manager booking forms.

Booking already added
Custom message for when a booking is already in the cart.

Are events taxable? and Events Tax Class
Choose whether taxes are applied to events in WooCommerce.

Events tax class
If events are taxable you can choose the type of tax class that you can set up in WooCommerce itself.

Custom user fields
You can choose how user fields sync between WooCommerce and Events Manager. See the next section for a more comprehensive explanation.

Autocomplete Options
Choose whether to automatically change an order status from “Processing” to “Complete” and approve the bookings when it contains one or more bookings, among these options:

  • Do not autocomplete orders.
  • Autocomplete orders with at least one booking, irrespective of other products.
  • Autocomplete orders containing exclusively one or more bookings and no other products.

Add To Cart feedback messages

↑ Back to top

When displaying an ‘Add To Cart’ button for Events Manager, these three fields will be displayed before, during, and after a click.

  • Add to Cart
  • Adding to Cart
  • Added to Cart

Canceled Booking Actions

↑ Back to top

When a booking is canceled via Events Manager, the following actions would be taken to the WooCommerce order containing this booking.

If a canceled booking is un-canceled, the inverse action will happen; for example, a deleted ticket/booking will be recreated and a ticket price set to zero will be recalculated.

Single/Multiple Product Orders

↑ Back to top

Both sets of actions are identical, and which action setting is used depends on the number of products in the order. If the order only contains one booking, or if other items are all canceled bookings, that would be a single product order.

Order Action

If an order is deleted, it will be trashed. If a booking is uncanceled, the order will be recovered from the trash if it still exists (orders won’t be re-created).

  • No Action Taken
  • Set ticket prices to zero and recalculate the total order
  • Delete order

Canceled / Un-Cancelled Status Change

If a booking is canceled or changed from canceled to another status, you can select any WooCommerce order status from the list to assign the related order.

WooCommerce User Fields

We’ll further explain the Custom user fields setting mentioned above;

When booking via WooCommerce, user billing information, such as their address, is supplied directly to WooCommerce rather than Events Manager.

This means that user fields such as email are not handled by Events Manager during the booking process. User fields are hidden from booking forms since account-related information needs to be collected once at the checkout.

Should you still wish to make use of Events Manager user fields, either in profile pages or during manual bookings, we have various options on how to sync WooCommerce order data with booking user-related data. Here’s a description of how each option works:

Important Note: Switching between the last two options may affect how previously made bookings are displayed. This is likely to happen if you have used custom field IDs for your billing fields, e.g. my_custom_address instead of the standard address field and then disable custom user fields.

“Keep custom user fields and WooCommerce user/billing fields separate.”

↑ Back to top

This will allow you to keep your custom user fields, and they will not be related at all to WooCommerce billing fields. In this case, you will see additional fields to choose when exporting booking data prefixed with WC, such as ‘WC Address’. Additionally, WooCommerce billing details will be shown below custom user fields when viewing a booking made via WooCommerce.

Use this option if you would like to have dedicated user fields whilst making manual bookings via Events Manager compared to

“Disable custom user fields and use WooCommerce billing details.”

↑ Back to top

This option turns off our custom fields functionality entirely and, in place, uses the billing fields available via WooCommerce. These will look like regular custom user fields, except they map directly to WooCommerce billing details for the order that the booking belongs to.

This may be the option if you exclusively handle bookings via WooCommerce and have no use for our custom user fields functionality.

“Map user billing fields to WooCommerce billing details.”

↑ Back to top

We generally recommend using this option if you plan on using Events Manager custom fields at all. Use this if you plan on also using Events Manager for handling bookings directly via manual bookings but would like one set of field references to display both WC and EM billing details.

In your Dashboard > Events > Form Editor (available with Events Manager Pro), you will see a section called ‘Common User Fields for Gateways’. This section maps commonly used billing fields to your custom user fields, enabling you to name them whatever you’d like yet still provide a consistent set of billing information to gateways via Events Manager.

This mapping of billing details to custom user fields will be used when you choose this setting. When displaying a booking in the admin area or exporting booking info containing these mapped user fields, the corresponding billing information will be used instead if the booking was made via WooCommerce.

How it Works

↑ Back to top

Here is a brief technical explanation of how Events Manager interacts with WooCommerce. Whilst this is not directly aimed at developers, they may find this most useful, along with those needing to understand how both plugins interact with each other in order to evaluate 3rd party extensions.

Events as Products

↑ Back to top

Each event will have a corresponding event product in WooCommerce, with product variations representing each ticket available for booking at that event with the corresponding price of that ticket per space. These products are merely placeholders in the WooCommerce infrastructure and not meant to be edited or altered; the following will be synced automatically with events:

  • Featured Image (for cart display)
  • Ticket names, descriptions, and prices.
  • Product/Event Author
  • Taxability and Tax Class
  • Custom SKU (EM-event_id-ticket_id)

These event/ticket products are created when an event booking form is displayed on your site. Therefore, if you already have many events when installing this add-on, you will not see corresponding event products at first.

These products are hidden from all views except for the event view in the admin area. You will see an Events link at the top of the events table, which is grouped using the events-manager product tag (which is also hidden from lists, including tag admin pages).

Booking Process

↑ Back to top

Bookings are temporarily held in a WooCommerce session as an associative array of bookings with event IDs as keys, which is held along with shopping cart data. When a booking is placed in Events Manager, the following happens:

  1. Standard validation (availability, form data, etc.) is made to ensure booking can be made.
  2. WooCommerce ticket products are retrieved or created and added to the cart with the corresponding quantities.
  3. When a user checks out, each booking in the session associated with tickets in the cart/order will be saved.
  4. Saved bookings are associated with each individual ticket by booking id.

Double-booking events

The same event cannot be added to the cart twice. However, an event may be booked more than once on separate orders if your Events Manager settings allow it.

Removing/restoring cart items

You can remove/add individual tickets from the cart and restore/undo this action. What happens here is that tickets are placed into another session variable and merged back into bookings if restored.

An event could be re-booked in this case if no tickets belonging to that specific event remains in the cart. If the user tries to restore a previously deleted ticket, it will only be merged back and restored into the booking if the same ticket has not been added to the cart.

Order Status Syncing

↑ Back to top

Booking statuses will be synced with order status, an initial order will be marked as ‘awaiting payment’ and then pending/confirmed when an order status is changed to ‘processing’ (such as when a payment is made).

Changing the booking status of an individual booking will not change the status of an order. This is because orders may contain more than one booking or additional unrelated products.

Changing an order status will change the booking status of each associated booking. Deleting an order will delete the corresponding bookings.

Nuances

↑ Back to top

Below are some changes to how Events Manager works, which you should keep in mind when using it in the WooCommerce context. These come into effect the moment you enable the Events Manager WooCommerce integration add-on.

Currencies

↑ Back to top

Events Manager will inherit the currency used in WooCommerce.

Taxes

↑ Back to top

Taxes are handled by WooCommerce. You are able to choose whether events are taxable on our settings page and also choose a tax class that would apply specifically to events. This can be any current tax class in your WooCommerce setup, or you can set up a specific tax class for events.

Since taxes are handled by WooCommerce, tax features in Events Manager booking admin pages are disabled. When a booking is made, any taxes added via WooCommerce will be added as a surcharge to maintain price parity.

Coupons, Surcharges, and Discounts

↑ Back to top

Coupons, surcharges, and discount features in Events Manager will not affect the price of a booking on WooCommerce. Any discounts or surcharges will need to be handled by WooCommerce.

The Events Manager Pro coupons feature is disabled automatically, but you can enable coupons in WooCommerce.

Surcharges/Discounts applied to a WooCommerce order won’t be reflected in Events Manager booking summaries since it is not reliably possible to link discounts/surcharges to one specific product in a WooCommerce order of multiple items.

Similarly, surcharges/discounts added programmatically to Events Manager will be shown in booking summaries in Events Manager, but not in WooCommerce.

User Form Fields

↑ Back to top

Custom user form fields available in Events Manager via our forms builder will not be shown on booking forms since this information is intended to be handled during the final stages of a booking, and booking multiple events at once can potentially create a conflict of form fills.

However, it is possible to use WooCommerce features and add-ons to modify their checkout form.

Free Bookings

↑ Back to top

Free bookings will still go through WooCommerce cart/checkout, although it will still be free and not require payment.

MultiSite Compatibility

↑ Back to top

Our WooCommerce integration is multi-site-compatible, like WooCommerce is multisite-compatible, meaning you can install WooCommerce separately onto each blog as an independent shop. You must also activate Events Manager and the WooCommerce integration on each sub-blog.

However, our Multisite Global Tables mode may not work as expected in all situations. If you are listing an event from another site on your network on a site that does not have WooCommerce installed (along with our integration add-on), the booking will be made directly via Events Manager.

Conversely, if you create events on subsites without WooCommerce enabled but list it on your main site (or any subsite) with WooCommerce and our integration add-on enabled, bookings made on that site will be added to the cart and be bookable via WooCommerce.

Known Limitations

↑ Back to top

WooCommerce and Events Manager are separately very complex plugins and enable other plugins, themes, or extensions/add-ons to alter their behavior. It’s impossible to test them all, so there may be compatibility issues with some plugins not included in this section; this list is not exhaustive.

However, there are some known limitations due to the way both plugins work with each other. Some of these may be addressed in the future with further specifically-targeted development for these features.

See the ‘How it Works‘ section. In most, if not all, cases, these compatibility issues would be limited to WooCommerce orders with Events Manager bookings. Orders without event bookings or individual non-event products would remain unaffected.

If you do find any incompatible plugins, let us know so we can add them to this list or possibly even add compatibility!

Multi-Currencies

↑ Back to top

WooCommerce has several multi-currency extensions. Events Manager does too, but they are not compatible with each other and a compatible WooCommerce currency extension would be required.

It’s possible that a compatible extension exists already; we have not tested any at this time.

For multiple currencies to work, the extension would need to keep the base price of the product (event ticket) in the original currency. The Events Manager booking forms and pages would still show the base currency, but it’s possible that whilst checking out, this could be converted to a different currency.

More testing of 3rd party extensions is required, and further development may be possible here.

Product Bundles

↑ Back to top

WooCommerce offers product bundle extensions, where you can group products together and purchase them all at once. Whilst you can use the extensions with regular products, you cannot bundle events.

Due to the fact that a booking must be made via Events Manager to add a product to the WooCommerce cart, this feature isn’t possible since you’d be adding products directly via WooCommerce to the cart without generating a booking in Events Manager.

More testing of 3rd party extensions is required, and further development may be possible here.

Hold stock not currently available

↑ Back to top

The hold stock feature in WooCommerce isn’t available for events. When a booking is added to the cart, checks are made upon each page load to ensure the booking is still valid and available.

More testing of 3rd party extensions is required, and further development may be possible here.

WPML & Multilingual Capability

↑ Back to top

Currently, WPML translation of events added to the cart isn’t available. Most other WPML features should work as before for Events Manager and WooCommerce.

This will be addressed in the near future.

Single Booking Buttons

↑ Back to top

Events Manager offers a quick ‘Book Now’ button for logged-in users, which creates a single-space booking to the event for the first available ticket.

This will only work with WooCommerce currently if your events do not require a privacy checkbox or any other custom form field requiring to be filled out.

This will be addressed in the near future.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.