I do have an Alfred DB2-B. I moved from a Schlage a couple months ago.
Your first rule looks promising. If you trigger from a lock code detected and that the only way that your rm can trigger then you donāt need to retest for it in your IF statement.
Also, when the lock code detected triggers your front door may not be actually opened yet. It would be better to trigger off the contact sensor. The bad thing about doing that is that the last lock code detected does not get automatic cleared so it will always have one of your values.
I would keep your lock code detected trigger than have a wait for condition of the sensor being open. I would not use a wait for event because the lock code detected could be a little bit delayed and may come after your door being opened.