Funwatercraft uses dealers to sell their Hydrobike parts and bikes. To determine and manage each dealer’s territory they needed some tools built into their Ordering Processing System.
To sum up the requirement:
- Get a list of ZIP codes based on a “home” ZIP and a variable radius.
- Be able to add or remove individual ZIP codes.
- Review any conflicts (overlapping territory)
- When a customer calls be able to enter their ZIP code and see the dealer for that area.
- BTW, make it work in Canada too.
To keep it priced in budget, we had to look for some free web services. I found a lot of web sites that allow you to get a list for the US (ex. http://www.free-zipcode-maps.com/) and a very nice site that shows the ZIP Codes visually, Maps.Huge.Info.
I put link to those online tools in the web application for them to do some manual work, however, I still need the main function of auto populating the dealer territory with a set of postal codes. I finally came across this free Web Service GeoNames http://www.geonames.org/
The service is free for light users. You can only return 500 rows and your radius can be no more then 18 Miles (30 km). There is a premium paid service that removes these limits, however, for Funwatercraft, it is more then enough. It also works for most of the worlds.
So, the business flow is
- They create a new dealer record and set a radius.
- On save, it will fetch the postal code list.
- User can add and remove codes as they see fit using the previous mentioned web tools.
Also, in the master search, I added code that will determine if the requested search is a ZIP Code or a Postal code and find the dealer for that code.
It’s pretty slick. Only four hours of work.