A Training could be ordered as a product:
Each training has a place, date/time, free places count, which means, that the training can take place at a location at some date/time and has a capacity of free places. A training can have multiple such combinations - can be repeated multiple times in different places with diff. free places. Sounds complicated, but it's not. For example:
PC training | Hotel A | [url removed, login to view] at 8:00 | with 50 places
PC training | Meeting room | [url removed, login to view] at 9:00 | with 20 places
and so on.
These could be simple products under one grouped product named 'PC training'.
Customer can order any of location and select his employees (colleges) to participate.
How to create colleges: every customer has a custom id field, which tells to which organization he belongs - multiple customers will have same values in the field. This model should be the same as in my '<a href="[url removed, login to view]">Project: Magento - discount summary for multiple users (organization)</a>' project. So when a customer orders a training, he has a select box with multiple selects for example, which is filled with colleges with same id field value.
After ordering a training two types of confirmations are sent: to ordering customer - list of all customers with payment details, and to colleges - invitation to the traingn with their name, term and other details.
This is the last from my Magento projects for now.
I'll appreciate to deal with person who is going to take all 3 projects.