/// <summary>
        /// Returns true if RefundCustomer instances are equal
        /// </summary>
        /// <param name="other">Instance of RefundCustomer to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(RefundCustomer other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Address == other.Address ||
                     Address != null &&
                     Address.Equals(other.Address)
                     ) &&
                 (
                     CompanyInformation == other.CompanyInformation ||
                     CompanyInformation != null &&
                     CompanyInformation.Equals(other.CompanyInformation)
                 ) &&
                 (
                     ContactDetails == other.ContactDetails ||
                     ContactDetails != null &&
                     ContactDetails.Equals(other.ContactDetails)
                 ) &&
                 (
                     FiscalNumber == other.FiscalNumber ||
                     FiscalNumber != null &&
                     FiscalNumber.Equals(other.FiscalNumber)
                 ));
        }
        /// <summary>
        /// Returns true if CustomerBase instances are equal
        /// </summary>
        /// <param name="other">Instance of CustomerBase to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(CustomerBase other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     CompanyInformation == other.CompanyInformation ||
                     CompanyInformation != null &&
                     CompanyInformation.Equals(other.CompanyInformation)
                     ) &&
                 (
                     MerchantCustomerId == other.MerchantCustomerId ||
                     MerchantCustomerId != null &&
                     MerchantCustomerId.Equals(other.MerchantCustomerId)
                 ) &&
                 (
                     VatNumber == other.VatNumber ||
                     VatNumber != null &&
                     VatNumber.Equals(other.VatNumber)
                 ));
        }
        /// <summary>
        /// Returns true if CustomerTokenWithContactDetails instances are equal
        /// </summary>
        /// <param name="other">Instance of CustomerTokenWithContactDetails to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(CustomerTokenWithContactDetails other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     ContactDetails == other.ContactDetails ||
                     ContactDetails != null &&
                     ContactDetails.Equals(other.ContactDetails)
                     ) &&
                 (
                     BillingAddress == other.BillingAddress ||
                     BillingAddress != null &&
                     BillingAddress.Equals(other.BillingAddress)
                 ) &&
                 (
                     PersonalInformation == other.PersonalInformation ||
                     PersonalInformation != null &&
                     PersonalInformation.Equals(other.PersonalInformation)
                 ) &&
                 (
                     CompanyInformation == other.CompanyInformation ||
                     CompanyInformation != null &&
                     CompanyInformation.Equals(other.CompanyInformation)
                 ) &&
                 (
                     MerchantCustomerId == other.MerchantCustomerId ||
                     MerchantCustomerId != null &&
                     MerchantCustomerId.Equals(other.MerchantCustomerId)
                 ) &&
                 (
                     VatNumber == other.VatNumber ||
                     VatNumber != null &&
                     VatNumber.Equals(other.VatNumber)
                 ));
        }