/// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         int hashCode = 41;
         if (Type != null)
         {
             hashCode = hashCode * 59 + Type.GetHashCode();
         }
         if (Id != null)
         {
             hashCode = hashCode * 59 + Id.GetHashCode();
         }
         if (LocationId != null)
         {
             hashCode = hashCode * 59 + LocationId.GetHashCode();
         }
         if (ArrTime != null)
         {
             hashCode = hashCode * 59 + ArrTime.GetHashCode();
         }
         if (EndTime != null)
         {
             hashCode = hashCode * 59 + EndTime.GetHashCode();
         }
         if (WaitingTime != null)
         {
             hashCode = hashCode * 59 + WaitingTime.GetHashCode();
         }
         if (Distance != null)
         {
             hashCode = hashCode * 59 + Distance.GetHashCode();
         }
         if (DrivingTime != null)
         {
             hashCode = hashCode * 59 + DrivingTime.GetHashCode();
         }
         if (LoadBefore != null)
         {
             hashCode = hashCode * 59 + LoadBefore.GetHashCode();
         }
         if (LoadAfter != null)
         {
             hashCode = hashCode * 59 + LoadAfter.GetHashCode();
         }
         return(hashCode);
     }
 }
        public override int GetHashCode()
        {
            int hash = 1;

            if (Miles != 0)
            {
                hash ^= Miles.GetHashCode();
            }
            if (drivingTime_ != null)
            {
                hash ^= DrivingTime.GetHashCode();
            }
            hash ^= steps_.GetHashCode();
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }