Quarterly report pursuant to Section 13 or 15(d)

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

v3.21.2
Stockholders' Equity - Summary of Stock Option Activity (Details) - USD ($)
3 Months Ended
Jul. 31, 2021
Apr. 30, 2021
Jul. 31, 2021
Number of Shares      
Balance Outstanding, July 31, 2021 (in shares) 1,207,624   1,207,624
Exercisable, July 31, 2021 (in shares) 1,141,396   1,141,396
Stock Incentive Plan and Stock Option Grants to Employees and Directors      
Number of Shares      
Balance Outstanding, April 30, 2021 (in shares)     1,214,473
Granted (in shares)     0
Exercised (in shares)     (5,097)
Forfeited (in shares)     (1,752)
Expired (in shares)     0
Balance Outstanding, July 31, 2021 (in shares) 1,207,624 1,214,473 1,207,624
Exercisable, July 31, 2021 (in shares) 1,141,396 1,032,411 1,141,396
Weighted Average Exercise Price      
Balance Outstanding, April 30, 2021 (in dollars per share)     $ 6.24
Granted (in dollars per share)     0
Exercised (in dollars per share)     6.16
Forfeited (in dollars per share)     4.68
Expired (in dollars per share)     0
Balance Outstanding, July 31, 2021 (in dollars per share) $ 6.29 $ 6.24 6.29
Exercisable, July 31, 2021 (in dollars per share) $ 6.36   $ 6.36
Stock Option Activity, Additional Disclosures      
Options outstanding, weighted average remaining contractual term 1 year 7 months 24 days 1 year 10 months 17 days  
Options exercisable, weighted average remaining contractual term 1 year 7 months 6 days    
Options outstanding, aggregate intrinsic value $ 1,150,849 $ 204,719 $ 1,150,849
Options exercisable, aggregate intrinsic value $ 1,044,364   $ 1,044,364