Таймаут можно рассматривать, как флаг, наличие которого сигнализирует на запрет какого-либо действия. В БД типа key/value кладем значение с ограниченным временем жизни. Пока оно живо — действие запрещено. При записи значение таймаута берется из пула купленных (или умолчательных) для пользователя. Ключ - юзер, значение - тип таймаута