WooCommerce Shipping: conditionally hide shipping method based on shipping radius/distance - wordpress

I'm trying to hide shipping method based on shipping distance or based on radius around shipping origin.
I've tried using the plugin WooCommerce Distance Rate Shipping, but it cannot achieve this since it's adding a shipping method to the shipping zone...
I'm trying to have these conditions:
If shipping distance is 50 km and lower, then hide shipping method A
If shipping distance is 51 km and higher, then hide shipping method B
Could someone point me in the right direction?
Thanks!

1st you need algorithm to calculate distance between user entered address and your shop store.
Search for APIs which can help you in that, most of them use coordinate to addresses to do that. google API is also available. Go through these, it might help -
https://developers.google.com/maps/documentation/javascript/geometry/
https://developers.google.com/maps/documentation/javascript/reference#spherical
If you are supporting multi-vendor AKA multiple(total dynamic) warehouses then this will become necessary.
But if your store address is fixed one, easiest way is make a zone of addresses which falls under such radius and use existing zone system.

You can achieve it without plugins by defining shipping zones and limit each zone by zip codes. You need to manually calculate each zones radius though.
Example:
Step 1: Country Sweden, Zone: Solna, Zip code range: 16900...17331
(WooCommerce understand 3 dots ... as any zip codes from 16900 to 17331
in this case the distance is less than 50 km so I would define shipping rate A for this area.)
Step 2: go to calcmaps.com/map-radius/ and draw a circle around areas you want to add so you can define zip code ranges based on distance
Step 3: define shipping alternatives like Flat rate etc. for each area.
When customer enter a zip code Woocommerce provide available shipping method based on that zip code.
it's one way and requires some works but achievable.

Related

Client needs to specify origin zipcode per item to calculate shipping costs

Basically the title. The client has multiple distribution locations with specific items coming from specific warehouses. They want to calculate shipping based on where the items are coming from specifically. I see the "Per Product Shipping" module but I am not sure that it does quite this. Im hoping to not have to write a custom plugin for this. Does anyone know how to do this out of the box, a module that already does it, or can cofirm thet Per Product Shipping does this already?
Thanks

How to calculate product price in woocommerce using formula

I am developing en ecommerce site for a jewellery. They need to calculate product price automatically using a formula. The following is the format of the required formula.
(quantity * gold rate) + making charge + stone rate(if available)
Here gold rate may vary frequently and stone rate is not mandatory.
This will also need to apply for other type of products(silver, diamond etc).
eg for silver the formula will become
(quantity * silver rate) + making charge + stone rate(if available)
Only the final price is need to display in site.
Also I need to set gold rate and silver rate globally, because this will be same for all gold and silver ornaments.
I found some plugins, but not found one with all these requirements.
Can someone please suggest any solution
I'm assuming you have some coding knowledge...
As you're using woocom I would go toward creating a new custom category/taxonomy called "raw material".
From there I would add all the required terms, here for instance gold, silver, diamond...etc. I would then add a custom meta field to each terms called "rate" (*).
Upon creating a new product, you would select what raw materials the item is made of, which would enable you to fetch the custom meta we created called "rate".
Then we could use a bit of JS magic to do the required calculations, and that's it. Not really hard to put in place.
But like #disinfor said, at SOF we don't code, we help and fix problems. If you want to hire someone you can try Fiverr.
(*) Adding custom meta to terms: https://developer.wordpress.org/reference/functions/add_term_meta/

Woocommerce Shipping Calculation Logic

The plot:
I am working with a Dropshipping company that has an API for providing products, the shipping is calculated this way:
Every product comes with a shipping size ( S,M,L ... ) and for each country this sizes have different fixed prices. I am saving this shipping size in a custom meta.
Example:
France
Size M: 10$
Size L: 15$
Spain
Size M: 15$
Size L: 20$
The problem:
I cannot seem to figure out a way of implementing this into woocommerce. I see that I can setup a flat rate for each country but I cannot implement these different sizes.
If this is not possible with plain Woocommerce, I want to implement something myself with php or I am also open to any official/verified Add-ons.
I figured out this on my own - so apparently I can make a shipping class for each of those sizes ( S, M, L ) and then I can setup Flat Rates by country and shipping class. This was very easy after all, no custom code required.
insert by location rules with multiple locations you can place fees for each location. A different rate can be configured in woocommerce and can also be configured by postal code
You can also use the plugin for handling all this stuff. I figured out this plugin maybe it can help you out. Advanced Flat Rate Shipping Method WooCommerce.
In this plugin you can create your own rules.

Flat rate shipping with max limit - WooCommerce

I'm using some different flat rate shipping classes in WooCommerce. For example I'm adjusting the shipping cost with
1*[qty]
2*[qty]
I need to add a roof price. If for example a customer buys 10 of one product I want the shipping cost to be for example 5 euro.
I think it would be good enough to use a global max-shipping cost.
I'm sure I have seen it somewhere but I cannot find it now.

Multiple Warehouse - WooCommerce & Table Rate Shipping Plugin

I currently have two warehouses (one on the east coast and west coast of USA). The problem I am trying to solve is finding the optimal method of shipping based on the user's shipping address and our two warehouses. It is unwise for us to ship a product from the west coast all the way over to a consumer on the east coast and vice versa.
We currently run WooCommerce and have the Table Rate Shipping plugin installed. I've created two zones (one for west and one for east) to divide our two shipping areas and I understand you can create a shipping class for each WooCommerce product but you are unable to create more than one under a product. If this was possible, I was thinking of creating two shipping classes under each product and finding an optimal shipping method that way.
I believe there is TradeGecko but it is a costly service that provides much more functionality than what I technically need. Does anyone here know of an ideal solution to optimally ship our products from two warehouses? Help or insight would be appreciated.
What you can do is for US try using a flat shipping rate (Not sure if its possible for you, but I dont think there should be much price difference within US ). You can use this plugin "Flat Rate per State/Country/Region for WooCommerce", it allows you to set different regions and states and then set prices for those regions. So for instance if someone from east cost orders a product you can send it for flat $5, similar can be done for West cost. I dont know how your workflow is but the relevant warehouse should be automatically notified when the product is booked. while for the rest of the world the pricing should remain standard.

Resources