You have a great site, and gave us the best user experience in our history of registration for our summer school.
Here are some ideas on improvements;
We need better data in the end for reporting. I would like to see a more use of drop downs that collectively give us rich data and then calculate each users needs as they work.
In settings when you setup your fees, simply having a list is far too basic. There are too many possible variations to keep the list from being too long and too easy to miss the selection you want. To drive simplicity the person registering a group, in our case typically a family, should be able to use a series of drop down selections that lead to the final registration and cost and then give us better data.
The personal information section is just fine, but we need it for each person in the group. A “same address” button will save time since it is typically the same. However other data is neede for each person as well.
Fees Section - drop downs for age, gender, housing, meals, days attending (a must that each day is kept in a separate field on reports - not clumped into one field), and possibly other fields as needed. Cost is calculated from the selections. AND we have clearer data for post event analysis.
As the user starts the process they select for themselves.
Then a clear method for adding each additional person - like the ADD button but then the process is the same for each person.
By using the drop downs and adding fields for each person’s personal information, we give the option for individuals to be registered based on each persons needs. For example someone in the group arriving a day late or leaving a day early.
Perhaps a calculated cost as they work for feedback.
All of the items that are created and show up after the FEE LIST should also be selected for each person, not for the group. In our case this would include much of the previously mentioned fields as well as t-shirts, photo release, special needs, possibly even generate the forms needed for different age groups.
We must charge a credit card fee for those not sending a check - this needs to be AUTOMATIC and calculated as they click the credit card button.
Provide a summary page as the payment page, so the group leader can see that they have registered everyone correctly and that the fees are clearly broken out.
In the end to improve usability and to capture better data, everything a single person registering would need to answer should be answered for EVERY other person they register. And using dropdowns to accomplish this will simplify the process and eliminate the long list of FEES while additionally giving more flexibility, visual feedback and definition to the group leader (MOM in our case).