Custom table or form

How I would do it:

  • Create a public accessible form in a page. Look at the code of front end submission plugins to get an idea.
  • Create a custom post type shipping.
  • Create a custom user role customer with very limited capabilities (read_shipping, edit_user_profile).
  • After form submission create a new shipping entry, register the user in your role if she hasn’t already and send an email to the person who handles shippings.
  • Check all customer data, add the shipping information to the shipping and send an email to the customer with a link to the page holding shipping information.

There are some tricky details:

  • Spam bots will hit your forms.
  • Customers shouldn’t have to enter all their personal data each time new. Offer a login form, ajaxify it.
  • Probably some more, you’ll see it when you start writing code. 🙂

I wouldn’t say simple.