Adding Class or Course Optional Cost

Hi all, I am new to Opigno, however liking what I see and seems more adaptable than other Open CMS/LMS. Here are my functional need(s), and hoping this product can do most if not all: - Allow for users to self-sign up for an account, and collect additional field/data points on sign up - Allow user once signed up and in, perform a course purchase... BUT... --- > I'd also like to be able to include an optional item such as books etc at the Class or Course level... AND.... ----> Have the availability to add on voluntarily request additional funds to offset e-commerce charges that are incurred Seems everything else I am trying to factor in, is handled, files, presentations etc. Thanks.