This project use flow to define type for data structure, an important thing to keep in mind is the difference between
Contract vs AvailableContractDetails
This refer to contract bought by client, normally obtained from proposal_open_contract call
This refer to options that are available for purchase, obtained from contract_for.