Your table for this could have fields to support 1 or more notifications along with dates. Suppose you want to send at 30 days before and 15 days before (or even just once for that matter; just suggesting other things are possible). The process logic would be like "if we're at the 30 (or 15) day mark AND the 30 (15) day notice date field is Null, send the message then insert the date if the send is successful. Your test would have to be more like "if between 30 and 16 AND related date is Null..."
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.