One of the rules is worth taking a look at.
We want the purchase of a membership to assign a role and an expiration to that role. We also want it to schedule a reminder to renew that role in 355 days and then we also want it to send a reminder when the role actually expires in 365 days.
There are two conditions, which I can explain, but for now note the event "paid in full." This means the payment total leaves us with a $0 balance on the order. (we use this one for PayPal)
Let's take a look . . .
We see here that the Event is qualified by two conditions: a payment type and a product type
The events that follow if true are
- user role assigned
- days added to expiration of that role
- a component is scheduled to be evaluated in 355 days (this component, created separately, will send an email to the order owner)
- a data value is set to indicate that the expiration notice has not been sent
Finally, there is an independent component that is perpetually extending its own presence and running each day at cron run.
More on that . . .