public override int GetHashCode()
        {
            int hash = 1;

            if (id_ != null)
            {
                hash ^= Id.GetHashCode();
            }
            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (Description.Length != 0)
            {
                hash ^= Description.GetHashCode();
            }
            if (additionalPersonNightlyCharge_ != null)
            {
                hash ^= AdditionalPersonNightlyCharge.GetHashCode();
            }
            if (mustBookBefore_ != null)
            {
                hash ^= MustBookBefore.GetHashCode();
            }
            if (overlaidOn_ != null)
            {
                hash ^= OverlaidOn.GetHashCode();
            }
            return(hash);
        }
 public void MergeFrom(RateSchedule other)
 {
     if (other == null)
     {
         return;
     }
     if (other.id_ != null)
     {
         if (id_ == null)
         {
             id_ = new global::HOLMS.Types.Supply.RateScheduleIndicator();
         }
         Id.MergeFrom(other.Id);
     }
     if (other.Name.Length != 0)
     {
         Name = other.Name;
     }
     if (other.Description.Length != 0)
     {
         Description = other.Description;
     }
     if (other.additionalPersonNightlyCharge_ != null)
     {
         if (additionalPersonNightlyCharge_ == null)
         {
             additionalPersonNightlyCharge_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         AdditionalPersonNightlyCharge.MergeFrom(other.AdditionalPersonNightlyCharge);
     }
     if (other.mustBookBefore_ != null)
     {
         if (mustBookBefore_ == null)
         {
             mustBookBefore_ = new global::Google.Protobuf.WellKnownTypes.Timestamp();
         }
         MustBookBefore.MergeFrom(other.MustBookBefore);
     }
     if (other.overlaidOn_ != null)
     {
         if (overlaidOn_ == null)
         {
             overlaidOn_ = new global::HOLMS.Types.Supply.RateScheduleIndicator();
         }
         OverlaidOn.MergeFrom(other.OverlaidOn);
     }
 }