You can create a custom field of the table "product" via the menu Display->Custom fields. That way, you can have your shop owner enter all the possibilities in that custom field and have it searchable by adding that custom field in the search plugin options.
If you also want your user to select a date on the front end, you will have to create a custom field of the table "item" with the same options.
For the number field, why not just use the quantity field (I suppose that the price will change based on the duration of the training)?