The answer really depends on two things. Most important is how picky you are about following the "true religion" of relational design. If you use an application framework, a close second is how does that framework deal with this kind of problem.
The pure relational approach would be to create a parent table with information that was common to all orders, then creating additional tables with foreign keys to the parent table that included all of the information that is specific to a given type of order.
If you are coding your interface by hand, I'd strongly suggest that you reconsider using a framework of some type... They can save you hundreds or thousands of hours over the course of a product's lifetime in terms of developing, debugging, and supporting that product.
The short answer boils down to you need to do what works for you. I recommend using subtables, but for simple products/projects that may well be overkill.
In theory, theory and practice are identical. In practice, theory and practice are unrelated.