Create a "timer" for SLAs, instead of just using dates, so that they can be paused when a ticket is put into a category like "Waiting on User" or "Waiting on Third Party". This way SLAs aren't breached when Techs are waiting on information from a user or third party. When placed back into an "Open" status, the SLA would pick up where it left off. So if the SLA has a 48 hour time for completion and a Tech puts it into "Waiting on Customer" with say 37 hours left. The timer would "freeze" there until the user responded and the tech puts it back into an "open" status. The SLA timer would then continue counting down from where it was paused at.
Sharay Angle commented
When a ticket is in a stalled state, SLAs should not be running. When the status state is changed back to an open state, SLAs should pick back up. SLAs should also not keep the original SLA when a ticket is transferred. If queue 1 has a 4 hour window but the ticket needs moved to a more advanced queue with an 8 hour window, the SLA from the 1st queue should not be the driving factor for the next queue.
Bruno Saikali commented
We are trying to create SLA Pausing with Rules, but without a custom table it is very complex. This will be very useful to us.