Ship to multiple addresses on single order We have below requirement,

We can add multiple products to single order(which is normal).
Our client expect a functionality to ship to multiple address in single order. Which means we should have option to add multiple address in single order and based on client's need, different products should ship to different addresses.

Any one has any experience or idea about the implementation? Or we have to write our custom module for the functionality?
This is one of those tasks that take a lot more time on Drupal 7 than Drupal 8, since the Drupal 7 version of Shipping doesn't have native support for multiple shipments. 

Your best bet is investigating the Commerce Shipment and Commerce Fulfillment modules, choosing one of them, and then coding the rest.