| Leases - Schedule of Balance Sheet Information Related to Leases (Details) - USD ($) | Oct. 31, 2021 | Apr. 30, 2021 | 
|---|---|---|
| Balance Sheet Classification | 听 | 听 | 
| Operating lease obligations, current portion | $ 2,145,431 | $ 2,029,821 | 
| Operating lease obligations, less current portion | 17,732,483 | 16,298,808 | 
| Present value of operating lease liabilities | $ 19,877,914 | $ 18,328,629 | 
| X | ||||||||||
| 
- Definition Operating Lease, Balance Sheet Classification No definition available. 
 | 
| X | ||||||||||
| 
- Definition Present value of lessee's discounted obligation for lease payments from operating lease. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
 | 
| X | ||||||||||
| 
- Definition Present value of lessee's discounted obligation for lease payments from operating lease, classified as current. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
 | 
| X | ||||||||||
| 
- Definition Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
 |