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

            if (freeCallGracePeriod_ != null)
            {
                hash ^= FreeCallGracePeriod.GetHashCode();
            }
            if (LocalAreaCode.Length != 0)
            {
                hash ^= LocalAreaCode.GetHashCode();
            }
            if (localFirstMinuteCharge_ != null)
            {
                hash ^= LocalFirstMinuteCharge.GetHashCode();
            }
            if (localAdditionalMinuteCharge_ != null)
            {
                hash ^= LocalAdditionalMinuteCharge.GetHashCode();
            }
            if (longDistanceFirstMinuteCharge_ != null)
            {
                hash ^= LongDistanceFirstMinuteCharge.GetHashCode();
            }
            if (longDistanceAdditionalMinuteCharge_ != null)
            {
                hash ^= LongDistanceAdditionalMinuteCharge.GetHashCode();
            }
            if (internationalFirstMinuteCharge_ != null)
            {
                hash ^= InternationalFirstMinuteCharge.GetHashCode();
            }
            if (internationalAdditionalMinuteCharge_ != null)
            {
                hash ^= InternationalAdditionalMinuteCharge.GetHashCode();
            }
            if (tollFreeFlatRate_ != null)
            {
                hash ^= TollFreeFlatRate.GetHashCode();
            }
            if (directoryAssistanceFlatRate_ != null)
            {
                hash ^= DirectoryAssistanceFlatRate.GetHashCode();
            }
            return(hash);
        }
 public void MergeFrom(RoomCallBillingRates other)
 {
     if (other == null)
     {
         return;
     }
     if (other.freeCallGracePeriod_ != null)
     {
         if (freeCallGracePeriod_ == null)
         {
             freeCallGracePeriod_ = new global::Google.Protobuf.WellKnownTypes.Duration();
         }
         FreeCallGracePeriod.MergeFrom(other.FreeCallGracePeriod);
     }
     if (other.LocalAreaCode.Length != 0)
     {
         LocalAreaCode = other.LocalAreaCode;
     }
     if (other.localFirstMinuteCharge_ != null)
     {
         if (localFirstMinuteCharge_ == null)
         {
             localFirstMinuteCharge_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         LocalFirstMinuteCharge.MergeFrom(other.LocalFirstMinuteCharge);
     }
     if (other.localAdditionalMinuteCharge_ != null)
     {
         if (localAdditionalMinuteCharge_ == null)
         {
             localAdditionalMinuteCharge_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         LocalAdditionalMinuteCharge.MergeFrom(other.LocalAdditionalMinuteCharge);
     }
     if (other.longDistanceFirstMinuteCharge_ != null)
     {
         if (longDistanceFirstMinuteCharge_ == null)
         {
             longDistanceFirstMinuteCharge_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         LongDistanceFirstMinuteCharge.MergeFrom(other.LongDistanceFirstMinuteCharge);
     }
     if (other.longDistanceAdditionalMinuteCharge_ != null)
     {
         if (longDistanceAdditionalMinuteCharge_ == null)
         {
             longDistanceAdditionalMinuteCharge_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         LongDistanceAdditionalMinuteCharge.MergeFrom(other.LongDistanceAdditionalMinuteCharge);
     }
     if (other.internationalFirstMinuteCharge_ != null)
     {
         if (internationalFirstMinuteCharge_ == null)
         {
             internationalFirstMinuteCharge_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         InternationalFirstMinuteCharge.MergeFrom(other.InternationalFirstMinuteCharge);
     }
     if (other.internationalAdditionalMinuteCharge_ != null)
     {
         if (internationalAdditionalMinuteCharge_ == null)
         {
             internationalAdditionalMinuteCharge_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         InternationalAdditionalMinuteCharge.MergeFrom(other.InternationalAdditionalMinuteCharge);
     }
     if (other.tollFreeFlatRate_ != null)
     {
         if (tollFreeFlatRate_ == null)
         {
             tollFreeFlatRate_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         TollFreeFlatRate.MergeFrom(other.TollFreeFlatRate);
     }
     if (other.directoryAssistanceFlatRate_ != null)
     {
         if (directoryAssistanceFlatRate_ == null)
         {
             directoryAssistanceFlatRate_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         DirectoryAssistanceFlatRate.MergeFrom(other.DirectoryAssistanceFlatRate);
     }
 }