Untitled
@startuml skinparam responseMessageBelowArrow true actor Customer actor Admin participant "Airline Reservation System" as ARS database "File System" as DB == Customer Interactions == Customer -> ARS: Login ARS -> DB: Check if user exists DB -> ARS: Return user existence status ARS -> Customer: If not exists, prompt for registration \n(collect profile details) Customer -> ARS: Enter credentials ARS -> DB: Authenticate user DB -> ARS: Return authentication result ARS -> Customer: If authenticated, show options:\n (Search flights, View/Edit Profile, View past bookings, Cancel booking) Customer -> ARS: Search for flights \n(origin, destination, date, class) ARS -> DB: Query available flights DB -> ARS: Return flight data ARS -> Customer: Display available flights Customer -> ARS: Select a flight ARS -> DB: Retrieve seat map DB -> ARS: Return seat map ARS -> Customer: Show seat map Customer -> ARS: Select seat Customer -> ARS: Proceed to booking Customer -> ARS: Enter payment details ARS -> DB: Process payment DB -> ARS: Confirm payment ARS -> DB: Store booking details DB -> ARS: Confirm booking stored ARS -> Customer: Generate e-ticket Customer -> ARS: View past bookings ARS -> DB: Retrieve past bookings DB -> ARS: Return past bookings ARS -> Customer: Display past bookings Customer -> ARS: Cancel booking \n(select booking ID) ARS -> DB: Check booking status DB -> ARS: Return booking status ARS -> Customer: If cancellable, confirm cancellation Customer -> ARS: Confirm cancellation ARS -> DB: Update booking status (cancelled) DB -> ARS: Confirm booking update ARS -> Customer: Display cancellation confirmation Customer -> ARS: View/Edit Profile ARS -> DB: Retrieve customer profile DB -> ARS: Return customer profile ARS -> Customer: Display profile details with edit option Customer -> ARS: Update profile details (if edited) ARS -> DB: Update customer profile in DB DB -> ARS: Confirm profile update == Admin Interactions == Admin -> ARS: Login ARS -> DB: Check if admin exists DB -> ARS: Return admin existence status ARS -> Admin: If not exists, prompt for registration \n(collect admin details) Admin -> ARS: Enter credentials ARS -> DB: Authenticate admin DB -> ARS: Return authentication result ARS -> Admin: If authenticated, show options:\n (Manage flights, View user accounts, View bookings, Manage schedule, View/Edit Profile) Admin -> ARS: Manage flights \n(Add, update, delete) ARS -> DB: Update flight information DB -> ARS: Confirm update Admin -> ARS: View user accounts ARS -> DB: Retrieve user accounts DB -> ARS: Return user account details Admin -> ARS: View bookings \n(all bookings with details) ARS -> DB: Retrieve all booking details DB -> ARS: Return booking details ARS -> Admin: Display booking details Admin -> ARS: Manage schedule \n(add, update, delete flight schedules) ARS -> DB: Update flight schedule information DB -> ARS: Confirm schedule update Admin -> ARS: View/Edit Profile ARS -> DB: Retrieve admin profile DB -> ARS: Return admin profile ARS -> Admin: Display profile details with edit option Admin -> ARS: Update profile details (if edited) ARS -> DB: Update admin profile in DB DB -> ARS: Confirm profile update @enduml
Leave a Comment