A travel agency wants to establish a booking service. The service is triggered by an incoming request and can return two different messages, either an unavailable notification or a confirmation. The business process of the service starts by first checking the request. If for certain reasons the request can only be handled manually by an employee (e.g. group travels), a sub-process for manual handling is activated. Otherwise, the process enters a transactional sub-process, where a bus and hotel booking occur in parallel. However, if one of these fails, the transaction is canceled, a log message is written and the unavailability message is sent. If both bookings succeed, an attraction is booked by invoking another service. The only thing that could go wrong is a timeout; i.e. the attraction booking service is not responding in time. If this happens, a manual handling of the booking has to be made. If the attraction booking invocation succeeds, a confirmation is sent. The manual handling always results in a successful booking in which case a confirmation message is sent.
a) Model the booking service in BPMN.
b) Model a simple business process in BPMN that interacts successfully with the booking service.