I have a chatting system working fine. Two persons are chatting, one is visiting, and the other is a representative. when a visitor tries to chat, a random representative is selected from the online representatives.
What you need to updated:
if a representative is already chatting with someone else, he should not be assigned to anyone else.
if a representative does not responds for 2 minutes, he should be made offline by force.
if a visitor does not responds for 2 minutes, he should be made offline by force.
and anything else to make the chatting system perfect.
if a bidder does not explains the problem in his bid and his suggestions, his bid will be ignored and will be marked as spam