user { # User n1: circle label:"Start Snapshot Pattern" n2: diamond label:"Receive Snapshot Pattern event" n3: rectangle label:"Validate Snapshot Pattern conditions" n5: rectangle label:"Record Snapshot Pattern outcome" n7: circle label:"End Snapshot Pattern" n1.handle(right) -> n2.handle(left) n2.handle(right) -> n3.handle(left) [label="Yes/Approved"] n2.handle(bottom) -> app.n4.handle(top) [label="No/Rejected"] n3.handle(right) -> n5.handle(left) n5.handle(bottom) -> app.n6.handle(top) } app { # App n4: rectangle label:"Execute Snapshot Pattern action" n6: rectangle label:"Monitor Snapshot Pattern status" n6.handle(right) -> user.n7.handle(bottom) n4.handle(right) -> user.n5.handle(top) }