Automating Customer Email reminders

Automating Customer Email reminders

Hi all,

I am trying to work out (not successfully) how to send a customer a "Service" reminder email. I need to send an email to a customer based on a few different fields and conditions. 

So a customer would get a reminder email if they have a service due next month, once the email has been sent the system then changes the next service due date, this new date is based on what level of service they have purchased (bronze 6 months, silver 4 months, gold 3 months). But i only want it to send the email if 1. they have a valid service agreement(based on the agreement start date) 2. The next service date is not after the agreement end date. 

Once the agreement is within 1 week of the end date it would send an email reminding of that fact. If that seems like a stupid way of setting this out i am open to suggestions. 

I think its maybe quite a simple solution but i'm very new to coding apologies.  

i have attached a screen shot of part of the form.