function getPostmanUrlSchemaMatchScore (postmanPath, schemaPath, options) {
  var postmanPathArr = _.reject(postmanPath.split('/'), (segment) => {
      return segment === '';
    }),
    schemaPathArr = _.reject(schemaPath.split('/'), (segment) => {
      return segment === '';
    }),
    matchedPathVars = null,
    maxScoreFound = -Infinity,
    anyMatchFound = false,
    fixedMatchedSegments,
    variableMatchedSegments,
    postmanPathSuffixes = [];

  // get array with all suffixes of postmanPath
  // if postmanPath = {{url}}/a/b, the suffix array is [ [{{url}}, a, b] , [a, b] , [b]]
  for (let i = postmanPathArr.length; i > 0; i--) {
    // i will be 3, 2, 1
    postmanPathSuffixes.push(postmanPathArr.slice(-i));

    break; // we only want one item in the suffixes array for now
  }

  // for each suffx, calculate score against the schemaPath
  // the schema<>postman score is the sum
  _.each(postmanPathSuffixes, (pps) => {
    let suffixMatchResult = getPostmanUrlSuffixSchemaScore(pps, schemaPathArr, options);
    if (suffixMatchResult.match && suffixMatchResult.score > maxScoreFound) {
      maxScoreFound = suffixMatchResult.score;
      matchedPathVars = suffixMatchResult.pathVars;
      // No. of fixed segment matches between schema and postman url path
      fixedMatchedSegments = suffixMatchResult.fixedMatchedSegments;
      // No. of variable segment matches between schema and postman url path
      variableMatchedSegments = suffixMatchResult.variableMatchedSegments;
      anyMatchFound = true;
    }
  });

  // handle root path '/'
  if (postmanPath === '/' && schemaPath === '/') {
    anyMatchFound = true;
    maxScoreFound = 1; // assign max possible score
    matchedPathVars = []; // no path variables present
    fixedMatchedSegments = 0;
    variableMatchedSegments = 0;
  }

  if (anyMatchFound) {
    return {
      match: true,
      score: maxScoreFound,
      pathVars: matchedPathVars,
      fixedMatchedSegments,
      variableMatchedSegments
    };
  }
  return {
    match: false
  };
}
@param {string} postmanPath - parsed path (exclude host and params) from the Postman request
@param {string} schemaPath - schema path from the OAS spec (exclude servers object)
@param {object} options - a standard list of options that's globally passed around. Check options.js for more.
@returns {*} score + match + pathVars - higher score - better match. null - no match