Open for Voting

Change ticket status and due date based on custom date field

We have created a status called "Pending" which we used to set tickets on hold while we are waiting for something to happen, like parts to arrive from a vendor or a pre-arranged service call from a provider, and a ticket custom field called "End Pending" in which we put the expected date of whatever thing we are waiting for to happen, ie: the parts are delivered, or the cable guy shows up.

What I would like to have happen is that when the End Pending date is reached, (1) the ticket is placed back into Open status, (2) the Due Date is reset based on the Priority to reflect the new Due Date and (3) an email is sent to the client and tech that the ticket has been reset to Open.

I know this can be done with SQL but I am not a DBA and we do not have one here.