Do a quick comparative analysis
I'd start by checking how other companies handle this problem, in adjacent spaces. For example, ride-share software apps such as Uber obviously need to sign up transporters and people who want to be transported. But if you already know that you need one form, then read on....
One starting point, two paths
In the profile, you want users to identify whether they:
- transport goods
- send goods
You're going to want to ask users some questions that are the same—such as their contact information—and some questions that are different—such as whether they can transport frozen good or heavy goods, so that you can better pair up the two. (My assumption: your intent is to pair up transporters with people who have goods to transport.)
You can start off with the same questions, and then provide a different path depending on the information that a user enters. (Hopefully, the number of users who both provide transport and use transport is so small that you can ignore them for now. Eventually, can decide whether to send them through one path, then the other, so they complete both paths—but you probably want to postpone that until you're serving the largest groups and have revenue coming in.)
Recommended: Paper prototyping to test the design
Be sure to test this with people outside the development team and outside the company—people who transport good and who have goods to transport. This is something you can easily test with a paper prototype. This is incredibly simple and very useful way to get feedback before anything is ever coded/programmed—so very inexpensive to modify. If the device is likely to influence usability, try a hybrid method, but this is more work.
Hope that helps.