Quarterly report pursuant to Section 13 or 15(d)

Stockholders' Equity - Summary of Stock Option Activity (Details)

v3.20.4
Stockholders' Equity - Summary of Stock Option Activity (Details) - USD ($)
3 Months Ended 9 Months Ended
Jan. 31, 2021
Apr. 30, 2020
Jan. 31, 2021
Oct. 31, 2020
Jan. 31, 2020
Jan. 31, 2021
Number of Shares            
Exercised (in shares)       (36,111)    
Balance Outstanding, January 31, 2020 (in shares) 1,260,213   1,260,213   2,776,778 1,260,213
Exercisable, January 31, 2020 (in shares) 1,038,024   1,038,024     1,038,024
Stock Incentive Plan and Stock Option Grants to Employees and Directors            
Number of Shares            
Balance Outstanding, April 30, 2020 (in shares)           2,740,539
Granted (in shares)     0     0
Exercised (in shares)           (1,400,832)
Forfeited (in shares)           (7,585)
Expired (in shares)           (71,909)
Balance Outstanding, January 31, 2020 (in shares)   2,740,539        
Exercisable, January 31, 2020 (in shares) 1,038,024   1,038,024     1,038,024
Weighted Average Exercise Price            
Balance Outstanding, April 30, 2020 (in dollars per share)           $ 4.62
Granted (in dollars per share)           0
Exercised (in dollars per share)           10.80
Forfeited (in dollars per share)           6.23
Expired (in dollars per share)           3.98
Balance Outstanding, January 31, 2020 (in dollars per share) $ 6.13 $ 4.62 $ 6.13     6.13
Exercisable, January 31, 2020 (in dollars per share) $ 6.14   $ 6.14     $ 6.14
Stock Option Activity, Additional Disclosures            
Options outstanding, weighted average remaining contractual term 2 years 29 days 1 year 11 months 19 days        
Options exercisable, weighted average remaining contractual term 1 year 11 months 8 days          
Options outstanding, aggregate intrinsic value $ 4,184,115 $ 9,146,198 $ 4,184,115     $ 4,184,115
Options exercisable, aggregate intrinsic value $ 3,432,509   $ 3,432,509     $ 3,432,509