# ProductFields represent the near-complete schema for a Product in the context of the company of the authorized user. # Each company can have a different schema for their Products, with various custom fields. # In the context of using ProductFields as a schema for defining the data fields of a Product, it must be kept in mind that some types of custom fields can have additional data fields which are not separate ProductFields per se. # Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of ProductFields. # For example, if there is a monetary field with the key 'ffk9s9' stored on the account, 'ffk9s9' would hold the numeric value of the field, and 'ffk9s9_currency' would hold the ISO currency code that goes along with the numeric value. # To find out which data fields are available, fetch one Product and list its keys. class ProductFields end