Patent ID: 8645235

Claim:
A computer-implemented method of providing a location of a first type of good or service provider based on proximity to a location of a second type of good or service provider, the method comprising: receiving, from a user, a request for a location of a first type of good or service provider; identifying, by at least one processor, a first location that matches the first type of good or service provider and a second location that matches the first type of good or service provider, the second location being different than the first location; identifying, by at least one processor, a source location of the user; receiving, from the user, user input that indicates that the user prefers the location of the first type of good or service provider to be geographically proximate to a location of a second type of good or service provider, the second type of good or service provider being different than the first type of good or service provider; identifying, by at least one processor, a first secondary location that matches the second type of good or service provider and a second secondary location that matches the second type of good or service provider, the second secondary location being different than the first secondary location; associating, by at least one processor, the first secondary location with the first location based on when an aggregated distance between the source location, the first location, and the first secondary location less than an aggregated distance between the source location, the first location, and the second secondary location; associating, by at least one processor, the second secondary location with the second location when an aggregated distance between the source location, the second location, and the second secondary location is less than an aggregated distance between the source location, the second location, and the first secondary location; computing, by at least one processor, a first aggregated distance between the source location, the first location, and the first secondary location; computing, by at least one processor, a second aggregated distance between the source location, the second location, and the second secondary location; and determining, by at least one processor, whether the first aggregated distance is less than the second aggregated distance.