2bfe806c-1860-4345-9331-01185a19bc2d Enter info here CPEE labels finished DefaultHandlerWrapper 0 Visa_12345 Aeroflot ["Mariott","Rathaus","Mariott"] Vienna Prague 830.0 http://gruppe.wst.univie.ac.at/~mangler/services/airline.php http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php http://gruppe.wst.univie.ac.at/~mangler/services/approval.php call :a1, :bookAir, parameters: { :label => "Book Airline", :method => :post, :arguments => [⭐(:name => :from, :value => data.from), ⭐(:name => :to, :value => data.to), ⭐(:name => :persons, :value => data.persons)] }, finalize: <<-END data.airline = result.value('id') data.costs += result.value('costs').to_f status.update 1, 'Hotel' END parallel do loop pre_test{data.persons > 0} do parallel_branch data.persons do |p| call :a2, :bookHotel, parameters: { :label => "Book Hotel", :method => :post, :arguments => [⭐(:name => :to, :value => data.to)] }, finalize: <<-END data.hotels << result.value('id') data.costs += result.value('costs').to_f END end manipulate :a3, <<-END data.persons -= 1 END end end choose :inclusive do alternative "data.costs > 700" do call :a4, :approve, parameters: { :label => "Approve Hotel", :method => :post, :arguments => [⭐(:name => :costs, :value => data.costs)] } end end :post data.from data.to data.persons data.airline = result.value('id') data.costs += result.value('costs').to_f status.update 1, 'Hotel' :post data.to data.hotels << result.value('id') data.costs += result.value('costs').to_f data.persons -= 1 :post data.costs 0 undefined :post data.from data.to data.persons data.airline = result.value('id') data.costs += result.value('costs').to_f status.update 1, 'Hotel' :post data.to data.hotels << result.value('id') data.costs += result.value('costs').to_f data.persons -= 1 :post data.costs