Quarterly report pursuant to Section 13 or 15(d)

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

v3.20.2
Stockholders' Equity - Schedule of All Options and Exercisable Options (Details) - $ / shares
3 Months Ended
Jul. 31, 2020
Apr. 30, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Outstanding (in shares) 2,314,036 2,734,899
Exercisable (in shares) 1,884,793  
$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) $ 2.02  
Outstanding (in shares) 306,166  
Weighted average exercise price (in dollars per share) $ 2.02  
Weighted average remaining life in years 6 months 21 days  
Exercisable (in shares) 261,771  
$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.30  
Outstanding (in shares) 307,779  
Weighted average exercise price (in dollars per share) $ 2.30  
Weighted average remaining life in years 3 months 7 days  
Exercisable (in shares) 307,779  
$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) 318,174  
Weighted average exercise price (in dollars per share) $ 3.87  
Weighted average remaining life in years 1 year 3 months 25 days  
Exercisable (in shares) 262,507  
$4.50 to $5.20    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Minimum exercise price (in dollars per share) $ 4.5  
Maximum exercise price (in dollars per share) 5.20  
Weighted average exercise price (in dollars per share) $ 4.93  
Outstanding (in shares) 665,195  
Weighted average exercise price (in dollars per share) $ 4.91  
Weighted average remaining life in years 1 year 11 months 23 days  
Exercisable (in shares) 536,597  
$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.08  
Outstanding (in shares) 75,751  
Weighted average exercise price (in dollars per share) $ 6.11  
Weighted average remaining life in years 1 year 11 months 15 days  
Exercisable (in shares) 61,195  
$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.44  
Outstanding (in shares) 481,639  
Weighted average exercise price (in dollars per share) $ 7.41  
Weighted average remaining life in years 3 years 1 month 28 days  
Exercisable (in shares) 342,056  
$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) 159,332  
Weighted average exercise price (in dollars per share) $ 8.98  
Weighted average remaining life in years 2 years 5 months 8 days  
Exercisable (in shares) 112,888