# 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 ```