| Quarterly Results (Unaudited) | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
 | 
 | 
Quarter Ended July 31 | 
 | 
Quarter Ended October 31 | 
 | 
Quarter Ended January 31 | 
 | 
Quarter Ended April 30 | 
 | 
Year Ended April 30 | 
 
| Year Ended April 30, 2020 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
| Revenue | 
 | 
$ | 
10,357,982Ìý | 
Ìý | 
 | 
$ | 
12,085,965Ìý | 
Ìý | 
 | 
$ | 
12,537,940Ìý | 
Ìý | 
 | 
$ | 
14,079,193Ìý | 
Ìý | 
 | 
$ | 
49,061,080Ìý | 
Ìý | 
 
| Cost of revenue (exclusive of depreciation and amortization) | 
 | 
4,353,058Ìý | 
Ìý | 
 | 
4,188,056Ìý | 
Ìý | 
 | 
5,163,007Ìý | 
Ìý | 
 | 
5,431,181Ìý | 
Ìý | 
 | 
19,135,302Ìý | 
Ìý | 
 
| Operating loss | 
 | 
(1,638,800) | 
Ìý | 
 | 
(331,775) | 
Ìý | 
 | 
(1,728,048) | 
Ìý | 
 | 
(339,790) | 
Ìý | 
 | 
(4,038,413) | 
Ìý | 
 
| Loss before income taxes | 
 | 
(2,039,687) | 
Ìý | 
 | 
(628,168) | 
Ìý | 
 | 
(2,265,889) | 
Ìý | 
 | 
(673,501) | 
Ìý | 
 | 
(5,607,245) | 
Ìý | 
 
| Net loss | 
 | 
(2,075,282) | 
Ìý | 
 | 
(638,168) | 
Ìý | 
 | 
(2,281,052) | 
Ìý | 
 | 
(664,563) | 
Ìý | 
 | 
(5,659,065) | 
Ìý | 
 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
| Net loss per share allocable to common stockholders - basic and diluted  | 
 | 
$ | 
(0.11) | 
Ìý | 
 | 
$ | 
(0.03) | 
Ìý | 
 | 
$ | 
(0.12) | 
Ìý | 
 | 
$ | 
(0.03) | 
Ìý | 
 | 
$ | 
(0.29) | 
Ìý | 
 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
 | 
 | 
Quarter Ended July 31 | 
 | 
Quarter Ended October 31 | 
 | 
Quarter Ended January 31 | 
 | 
Quarter Ended April 30 | 
 | 
Year Ended April 30 | 
 
| Year Ended April 30, 2019 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
| Revenue | 
 | 
$ | 
7,221,305Ìý | 
Ìý | 
 | 
$ | 
8,095,344Ìý | 
Ìý | 
 | 
$ | 
8,494,627Ìý | 
Ìý | 
 | 
$ | 
10,214,142Ìý | 
Ìý | 
 | 
$ | 
34,025,418Ìý | 
Ìý | 
 
| Cost of revenue (exclusive of depreciation and amortization) | 
 | 
3,752,392Ìý | 
Ìý | 
 | 
3,835,515Ìý | 
Ìý | 
 | 
4,076,980Ìý | 
Ìý | 
 | 
4,312,331Ìý | 
Ìý | 
 | 
15,977,218Ìý | 
Ìý | 
 
| Operating loss | 
 | 
(2,853,324) | 
Ìý | 
 | 
(2,474,649) | 
Ìý | 
 | 
(2,421,686) | 
Ìý | 
 | 
(1,360,067) | 
Ìý | 
 | 
(9,109,726) | 
Ìý | 
 
| Loss before income taxes | 
 | 
(2,837,276) | 
Ìý | 
 | 
(2,475,078) | 
Ìý | 
 | 
(2,355,940) | 
Ìý | 
 | 
(1,609,923) | 
Ìý | 
 | 
(9,278,217) | 
Ìý | 
 
| Net loss | 
 | 
(2,837,276) | 
Ìý | 
 | 
(2,475,078) | 
Ìý | 
 | 
(2,355,940) | 
Ìý | 
 | 
(1,609,923) | 
Ìý | 
 | 
(9,278,217) | 
Ìý | 
 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 
| Net loss per share allocable to common stockholders - basic and diluted | 
 | 
$ | 
(0.15) | 
Ìý | 
 | 
$ | 
(0.13) | 
Ìý | 
 | 
$ | 
(0.13) | 
Ìý | 
 | 
$ | 
(0.09) | 
Ìý | 
 | 
$ | 
(0.50) | 
Ìý | 
 
 
 |