Class TimeWindow.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<TimeWindow.Builder>
com.google.cloud.optimization.v1.TimeWindow.Builder
All Implemented Interfaces:
TimeWindowOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
TimeWindow

public static final class TimeWindow.Builder extends com.google.protobuf.GeneratedMessage.Builder<TimeWindow.Builder> implements TimeWindowOrBuilder
 Time windows constrain the time of an event, such as the arrival time at a
 visit, or the start and end time of a vehicle.

 Hard time window bounds, `start_time` and `end_time`, enforce the earliest
 and latest time of the event, such that `start_time <= event_time <=
 end_time`. The soft time window lower bound, `soft_start_time`, expresses a
 preference for the event to happen at or after `soft_start_time` by incurring
 a cost proportional to how long before soft_start_time the event occurs. The
 soft time window upper bound, `soft_end_time`, expresses a preference for the
 event to happen at or before `soft_end_time` by incurring a cost proportional
 to how long after `soft_end_time` the event occurs. `start_time`, `end_time`,
 `soft_start_time` and `soft_end_time` should be within the global time limits
 (see
 [ShipmentModel.global_start_time][google.cloud.optimization.v1.ShipmentModel.global_start_time]
 and
 [ShipmentModel.global_end_time][google.cloud.optimization.v1.ShipmentModel.global_end_time])
 and should respect:
 ```
 0 <= `start_time` <= `soft_start_time` <= `end_time` and
 0 <= `start_time` <= `soft_end_time` <= `end_time`.
 ```
 
