Skip to main content

CRM Mapper - Business Traveler Software

Bill Watts - July 25, 2015

The Rolodex(™) is a classic tool in the business world, storing valuable information about numerous contacts and addresses. Modern business professionals now use a CRM, or Customer Relationship Management software, to store an extensive list of associates, customers, and potential customers often scattered across a wide geographic area. Trips to visit these contacts are a common occurrence as business professionals attempt to maintain and nurture their connections. However, it can be incredibly inefficient to make a long trip to visit one contact while ignoring other contacts located along the same travel route.

Business professionals need to be able to scout and schedule multiple destinations along a given route. This planning would allow professionals to maximize time and resources (gas, hotel, food expenses) by visiting multiple locations, instead of driving up and back to meet a single customer.

A new software system will be created called CRM Mapper, a basic mapping program that suggests which contacts to visit during a trip. The primary goal of the software is to generate a possible driving route with a list of stop offs, based on a planned trip and a list of addresses, with simple and easy-to-use functionality. CRM Mapper will allow a user to upload a list of addresses. The software will then allow a user to enter information about an upcoming trip and view a list of contacts near the expected route.

User Functionality

This is a list of functionality that will be available to users in the software:

  1. A user logs in, or creates a new account and logs in.
  2. A logged-in user uploads a spreadsheet that contains a list of addresses.
    1. The software will provide an example of the columns that are needed in the spreadsheet.
  3. The software stores that list of uploaded addresses.
    1. The list of addresses is usually generated in the CRM program over time. CRM Mapper will not have any CRM functionality. Any changes that the user wants to make to the address list will require that an additional list to be uploaded.
  4. The software displays a Google Map including all the addresses as markers on the map.
  5. The user clicks a "Plan A Trip" button. Input Fields:
    1. Start address
    2. Start Departure date and time
    3. Destination address
    4. Destination Arrival date and time
    5. Stop Off Duration - How much time the user will spend at each stop off. This value will be the same for all stop offs.
  6. The software shows the route between start and destination, and offers suggestions for other visits. NOTE: the "Return Trip" is just another Trip with reversed Start and Destination addresses.
  7. When a user sees the route, the user can enter feedback to the software, to help improve future routes.


The software will be created as a 100% custom-built website. The website will be built using .NET and SQL Server, hosted in Microsoft Azure.

A website is used so that it can operate on any device (computer, tablet, smartphone) from any manufacturer. Responsive Design will be incorporated into the user interface so that it will work as well as a Mobile App.


A Subscription business model will be used to generate revenue. Pricing will be based on a monthly or annual fee. High-margin products will be available if a user wants to pay for new functionality. Advertising could be a revenue source, possibly from hotels or business-related suppliers, since address information is highly valuable to advertisers.

A Transaction Fee or Usage-Based business model, based on the size of the address list or the number of routes generated, will not be used. This type of pricing discourages use of the software. A Data Resale business model is also not possible since no data will be offered for resale. Only address information is entered into the software, which is publicly available from any phone book, so no valuable information will be collected or stored. Lack of valuable business data also helps protect against issues with data security.

The primary value of the software itself is in the the algorithm used to select possible contact visits along a route and in the user interface, designed to be simple and pleasant.


A prototype of the software, including basic screens and functionality, was developed as a proof-of-concept.

Similar Software

This new software will be similar to existing software programs.


CRM Mapper is superior to other similar tools because it is not tied directly to a specific CRM, allowing for a much larger user base. It is available at a much lower cost to users. It will utilize the latest Google Maps technology to offer the best possible driving routes and suggested stop offs. It can also allow an individual with multiple CRMs to combine address lists before uploading.

This program is different from the Travelling Salesman Problem because of the "Plan A Trip" functionality.

Next Steps

These are possible software enhancements that could allow for future growth.

  1. Use Google Maps API to get exact distance between addresses for driving distance and expected driving time (based on departure time).
  2. Filtering on LocationList - name/city/state/zip, zero lat/long
  3. Server timezone offset for each user, for Trip Created Date
  4. Validate new accounts by sending an email to the account holder (requires SMTP on Azure).
  5. Admin vs non-Admin users defined as Site Settings, with an update screen for Site Settings.
  6. Allow CRM Mapper to connect directly to various CRM systems and automatically export customer data.
  7. Different users can share address lists.
  8. Multiple address lists for one user (perhaps if a user has multiple types of contacts).
  9. Corporate accounts, where users are grouped together within an organization.
  10. Fit this into a suite of business tools, such as a customized CRM system.
  11. Offer multiple versions of the spreadsheet upload, if different CRMs had different exports.
  12. Possible fields for Address (perhaps uploaded with the spreadsheet): Location Type (Contact, Colleague, Customer, Potential Customer, etc); Time Zone; Needed Stop off Duration Time; Daily Available Time Range
  13. A trip could have multiple predefined Addresses (for multiple known stops).
  14. Suggest stop offs that weren't uploaded by the user, based on publicly available address information from business resources.
  15. Forgot My Password functionality.
  16. Implement Handsontable to allow JavaScript to import an excel file directly to the website.