A new checkout workflow allowing for multiple events and participants to be paid for with a single financial transaction.
The new workflow is configured with a global setting, "Use Cart Checkout workflow", in Administer -> CiviEvent -> CiviEvent Component Settings. Please note that none of the following functionality will be available until this setting has been enabled. When cart workflow is enabled, any event registration links will be changed into "Add to Cart" or "Remove from Cart" buttons, and the "Conference Slots" subevent management tab will be available through the event management interface.
View of all events in your cart so far, with links to event info and Remove. A button will take you to checkout, asking you to log in if you haven't already. Anonymous users can have items in their cart, but cannot begin checkout without an account.
You are encouraged to add a Cart menu, pointing to civicrm/event/view_cart in your site navigation.
Participants and Prices
Any number of participants can be added to each event. If the event has a pre- or post- profile group set, those fields will be displayed here.
A hierarchy is possible between events. In the Manage Events page, on the "Conference Slots" tab of the event you would like to make into a subevent, you can choose a main event by title. The conference "Slot" label is a grouping like "Morning Study Sessions", a rough time slot in which each participant will have to select one event to attend. To manage conference slot labels, go to civicrm/admin/conference_slots?group=conference_slot&reset=1.
If the cart contains any events which have been made a "main event" in this way, a page will appear for each participant, allowing you to select one session from each slot. These session selections are displayed for review on the next page, and each participant will receive an email confirming individual selections.
Payment is the same as in single event registration. Contributions are linked with the logged-in user's contact id. If an event is unpaid, or discounts add up to the full tuition, a zero-dollar contribution is created.
One payment has been approved, an email receipt goes out to the payer, and a confirmation to each participant contact.
A final "thank-you" page appears, detailing each line item of the transaction and confirming the transaction number.
Variation: Admin-mode Checkout
If the logged-in user has the "administer CiviCRM" permission, there is an additional "Billing email" field at the top of the payment page. Contributions will be linked with this contact instead of the administrator's contact.
Other payment options will be available in admin mode, such as pending check payment.
Event cart tests have been written for PhpUnit, we are in the process of merging these tests into Civi trunk.