t is very easy to create multiple registration forms, so simple that it does not need any explanation i guess. At the end it is just a form that creates a new record in the User table...
Then you would like one login form. Fine because you can give users certain different roles. The only question remaining is that you maybe want to direct different users to a different page when they are successfully logged in. This is very easy too. Read the docs about generating a login form. At step drie you are able to redirect the user after login.
My advise would be to keep one User entity with sometimes some properties and methods that are not needed for every type of user. Use ROLES to separate different type of users, especially when you want to secure pages for some type of users.
Also read about Hierarchical Roles so that you know how to setup different roles like this little example here:
role_hierarchy:
ROLE_DRIVER: ROLE_USER # normal driver
ROLE_CUSTOMER: ROLE_USER # normal customer
ROLE_ADMINISTRATOR: ROLE_USER # normal administrator
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH] # this role is for you
One more thing you may ask yourself: What if a customer is also a driver or administrator...