Regional pricing within a country

I have a client that requires their website to have regional pricing, but within the same country.

They service their web orders from their network of physical stores (some franchise and some not) and, as each store can have a different price for an item, these prices need to be reflected on their website.

Ideally, when a customer first arrives they are shown the pricing for the physical store closest to them.

From my understanding though, the only way I can show different prices like this is by creating different websites under the Magento Website > Store > Store View hierarchy, which will not work as I would like to have only the one product catalog.

Is there any other way to accomplish this or is this a lost cause and I should just create the different websites?

Solutions

The websites can all link to the same products, that is not a problem, however you have a larger problem. Once you start getting to 10s of stores Magento slows to a crawl due to the way it works internally. Once you get to 100s of stores (very few have done this) you need very special hosting, 2GB+ PHP threads and such.

There is a company we know that can do this as realistic cost, for example the Nexcess clusters are $1,500/mth upwards. Specialist Magento hosts will not get very far, and anything else is a no-go.

There are other options but that would require going in to the business requirements as to whether they are suitable, this is not the forum for that and we still can't find where to point people to. The same people also developed special dynamic pricing which sounds like what you are trying to do, whether it would work for your situation is another matter.

Closest thing you can achieve with vanilla Magento is to use website price scope instead of global price scope. Yes, it requires you to create bunch of different website level stores, but this feature is available out of box.

Another possible approach is to use multi-warehouse extension (can't link it here as this is commercial stuff). As an additional bonus you get multi warehouse (doh!) support which considering your problem description might be something you need anyway.

Similar questions

Multiple country-specific stores on the same domain: Show country selection first?
I am currently working on a shop that serves two countries: UK and Germany. The shop has the same inventory and content for both countries, only the proudct prices are different. I have learned that I have to create two different Websites in Magento in order to be able to show different prices for the same product. I have done that and now I have a...
How to get country name from country code?
I have one custom table and there is one field country_code. Now I am passing this $collection to my javascript and using variables in that. Now I want to display country name instead of country code. Is there any way from which I can add country name in my collection using join query or any way else ? so before passing to js I want country name in...
How to get Country ID from Country Name in Magento1.9.2.4?
I want to get country_id from the country name in Magento, Please suggest how can I achieve this. I found these database tables but they are not helpful:
How to Get country name from country code in Magento 2?
i want to get country name from country code, i got the country code from the data order like this : it will print 'US' or any other country code, is there a way to get the country name from this country code?
Country not showing up in country list
i want to use "Curaçao" as a country. It is listed in the "vendor/magento/zendframework1/library/Zend/Locale/Data/en.xml" but i do not see it in the country drop down list. Does anyone know how i can get it to show up in the list? Thank you.
How can i remove the dropdown option in country in checkout page in magento? I need to put only one country
From the following files : /app/design/frontend/base/default/template/customer/form/reg‌​ister.phtml /app/design/frontend/base/default/template/customer/form/add‌​ress.phtml /app/design/frontend/base/default/template/checkout/onepage/‌​billing.phtml and /app/design/frontend/base/default/template/checkout/onepage/‌​shipping.phtml i did this trick co...

Also ask

We use cookies to deliver the best possible experience on our website. By continuing to use this site, accepting or closing this box, you consent to our use of cookies. To learn more, visit our privacy policy.