@startuml
skinparam monochrome true
skinparam SequenceBoxBackgroundColor #ffffff
skinparam ParticipantPadding 5
skinparam shadowing false
hide footbox

title Configuration Step with Alternatives

box "Client B"
participant "M.Customer B"
end box

box "Client A"
participant "M.Customer A"
end box

box "Server"
participant M.Collab
participant M.Core
participant M.Recommend
end box

activate "M.Customer A"
activate "M.Customer B"

"M.Customer A" -> M.Collab: configurationStep(configuration)
activate M.Collab
M.Collab -> M.Core: build_in(configuration)
activate M.Core
M.Collab <-- M.Core: return alternatives
deactivate M.Core
M.Collab -> M.Recommend : getRecommendation(alternatives, preferences)
activate M.Recommend
M.Collab <-- M.Recommend : return recommendedAlternatives
deactivate M.Recommend

par
    M.Collab --> "M.Customer A" : broadcast (alternatives, recommendedAlternatives)
    M.Collab --> "M.Customer B" : broadcast (alternatives, recommendedAlternatives)
    deactivate M.Collab
end



@enduml