Different Delivery Date for Each Product

Gabriel_Novello
New Member
3 0 0

Hello, 

It's been a week that we are trying to implement at our store different delivery dates for each product. Our main issue is:

1- All our products are crafted after the order confirmation, and by different suppliers. Each supplier has a different crafting time range, so we have multiple processing times. For example, a cushion is ready to be shipped after 7 days, but a nursing pillow is ready to be shipped after 10 days. We already figured out a way to show these different production dates on the product pages but;

2- The carrier time is the same for all products (5 days). We need an app that takes the production time of each product + the carrier time, and show it on the cart and checkout page. This way, the cushion will show a 12 days estimated delivery time, and the nursing pillow a 15 days estimated delivery time;

3- Also, when the cushion and the nursing pillow are in the same cart, the estimated delivery time shown to the customer must be the highest, in this case, 15 days.

 

We tried several apps, but we didn't managed to find one that helps us out. Anyone knows an app that is able to do this?

 

Thank you very much.

0 Likes

Is your store on Shopify Plus plan? I don't think you can customize the checkout page if you are not on Shopify plus plan.

For 2 and 3, I think it is possible to achieve , like showing the estimated delivery time (the highest) on the cart page with some coding.

I don't think you need a specific app for this, I would suggest to use metafields (a Shopify feature which allows you to add custom field to a product) to store production time (eg: "5" for 5 days to production of this product, integer type). You can use the free plan of this app to add metafields to products : https://apps.shopify.com/metafields-manager-by-hulkapps (ensure the namespace and key is the same for all products, that is used to keep track of production time)

For the code below, I used "time" as namespace, and "production_day" as key, with integer type, and the value is the day required to produce.

Then you can edit the cart page template (Store > Theme > your theme > edit code), select 'cart.liquid' , then add code similar to below 

{% assign max_production_day = 0 %}
{% assign carrier_day = 5 %}

{% for line_item in cart.line_items %}
    {% if line_item.product.metafields.time.production_day > max_production_day %}
       {% assign max_production_day = line_item.product.metafields.time.production_day %}
    {% endif %}
{% endfor %}

{% assign max_production_seconds = max_production_day | times: 86400 %}
{% assign carrier_seconds = carrier_day | times: 86400 %}
{% assign delivery_seconds = max_production_seconds | plus: carrier_seconds %}

<!-- this will show the delivery date with the max production day + carrier_day, eg: 30 July 2021 -->
<span> {{ "now" | date: "%s" | plus: delivery_seconds | date: "%d %b %Y" }} </span>

 

Spent too much support time dealing with order cancellation request from customer? Wouldn't it be good if customer can cancel order on their own without bugging your support? Try out Cancellable app! https://apps.shopify.com/cancellable . I also write articles about store customization that can improve your customer shopping experience here : Yagi Software Blog
0 Likes