The registration form is called inside a single event by using the placeholder #_ADDBOOKINGFORM (or alike) or independently on a page via the shortcode [eme_add_booking_form]
or the shortcode eme_add_multibooking_form
.
The registration form can be completely customized. You can define any number of fields in the “Events => Form fields” page, then go to the “Events => Settings” page and change the general layout of the registration form format. The default is:
<table class='eme-rsvp-form'>
<tr><th scope='row'>Name*:</th><td>#_NAME</td></tr>
<tr><th scope='row'>E-Mail*:</th><td>#_EMAIL</td></tr>
<tr><th scope='row'>Phone number:</th><td>#_PHONE</td></tr>
<tr><th scope='row'>Seats*:</th><td>#_SEATS</td></tr>
<tr><th scope='row'>Comment:</th><td>#_COMMENT</td></tr>
<tr><th scope='row'>Please fill in the code displayed here:</th><td>#_CAPTCHA</td></tr>
</table>
#_SUBMIT
You can use the standard placeholders for events AND the extra placeholders mentioned below:
#_LASTNAME
(*) displays a text field for the name of the respondent.#_EMAIL
(*) displays a text field for the e-mail address of the respondent.#_PHONE
(*) displays a text field for the phone of the respondent.#_FIRSTNAME
,#_ADDRESS1
,#_ADDRESS2
,#_CITY
,#_STATE
,#_ZIP
or#_POSTAL
,#_COUNTRY
(*) (pretty obvious …)#_BIRTHDAY_EMAIL
shows a form field (yes/no) to allow people to indicate they want an email (or not)#_BIRTHDATE
shows a calendar allowing people to indicate their birthdate#_BIRTHPLACE
shows a text field allowing people to indicate their birth place#_SEATS
(**) or#_SPACES
(**) displays a dropdown field for the number of seats to reserve.#_SEATS{xx}
(**) or#_SPACES{xx}
(**) (with xx being a number): displays a dropdown field for the number of seats to reserve for a specific price for multiprice events.#_REMEMBERME
and#_REMEMBERME{xx}
will show a “Remember me?” checkbox if the remember-me functionality is activated in the EME settings. By default the label is “Remember me?”, but using#_REMEMBERME{xx}
you can change the label to “xx”.#_SUBMIT
(*) displays displays the submit button with the text you want for the button the text configured on the Settings page.#_SUBMIT{xx}
(*) displays displays the submit button with between the braces the text you want for the button (qtranslate compatible).#_SUBMIT
(*) displays displays the submit button with the text you want for the button the text configured on the Settings page.#_COMMENT
(*) displays a text area for a possible comment.(*) displays the html between the braces for the captcha, but only if the captcha option has been activated. Inside the braces, you should use the shortcode#_CAPTCHAHTML{...}
#_CAPTCHA
to display the captcha itself, otherwise nothing will happen. This option is deprecated!#_CAPTCHA
(*) displays the captcha field if required. If required and the placeholder is not present, it will be added just before the submit button.#_FIELD{xx}
(***) displays custom made fields (replace xx by the ID or the name of a field you created in the “Events => Form fields” page.#_FIELDNAME{xx}
(***) displays the title/name of the custom made fields (replace xx or the name by the ID of a field you created in the “Events => Form fields” page.#_DYNAMICPRICE
(*) shows the total price to pay in the rsvp form already (taking regular discounts into account).#_DYNAMICDATA
can ask for extra data based on the amount of seats booked (see below)#_OPT_IN
and#_OPT_OUT
Both will display a yes/no choice for massmailing preferences for the person entering the form (used in e.g. the newsletter feature). #_OPT_IN will by default select “no” for massmailing, #_OPT_OUT will be default select “yes”. The #_OPT_OUT option is not GDPR compliant, so it is recommended not to use it. If neither is used, “no” is taken. If logged in and the user is linked to an EME person, the current EME person preference is used in both cases.#_GDPR
shows a checkbox that needs to be checked in order for people to approve for data storage. You can use#_GDPR{xx}
to add ‘xx’ as a label to the checkbox.#_SUBSCRIBE_TO_GROUP{xx}
(with ‘xx’ being the name or id of a group) shows a checkbox that indicates people want to be added to the mentioned group. You can use#_SUBSCRIBE_TO_GROUP{xx}{yy}
to add ‘yy’ as a label to the checkbox. The group mentioned must be configured to be a “publoc” group.#_DISCOUNT
shows a field where a discount code can be entered (can be used multiple times). See the doc on discounts for more info on discounts.#_PASSWORD
will show a field to enter the RSVP password in, in case the form submit is protected by a password (defined in the RSVP settings for an event).
For any shortcode, if you start with “#REQ_” instead of “#_”, the field becomes required and cannot be left empty or 0 upon registration (e.g.: #REQ_COMMENT
or #REQ_FIELD{xx}
)
Warning: if the shortcodes #_LASTNAME
, #_EMAIL
, #_SEATS
or #_SUBMIT
are not present, the form is not valid and will not be shown.
Also, #_NAME
and #_EMAIL
are always required fields, so no need to use #REQ_NAME
or #REQ_EMAIL.
The formfields #_PHONE, #_CITY, #_ZIP or #_POSTAL, #_ADDRESS1, #_ADDRESS2, #_NAME, #_FIRSTNAME, #_BIRTHPLACE, #_BORTHDATE #_EMAIL, #_COMMENT and #_CANCELCOMMENT now have an extra argument that you can use to set the html placeholder on the field, if not used a default placeholder will be shown. Example: #_ADDRESS2{House number} will show “House number” as placeholder, while otherwise “Address line 2” will be shown as placeholder
(*) When creating a multi-booking form, those with a single ‘*’ can only be used in the header/footer template
(**) When creating a multi-booking form, those with double ‘**’ can only be used in the “list entry” template
(***) When creating a multi-booking form, those with tripple ‘***’ can be used in both header/footer and “list entry” templates, however: since this only concerns the FIELD placeholders, if you use them in the header/footer templates you need to be sure that all events in the multibooking form have the same fields defined in their RSVP format, otherwise the result will be undefined and can result in bugs.
Dynamic data
EME is able to ask for extra RSVP info based on other info in the form.
This is called ‘dynamic data’ in EME terms and can be controlled in the RSVP section of an event:
The ‘Field’ parameter is to be filled out with any valid placeholder used in the RSVP form (most commonly: #_SEATS, #_SEATS{1}, etc … but you can also use other placeholders as long as they are identical to the ones used in your form definition).
The template being shown (based on the condition being valid) can contain other placeholders. However, placeholders that are considered “personal info” are not allowed (like address info and such, since those are linked to the booker, not the booking), so best is to use only custom created fields.
The most common use case would be: if the number of selected seats is equal or higher than the indicated value, the selected template will be shown repeatedly based on the difference between the indicated value and the actual number of booked seats.
You can add multiple conditions (useful for multiseat events) and also select a template to be shown above/below the dynamic fields.
In your form, you can use #_FIELDGROUPINDEX
to show the grouping index (see above) and #_FIELDCOUNTER
to show the repetition count of a template (if set to “repeat”).
Once you defined your seat conditions, you can choose where they will appear in your form by using the placeholder #_DYNAMICDATA
. The same placeholderĀ can be used in mails to show people what they entered.