Quarterly report pursuant to Section 13 or 15(d)

Stockholders' Equity - Schedule of All Options and Exercisable Options (Details)

v3.21.2
Stockholders' Equity - Schedule of All Options and Exercisable Options (Details)
3 Months Ended
Jul. 31, 2021
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Outstanding (in shares) | shares 1,207,624
Exercisable (in shares) | shares 1,141,396
$2.28 to $2.76  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Minimum exercise price (in dollars per share) $ 2.28
Maximum exercise price (in dollars per share) 2.76
Weighted average exercise price (in dollars per share) $ 2.76
Outstanding (in shares) | shares 10,423
Weighted average exercise price (in dollars per share) $ 2.76
Weighted average remaining life in years 2 months 1 day
Exercisable (in shares) | shares 10,423
$3.24 to $4.38  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Minimum exercise price (in dollars per share) $ 3.24
Maximum exercise price (in dollars per share) 4.38
Weighted average exercise price (in dollars per share) $ 3.82
Outstanding (in shares) | shares 183,249
Weighted average exercise price (in dollars per share) $ 3.80
Weighted average remaining life in years 1 year 10 days
Exercisable (in shares) | shares 168,914
$4.50 to $5.20  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Minimum exercise price (in dollars per share) $ 4.50
Maximum exercise price (in dollars per share) 5.20
Weighted average exercise price (in dollars per share) $ 4.94
Outstanding (in shares) | shares 354,778
Weighted average exercise price (in dollars per share) $ 4.93
Weighted average remaining life in years 1 year 4 months 20 days
Exercisable (in shares) | shares 310,885
$5.95 to $6.28  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Minimum exercise price (in dollars per share) $ 5.95
Maximum exercise price (in dollars per share) 6.28
Weighted average exercise price (in dollars per share) $ 5.95
Outstanding (in shares) | shares 28,000
Weighted average exercise price (in dollars per share) $ 5.95
Weighted average remaining life in years 1 year 21 days
Exercisable (in shares) | shares 28,000
$7.17 to $7.55  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Minimum exercise price (in dollars per share) $ 7.17
Maximum exercise price (in dollars per share) 7.55
Weighted average exercise price (in dollars per share) $ 7.45
Outstanding (in shares) | shares 473,425
Weighted average exercise price (in dollars per share) $ 7.46
Weighted average remaining life in years 2 years 25 days
Exercisable (in shares) | shares 465,425
$8.57 to $9.07  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Minimum exercise price (in dollars per share) $ 8.57
Maximum exercise price (in dollars per share) 9.07
Weighted average exercise price (in dollars per share) $ 8.98
Outstanding (in shares) | shares 157,749
Weighted average exercise price (in dollars per share) $ 8.98
Weighted average remaining life in years 1 year 5 months 8 days
Exercisable (in shares) | shares 157,749