Option is an
abstract direct subtype of Tradable with functions Option Functions, direct subtypes Option subtypes and keys Option keys that represents a financial contract that grants its holder the right - but not the obligation - to enter into a prespecified contract, referred as the "underlying" contract.
This voluntary act of entering into the underlying contract is called "exercising the option".
An option may be a call or a put depending on whether its holder enters into the underlying contract on a long or short position respectively, when the option is exercised.
Furthermore option exercising is generally allowed only once on a date that is chosen by the holder out of a preagreed set of future dates, called "exercise dates".
The simplest case is that of a so called "vanilla european option", where there is only one possible "exercise date", meaning the holder must decide on that date whether or not to exercise the option.

The options may exhibit the following attributes:
Payoff Type
Exercise Type
Barrier Type