New Features You May Have Missed from this Summer

Did you know we released some exciting improvements for Event Espresso this summer? It’s now possible for your audience to purchase multiple tickets from multiple events in one checkout, you can offer promotions and discount codes, you can list your approved attendees on a page, and much more! We think you will like what we’ve done.

Let’s take a closer look, shall we?

This is not an exhaustive list of enhancements, bug fixes, and security updates. For that information, please see our changelog.

Multiple Event Registration

Yes! It’s here, the long-awaited Multiple Event Registration add-on for EE4! Now you can create a shopping cart experience and allow your attendees to add multiple events to a cart for checkout.

Now your audience can register for multiple events with multiple tickets in one checkout using @EventEspresso http://evts.io/1KLClfT Tweet this

Here is a two-minute overview of the EE4 Multiple Event Registration add-on features:

With MER we introduced the ability to add events to a cart. In Event Espresso 4.7.7.p we added an enhancement to allow removal of multiple events from the cart simultaneously. This can be accomplished by setting the quantity to 0.

For more information, see the MER documentation here.

Promotions and Discounts

The Promotions & Discount Codes add-on for Event Espresso 4 adds powerful and flexible promotional pricing features to your events. You can create discount codes and promotions that can provide discounts for your attendees when they are registering for an event or buying tickets.

You can now give your event attendees promotions and discounts with @EventEspresso http://evts.io/1KLClfT Tweet this

More on the new Promotions and Discounts add-on for EE4 here.

Event Espresso 4 REST API Add-on

The Event Espresso 4 REST API Add-on is available now! The current version gives you read access to all EE4 data. That means you can build client-side Javascript code, mobile apps, and programs in any language (and on any server) that can read data used in Event Espresso 4.

More on the Event Espresso 4 REST API Add-on here.

The Attendee List Shortcode

The Event Espresso 4.6.31.p update brought Attendee List shortcodes. Attendee lists can be helpful in a variety of ways, whether you want to create a password protected page to allow certain users to view the attendee list, or if you want to build social credibility by showing your potential attendees who has already registered for the event.

2015-10-08_14-34-24

With the new [ESPRESSO_EVENT_ATTENDEES] shortcode, you can display lists of approved attendees for your events. There are several parameters that can be used to display different kinds of lists, like lists for a specific event, datetimes, tickets, and even certain registration statuses. With no parameters set, the default shortcode shows the attendees for the earliest active event or if there is no active event, then the earliest upcoming event is shown. If it is used in the event description area (via your event editor), then it will show the attendees for that specific event.

The Events CPT Slug

In version 4.7.3.p, we added the ability to change the event slug for the Events custom post type. Previously, the slug defaulted to /events/. You can now change the slug in Event Espresso > Events on the Templates tab.

WP User Integration Enhancements

In version 2.0.1 of the WP User Integration add-on, we added the [ESPRESSO_MY_EVENTS] shortcode to display list of registrations for user on a front end WordPress page.

Click the image below to see it in action.

my-events-expanded-2

“Your Registrations” page now available in the Event Espresso 4 WP User Integration Add-on! http://t.co/Guve91T3Ta #WordPress #eventtechTweet this

Read more about the “Your Registrations” page here.

Event Check-In Now More Mobile Responsive (WP 4.3+)

We added mobile styles to the event check-ins and other EE admin list tables (WordPress 4.3+ only). We also moved attendee the list table search field closer to the top of the mobile view for easier access.

Event Registration Check-in

New Messages Shortcode Picker UI

We made creating or modifying message templates easier by adding a message shortcode picker which displays the shortcodes that are available for each field.

Click the image below to see it in action.

MessageShortcodes

So, what do you think about these improvements? Have you used any of these new features? If so, what do you think?

Related Articles

7 thoughts on “New Features You May Have Missed from this Summer

  1. That’s great, but we still had to move off the platform as you still don’t offer seatings charts for EE4. Competitors like seatyourself.biz and ticketleap promote that as a big salespoint rightfully so. Let me know when you decide to reimplement that so I can start using your platform again.

    • Thanks for the comment, Tim. I appreciate your input. While we understand that there is a demand for a Seating Chart for EE4, that demand is not greater than other items that we have on our roadmap. Therefore, our priorities are dictated by what we feel our customers are needing/wanting most. We do plan to implement a Seating Chart for EE4, but do not have an estimated time of completion for that feature. Feel free to vote for Seating Chart functionality for EE4 here: https://trello.com/c/DIZJmnWX

  2. Hi guys,

    1) I would like to import all or selected events from my Facebook account into the WP’s site so I don’t need to work twice 😉

    2) Let’s assume that I have a high traffic site. Have you think in implement “smart queues”, for example: something telling our clients (user of my Web site) in which position to buy a ticket they are. I saw that before so every time the Web site auto-refresh you go up in the queue (FIFO)

Share a Reply or Comment

Your email address will not be published.

Need help with Event Espresso? Create a support post in our support forums

Event Espresso
[gravityform id=116 title=false description=false]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_116' ><form method='post' enctype='multipart/form-data' id='gform_116' action='/2015/10/new-features-you-may-have-missed-from-this-summer/' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_116' class='gform_fields top_label form_sublabel_below description_below'><li id="field_116_5" class="gfield gfield_contains_required field_sublabel_hidden_label field_description_below gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >What is your first name?<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name' id='input_116_5'> <span id='input_116_5_3_container' class='name_first' > <input type='text' name='input_5.3' id='input_116_5_3' value='' aria-required='true' placeholder='First name' /> <label for='input_116_5_3' class='hidden_sub_label screen-reader-text'>First name</label> </span> </div></li><li id="field_116_1" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_116_1' >What is your email address so we can follow up with you?<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_116_1' type='text' value='' class='medium' placeholder='hello@example.com' aria-required="true" aria-invalid="false" /> </div></li><li id="field_116_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_116_2' >Tell us about your concerns below<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_2' id='input_116_2' class='textarea medium' placeholder='What kind of events are you planning?' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></li><li id="field_116_6" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >GDPR Agreement</label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_116_6'><li class='gchoice gchoice_116_6_1'> <input class='gfield-choice-input' name='input_6.1' type='checkbox' value='I consent to have this website store my submitted information so they can respond to my inquiry.' id='choice_116_6_1' /> <label for='choice_116_6_1' id='label_116_6_1'>I consent to have this website store my submitted information so they can respond to my inquiry.</label> </li></ul></div></li><li id="field_116_3" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_3' id='input_116_3' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_116_4" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_4' id='input_116_4' type='hidden' class='gform_hidden' aria-invalid="false" value='https://eventespresso.com/2015/10/new-features-you-may-have-missed-from-this-summer/' /></div></li><li id="field_116_7" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_116_7' >Email</label><div class='ginput_container'><input name='input_7' id='input_116_7' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_116_7'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_116' class='gform_button button' value='Send my message' onclick='if(window["gf_submitting_116"]){return false;} if( !jQuery("#gform_116")[0].checkValidity || jQuery("#gform_116")[0].checkValidity()){window["gf_submitting_116"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_116"]){return false;} if( !jQuery("#gform_116")[0].checkValidity || jQuery("#gform_116")[0].checkValidity()){window["gf_submitting_116"]=true;} jQuery("#gform_116").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_116' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='116' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_116' value='WyJbXSIsIjBiNjdjZjkyMDUzOWUxOWY5Y2NiZjIwMzM4YjA1Mjk4Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_116' id='gform_target_page_number_116' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_116' id='gform_source_page_number_116' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="28"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>