@zfdeveloper No, that’s how I would model it. A user is a user, so you should only have one user model. You can determine what a user can do in your application using authorisation (and roles).
For the implementation, you should only need to create the roles for the permission package once, right? Yes, you’ll need to create a profile for each user (based on the type of user they are), but if you’ve created a seller role once already then you just need to associate that role with any new users.