Agent can have external events prevent checkout from the queue. eg: XMPP/Jabber status can be checked before checking the agent out