| Quarterly Results (Unaudited) | Quarterly Results (Unaudited) 
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
|  |  | Quarter Ended July 31 |  | Quarter Ended October 31 |  | Quarter Ended January 31 |  | Quarter Ended April 30 |  
| Year Ended April 30, 2022 |  |  |  |  |  |  |  |  |  
| Revenue |  | $ | 19,430,995Ìý |  |  | $ | 18,940,211Ìý |  |  | $ | 18,944,798Ìý |  |  | $ | 19,378,362Ìý |  |  
| Cost of revenue (exclusive of depreciation and amortization) |  | 8,593,568Ìý |  |  | 8,789,201Ìý |  |  | 9,275,419Ìý |  |  | 8,601,093Ìý |  |  
| Operating loss |  | (1,238,459) |  |  | (2,657,536) |  |  | (3,335,644) |  |  | (1,738,684) |  |  
| Loss before income taxes |  | (719,878) |  |  | (2,846,358) |  |  | (3,502,387) |  |  | (2,089,758) |  |  
| Net loss |  | (870,888) |  |  | (2,852,258) |  |  | (3,733,997) |  |  | (2,128,638) |  |  
|  |  |  |  |  |  |  |  |  |  
| Net loss per share allocable to common stockholders - basic and diluted |  | $ | (0.03) |  |  | $ | (0.11) |  |  | $ | (0.15) |  |  | $ | (0.09) |  |  
|  |  |  |  |  |  |  |  |  |  
|  |  | Quarter Ended July 31 |  | Quarter Ended October 31 |  | Quarter Ended January 31 |  | Quarter Ended April 30 |  
| Year Ended April 30, 2021 |  |  |  |  |  |  |  |  |  
| Revenue |  | $ | 15,165,562Ìý |  |  | $ | 16,971,045Ìý |  |  | $ | 16,624,837Ìý |  |  | $ | 19,051,076Ìý |  |  
| Cost of revenue (exclusive of depreciation and amortization) |  | 5,847,523Ìý |  |  | 7,324,780Ìý |  |  | 7,559,951Ìý |  |  | 8,721,479Ìý |  |  
| Operating loss |  | (366,341) |  |  | (2,797,247) |  |  | (2,784,825) |  |  | (2,295,735) |  |  
| Loss before income taxes |  | (945,096) |  |  | (4,333,995) |  |  | (2,804,806) |  |  | (2,332,432) |  |  
| Net loss |  | (943,196) |  |  | (4,370,525) |  |  | (2,815,266) |  |  | (2,319,986) |  |  
|  |  |  |  |  |  |  |  |  |  
| Net loss per share allocable to common stockholders - basic and diluted |  | $ | (0.04) |  |  | $ | (0.19) |  |  | $ | (0.11) |  |  | $ | (0.09) |  |  |