Shopify offers the Local Delivery feature to streamline the last-mile delivery process. However, merchants have needed help integrating this feature with apps such as Bundle Builder.
The central question many merchants using Bundle Builder ask is, "Does the app work with Shopify's Local Delivery enabled?" The answer, unfortunately, is not straightforward. A fundamental issue arises because the inventory tracking in Bunde Builder doesn't function as effectively when the Shopify Local Delivery option is enabled.
After working together with Shopify's support team, we found out that the inflexibility of "local delivery" orders is what's causing the problem. Shopify knows about this and they're trying to fix it. They've told their developers to look into letting us edit "local delivery" orders in the future. But right now, they haven't made a definite promise about when this feature will be available.
Solution
Acknowledging the urgency of addressing this issue, Bundle Builder has devised a workaround that empowers merchants to continue using the Local Delivery concept. The solution entails adding a custom shipping option labeled "Local delivery" rather than relying on Shopify's built-in "Local delivery" feature.
The workaround looks promising, but there are some things to consider. The main thing is that it can't limit local delivery to certain zip codes like the regular method. To tackle this, merchants need to list the allowed zip codes upfront, maybe on the product or cart page. This helps customers know their delivery options.
If someone puts in the wrong zip code for a local delivery order, merchants can set up a message after checkout using manual scripts in admin/settings/checkout. This way, things stay smooth and clear for everyone.
<script>
{% if checkout.shipping_method.title == 'Local Delivery' and checkout.shipping_address.zip != 'ZIPCODE' %}
Shopify.Checkout.OrderStatus.addContentBox(
`<h1>Your zip code is not qualified for local delivery.</h1>
<br>
<h2>Our staff will reach out soon to guide you through shipping process.</h2>`
)
{% endif %}
</script>