При каждом телодвижении менеджера на сайте (например, у вас там стоит JS, который раз в минуту дёргает какой-нибудь URL) вы сохраняете текущее время в табличке. Соответственно, выборка "получить список менеджеров из таблички, состояние которых свежее двух минут" даст вам искомое.
В общем, определение состояния пользователя - это непростая задача. Я бы сделал чуть сложнее, посадил менеджеров на Jabber, взял соответствующую библиотеку и с её помощью определял состояние менеджеров и организовал бы обмен данными.
Пришёл запрос, скрипт глянул активных менеджеров в джаббере (связь manager-jabber), откинул тех, кто не попадает в нужный регион (связь manager-area), из оставшихся выбрал одного и заслал ему ссылку на страницу в админке прямо в джаббер.
Такой механизм может писать журнал кто и когда был в онлайне, кому была отправлена ссылка, проверить её доставку (раз был в онлайне некоторый таймаут после отправки - значит получил) и менеджеру достаточно настроить jabber клиент на любом девайсе с выходом в интернет, а не лупиться в сайт.