# Solution: Medical Booking System - Use Case UML example
###### tags: `BPAS`
:::info
:bulb: **TO-BE Scenario**
*Mac submits the appointment request online to make an appointment for a yearly health-checkup. Doctor records his/her availability in the staff module. The receptionist finds the nearest empty time slot in the appointment module and available doctor from the staff module. She schedules the appointment for the time slot with an available doctor and saves*
:::
## :memo: Solution
```plantuml
@startuml
left to right direction
actor "Receptionist" as r
rectangle "Medical Booking System" {
usecase "Find schedule" as UC1
usecase "Find available staff" as UC2
usecase "Book appointment" as UC3
usecase "Request appointment" as UC4
usecase "Submit availability" as UC5
}
r --> UC1
r --> UC2
r --> UC3
UC4 <-- :Patient:
:Doctor: --> UC5
@enduml
```
## :memo: Use Package 2
```plantuml
@startuml
package "Staff Module" {
usecase "Find schedule" as UC1
usecase "Find available staff" as UC2
usecase "Submit availability" as UC3
}
package "Appointment Module" {
usecase "Book appointment" as UC4
usecase "Request appointment" as UC5
}
@enduml
```