445276-stefanic-sk02-HW2 Flightticketprovider Frontend Frontend Trip parameters received Call BE API to search flights Display available trips to customer Accept trip Fill payment details Create reservation Confirm reservation Reservation confirmed Inform customer that trip is not available anymore Trip available? Inform customer about failed payment Backend Backend Look for flights flights Reserve flights Trip not available anymore Process payment Payment succeeded? Provide alternative Save new reservation Booked trips Trip is not available anymore, provide alternative if possible Cancel reservation In case payment failed, cancel reservation Customer Payment gateway Diagram describes process of searching for new trip and creating new reservation in case provider will return some valid results. If customer will accept one of the results and fill payment details, system will reserve flights for him and once payment gate will return success, system will finish the reservation. In case trip is not available during reservation process anymore, system will try to find alternative and provide it to customer. If payment will fail, reservation will be cancelled and customer inform about the payment failure. Gateway responseCall gateway No NoYes Yes Missing requirements: Not enough intermediate events -1 Not enough gateways -1 Missing task types -1 Missing sequence flow -1 One task on L2 should not have multiple message flow -1 Missing end -1 Result: 6