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.