Can I accommodate multiple ship-from zipcodes

...because my customers love to give me a challenge :)

I've got a new client who has half their products custom printed. The custom printed orders are drop-shipped from location X while the non-custom orders are shipped from location Y.

- Is there a way to customize the shipping so that, by category, I can change the ship-from address?
- This presents another problem if a customer orders both custom and non-custom products - am I correct that you can't actually have 2 ship-from addresses in FoxyCart?

I'm well aware (and prepared that) I may have to tell the client it's not happening, but I wanted to explore all options first, and make sure I'm not missing something.
Comments
  • fc_adamfc_adam FoxyCart Team
    @TiffaniH,

    That is a fun question!

    So we don't support multiple origin points natively - but we do provide ways for you to set it using javascript. That means that if you can restrict the orders to only ever be from one origin point - then you could set up the cart to dynamically change the origin point from one to the other as needed.

    For having a mixture of the two - it would be possible - but would be a whole extra layer of complexity. The difficulty would lie in making two requests for shipping for the two origin points and then combining them together to form a single shipping rate, discarding any rates that only appear in one request. It would be possible - and probably best achieved using our custom shipping endpoint snippet - but would be some development on your side.
  • thanks @fc_adam

    fortunately needing some development won't be a problem. I've got to spend some time with the client to find out what she'll want to do. Thanks for explaining the options :)
  • fc_adamfc_adam FoxyCart Team
    @TiffaniH,

    Sounds good. Let us know which direction you and your client land on, and we can give you some more specific details.
  • hey @fc_adam

    Looks like we're going with a default ship from zipcode, but if the order is for non-custom products, it'll ship from location B instead.

    I'm looking at the snippets, and it looks like I should be able to modify Setting the shipping total through product attributes so that I can (A) send the data of custom or non-custom for each product and (B) run it through the the Live Rates Modification Snippet to update if all the products have the shipping code of 'non-custom'.

    Does that sound right to you?

    If so, how would I reference the from zip in the javascript to update it?

  • fc_adamfc_adam FoxyCart Team
    @TiffaniH,

    Am I correct in saying that you're not going to set custom shipping origin points, but instead simply set a custom shipping rate for the custom products on each individual product? Or were you still wanting to make use of setting a different origin point for the whole transaction?
  • @fc_adam

    Sorry if I wasn't clear. We want to use custom points of origin, not custom shipping rates. I was guessing at the best approach to make this happen, so I might have been incorrect in my assumptions.

    Here's what we want:

    Zip A is the default ship from location.
    If the products in the cart are all listed as 'non-custom' products, then use Zip B for the ship from location instead.
    If the products are a mix of 'custom' and 'non-custom' products, then use Zip A
    If the products are all 'custom' products, then use Zip A

    As a side note, I was hopping to be able to send the 'custom' / 'non-custom' info through as an additional variable in the shopping cart rather than do it on a category basis, but we can also identify these using product categories.

    Thanks!

  • fc_adamfc_adam FoxyCart Team
    @TiffaniH,

    Thanks so much for clarifying - that helps!

    So I've done up the documentation for setting a custom shipping origin here: https://wiki.foxycart.com/v/2.0/snippets/dynamically_set_shipping_origin - that should provide the details you need, but it's new documentation so let us know if anything is confusing.

    You could certainly add a custom attribute - either at the product level which would be visible to the customer (unless you hid it by using CSS or editing the Twig template), or you could take a similar approach to the snippet you linked to earlier for setting a custom session attribute that includes the product code in it's name.
  • Thanks @fc_adam - you guys are awesome!

    Will look at implementing this tomorrow :)
Sign In or Register to comment.