Page 1 of 1

List Call Hours

PostPosted: Thu Dec 18, 2014 11:35 am
by mav2287
Is it possible to set call hours based on a list? For example you could run 2 lists in the same campaign list 1 would have call hours of 8-1 and list 2 would have call hours of 12-6?

Re: List Call Hours

PostPosted: Thu Dec 18, 2014 11:58 am
by mflorell
Vicidial doesn't have any features currently that do what you describe. We have written custom perl scripts for clients before that are put in the crontab to create the same effect, but they are not easily configurable.

Re: List Call Hours

PostPosted: Thu Dec 18, 2014 12:25 pm
by mav2287
I didn't think that was something that was currently there, but I figured I would ask. My thought was that this seemed like something that could be added without a ton of work. I am thinking it makes sense to have AST_VDhopper check if a list is within it's time and if not have it just remove that list from the lists that it is looking at. From looking at the code it would seem that AST_VDhopper is checking to see if the time for a lead is with the limit so it seemed to make sense to write the code in there for the list time as well. This way it would also still display the correct dialable leads ect. Any thoughts or advice before starting to work on it?

Re: List Call Hours

PostPosted: Thu Dec 18, 2014 1:08 pm
by mflorell
It would be a lot of work, but it is certainly possible. Are you going to make it use time based upon the timezone of the lead or the server?

Re: List Call Hours

PostPosted: Thu Dec 18, 2014 1:24 pm
by mav2287
I was planning on doing it based on the list as a whole on server time. So that between X and Y time based on the server that list was off limits. Your question makes sense though in terms of use though. Lead time would make more sense, although it seems like it would be more code. The idea is really stemming from my need to call leads at work for 8-5 and then switch to home/cell after that if you don't talk to the lead. This seemed to solve the problem when used with MULTI_LEAD in terms of allowing use of just 1 campaign instead of having to switch campaigns. The issues with 2 campaigns I see is if you want overlap on the lists you lose efficiency by not having all agents dial together.

In terms of how to do it I was thinking that you would simply do another check after you have done your GMT for the campaign and then have it scrub the GMT of the lead based on if the lead doesn't fall with in the gmt for the list. This way you have the Master as the campaign.

Re: List Call Hours

PostPosted: Thu Dec 18, 2014 5:05 pm
by mav2287
So after beating on this a while and trying to figure out how to do this with the least amount of change to the way things currently work it would seem that the simple answer is to go in and change all the places in the AST_VDhopper script where it has "list_id IN()" and add a gmt restriction right behind it. So as an example you would currently see the list_id's in the where part of your sql statement this way
Code: Select all
and list_id IN('4000','998','4001') and {GMT STUFF}


My thought is that if you change it to the code I have below you will effectively pull the gmt's you don't want out of the list before you apply the campaign gmt's

Code: Select all
((list_id IN('4000') AND gmt_offset_now NOT IN(GMT's you don't want)) OR (list_id IN('998') AND gmt_offset_now NOT IN(GMT's you don't want)) OR list_id IN('4001')) and {GMT STUFF}


In this case we have 4000 and 998 pulling out GMT's. The GMT list would be all the ones it is not time for and then you would have 4001 acting the way things currently work with the campaign. This would mean that you would never have a situation where you would dial outside the time set by the campaign, because you are taking out the GMT's you don't want then using the campaign setting to cut it down further.

As for setting it I planned on using the same drop-down as the campaign has.

Of course at this point I have done little testing and no real coding so if anyone has a better/faster/slicker idea let me know.