To accomplish the goal of collecting custom data during checkout and ensuring it is synced to CiviCRM, we need to do a few things:
- Extend the Caldera Forms CiviCRM plugin so that it can capture Participant Data.
- Create the ability for an admin user to select a Caldera Form to insert into the checkout workflow for certain products or product types.
- If a class or camp product is in the cart, then additional steps need to be added to the check-out workflow. For each class or camp registration, we need to present the Caldera Form selected in #2 above to the patron.
- Ensure that Parent and Child contact records are created and/or updated separately and accurately with any custom data that has been collected.
Data model in CiviCRM
- Parent to be captured on the CiviEvent as a non-attending participant
- Contribution (class or camp registration fee) should be recorded on Parent's contact record
- Child to be captured on the CiviEvent as an attending participant
- A CiviCRM Relationship is created between the Parent and Child contact records