Our company has an intelligent calendar system using machine learning that identifies what is the best time to send emails to a specific customer. For example, customer Joe would be most receptive to emails that are sent on Mondays at 7 AM in the first half of January, and Tuesday at 11 AM in the remaining half of the month. This time varies depending on customer but each customer will receive an email periodically.
When a new customer is onboarded onto the system, we have to figure out what are the best times to communicate recurringly with them. Your assignment is to design a FollowUp system that periodically sends recurring emails to each customer.
The following are the existing systems that your FollowUp system will need to interact with in order to periodically communicate with customers. Consider these systems external to the FollowUp system you will be designing.