From what i can tell, via CCS, what you're after isn't possible, which is also the issue i have with a large number of merchants that use my app, enabling multi-origin shipping is a non-backwards compatible change.
If you setup the rates within Shopify though and put everything as a single profile then you get the rate calculated over the entire order - but only if you use the in-built Shopify rates, it would be good if in the mean time this can be made compatible and consistent with CCS as well.
It seems we all need patience. Shopify has admitted for a decade now that even though their commerce engine is advance, perhaps more so than any other, they lack the polish of the logistics domain. Heck, 5 years before Shopify was a dream I was tasked with building out an online (WWW) freight-forwarding logistics service to handle US transportation issues like LTL, lift-gate, modal, zone, express services +++, and yet, even today, there is nary a glimmer in the Shopify code that that kind of interface is coming to fruition any time soon. So you have one external industry with mature code, standards and operational understandings (Logistics), and another industry piggy-backed on top (commerce) that is only now attempting to plug-in, without causing too much trouble. And to boot, Shopify is now touting planet-wide 2-day delivery!
So yes, patience. We won't see CCS much longer as I imagine the in-house options will supersede that, instead we will likely be bridging external carriers to Shopify with a standard interface. Let the chips fall where they may,...
I would like to say couple more words here. I just finished a simple integration process.
It looks like multi-location shipping would be technically possible given that we have a hashing done on the carrier services requests.
As per latest Shopify Carrier Services API, it gives 15 minutes of cache time. It also caches each time for any new change done in the request. Hence it would be possible that we can technically hash the destination part and create an index of origins given alongside.
While returning consecutive responses for the same destination with different origins, it will be either possible to return a 0 price or price between origins & last destination sorted, which will then be combined by Shopify into a single price for the customer. I am not sure how Shopify would merge each shipping lines, but technically it would be possible to put a check.
I hope the same logic can be applied for each fulfillment connected to the choosen pricing to provide a unified price for the merchant from the shipping provider.
I am going to try this logic with our app now.
Yes. That is a highly probable case. There are lot of parameters for failure which we cannot calculate.
I can confirm that Shopify doesn't allow if one of the requests fail while other succeeds. I have given alternator which makes the request fail for each alternate requests.
You can see the functionality live here.
There are few specific products.
"Spiceland" - Main Warehouse
"Chequered Red Shirt" - Main warehouse
"Black Leather Bag" - Second warehouse
"Milliken" - Second Warehouse
which are from two different origin / warehouse locations.
If you happen to have both of them, the requests will fail to give you a cart price. Where as if you have one of them, the request will be valid.
@Parcel_Intellig Let me know of your thoughts on this.