Event Espresso Helps the Dog School of Cadolzburg (Nuremberg) Teach Dog Owners How to Connect And Build Trust With Their Dogs

Woman and her dog

Meet the Dog School of Cadolzburg

The Dog School of Cadolzburg, Germany provides “dog training with a heart.” They provide dog owners with consultations, puppy classes, as well as individual and group dog training courses. To easily accommodate all of their requests to join these classes, they chose Event Espresso to help them to automate the sign up process and to help streamline their online registrations for their weekly classes.

In this customer success story, we highlight a project that web designer Anna-Lena Ganster developed to help the Dog School ‘Hundeerziehung mit Herz’ by Desiree Höck. We talked with Anna-Lena to learn more about how she built a robust website using Event Espresso integrated with WordPress for the dog trainer’s busy class registrations.

Project description: 

Client is dog trainer Desiree Höck from Nuremberg (Bavaria, Germany). She wants a nice looking, responsive website to show her services and also booking options for special events and a calendar for weekly training classes and consultations for dog owners.

The project includes four different event scenarios:

  • Events: Events like special dog walks or speaker slots from dog professionals. These events should be shown in a nice way with teaser-image, description and different ticket options.  
  • Weekly Training Classes: Weekly training classes for puppies & adult dogs for clients or new clients after a consultancy. All trainings need password protected access to register. Training classes should be shown in a weekly/monthly calendar. 
  • Consulting: Also shown in this weekly/monthly calendar but without password protection – so everyone can book it. Consultancy with the dog owner is mandatory before people can book a training class.
  • Webinars as events: This was not planned but necessary due to COVID19. The client was not allowed to offer live-events or training classes for a few months during the Corona-lockdown in Germany so she offered webinars with video-training or online-speaker slots. Now she still wants to offer these webinar-options to more locations outside of her area. To offer the webinars they adjusted send virtual location information after booking to automate the webinar registration process with tools like Zoom.

All events are shown on an Event Calendar using the categories to filter events.

Prior to using Event Espresso, the client handled all event and class registrations manually from the old website. The website provided class and contact information but there was no way for a person to complete their registration online. Prospective attendees would have to call or email, and then PDF forms were sent to them to fill out and email back. Payments were handled by sending a check and or a bank transfer. All attendee lists were compiled manually from the forms sent in and handled in either a handwritten form or in a spreadsheet file.

Anna-Lena was able to completely transform this very labor intensive and manual process into a much more efficient, automated, and streamlined process. The attendees also benefit because they can easily find information about classes and then register and pay for them online.

How helps Event Espresso helps her client to manage her busy event roster now:

  • Faster creation of new events and training classes
  • Standard registration process which is automatically implemented
  • Easier handling of payments using Paypal
  • More efficient handling of registrations because one central place of attendees 
  • Functions to easily download attendee lists to CSV file
  • More comfortable process for clients to book & pay events / training classes
  • Faster process and less work for client due to automated emails for booking-confirmation

Here is what Anna-Lena says about why she selected Event Espresso:

“I decided for Event Espresso because there is no paid ticket service behind it, so my client has transparent and low costs for Event Espresso plugin licenses (and maybe payment methods) but not also for a ticketing service. Also there is not too much to configure before you can start to use Event Espresso for bookings. If you need to start fast, you can use good standards and customize later. Also its very nice to be able to add some more functions as add-ons, but only if you need it. Usability for my clients is okay, if I give them an instruction how to handle it. So my clients with low technical knowledge are able to create events and handle registrations on their own – that was also an important point.”

How Event Espresso helps the Dog School of Cadolzburg

The Dog School of Cadolzburg offers a variety of classes, and they display those options in a few different ways.  

On the main events page the classes are all listed in a grid layout with images and a snippet of the event details. A link is provided within each card that allows a user to move on to the event registration page so that they can access all of the necessary event details and view the options to sign up for. 

Attendees can browse the page for classes of interest and then move directly to the event registration page and sign up for their classes and complete the online payment. All of this happens directly on the website and the user is never taken off the company’s website.

Another way that they display their events is using the Event Espresso Event Calendar as seen here:

The Calendar is created easily using the Event Espresso Calendar View add-on. The calendar layout requires no custom coding, it is created simply by adding the shortcode provided [ESPRESSO_CALENDAR] to a page within the site. There are other shortcode options available to make customizations easier and if desired, custom coding can be applied.

From here the prospective attendee can click on any of the events listed within the calendar and go to the registration page for all details and to select from the different options. 

Because the client requires a consultation with the prospective dog and owner to join any of the weekly training classes, she needed an easy way to add the option to password protect specific event pages. And, since Event Espresso pages are built within a typical WordPress page template, they include the option to easily change the page visibility status to add a passcode for private access.

To enable the passcode for any event pages, use the Visibility settings in the event page editor and select “Password Protected”, then enter a desired code to access the page.

When a user accesses that event page with the passcode enabled, they will be required to enter the code to see the event details and move forward with their registrations for the event.




Learn more about setting up your own class registration site with Event Espresso: 

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=117 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_117' ><form method='post' enctype='multipart/form-data' id='gform_117' action='/2020/07/dog-training-event-registrations/' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_117' class='gform_fields top_label form_sublabel_below description_below'><li id="field_117_1" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_117_1' >Name<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_117_1' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /> </div></li><li id="field_117_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_117_2' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_117_2' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /> </div></li><li id="field_117_3" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_117_3' >Tell us about your project:</label><div class='ginput_container ginput_container_textarea'><textarea name='input_3' id='input_117_3' class='textarea medium' aria-invalid="false" rows='10' cols='50'></textarea></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_117' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_117"]){return false;} if( !jQuery("#gform_117")[0].checkValidity || jQuery("#gform_117")[0].checkValidity()){window["gf_submitting_117"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_117"]){return false;} if( !jQuery("#gform_117")[0].checkValidity || jQuery("#gform_117")[0].checkValidity()){window["gf_submitting_117"]=true;} jQuery("#gform_117").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_117' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='117' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_117' value='WyJbXSIsIjBiNjdjZjkyMDUzOWUxOWY5Y2NiZjIwMzM4YjA1Mjk4Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_117' id='gform_target_page_number_117' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_117' id='gform_source_page_number_117' 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="59"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>