Hikashop comes with a comprehensive set of Country Zones. there are also a few others such as "Europe" set up as a tax zone. I cannot find the definition of what the different types of zone are used for. Is it just an aid so that the Tax type is obviously set up as a tax region, OR does the zone Type get used in the underlying logic?
For instance, setting up a manual shipping method will display all zone types allowing the user to select say the Country type and not just a ship type.
I initially thought I would need to set up a Shipping Zone for each country where goods were being dispatched (Multi warehouse environment) but this does not appear to be required.
I originally changed the Country type to Shipping, but then renamed it back to Country.
However:..
When I investigated the Hikashop table structure I find that both the country and Ship type are still recorded (in the XXX_hikashop_zone and xxx_hikashop_zone_link tables).
I had initially thought that the zone_link table was to provide the link between the country and the associated states.
In my example Cook Islands is linked to the 15 island states that make up the Cook Islands.
But after changing the type to Shipping and then back again, I am left with a complex table structure..
(see attached file)
In the Zone Table the entry for Cook Islands has been changed (Zone name, English name etc) and there is a new entry Ship_cookislands which now contains the missing information.
In the Zone link table "country_Cookislands" has the child "ship_Cookislands", "ship_Cookilands" has a child link to "country_Cookislands" and also links to itself.
I discovered the strange linking structure when from Hikashop I displayed the Country Zone "Cook Islands" and saw that it was not displaying the correct subzones. What is is displaying is the information stared in the php Tables.
The Zone table shows the Country Zone as unpublished but the Ship zone as published. Because the ship zone links to the Country zone as a child, then Hikashop, correctly follows the convoluted logic to display the Country Zone as being published and not the Shipping Zone.
Since I had saved a copy of my sql database I was able to easily recover the situation but many users will struggle to correct these issues.
On a separate bu related issue:
Setting up the zones is a complex and time consuming task. I was wanting to set up local zones (2 countries) a Pacific Zone, a North American Zone, and then the rest of the World. It would make it much easier if it was possible to EXCLUDE countries whilst setting up a new zone. eg first set up the local zones, and the smaller zones such as Pacific, but then set up the Rest of the World as All minus Pacific minus North America. etc.,
Currently the only easy way of checking the sub zones are set up correctly is to extract the tables from the php database into an excel spreadsheet.