How can I add an 'On Hold' status & pause the SLA through code customization in Frappe Helpdesk?

I want to add an “On Hold” status in both desk and Front end level and pause the SLA when a ticket reaches this status, instead of pausing it in the “Replied” status. Is it possible to customize this through code?

I have installed Frappe Helpdesk in Developer mode. Can I add the "On Hold" status in both the Desk and front-end portal, and ensure the SLA is paused when this status is set? Currently, we only have Open, Resolved, Replied, and Closed statuses, and need to add “On Hold.”