@startuml !theme plain left to right direction skinparam backgroundColor #FFFFFF skinparam actorStyle awesome skinparam linetype ortho actor "Customer" as Customer actor "Doctor" as Doctor actor "Admin" as Admin package "Pet Hospital System" { usecase "Register Account" as UC1 usecase "Login" as UC2 usecase "View Profile" as UC3 usecase "Update Profile" as UC4 usecase "View Pets" as UC5 usecase "Add Pet" as UC6 usecase "Update Pet Info" as UC7 usecase "View Pet Records" as UC8 usecase "Book Appointment" as UC9 usecase "Cancel Appointment" as UC10 usecase "View Appointments" as UC11 usecase "View Prescriptions" as UC12 usecase "View Medical Records" as UC13 usecase "View Vaccination History" as UC14 usecase "View Available Time Slots" as UC15 usecase "Confirm Appointment" as UC16 usecase "Manage Users" as UC17 usecase "Manage Drugs" as UC18 usecase "Manage Appointments" as UC19 usecase "Generate Reports" as UC20 usecase "Create Medical Record" as UC21 usecase "Create Prescription" as UC22 usecase "Add Vaccination Record" as UC23 usecase "Perform Visit" as UC24 usecase "View Statistics" as UC25 usecase "View System Notices" as UC26 usecase "Send Messages" as UC27 } Customer --> UC1 Customer --> UC2 Customer --> UC3 Customer --> UC4 Customer --> UC5 Customer --> UC6 Customer --> UC7 Customer --> UC8 Customer --> UC9 Customer --> UC10 Customer --> UC11 Customer --> UC12 Customer --> UC13 Customer --> UC14 Customer --> UC15 Customer --> UC16 Customer --> UC26 Customer --> UC27 Doctor --> UC2 Doctor --> UC3 Doctor --> UC11 Doctor --> UC13 Doctor --> UC14 Doctor --> UC21 Doctor --> UC22 Doctor --> UC23 Doctor --> UC24 Doctor --> UC26 Doctor --> UC27 Admin --> UC17 Admin --> UC18 Admin --> UC19 Admin --> UC20 Admin --> UC25 Admin --> UC26 UC9 ..> UC15 : includes UC21 ..> UC9 : extends UC22 ..> UC21 : extends UC24 ..> UC9 : extends @enduml