Protobuf type google.cloud.optimization.v1.TimeWindow
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
     
    A cost per hour added to other costs in the model if the event occurs after `soft_end_time`, computed as: ``` max(0, t.seconds - soft_end_time.seconds) * cost_per_hour_after_soft_end_time / 3600, t being the time of the event. ``` This cost must be positive, and the field can only be set if `soft_end_time` has been set.
    A cost per hour added to other costs in the model if the event occurs before soft_start_time, computed as: ``` max(0, soft_start_time - t.seconds) * cost_per_hour_before_soft_start_time / 3600, t being the time of the event. ``` This cost must be positive, and the field can only be set if soft_start_time has been set.
    The hard time window end time.
    The soft end time of the time window.
    The soft start time of the time window.
    The hard time window start time.
    double
    A cost per hour added to other costs in the model if the event occurs after `soft_end_time`, computed as: ``` max(0, t.seconds - soft_end_time.seconds) * cost_per_hour_after_soft_end_time / 3600, t being the time of the event. ``` This cost must be positive, and the field can only be set if `soft_end_time` has been set.
    double
    A cost per hour added to other costs in the model if the event occurs before soft_start_time, computed as: ``` max(0, soft_start_time - t.seconds) * cost_per_hour_before_soft_start_time / 3600, t being the time of the event. ``` This cost must be positive, and the field can only be set if soft_start_time has been set.
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.Timestamp
    The hard time window end time.
    com.google.protobuf.Timestamp.Builder
    The hard time window end time.
    com.google.protobuf.TimestampOrBuilder
    The hard time window end time.
    com.google.protobuf.Timestamp
    The soft end time of the time window.
    com.google.protobuf.Timestamp.Builder
    The soft end time of the time window.
    com.google.protobuf.TimestampOrBuilder
    The soft end time of the time window.
    com.google.protobuf.Timestamp
    The soft start time of the time window.
    com.google.protobuf.Timestamp.Builder
    The soft start time of the time window.
    com.google.protobuf.TimestampOrBuilder
    The soft start time of the time window.
    com.google.protobuf.Timestamp
    The hard time window start time.
    com.google.protobuf.Timestamp.Builder
    The hard time window start time.
    com.google.protobuf.TimestampOrBuilder
    The hard time window start time.
    boolean
    A cost per hour added to other costs in the model if the event occurs after `soft_end_time`, computed as: ``` max(0, t.seconds - soft_end_time.seconds) * cost_per_hour_after_soft_end_time / 3600, t being the time of the event. ``` This cost must be positive, and the field can only be set if `soft_end_time` has been set.
    boolean
    A cost per hour added to other costs in the model if the event occurs before soft_start_time, computed as: ``` max(0, soft_start_time - t.seconds) * cost_per_hour_before_soft_start_time / 3600, t being the time of the event. ``` This cost must be positive, and the field can only be set if soft_start_time has been set.
    boolean
    The hard time window end time.
    boolean
    The soft end time of the time window.
    boolean
    The soft start time of the time window.
    boolean
    The hard time window start time.
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
     
    final boolean
     
    mergeEndTime(com.google.protobuf.Timestamp value)
    The hard time window end time.
     
    mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    mergeFrom(com.google.protobuf.Message other)
     
    mergeSoftEndTime(com.google.protobuf.Timestamp value)
    The soft end time of the time window.
    mergeSoftStartTime(com.google.protobuf.Timestamp value)
    The soft start time of the time window.
    mergeStartTime(com.google.protobuf.Timestamp value)
    The hard time window start time.
    A cost per hour added to other costs in the model if the event occurs after `soft_end_time`, computed as: ``` max(0, t.seconds - soft_end_time.seconds) * cost_per_hour_after_soft_end_time / 3600, t being the time of the event. ``` This cost must be positive, and the field can only be set if `soft_end_time` has been set.
    A cost per hour added to other costs in the model if the event occurs before soft_start_time, computed as: ``` max(0, soft_start_time - t.seconds) * cost_per_hour_before_soft_start_time / 3600, t being the time of the event. ``` This cost must be positive, and the field can only be set if soft_start_time has been set.
    setEndTime(com.google.protobuf.Timestamp value)
    The hard time window end time.
    setEndTime(com.google.protobuf.Timestamp.Builder builderForValue)
    The hard time window end time.
    setSoftEndTime(com.google.protobuf.Timestamp value)
    The soft end time of the time window.
    setSoftEndTime(com.google.protobuf.Timestamp.Builder builderForValue)
    The soft end time of the time window.
    setSoftStartTime(com.google.protobuf.Timestamp value)
    The soft start time of the time window.
    setSoftStartTime(com.google.protobuf.Timestamp.Builder builderForValue)
    The soft start time of the time window.
    setStartTime(com.google.protobuf.Timestamp value)
    The hard time window start time.
    setStartTime(com.google.protobuf.Timestamp.Builder builderForValue)
    The hard time window start time.

    Methods inherited from class com.google.protobuf.GeneratedMessage.Builder

    addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, setUnknownFieldsProto3

    Methods inherited from class com.google.protobuf.AbstractMessage.Builder

    findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder

    addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.Message.Builder

    mergeDelimitedFrom, mergeDelimitedFrom

    Methods inherited from interface com.google.protobuf.MessageLite.Builder

    mergeFrom

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<TimeWindow.Builder>
    • clear

      public TimeWindow.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<TimeWindow.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<TimeWindow.Builder>
    • getDefaultInstanceForType

      public TimeWindow getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public TimeWindow build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public TimeWindow buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public TimeWindow.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<TimeWindow.Builder>
    • mergeFrom

      public TimeWindow.Builder mergeFrom(TimeWindow other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<TimeWindow.Builder>
    • mergeFrom

      public TimeWindow.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<TimeWindow.Builder>
      Throws:
      IOException
    • hasStartTime

      public boolean hasStartTime()
       The hard time window start time. If unspecified it will be set to
       `ShipmentModel.global_start_time`.
       
      .google.protobuf.Timestamp start_time = 1;
      Specified by:
      hasStartTime in interface TimeWindowOrBuilder
      Returns:
      Whether the startTime field is set.
    • getStartTime

      public com.google.protobuf.Timestamp getStartTime()
       The hard time window start time. If unspecified it will be set to
       `ShipmentModel.global_start_time`.
       
      .google.protobuf.Timestamp start_time = 1;
      Specified by:
      getStartTime in interface TimeWindowOrBuilder
      Returns:
      The startTime.
    • setStartTime

      public TimeWindow.Builder setStartTime(com.google.protobuf.Timestamp value)
       The hard time window start time. If unspecified it will be set to
       `ShipmentModel.global_start_time`.
       
      .google.protobuf.Timestamp start_time = 1;
    • setStartTime

      public TimeWindow.Builder setStartTime(com.google.protobuf.Timestamp.Builder builderForValue)
       The hard time window start time. If unspecified it will be set to
       `ShipmentModel.global_start_time`.
       
      .google.protobuf.Timestamp start_time = 1;
    • mergeStartTime

      public TimeWindow.Builder mergeStartTime(com.google.protobuf.Timestamp value)
       The hard time window start time. If unspecified it will be set to
       `ShipmentModel.global_start_time`.
       
      .google.protobuf.Timestamp start_time = 1;
    • clearStartTime

      public TimeWindow.Builder clearStartTime()
       The hard time window start time. If unspecified it will be set to
       `ShipmentModel.global_start_time`.
       
      .google.protobuf.Timestamp start_time = 1;
    • getStartTimeBuilder

      public com.google.protobuf.Timestamp.Builder getStartTimeBuilder()
       The hard time window start time. If unspecified it will be set to
       `ShipmentModel.global_start_time`.
       
      .google.protobuf.Timestamp start_time = 1;
    • getStartTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder()
       The hard time window start time. If unspecified it will be set to
       `ShipmentModel.global_start_time`.
       
      .google.protobuf.Timestamp start_time = 1;
      Specified by:
      getStartTimeOrBuilder in interface TimeWindowOrBuilder
    • hasEndTime

      public boolean hasEndTime()
       The hard time window end time. If unspecified it will be set to
       `ShipmentModel.global_end_time`.
       
      .google.protobuf.Timestamp end_time = 2;
      Specified by:
      hasEndTime in interface TimeWindowOrBuilder
      Returns:
      Whether the endTime field is set.
    • getEndTime

      public com.google.protobuf.Timestamp getEndTime()
       The hard time window end time. If unspecified it will be set to
       `ShipmentModel.global_end_time`.
       
      .google.protobuf.Timestamp end_time = 2;
      Specified by:
      getEndTime in interface TimeWindowOrBuilder
      Returns:
      The endTime.
    • setEndTime

      public TimeWindow.Builder setEndTime(com.google.protobuf.Timestamp value)
       The hard time window end time. If unspecified it will be set to
       `ShipmentModel.global_end_time`.
       
      .google.protobuf.Timestamp end_time = 2;
    • setEndTime

      public TimeWindow.Builder setEndTime(com.google.protobuf.Timestamp.Builder builderForValue)
       The hard time window end time. If unspecified it will be set to
       `ShipmentModel.global_end_time`.
       
      .google.protobuf.Timestamp end_time = 2;
    • mergeEndTime

      public TimeWindow.Builder mergeEndTime(com.google.protobuf.Timestamp value)
       The hard time window end time. If unspecified it will be set to
       `ShipmentModel.global_end_time`.
       
      .google.protobuf.Timestamp end_time = 2;
    • clearEndTime

      public TimeWindow.Builder clearEndTime()
       The hard time window end time. If unspecified it will be set to
       `ShipmentModel.global_end_time`.
       
      .google.protobuf.Timestamp end_time = 2;
    • getEndTimeBuilder

      public com.google.protobuf.Timestamp.Builder getEndTimeBuilder()
       The hard time window end time. If unspecified it will be set to
       `ShipmentModel.global_end_time`.
       
      .google.protobuf.Timestamp end_time = 2;
    • getEndTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder()
       The hard time window end time. If unspecified it will be set to
       `ShipmentModel.global_end_time`.
       
      .google.protobuf.Timestamp end_time = 2;
      Specified by:
      getEndTimeOrBuilder in interface TimeWindowOrBuilder
    • hasSoftStartTime

      public boolean hasSoftStartTime()
       The soft start time of the time window.
       
      .google.protobuf.Timestamp soft_start_time = 3;
      Specified by:
      hasSoftStartTime in interface TimeWindowOrBuilder
      Returns:
      Whether the softStartTime field is set.
    • getSoftStartTime

      public com.google.protobuf.Timestamp getSoftStartTime()
       The soft start time of the time window.
       
      .google.protobuf.Timestamp soft_start_time = 3;
      Specified by:
      getSoftStartTime in interface TimeWindowOrBuilder
      Returns:
      The softStartTime.
    • setSoftStartTime

      public TimeWindow.Builder setSoftStartTime(com.google.protobuf.Timestamp value)
       The soft start time of the time window.
       
      .google.protobuf.Timestamp soft_start_time = 3;
    • setSoftStartTime

      public TimeWindow.Builder setSoftStartTime(com.google.protobuf.Timestamp.Builder builderForValue)
       The soft start time of the time window.
       
      .google.protobuf.Timestamp soft_start_time = 3;
    • mergeSoftStartTime

      public TimeWindow.Builder mergeSoftStartTime(com.google.protobuf.Timestamp value)
       The soft start time of the time window.
       
      .google.protobuf.Timestamp soft_start_time = 3;
    • clearSoftStartTime

      public TimeWindow.Builder clearSoftStartTime()
       The soft start time of the time window.
       
      .google.protobuf.Timestamp soft_start_time = 3;
    • getSoftStartTimeBuilder

      public com.google.protobuf.Timestamp.Builder getSoftStartTimeBuilder()
       The soft start time of the time window.
       
      .google.protobuf.Timestamp soft_start_time = 3;
    • getSoftStartTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getSoftStartTimeOrBuilder()
       The soft start time of the time window.
       
      .google.protobuf.Timestamp soft_start_time = 3;
      Specified by:
      getSoftStartTimeOrBuilder in interface TimeWindowOrBuilder
    • hasSoftEndTime

      public boolean hasSoftEndTime()
       The soft end time of the time window.
       
      .google.protobuf.Timestamp soft_end_time = 4;
      Specified by:
      hasSoftEndTime in interface TimeWindowOrBuilder
      Returns:
      Whether the softEndTime field is set.
    • getSoftEndTime

      public com.google.protobuf.Timestamp getSoftEndTime()
       The soft end time of the time window.
       
      .google.protobuf.Timestamp soft_end_time = 4;
      Specified by:
      getSoftEndTime in interface TimeWindowOrBuilder
      Returns:
      The softEndTime.
    • setSoftEndTime

      public TimeWindow.Builder setSoftEndTime(com.google.protobuf.Timestamp value)
       The soft end time of the time window.
       
      .google.protobuf.Timestamp soft_end_time = 4;
    • setSoftEndTime

      public TimeWindow.Builder setSoftEndTime(com.google.protobuf.Timestamp.Builder builderForValue)
       The soft end time of the time window.
       
      .google.protobuf.Timestamp soft_end_time = 4;
    • mergeSoftEndTime

      public TimeWindow.Builder mergeSoftEndTime(com.google.protobuf.Timestamp value)
       The soft end time of the time window.
       
      .google.protobuf.Timestamp soft_end_time = 4;
    • clearSoftEndTime

      public TimeWindow.Builder clearSoftEndTime()
       The soft end time of the time window.
       
      .google.protobuf.Timestamp soft_end_time = 4;
    • getSoftEndTimeBuilder

      public com.google.protobuf.Timestamp.Builder getSoftEndTimeBuilder()
       The soft end time of the time window.
       
      .google.protobuf.Timestamp soft_end_time = 4;
    • getSoftEndTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getSoftEndTimeOrBuilder()
       The soft end time of the time window.
       
      .google.protobuf.Timestamp soft_end_time = 4;
      Specified by:
      getSoftEndTimeOrBuilder in interface TimeWindowOrBuilder
    • hasCostPerHourBeforeSoftStartTime

      public boolean hasCostPerHourBeforeSoftStartTime()
       A cost per hour added to other costs in the model if the event occurs
       before soft_start_time, computed as:
      
       ```
       max(0, soft_start_time - t.seconds)
       * cost_per_hour_before_soft_start_time / 3600,
       t being the time of the event.
       ```
      
       This cost must be positive, and the field can only be set if
       soft_start_time has been set.
       
      optional double cost_per_hour_before_soft_start_time = 5;
      Specified by:
      hasCostPerHourBeforeSoftStartTime in interface TimeWindowOrBuilder
      Returns:
      Whether the costPerHourBeforeSoftStartTime field is set.
    • getCostPerHourBeforeSoftStartTime

      public double getCostPerHourBeforeSoftStartTime()
       A cost per hour added to other costs in the model if the event occurs
       before soft_start_time, computed as:
      
       ```
       max(0, soft_start_time - t.seconds)
       * cost_per_hour_before_soft_start_time / 3600,
       t being the time of the event.
       ```
      
       This cost must be positive, and the field can only be set if
       soft_start_time has been set.
       
      optional double cost_per_hour_before_soft_start_time = 5;
      Specified by:
      getCostPerHourBeforeSoftStartTime in interface TimeWindowOrBuilder
      Returns:
      The costPerHourBeforeSoftStartTime.
    • setCostPerHourBeforeSoftStartTime

      public TimeWindow.Builder setCostPerHourBeforeSoftStartTime(double value)
       A cost per hour added to other costs in the model if the event occurs
       before soft_start_time, computed as:
      
       ```
       max(0, soft_start_time - t.seconds)
       * cost_per_hour_before_soft_start_time / 3600,
       t being the time of the event.
       ```
      
       This cost must be positive, and the field can only be set if
       soft_start_time has been set.
       
      optional double cost_per_hour_before_soft_start_time = 5;
      Parameters:
      value - The costPerHourBeforeSoftStartTime to set.
      Returns:
      This builder for chaining.
    • clearCostPerHourBeforeSoftStartTime

      public TimeWindow.Builder clearCostPerHourBeforeSoftStartTime()
       A cost per hour added to other costs in the model if the event occurs
       before soft_start_time, computed as:
      
       ```
       max(0, soft_start_time - t.seconds)
       * cost_per_hour_before_soft_start_time / 3600,
       t being the time of the event.
       ```
      
       This cost must be positive, and the field can only be set if
       soft_start_time has been set.
       
      optional double cost_per_hour_before_soft_start_time = 5;
      Returns:
      This builder for chaining.
    • hasCostPerHourAfterSoftEndTime

      public boolean hasCostPerHourAfterSoftEndTime()
       A cost per hour added to other costs in the model if the event occurs after
       `soft_end_time`, computed as:
      
       ```
       max(0, t.seconds - soft_end_time.seconds)
       * cost_per_hour_after_soft_end_time / 3600,
       t being the time of the event.
       ```
      
       This cost must be positive, and the field can only be set if
       `soft_end_time` has been set.
       
      optional double cost_per_hour_after_soft_end_time = 6;
      Specified by:
      hasCostPerHourAfterSoftEndTime in interface TimeWindowOrBuilder
      Returns:
      Whether the costPerHourAfterSoftEndTime field is set.
    • getCostPerHourAfterSoftEndTime

      public double getCostPerHourAfterSoftEndTime()
       A cost per hour added to other costs in the model if the event occurs after
       `soft_end_time`, computed as:
      
       ```
       max(0, t.seconds - soft_end_time.seconds)
       * cost_per_hour_after_soft_end_time / 3600,
       t being the time of the event.
       ```
      
       This cost must be positive, and the field can only be set if
       `soft_end_time` has been set.
       
      optional double cost_per_hour_after_soft_end_time = 6;
      Specified by:
      getCostPerHourAfterSoftEndTime in interface TimeWindowOrBuilder
      Returns:
      The costPerHourAfterSoftEndTime.
    • setCostPerHourAfterSoftEndTime

      public TimeWindow.Builder setCostPerHourAfterSoftEndTime(double value)
       A cost per hour added to other costs in the model if the event occurs after
       `soft_end_time`, computed as:
      
       ```
       max(0, t.seconds - soft_end_time.seconds)
       * cost_per_hour_after_soft_end_time / 3600,
       t being the time of the event.
       ```
      
       This cost must be positive, and the field can only be set if
       `soft_end_time` has been set.
       
      optional double cost_per_hour_after_soft_end_time = 6;
      Parameters:
      value - The costPerHourAfterSoftEndTime to set.
      Returns:
      This builder for chaining.
    • clearCostPerHourAfterSoftEndTime

      public TimeWindow.Builder clearCostPerHourAfterSoftEndTime()
       A cost per hour added to other costs in the model if the event occurs after
       `soft_end_time`, computed as:
      
       ```
       max(0, t.seconds - soft_end_time.seconds)
       * cost_per_hour_after_soft_end_time / 3600,
       t being the time of the event.
       ```
      
       This cost must be positive, and the field can only be set if
       `soft_end_time` has been set.
       
      optional double cost_per_hour_after_soft_end_time = 6;
      Returns:
      This builder for chaining.