/// <summary>
        /// (the specialists rate + TeleConsult mark up) + (virtual consultation cost + TeleConsult mark up) + Sales Tax if applicable
        /// </summary>
        /// <param name="specRate"></param>
        /// <param name="gstOnSpecRate"> = 1 if this specialization doesnot apply gst</param>
        /// <param name="platformCost"></param>
        /// <param name="gstOnPlatformCost"></param>
        /// <returns>customer rate - already has money rounding</returns>
        public decimal GetCustomerRate(decimal specRate, bool appliedGST)
        {
            SystemConfigService systemConfig = new SystemConfigService(UnitOfWork, Repository, Settings);

            //default tax = 0.1 (10%)
            decimal tax = systemConfig.GetGST() + 1;
            // commission = 2% = 0.02
            decimal commission = systemConfig.GetValueByKey(ParamatricBusinessRules.COMMISSION_LEVELS.ToString()) / 100;

            decimal basicFee = systemConfig.GetValueByKey(ParamatricBusinessRules.BASIC_FEE.ToString());

            if (!appliedGST)
            {
                tax = 1;
            }

            decimal rate = (specRate * (1 + commission) + basicFee) * tax;

            return Utilities.RoundMoney(rate);
        }