Browse our blog post, find anything about our products, and much more.

If you don't find what you're looking for don't hesitate to   contact our team


Advanced registration form settings - user guide
idloom.events
News, User guide

Advanced registration form settings Thanks to this advanced feature, idloom.events allows you to customize the configuration of your registration forms' look and feel. E.g. to automatically create custom fields, populate values, translate the labels and placeholders and much more.

Field definition and automated value population

If you often organize the same type of events with the same kind of forms, an easy way to avoid reconfiguring the entire event every time is to use the duplicate event feature. Thanks to the advanced registration form settings, you can now define what your default registration forms will look like, the default fields, make them mandatory or not, and populate multi-choice field values.

At a glance

Let’s start by a simple example. I’d like to automatically display and make mandatory first and last name and want to create a new free field for “student id”. Here is the JSON file to load in the form definition field:

{
    "fields": [
        {
            "name": "firstname",
            "type": "text",
            "is_visible": true,
            "is_mandatory": true
        },       
        {
            "name": "lastname",
            "type": "text",
            "is_visible": true,
            "is_mandatory": true
        },       
        {
            "name": "free_field1",
            "type": "text",
            "label": "Student id",
            "placeholder": "Enter your student id, also printed on your Student ID Card",
            "is_visible": true,
            "is_mandatory": true
        }
    ]
}

Place this JSON at a profile or account level depending if you want to enable this feature for a specific profile or for your entire account.

Type of fields you can create or manage

You can create or manage the following field types and handle these properties:

'checkbox' => [
    'is_visible' => true,
    'is_mandatory' => false,
    'is_hidden_from_email' => false,
],
'country' => [
    'is_visible' => true,
    'is_mandatory' => false,
    'is_hidden_from_email' => false,
    'placeholder' => '',
    'help' => '',
],
'email' => [
    'is_visible' => true,
    'is_mandatory' => false,
    'is_hidden_from_email' => false,
    'placeholder' => '',
    'help' => '',
    'allowed_domains' => '',
    'ask_confirmation' => false,
],
'file' => [
    'is_visible' => true,
    'is_mandatory' => false,
    'is_hidden_from_email' => false,
    'help' => '',
],
'header' => [
],
'select' => [
    'is_visible' => true,
    'is_mandatory' => false,
    'is_hidden_from_email' => false,
    'placeholder' => '',
    'help' => '',
    'is_multiselect' => false,
    'has_other_option' => false,
],
'text' => [
    'is_visible' => true,
    'is_mandatory' => false,
    'is_hidden_from_email' => false,
    'placeholder' => '',
    'help' => '',
    'is_multiline' => false,
    'ask_confirmation' => false,
],
'vat' => [
    'is_visible' => true,
    'is_mandatory' => false,
    'is_hidden_from_email' => false,
    'placeholder' => '',
    'help' => '',
    'ask_confirmation' => false,
]

Translate fields' content for multilingual registration forms

You’re working with multilingual events? You can pre-define your field labels translations. When creating a new language / translation, the fields will be automatically created and translated accordingly.

{
	"fields": [
        {
            "name": "firstname",
            "is_visible": true,
            "is_mandatory": true
        },        
        {
            "name": "lastname",
            "is_visible": true,
            "is_mandatory": true
        },        
        {
            "name": "free_field1",
            "type": "text",
            "label": {
                "en": "Student id",
                "fr": "Numéro d'étudiant",
                "es": "Identificación del Estudiante"
            },
            "placeholder": {
                "en": "Enter your student id, also printed on your Student ID Card",
                "fr": "Entrez votre numéro d'étudiant, également imprimé sur votre carte d'étudiant",
                "es": "Ingrese su identificación de estudiante, también impresa en su tarjeta de identificación de estudiante"
            },
            "is_visible": true,
            "is_mandatory": true
        }
	]
}

In this example, when creating the Spanish or French translation of your event, idloom-events will automatically translate First name and Last name labels from its own lexicon and will get the student id translations from your JSON config file.

Dynamically populate drop-down list and toggle content depending of another select

First of all, thanks to the advanced settings, it is possible to work with the value / label pair, which could be interesting when working with multilingual events or when synchronizing data with another software through the APIs.

{
	"fields": [
        {
            "name": "free_field2",
            "label": {
                "en": "Type of registration",
                "fr": "Type d'inscription",
                "es": "Tipo de registro"
                },
            "type": "select",
            "list_items": [
                {
                    "value": "P",
                    "label": {
                        "en": "Press",
                        "fr": "Presse",
                        "es": "Prensa"
                    }
                },
                {
                    "value": "E",
                    "label": {
                        "en": "Exhibitor",
                        "fr": "Exposant",
                        "es": "Expositor"
                    } 
                },
                {
                    "value": "B",
                    "label": {
                        "en": "Buyer",
                        "fr": "Acheteur",
                        "es": "Comprador"
                    } 
                }
            ],
            "is_visible": true,
            "is_mandatory": true
        }
	]
}

In addition, you can link two drop-down lists and change the content of the second depending of the value selected in the first one.

{
	"fields": [
        {
            "name": "free_field2",
            "label": "Type of registration",
            "type": "select",
            "list_items": [
                {
                    "value": "P",
                    "label": "Press"
                },
                {
                    "value": "E",
                    "label": "Exhibitor"
                },
                {
                    "value": "B",
                    "label": "Buyer"
                }
            ],
            "is_visible": true,
            "is_mandatory": true
        },
        {
            "name": "free_field3",
            "label": "Details",
            "type": "select",
            "linked_to": "free_field2",
            "list_items": [
                {
                    "value": "Techno",
                    "label": "Technology",
                    "link_value": "P"
                },
                {
                    "value": "Daily",
                    "label": "Daily Press",
                    "link_value": "P"
                },
                {
                    "value": "SO",
                    "label": "Stand owner",
                    "link_value": "E"
                },
                {
                    "value": "WP",
                    "label": "Workshop",
                    "link_value": "E"
                },
                {
                    "value": "Std",
                    "label": "Standard",
                    "link_value": ["B","E"]
                },
                {
                    "value": "Hst",
                    "label": "Hosted buyer",
                    "link_value": "B"
                }, 
                { 
                    "value": "Other", 
                    "label": "Other", 
                    "link_value": "" 
                }
            ],
            "is_visible": true,
            "is_mandatory": true
        }
	]
}

Leave link_value empty ("link_value":"") to always display that list item.

You can link one list item to several value by using an array of link_value (["A","B","C"])

Build your forms and define fields order

By default, the advanced form setting feature will activate pre-existing fields in their default order and will add new custom fields at the end, up to you to re-order them to finalize your registration from.

The "insert_after" parameter will help you building ready-to-use forms by offering you the opportunity of arranging fields on the fly.

Automate default field mapping definition

You can automate the field mapping definition by defining the "fields_mapping" values using a json-escaped string.

{ 
    "fields": [...],
    "fields_mapping": "[\n\t{\n\t\t\"name\": \"campaign_id\",\n\t\t\"value\": \"1-2345\"\n\t},\n\t{\n\t\t\"name\": \"campaign_name\",\n\t\t\"value\": \"test\"\n\t}\n]"
}

This tool may be useful to encode the field mapping definition: https://codebeautify.org/json-escape-unescape

Advanced registration form settings is the ultimate form automation system

Thanks to this powerful feature, you can automate your registration forms’ look and feel, content and behavior, as well as control and optimize translations. If you often organize the same kind of events, this feature will help you save time and money.

Not feeling comfortable with coding in JSON or want to be sure you don’t make any mistake, contact idloom-events support team. We will be pleased to guide you through this process or configure your account for you.