Generic Choreography

Imagine B is a web services performing a travel booking, and C is an airline reservation service and D is a hotel booking service.

The Message logic is:

responses are correlated to requests,

b,c, d happen after a.

a might be "book itinerary foo", b might be "your itinerary is being booked", c might be "book ticket", d might be "book hotel".

e might be "here's the airline info", f might be "here's the hotel info".

g is a message to A once e and f have arrived. Like "here's your consolidated itinerary".

h is a message to A from D about D specific information. Like, "here's your flight details and amounts that we are charging to your credit card."

m returns an n (error) until d and f happens, then m returns o. m might be "get itinerary foo".

Interaction Diagram

State Chart for B