Hi, i am designing a site for a client... i will probably use wordpress but i will need to develop my own plugin to manage what is described below (i have already searched for plugins)

The admin needs to be able to add a training courses to their site and then their customers (students) can book and pay for these courses online... the problem is:

- there will be many training courses
- each training course will have different variables (price, description etc...), however any single training coursemight have different amount of slots available for each date on the calendar (the admin might add 5 slots available this the 9am IT course this Thursday but might want to change the IT course to 9:30am the following course and might only allow 4 slots (people) to book)

What in your opinion would be the best way to approach this as each course as some variable (dates, times, slots) for the same course might need to change on a day to day basis, thanks for reading... looking forward to people's advice on this...