---
config:
layout: fixed
---
flowchart TD
subgraph subGraph0["<b>Flight Reservation System (FRS)</b>"]
UC1["Search & Display Inventory"]
UC2["Book & Create PNR"]
UC3{"Process Secure Payment"}
UC4["Issue E-Ticket & Confirm"]
UC5["Online Check-in"]
end
subgraph subGraph1["External Systems"]
GDS["Global Distribution Systems"]
CRS["Central Reservation System - Airline Backend"]
PaymentGateway["Payment Gateway"]
EmailSMS["Email/SMS Provider"]
DCS["Departure Control System"]
end
A["Customer"] --> UC1 & UC2 & UC3 & UC5
B["Airline Staff/Agent"] --> UC1 & UC2 & UC3
UC1 --> UC2 & GDS & CRS
UC2 --> UC3 & CRS
UC3 --> UC4 & PaymentGateway
UC4 --> UC5 & EmailSMS
UC5 --> DCS
UC1:::usecase
UC2:::usecase
UC3:::usecase
UC4:::usecase
UC5:::usecase
GDS:::external
CRS:::external
PaymentGateway:::external
EmailSMS:::external
DCS:::external
A:::actor
B:::actor
classDef actor fill:#9FF,stroke:#007,stroke-width:2px
classDef external fill:#f9f,stroke:#333,stroke-width:2px
classDef usecase fill:#DDF,stroke:#333,stroke-width:2px

Primary Actors:
Use Cases:
Secondary Actors:
Search & Display Inventory
Customer, Airline Staff/Agent
The customer or agent searches for a flight (origin, destination, dates). The FRS must fetch and present an up-to-the-minute list of all available flights, seats, and their current prices.
Use Case Name
Book & Create PNR