This week's Ultra release includes a new feature for selling event registration using Ultra's shopping cart. There are 3 steps to setup a product as a "registration" event:
Step 1) Create the Registration form - The first step is to create a form to collect the information from people who are registering for the event. For this example I will create a new form in the "Web Forms" module that collects the name of registrants for a cooking class. Once you have the form created it is on to step 2!
Step 2) Create the shopping cart item - The second step is to create a new shopping cart product. For this example I will create a new product called Cooking class. In the product setup screen under the "Advanced Options" tab there is an option labeled: "When customers add this product to their cart, require Form Data from"; select the form you created in step 1 for this option. You can also set the "Inventory Count" if you want to set a max number of registrations. If this is a recurring event the inventory count will be applied on to each event date individually. For this example I will set the inventory to 50. Save the product and your done with step 2!
Step 3) Create a calendar event - The last step is to setup the event in the calendar module. In the calendar click "Add Event" on the date to create the event. Fill out the "Event Title" and choose the start and end time for the event. Link the event to the shopping cart item you created in step 2 by selecting that item in the option labeled: "Link to Page or Product". You can also choose to make this a recurring event if you so choose. For this example I will choose to make this event recur every Friday. Click "Save Event" and your done!
Done! Now when site visitors click the "cooking class" event on the calendar it will take them to the purchase page for that event. When purchasing registration users will fill out the form that was created in step 1. The form information and the chosen date are recorded in a new database table once the purchase is complete. Since my cart item was called Cooking Class the information will be stored in a table called UDT_CART_DATA_COOKING_CLASS which can be viewed in the "Database Tables" module. This information is also displayed on the final invoice. Enjoy!