By default, all products in an order ship to the same address - whichever address is currently set as the default shipping address on the customer's account. Store owners can change this however, to allow customers to ship to multiple addresses. This is especially popular around the holidays, for gift shopping.
Enabling Multiship
To enable this feature, simply set the AllowMultipleShippingAddressPerOrder AppConfig to true, and set the MultiShipMaxItemsAllowed AppConfig to the highest number of addresses you want to allow customers to ship to.
NOTE: Each address represents another call to the shipping carrier API if you are using realtime shipping. Page load times can become very slow for customers with large orders. Also, please note that if you are using a free shipping threshold, the threshold is calculated PER ADDRESS on multiship orders.
Using Multiship
If multiship orders are enabled, customers will see the following text on Step 3 of checkout:
NOTE: This will only appear if customers have more than one item in their cart.
When a customer clicks the 'Click Here' link, they will be sent to this page. For each product in the cart they can choose from existing addresses on record in the dropdown menu, or choose the "Add New Address" radio button and create a new address for each item if necessary.
After choosing the shipping address, customer click 'Continue Checkout' and arrive at the screen pictured below. Each package will display the shipping methods and rates that apply to it based on the package size, weight, destination, etc. Customers can choose different methods for each package, then click 'Continue Checkout' again to go to step 4 (Payment Info) of checkout. The prices for shipping for all of their packages will be combined into one line item on the payment page.