Customer
+reply()
+reply()
TaxiBookingSsytem
+call()
+storeBooking()
+call()
+storeBoking()
+storeBooking()
Car
+checkCar()
+assignDriver()
+checkCar()
Driver
+getFirstFreeDriver()
Booking
+create()
+checkTime()
+create()
+booking()
Model::Main
SequenceDiagram1interaction
Lifeline1: Customer Lifeline2: TaxiBookingSsytem Lifeline3: Car booking: Booking Lifeline4: Driver
LOOPseq
[Car < 6]
OPTseq
[Car<=6]
1 : call()
2 : checkCar()
3 : create()
4 : getFirstFreeDriver()
5 : assignDriver()
6 : storeBooking()
7 : reply()
Collaboration1::Interaction1::SequenceDiagram1
SequenceDiagram1interaction
Lifeline1: Customer Lifeline2: TaxiBookingSsytem Lifeline3: Car Lifeline4: Booking
LOOPseq
[carSeat >=4]
OPTopt
[time == 13.00 && booking < 10]
1 : call()
2 : checkCar()
3 : checkTime()
4 : booking()
5 : storeBooking()
6 : reply()
Collaboration2::Interaction1::SequenceDiagram1

Taxi Booking System UML - Sequence Diagram