public void MergeFrom(Tenancy other)
 {
     if (other == null)
     {
         return;
     }
     if (other.entityId_ != null)
     {
         if (entityId_ == null)
         {
             entityId_ = new global::HOLMS.Types.IAM.TenancyIndicator();
         }
         EntityId.MergeFrom(other.EntityId);
     }
     if (other.TenancyName.Length != 0)
     {
         TenancyName = other.TenancyName;
     }
     if (other.DustCleanAfterDays != 0)
     {
         DustCleanAfterDays = other.DustCleanAfterDays;
     }
     if (other.MandatoryCleaningAfterInHouseDays != 0)
     {
         MandatoryCleaningAfterInHouseDays = other.MandatoryCleaningAfterInHouseDays;
     }
     if (other.MandatorySheetCleaningAfterInHouseDays != 0)
     {
         MandatorySheetCleaningAfterInHouseDays = other.MandatorySheetCleaningAfterInHouseDays;
     }
     properties_.Add(other.properties_);
     phoneCodes_.Add(other.phoneCodes_);
     if (other.reservationDefaults_ != null)
     {
         if (reservationDefaults_ == null)
         {
             reservationDefaults_ = new global::HOLMS.Types.TenancyConfig.ReservationDefaults();
         }
         ReservationDefaults.MergeFrom(other.ReservationDefaults);
     }
     if (other.reservationStatusColors_ != null)
     {
         if (reservationStatusColors_ == null)
         {
             reservationStatusColors_ = new global::HOLMS.Types.TenancyConfig.ReservationStatusColors();
         }
         ReservationStatusColors.MergeFrom(other.ReservationStatusColors);
     }
     if (other.roomStatusColors_ != null)
     {
         if (roomStatusColors_ == null)
         {
             roomStatusColors_ = new global::HOLMS.Types.TenancyConfig.RoomStatusColors();
         }
         RoomStatusColors.MergeFrom(other.RoomStatusColors);
     }
     if (other.hKPhoneCodes_ != null)
     {
         if (hKPhoneCodes_ == null)
         {
             hKPhoneCodes_ = new global::HOLMS.Types.TenancyConfig.HKPhoneCodes();
         }
         HKPhoneCodes.MergeFrom(other.HKPhoneCodes);
     }
     if (other.roomCallBillingRates_ != null)
     {
         if (roomCallBillingRates_ == null)
         {
             roomCallBillingRates_ = new global::HOLMS.Types.TenancyConfig.RoomCallBillingRates();
         }
         RoomCallBillingRates.MergeFrom(other.RoomCallBillingRates);
     }
     if (other.channelManagerConfig_ != null)
     {
         if (channelManagerConfig_ == null)
         {
             channelManagerConfig_ = new global::HOLMS.Types.TenancyConfig.ChannelManagerConfig();
         }
         ChannelManagerConfig.MergeFrom(other.ChannelManagerConfig);
     }
     if (other.DefaultAdminEmail.Length != 0)
     {
         DefaultAdminEmail = other.DefaultAdminEmail;
     }
     if (other.PostmarkEmailSenderAddress.Length != 0)
     {
         PostmarkEmailSenderAddress = other.PostmarkEmailSenderAddress;
     }
     if (other.PostmarkApiKey.Length != 0)
     {
         PostmarkApiKey = other.PostmarkApiKey;
     }
 }
        public override int GetHashCode()
        {
            int hash = 1;

            if (entityId_ != null)
            {
                hash ^= EntityId.GetHashCode();
            }
            if (TenancyName.Length != 0)
            {
                hash ^= TenancyName.GetHashCode();
            }
            if (DustCleanAfterDays != 0)
            {
                hash ^= DustCleanAfterDays.GetHashCode();
            }
            if (MandatoryCleaningAfterInHouseDays != 0)
            {
                hash ^= MandatoryCleaningAfterInHouseDays.GetHashCode();
            }
            if (MandatorySheetCleaningAfterInHouseDays != 0)
            {
                hash ^= MandatorySheetCleaningAfterInHouseDays.GetHashCode();
            }
            hash ^= properties_.GetHashCode();
            hash ^= phoneCodes_.GetHashCode();
            if (reservationDefaults_ != null)
            {
                hash ^= ReservationDefaults.GetHashCode();
            }
            if (reservationStatusColors_ != null)
            {
                hash ^= ReservationStatusColors.GetHashCode();
            }
            if (roomStatusColors_ != null)
            {
                hash ^= RoomStatusColors.GetHashCode();
            }
            if (hKPhoneCodes_ != null)
            {
                hash ^= HKPhoneCodes.GetHashCode();
            }
            if (roomCallBillingRates_ != null)
            {
                hash ^= RoomCallBillingRates.GetHashCode();
            }
            if (channelManagerConfig_ != null)
            {
                hash ^= ChannelManagerConfig.GetHashCode();
            }
            if (DefaultAdminEmail.Length != 0)
            {
                hash ^= DefaultAdminEmail.GetHashCode();
            }
            if (PostmarkEmailSenderAddress.Length != 0)
            {
                hash ^= PostmarkEmailSenderAddress.GetHashCode();
            }
            if (PostmarkApiKey.Length != 0)
            {
                hash ^= PostmarkApiKey.GetHashCode();
            }
            return(hash);
        }