I build websites for a second income, mostly in WordPress, Drupal and Joomla and have done this for a few clients (not a solicitation - I do not work with BiggerPockets users, out of respect for the admins, since I am not a PRO member). There are a number of great ticket systems as well as invoicing/payment systems that would make life a bit easier for you. It is mostly dependent on your knowledge, wants and budget.
That being said, it will be abused by the same folks who call you nonstop. Believe it or not, simply adding a few extra "hoops" cuts down on that... Making them log in with a username and password is great, but STILL require that they complete standard fields on the request form such as name, address, unit number, phone, email and description. Require that only 1 item per request be allowed. If more than 1 issue is included in the request, return the request to be broken into different tickets (this has a real practical purpose. For example, a ticket that includes electrical and plumbing issues may go to 2 different people so this slows down the process if they are mixed together)
Also, being able to submit online requests is a privilege. Abuse can cause you to lose access to the system.
Finally, add Captcha. It cuts down on spam and multiple submits of the sale issue.