Would like to understand the best design pattern on the following use case
1) User books a Tour which has the following sub cases
A) Hotel booking
B) Flight Booking
C) Taxi booking
Booking Agent may have different vendors on each sub cases A, B &C.
Let us assume that the user had initiated the tour and only Hotel booking is confirmed while Flight and Taxi bookings are waiting to be confirmed - SLA of 2 days. However user wanted to cancel the Tour the next day. Essentially the workflow should send a note to Hotel as it is already confirmed. However assignments in Taxi and Flight must be auto cancelled. Thanks