Every new ticket in the helpdesk is marked as ‘Open’ to indicate that the customer’s problem is yet to be solved. The path taken by every ticket till it reaches its ‘Closed’ status is called the ticket lifecycle. Usually between open and closed, ‘pending’ and ‘resolved’ are the only two statuses, specified by default. Not every ticket has to pass through the pending state, which could mean that the agent is waiting on customer’s reply or developer’s help to solve the issue.
But ideally, every valid ticket has to pass through the resolved state before it can be closed. It’s good practice to let customers, the people who submitted the ticket, be the ones to judge if the solution is adequate or not. This is why protocol dictates that an agent resolves a ticket when he feels he’s provided an adequate solution. And if the customer is satisfied with the solution, they can close the ticket.
You can add more states to the life-cycle by creating custom ticket statuses. And you can choose which statuses need to have the SLA timers running. For example, you can create a ‘Refund processing’ status for which SLA is on and a ‘Refund approved’ status for which the SLA is off.