Quarterly report pursuant to Section 13 or 15(d)

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

v3.20.4
Stockholders' Equity - Schedule of All Options and Exercisable Options (Details) - $ / shares
6 Months Ended
Oct. 31, 2020
Oct. 31, 2019
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Outstanding (in shares) 1,744,354 3,021,131
Exercisable (in shares) 1,439,330  
$1.57 to $2.10    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Minimum exercise price (in dollars per share) $ 1.57  
Maximum exercise price (in dollars per share) 2.10  
Weighted average exercise price (in dollars per share) $ 1.86  
Outstanding (in shares) 35,141  
Weighted average exercise price (in dollars per share) $ 1.86  
Weighted average remaining life in years 5 months 8 days  
Exercisable (in shares) 35,141  
$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.34  
Outstanding (in shares) 96,573  
Weighted average exercise price (in dollars per share) $ 2.34  
Weighted average remaining life in years 3 months  
Exercisable (in shares) 96,573  
$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.90  
Outstanding (in shares) 262,658  
Weighted average exercise price (in dollars per share) $ 3.87  
Weighted average remaining life in years 11 months 12 days  
Exercisable (in shares) 220,657  
$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.93  
Outstanding (in shares) 650,808  
Weighted average exercise price (in dollars per share) $ 4.91  
Weighted average remaining life in years 1 year 9 months  
Exercisable (in shares) 540,896  
$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) $ 6.10  
Outstanding (in shares) 67,000  
Weighted average exercise price (in dollars per share) $ 6.10  
Weighted average remaining life in years 1 year 8 months 19 days  
Exercisable (in shares) 67,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) 474,425  
Weighted average exercise price (in dollars per share) $ 7.43  
Weighted average remaining life in years 2 years 10 months 13 days  
Exercisable (in shares) 329,175  
$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) 157,749  
Weighted average exercise price (in dollars per share) $ 9.00  
Weighted average remaining life in years 2 years 2 months 4 days  
Exercisable (in shares) 149,888