We need to have different workflows depending on whether a delegate has paid for a course or the course is free. This is not as simple as, for example, looking to see whether the course is public/inhouse. A typical scenario is that a delegate books on to a course that is normally charged for, but their role is such that they get the course for free, or perhaps they have a discount voucher. It could also be that there is a pricing scheme in place that charges staff but not students.
The field that we think needs to be exposed to workflows based on UserCourseDateClass is the one that can be incorporated into the text templates as @@bookingcost.. This field correctly contains the actual cost to the delegate (£0.00 if the course was free).