e5b82a08-d6bc-4043-aafc-a81691abea87 Plain Instance CPEE default finished DefaultHandlerWrapper 0 Visa_12345 American Airlines ["Rathaus","Mariott","Rathaus"] Vienna Prague 1072.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 test("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 1 Hotel :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