/// <summary>
        /// Return the HashCode of this object.
        /// </summary>
        /// <returns>The HashCode of this object.</returns>
        public override Int32 GetHashCode()
        {
            unchecked
            {
                return(TransactionId.GetHashCode() * 19 ^
                       AuthorisationValue.GetHashCode() * 17 ^
                       ServiceSessionId.GetHashCode() * 13 ^
                       IntermediateCDRRequested.GetHashCode() * 11 ^
                       RequestStatus.GetHashCode() * 7 ^

                       (SalesPartnerOperatorId.HasValue
                            ? SalesPartnerOperatorId.GetHashCode() * 5
                            : 0) ^

                       (UserContractIdAlias.HasValue
                            ? UserContractIdAlias.GetHashCode() * 3
                            : 0) ^

                       // ToDo: Add MeterLimits.GetHashCode()!

                       (Parameter.IsNotNullOrEmpty()
                            ? Parameter.GetHashCode()
                            : 0));
            }
        }