We need to extend the existing Caldera Forms CiviCRM plugin to handle participant and custom data. This will allow contact data including custom fields to be recorded in CiviCRM at the time of checkout. This will include the ability to add participant details to a form that can be recorded at checkout.
It appears that some development work to support Participants in CFC has begun already: https://github.com/mecachisenros/caldera-forms-civicrm/commits/process-participants-order
Add-on plugin development to allow a form to be selected as part of the check-out process for a product. NOTE: Tadpole identified this as "Caldera Forms CiviCRM (CFC) add-on plugin development" rather than an add-on for Caldera Forms itself.
This development requires that all events listed in Open Tickets be mapped to a CiviCRM event. Tadpole will commence development once we have received GSL code for OpenTickets to create a CiviEvent.
The CFC add-on will provide a way for a CFC form to be selected in the Product Details. If a form is selected a tab is added to the WooCommerce checkout processes before payment so that those details are filled out prior to payment. If participant details are needed for a product that are field outside of the contact details in WooCommerce, the CFC form is a required for the data to be mapped. WooCommerce on it’s own will not send any participant details to CiviCRM.
By developing this add-on, it provides more flexibility for the different use cases BACT has between performances, classes and camps. For example a form can be setup for camps that is different than that of classes. Meaning the data fields needed for each can be different but the WooCommerce check-out process the same.
As noted above, data integrity will be handled by adding hooks (actions and filters) so that the CFC processors can be disabled if data is being updated via WooCommerce or vice versa. This will enable a simple ticket to update CiviCRM with the WooCommerce Integration and allow CFC to update additional data on complex purchases.