code: public String getId() {
          StringBuilder sb = new StringBuilder();
           sb.append(trip_id);
           sb.append('_');
           sb.append(convertToGtfsTime(start_time));
           sb.append("_to_");
           sb.append(convertToGtfsTime(end_time));
           sb.append("_every_");
           sb.append(String.format("%dm%02ds", headway_secs / 60, headway_secs % 60));
           if (exact_times == 1) sb.append("_exact");
           return sb.toString();
       }
docs: Frequency entries have no ID in GTFS so we define one based on the fields in the frequency entry.
  
  It is possible to have two identical frequency entries in the GTFS, which under our understanding of the situation
  would mean that two sets of vehicles were randomly running the same trip at the same headway, but uncorrelated
  with each other, which is almost certain to be an error.