@startuml skinparam state { BackgroundColor<> LightYellow } [*] --> SUBMITTED state PAID_choice <> PAID --> PAID_choice state SUBMITTED_choice <> SUBMITTED --> SUBMITTED_choice SUBMITTED -[#1E90FF,bold]-> PAID : PAY PAID -[#1E90FF,bold]-> FULFILLED : FULFILL SUBMITTED -[#1E90FF,bold]-> CANCELED : CANCEL [lambda] PAID -[#1E90FF,bold]-> CANCELED : CANCEL SUBMITTED -[#1E90FF,bold]-> SUBMITTED : ABCD SUBMITTED_choice -[#4682B4,bold]-> PAID2 : [lambda] (order=0) SUBMITTED_choice -[#4682B4,bold]-> PAID3 : (order=1) PAID_choice -[#FF6347,bold]-> PAID1 : [lambda] (order=0) PAID_choice -[#FF6347,bold]-> PAID2 : [guard1] (order=1) PAID_choice -[#FF6347,bold]-> HAPPEN : [lambda] (order=2) PAID_choice -[#FF6347,bold]-> PAID3 : (order=3) PAID2 -[#1E90FF,bold]-> CANCELED PAID3 -[#1E90FF,bold]-> CANCELED PAID1 -[#1E90FF,bold]-> PAID1 : ABCD / lambda, action2 PAID1 --> [*] CANCELED --> [*] FULFILLED --> [*] HAPPEN --> [*] @enduml