/// <summary>
        /// Deletes a credit note comment.
        /// </summary>
        /// <param name="creditnote_id">The creditnote_id is the identifier of the crditnote.</param>
        /// <param name="comment_id">The comment_id is the identifier of the comment.</param>
        /// <returns>System.String.<br></br>The success message is "The comment has been deleted."</returns>
        public string DeleteComment(string creditnote_id, string comment_id)
        {
            string url      = baseAddress + "/" + creditnote_id + "/comments/" + comment_id;
            var    responce = ZohoHttpClient.delete(url, getQueryParameters());

            return(CreditNoteParser.getMessage(responce));
        }
        /// <summary>
        /// Updates the pdf template associated with the credit note.
        /// </summary>
        /// <param name="creditnote_id">The creditnote_id is the identifier of the creditnote.</param>
        /// <param name="template_id">The template_id is the identifier of the template.</param>
        /// <returns>System.String.</returns>
        public string UpdateTemplate(string creditnote_id, string template_id)
        {
            string url      = baseAddress + "/" + creditnote_id + "/templates/" + template_id;
            var    responce = ZohoHttpClient.put(url, getQueryParameters());

            return(CreditNoteParser.getMessage(responce));
        }
        /// <summary>
        /// Mark an existing credit note as void.
        /// </summary>
        /// <param name="creditnote_id">The creditnote_id is the identifier of the creditnote.</param>
        /// <returns>System.String.<br></br>The success message is "The credit note has been marked as void."</returns>
        public string ConvertToVoid(string creditnote_id)
        {
            string url      = baseAddress + "/" + creditnote_id + "/status/void";
            var    responce = ZohoHttpClient.post(url, getQueryParameters());

            return(CreditNoteParser.getMessage(responce));
        }
        /// <summary>
        ///     Deletes a credit note refund.
        /// </summary>
        /// <param name="creditnote_id">The creditnote_id is the identifier of the crditnote.</param>
        /// <param name="creditnote_refund_id">The creditnote_refund_id is the identifier of the refund.</param>
        /// <returns>System.String.<br></br>The success message is "The refund has been successfully deleted."</returns>
        public string DeleteRefund(string creditnote_id, string creditnote_refund_id)
        {
            var url      = baseAddress + "/" + creditnote_id + "/refunds/" + creditnote_refund_id;
            var responce = ZohoHttpClient.delete(url, getQueryParameters());

            return(CreditNoteParser.getMessage(responce));
        }
        /// <summary>
        /// Emails a credit note to the customer.
        /// </summary>
        /// <param name="creditnote_id">The creditnote_id is the identifier of the creditnote.</param>
        /// <param name="mail_content_info">The mail_content_info is the EmailNotification object with to_mail_ids,subject and body as mandatory parameters.</param>
        /// <param name="parameters">The parameters is the dictionary object which is having the option parameter of customer_id as a key,value pair.</param>
        /// <returns>System.String.<br></br>The success message is "Your credit note has been sent."</returns>
        public string SendEmail(string creditnote_id, EmailNotification mail_content_info, Dictionary <object, object> parameters)
        {
            string url  = baseAddress + "/" + creditnote_id + "/email";
            var    json = JsonConvert.SerializeObject(mail_content_info);

            parameters.Add("JSONString", json);
            var responce = ZohoHttpClient.post(url, getQueryParameters(parameters));

            return(CreditNoteParser.getMessage(responce));
        }
        /// <summary>
        /// Updates the shipping address for an existing credit note alone. You can set this address as default shipping address for your customer by specifying 'is_update_customer' node as true.
        /// </summary>
        /// <param name="creditnote_id">The creditnote_id is the identifier of the creditnote.</param>
        /// <param name="update_info">The update_info is the Address object which contains the changes information.</param>
        /// <returns>System.String.<br></br>The success message is "Shipping address updated"</returns>
        public string UpdateShippingAddress(string creditnote_id, Address update_info)
        {
            string url        = baseAddress + "/" + creditnote_id + "/address/shipping";
            var    json       = JsonConvert.SerializeObject(update_info);
            var    jsonstring = new Dictionary <object, object>();

            jsonstring.Add("JSONString", json);
            var responce = ZohoHttpClient.put(url, getQueryParameters(jsonstring));

            return(CreditNoteParser.getMessage(responce));
        }