Untitled

 avatar
unknown
plain_text
a month ago
3.2 kB
2
Indexable
@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