My opinion is to use same user table for all the type users. and single authentication function, and redirect the user to subdomain as per their roles.
I think you can use Sentinel Package for managing roles and permission (https://cartalyst.com/manual/sentinel/5.x)
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community