Recipe - Registration Instance Fees Report
Skill level: Beginner
Organization: Simple
{# strip images & classes from the HTML but otherwise leave structure #}
This report will help your event organizers keep quick and easy track of the fees paid based on each option and quantities selected for an event in one quick and easy report.

Set Up:
- Navigate to the Event Registration Page (Tools -> Event Registration)
- Select an Active Registration Instance from the 'Active Registration Instance List' Block
- On the Fees sub-page of the Registration Instance show the Page Zones by selecting the Page Zone button on the admin bar or by pressing Alt + Z on Windows or Ctrl + Opt + Z for Mac
- Scroll down to the bottom of the page and find 'Section D' and select the 'Zone Blocks' setting
- Press the '+' on the 'Section D Zone' block or press Alt + N on Windows or Ctrl + Opt + N for Mac
- Add a name to the Name field. Make sure the default Type of 'HTML Content' is selected, select 'Save,' and select 'Done' last.
- Show the Block Configuration Setting by selecting 'Block Configuration' on the Admin Bar or by pressing Alt + B on Windows or Ctrl + Opt + B for Mac
- Hover over the arrow in Section D where the new HTML Block that was just created and press the 'Block Properties' button
- Under the 'Enable Lava Commands' settings select the 'Rock Entity' and 'SQL' setting and select 'Save'
- Hover over the arrow in Section D where the new Dynamic Data Block that was just created and press the 'Edit' button
- Set the Parameter to
RegistrationInstanceId=
and ensure that Wrap in Panel is selected with a panel title of Registration Instance Fee Totals
- Copy this SQL to the Dynamic Data Block Query field
SELECT
COALESCE(rtf.[Name], 'Totals') as [FeeName]
, CASE WHEN rtf.[Name] is not null and rrf.[Option] is null THEN CONCAT(rtf.[Name], ' - Totals') ELSE rrf.[Option] END as [FeeOption]
, SUM(CASE WHEN rrf.[Quantity] > 1 THEN rrf.[Cost] * rrf.[Quantity] ELSE rrf.[Cost] END) as [OptionTotal]
, SUM(rrf.[Quantity]) as [FeeQuantity]
FROM [Registration] re
LEFT JOIN [RegistrationRegistrant] rr ON rr.[RegistrationId] = re.[Id]
LEFT JOIN [RegistrationRegistrantFee] rrf ON rrf.[RegistrationRegistrantId] = rr.[Id]
LEFT JOIN [RegistrationInstance] ri ON ri.[Id] = re.[RegistrationInstanceId]
LEFT JOIN [RegistrationTemplateFee] rtf ON rtf.[Id] = rrf.[RegistrationTemplateFeeId]
WHERE ri.[Id] = @RegistrationInstanceId
AND rtf.[Name] is not null
GROUP BY ROLLUP(rtf.[Name], rrf.[Option])
- Ensure that the 'Customize Results with Lava' is checked and copy this Lava and HTML to the Dynamic Data Block Formatted Output field
Registration Instance Fees Totals
| Fee Name |
Fee Option |
Fee Totals |
Fee Quantity |
{% for row in rows %}
{% if row.FeeOption contains 'Totals' and row.FeeQuantity > 1 %}
| {{ row.FeeName }} |
{{ row.FeeOption }} |
{{ row.OptionTotal }} |
{{ row.FeeQuantity }} |
{% elseif row.FeeOption contains 'Totals' and row.FeeQuantity <= 1 %}
{% elseif row.FeeName contains 'Totals' %}
| {{ row.FeeName }} |
{{ row.FeeOption }} |
{{ row.OptionTotal }} |
{{ row.FeeQuantity }} |
{% else %}
| {{ row.FeeName }} |
{{ row.FeeOption }} |
{{ row.OptionTotal }} |
{{ row.FeeQuantity }} |
{% endif %}
{% endfor %}
- Example of the new report on the Fees sub-page:
Screenshots
- /GetImage.ashx?guid=f5641c84-7475-422d-9974-9ea2f1f4597b