Check the DB for status changes with the rules drupal 7 & Entity Registration

I actually use the registration unit for a project. The registration takes place in a certain process with E-Commerce.

What I actually have to do is:

  • Registrations that have the status "completed" after 30 minutes indicate the status "canceled"
  • Assign the status "complete" to the registry that is on the waiting list

For this I have created 2 components and a rule:

  • The first one allows to set a new data value for a registration (Selected Data: Registration: Status – Value: Canceled)
  • The second allows you to schedule component evaluation for the previous component with the expected 30-minute delay
  • Finally, after saving a new registry, the rule is started with a condition based on "DO NOT entity exists by property" with the value "Waiting list" and the action is the action group that plans the evaluation of the components after 30 minutes.

Here is my "basic rule":

{"rules_schedule_registration_management_after_30_minutes": {
"LABEL": "Schedule for registration management after 30 minutes",
"PLUGIN": "reaction rule",
"OWNER": "Rules",
"KEYWORDS": [ "Registration" ],
"REQUIRE": [ "commerce", "rules", "registration" ],
"ON": {"registration_insert": [] },
"IF" : [
      { "NOT entity_exists" : { "type" : "registration", "property" : "state", "value" : "waitlist" } }
    ],
"DO" : [
      { "component_rules_setcron_30_minutes" : { "registration" : [ "registration" ] }}
]}
}

This part works fine, but I have to define a second rule for the registrations that were on the waiting list and have the status "Completed". I must :

  • send an email when their status changes from "waiting list" to "completed"
  • Set it as "canceled" after 24 hours

Here I am completely deadlocked.
Thanks for your help