We came up with a system for how we handle registrations that have childcare that has a cost associated with it. Essentially for the event we would have two event registrations, one for the adults and one for childcare, each might have different pricing and different capacities. So to try and make this a clean process for people registering we decided to link the two registrations together with an attribute and a conditional redirect. 

For example if you register for Rooted as an adult and select Yes on the Will you be needing childcare question, at the end of your adult registration you are automatically pushed into the childcare registration and asked to complete that. 

We have used recipe this for 50+ registrations with childcare and so at the end I will share a few tips and things that you might run into with this method and how we resolved those.

1) First build both the adult registration and the childcare registration.

2) On the adult registration you must have a registration attribute (Boolean) asking if they would like childcare. Make it a required question. 

Picture1.png

3) On that question set the key as 'ChildCare'

Picture.png

4) Next on the adult registration go to the Terms/Text Section. To get there: On the adult registration click 'Edit'

Picture3.png

5) Then expand the Terms/Text section:

Picture4.png

6) In the box titled 'Registration Confirmation Text" Replace the content with the following:

  *Change the Link in the lava to match your URL, Page # for your registrations page and Registration Instance ID for the childcare registration.

 

   {% assign registrationPageId = '413' %}
{% assign childRegistrationInstanceId = '31' %}
{% assign childcareAttributeKey = 'Childcare' %}

{% for registrant in Registration.Registrants %}
    {% assign childcareBool = registrant | Attribute: childcareAttributeKey %}
    {% if childcareBool == 'Yes'%}
        {% capture newURL %}{{ 'Global' | Attribute:'PublicApplicationRoot' }}page/{{ registrationPageId }}?RegistrationInstanceId={{ childRegistrationInstanceId }}{% endcapture %}
        {{ newURL | PageRedirect }}
    {% else %}
        {% capture currencySymbol %}{{ 'Global' | Attribute:'CurrencySymbol' }}{% endcapture %}
        {% assign registrantCount = Registration.Registrants | Size %}

        You have successfully registered the following 
        {{ RegistrationInstance.RegistrationTemplate.RegistrantTerm | PluralizeForQuantity:registrantCount | Downcase }}
        for {{ RegistrationInstance.Name }}:

        {% for registrant in Registration.Registrants %}
            {{ registrant.PersonAlias.Person.FullName }}
            
            {% if registrant.Cost > 0 %}
                - {{ currencySymbol }}{{ registrant.Cost | Format:'#,##0.00' }}
            {% endif %}
            
            {% assign feeCount = registrant.Fees | Size %}
            {% if feeCount > 0 %}
                {{ RegistrationInstance.RegistrationTemplate.FeeTerm | PluralizeForQuantity:registrantCount }}:
            
                {% for fee in registrant.Fees %}
                    {{ fee.RegistrationTemplateFee.Name }} {{ fee.Option }}
                    {% if fee.Quantity > 1 %} ({{ fee.Quantity }} @ {{ currencySymbol }}{{ fee.Cost | Format:'#,##0.00' }}){% endif %}: {{ currencySymbol }}{{ fee.TotalCost | Format:'#,##0.00' }}
                {% endfor %}
            {% endif %}
        {% endfor %}


        {% if Registration.TotalCost > 0 %}
            Total Cost: {{ currencySymbol }}{{ Registration.TotalCost | Format:'#,##0.00' }}
            {% if Registration.DiscountedCost != Registration.TotalCost %}
                Total After Discount: {{ currencySymbol }}{{ Registration.DiscountedCost | Format:'#,##0.00' }}
            {% endif %}
            {% for payment in Registration.Payments %}
                Paid {{ currencySymbol }}{{ payment.Amount | Format:'#,##0.00' }} on {{ payment.Transaction.TransactionDateTime| Date:'M/d/yyyy' }} 
                (Acct #: {{ payment.Transaction.FinancialPaymentDetail.AccountNumberMasked }}, Ref #: {{ payment.Transaction.TransactionCode }})

            {% endfor %}
            {% assign paymentCount = Registration.Payments | Size %}
            {% if paymentCount > 1 %}
                Total Paid: {{ currencySymbol }}{{ Registration.TotalPaid | Format:'#,##0.00' }}
            {% endif %}
            Balance Due: {{ currencySymbol }}{{ Registration.BalanceDue | Format:'#,##0.00' }}
        {% endif %}
        A confirmation email has been sent to {{ Registration.ConfirmationEmail }}. If you have any questions 
        please contact {{ RegistrationInstance.ContactPersonAlias.Person.FullName }} at {{ RegistrationInstance.ContactEmail }}.
    {% endif %}
{% endfor %}
 

7) Now when someone selects yes on the adult registration, after completing payment they will be launched into the childcare registration. 

BUT, there are a few things to note about this process. 

  • We usually title our childcare registration instances: “Thank you for registering for [Event Name]. Please register your children for childcare.” This way the adult knows they successfully finished adult registration and now are being asked to complete childcare reg. 
  •     Backend:Picture7.png
  • Frontend:Picture8.png
  •  If your childcare costs the same as your adult registration, you could have issues with your payment gateway. Payment gateways will typically deny charges that are the same cost to the same vendor in a short period of time. We have overcome this by charging 20$ for an event for adult and $19.99 for childcare. However most of our events childcare is a different price or free.
  • This still leaves a hole where someone could select yes for needing childcare but not do this second step registration. Our people haven’t had this issue too much. We have added language above the question “Are you needing childcare?” that says: “Selecting Yes does not register your kids for childcare. You will be prompted to complete the childcare registration at the end of this form.” You can add this by editing and adding this text to the pre-html for this form question. 
  • ALSO this only works if all instances of your template use the same childcare registration, however I'm sure with some extra effort you could add conditional lava to test for which instance it is and redirect to the correct childcare registration.