Your comments
I'd sugest either to break down the glpi_ticket_user table into glpi_ticket_requester, glpi_ticket_watcher and glpi_ticket_assignee. Data processing would be faster when generating statistics.
Here we could define that no tickets can be pending in our teams but it would be nice to have more status and have the option to configure status that stops SLA counting and satus that doesn't stop it. One example of our operation is how can we differentiate tickets solved (solution delivered), tickets closed (validated by user), tickets paid (charge authorized).
This would be nice. Today, in my company, we have about 30000 tickets per month and when we need to do some reports MySQL performance is a bottleneck and we need to run many of the queries overnight in order not to impact operation. Other technic we use is to pre calculate and pre process some data in real time using triggers.
Using PostgreeSQL would help a lot.
Customer support service by UserEcho
This would be nice, I'd also suggest to have an automatic action to solve pending tickets after a pre defined time.