// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/talent/v4beta1/filters.proto

package com.google.cloud.talent.v4beta1;

public interface CommuteFilterOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.cloud.talent.v4beta1.CommuteFilter)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * Required.
   * The method of transportation for which to calculate the commute time.
   * </pre>
   *
   * <code>.google.cloud.talent.v4beta1.CommuteMethod commute_method = 1;</code>
   */
  int getCommuteMethodValue();
  /**
   *
   *
   * <pre>
   * Required.
   * The method of transportation for which to calculate the commute time.
   * </pre>
   *
   * <code>.google.cloud.talent.v4beta1.CommuteMethod commute_method = 1;</code>
   */
  com.google.cloud.talent.v4beta1.CommuteMethod getCommuteMethod();

  /**
   *
   *
   * <pre>
   * Required.
   * The latitude and longitude of the location from which to calculate the
   * commute time.
   * </pre>
   *
   * <code>.google.type.LatLng start_coordinates = 2;</code>
   */
  boolean hasStartCoordinates();
  /**
   *
   *
   * <pre>
   * Required.
   * The latitude and longitude of the location from which to calculate the
   * commute time.
   * </pre>
   *
   * <code>.google.type.LatLng start_coordinates = 2;</code>
   */
  com.google.type.LatLng getStartCoordinates();
  /**
   *
   *
   * <pre>
   * Required.
   * The latitude and longitude of the location from which to calculate the
   * commute time.
   * </pre>
   *
   * <code>.google.type.LatLng start_coordinates = 2;</code>
   */
  com.google.type.LatLngOrBuilder getStartCoordinatesOrBuilder();

  /**
   *
   *
   * <pre>
   * Required.
   * The maximum travel time in seconds. The maximum allowed value is `3600s`
   * (one hour). Format is `123s`.
   * </pre>
   *
   * <code>.google.protobuf.Duration travel_duration = 3;</code>
   */
  boolean hasTravelDuration();
  /**
   *
   *
   * <pre>
   * Required.
   * The maximum travel time in seconds. The maximum allowed value is `3600s`
   * (one hour). Format is `123s`.
   * </pre>
   *
   * <code>.google.protobuf.Duration travel_duration = 3;</code>
   */
  com.google.protobuf.Duration getTravelDuration();
  /**
   *
   *
   * <pre>
   * Required.
   * The maximum travel time in seconds. The maximum allowed value is `3600s`
   * (one hour). Format is `123s`.
   * </pre>
   *
   * <code>.google.protobuf.Duration travel_duration = 3;</code>
   */
  com.google.protobuf.DurationOrBuilder getTravelDurationOrBuilder();

  /**
   *
   *
   * <pre>
   * Optional.
   * If `true`, jobs without street level addresses may also be returned.
   * For city level addresses, the city center is used. For state and coarser
   * level addresses, text matching is used.
   * If this field is set to `false` or isn't specified, only jobs that include
   * street level addresses will be returned by commute search.
   * </pre>
   *
   * <code>bool allow_imprecise_addresses = 4;</code>
   */
  boolean getAllowImpreciseAddresses();

  /**
   *
   *
   * <pre>
   * Optional.
   * Specifies the traffic density to use when calculating commute time.
   * </pre>
   *
   * <code>.google.cloud.talent.v4beta1.CommuteFilter.RoadTraffic road_traffic = 5;</code>
   */
  int getRoadTrafficValue();
  /**
   *
   *
   * <pre>
   * Optional.
   * Specifies the traffic density to use when calculating commute time.
   * </pre>
   *
   * <code>.google.cloud.talent.v4beta1.CommuteFilter.RoadTraffic road_traffic = 5;</code>
   */
  com.google.cloud.talent.v4beta1.CommuteFilter.RoadTraffic getRoadTraffic();

  /**
   *
   *
   * <pre>
   * Optional.
   * The departure time used to calculate traffic impact, represented as
   * [google.type.TimeOfDay][google.type.TimeOfDay] in local time zone.
   * Currently traffic model is restricted to hour level resolution.
   * </pre>
   *
   * <code>.google.type.TimeOfDay departure_time = 6;</code>
   */
  boolean hasDepartureTime();
  /**
   *
   *
   * <pre>
   * Optional.
   * The departure time used to calculate traffic impact, represented as
   * [google.type.TimeOfDay][google.type.TimeOfDay] in local time zone.
   * Currently traffic model is restricted to hour level resolution.
   * </pre>
   *
   * <code>.google.type.TimeOfDay departure_time = 6;</code>
   */
  com.google.type.TimeOfDay getDepartureTime();
  /**
   *
   *
   * <pre>
   * Optional.
   * The departure time used to calculate traffic impact, represented as
   * [google.type.TimeOfDay][google.type.TimeOfDay] in local time zone.
   * Currently traffic model is restricted to hour level resolution.
   * </pre>
   *
   * <code>.google.type.TimeOfDay departure_time = 6;</code>
   */
  com.google.type.TimeOfDayOrBuilder getDepartureTimeOrBuilder();

  public com.google.cloud.talent.v4beta1.CommuteFilter.TrafficOptionCase getTrafficOptionCase();
}
