# maicolddox/airhub-senasoft architecture

> Architecture diagram of the GitHub repository maicolddox/airhub-senasoft, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/maicolddox/airhub-senasoft
- Repository: https://github.com/maicolddox/airhub-senasoft

## Overview

AirHub is a Laravel flight-management and booking application. The main customer journey is to browse available flights, reserve capacity, enter passenger details, assign seats, pay, and view a ticket. Administrators manage flight availability and related flight data; the README also describes a dashboard, booking history, and support. The graph follows controller calls shown in excerpts and route references in the source index. Several documented screens and integrations are unsampled, so their links are limited to documented or explicitly unverified relationships.

Main entry points: [`routes/web.php`](https://github.com/maicolddox/airhub-senasoft/blob/main/routes/web.php) (Web routes), [`app/Http/Controllers/PayController.php`](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/PayController.php) (Payment), [`app/Http/Controllers/PositionController.php`](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/PositionController.php) (Seat selection), [`app/Http/Controllers/FlightController.php`](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/FlightController.php) (Flight search)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_booking["Customer booking"]
  node_routes["Web routes<br/>[web.php]"]
  node_flight_search["Flight search"]
  node_passenger_entry["Passenger details"]
  node_seat_selection["Seat selection"]
  node_payment["Payment<br/>[PayController.php]"]
  node_flight_catalog["Flight catalog UI"]
end

subgraph group_operations["Flight operations"]
  node_flight_admin["Flight administration"]
  node_admin_ui["Admin dashboard"]
  node_flight_data[("Flight data")]
end

subgraph group_records["Booking records"]
  node_ticket["Tickets"]
  node_ticket_pdf["Ticket PDF<br/>[PdfController.php]"]
  node_booking_store[("Booking records")]
end

subgraph group_identity["Accounts and support"]
  node_account["User accounts<br/>[User.php]"]
  node_ai_support["Chat support"]
  node_support_ui["Support screen<br/>[ia.blade.php]"]
end

node_customer(("Customer"))

node_customer -->|"uses"| node_routes
node_routes -->|"routes to"| node_flight_search
node_routes -->|"routes to"| node_passenger_entry
node_routes -->|"routes to"| node_seat_selection
node_routes -->|"routes to"| node_payment
node_routes -->|"routes to"| node_ticket
node_flight_search -->|"queries flights"| node_flight_data
node_flight_search -->|"renders"| node_flight_catalog
node_flight_admin -->|"updates flights"| node_flight_data
node_passenger_entry -->|"creates passengers"| node_booking_store
node_passenger_entry -->|"redirects to"| node_seat_selection
node_seat_selection -->|"saves seats"| node_booking_store
node_seat_selection -->|"redirects to"| node_payment
node_payment -->|"creates payment"| node_booking_store
node_payment -->|"creates ticket"| node_ticket
node_payment -->|"redirects to"| node_routes
node_ticket -->|"reads tickets"| node_booking_store
node_ticket_pdf -->|"reads ticket"| node_booking_store
node_customer -.->|"administers flights"| node_admin_ui
node_admin_ui -.->|"manages"| node_flight_admin
node_customer -.->|"requests support"| node_support_ui
node_support_ui -.->|"submits chat"| node_ai_support
node_ai_support -->|"reads tickets"| node_booking_store
node_customer -.->|"uses account"| node_account

click node_routes "https://github.com/maicolddox/airhub-senasoft/blob/main/routes/web.php"
click node_flight_search "https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/FlightController.php"
click node_passenger_entry "https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/UserPassengerController.php"
click node_seat_selection "https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/PositionController.php"
click node_payment "https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/PayController.php"
click node_ticket "https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/TicketController.php"
click node_ticket_pdf "https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/PdfController.php"
click node_flight_admin "https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/FlightController.php"
click node_admin_ui "https://github.com/maicolddox/airhub-senasoft/tree/main/resources/views/livewire/view/admin"
click node_flight_catalog "https://github.com/maicolddox/airhub-senasoft/tree/main/resources/views/livewire/view/client/flights"
click node_account "https://github.com/maicolddox/airhub-senasoft/blob/main/app/Models/User.php"
click node_ai_support "https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/ChatIAController.php"
click node_support_ui "https://github.com/maicolddox/airhub-senasoft/blob/main/resources/views/chat/ia.blade.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_routes,node_flight_search,node_passenger_entry,node_seat_selection,node_payment,node_flight_catalog toneBlue
class node_flight_admin,node_admin_ui,node_flight_data toneAmber
class node_ticket,node_ticket_pdf,node_booking_store toneMint
class node_account,node_ai_support,node_support_ui toneRose
class node_customer toneIndigo
```

## Components

### Customer booking

- [Web routes](https://github.com/maicolddox/airhub-senasoft/blob/main/routes/web.php): `routes/web.php`
- [Flight search](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/FlightController.php): `app/Http/Controllers/FlightController.php`
- [Passenger details](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/UserPassengerController.php): `app/Http/Controllers/UserPassengerController.php`
- [Seat selection](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/PositionController.php): `app/Http/Controllers/PositionController.php`
- [Payment](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/PayController.php): `app/Http/Controllers/PayController.php`
- [Flight catalog UI](https://github.com/maicolddox/airhub-senasoft/tree/main/resources/views/livewire/view/client/flights): `resources/views/livewire/view/client/flights`

### Flight operations

- [Flight administration](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/FlightController.php): `app/Http/Controllers/FlightController.php`
- [Admin dashboard](https://github.com/maicolddox/airhub-senasoft/tree/main/resources/views/livewire/view/admin): `resources/views/livewire/view/admin`
- **Flight data**

### Booking records

- [Tickets](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/TicketController.php): `app/Http/Controllers/TicketController.php`
- [Ticket PDF](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/PdfController.php): `app/Http/Controllers/PdfController.php`
- **Booking records**

### Accounts and support

- [User accounts](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Models/User.php): `app/Models/User.php`
- [Chat support](https://github.com/maicolddox/airhub-senasoft/blob/main/app/Http/Controllers/ChatIAController.php): `app/Http/Controllers/ChatIAController.php`
- [Support screen](https://github.com/maicolddox/airhub-senasoft/blob/main/resources/views/chat/ia.blade.php): `resources/views/chat/ia.blade.php`

### Other components

- **Customer**

## Connections

- Customer → Web routes: uses (evidence: `routes/web.php`)
- Web routes → Flight search: routes to (evidence: `routes/web.php`)
- Web routes → Passenger details: routes to (evidence: `routes/web.php`)
- Web routes → Seat selection: routes to (evidence: `routes/web.php`)
- Web routes → Payment: routes to (evidence: `routes/web.php`)
- Web routes → Tickets: routes to (evidence: `routes/web.php`)
- Flight search → Flight data: queries flights (evidence: `app/Http/Controllers/FlightController.php`)
- Flight search → Flight catalog UI: renders (evidence: `app/Http/Controllers/FlightController.php`)
- Flight administration → Flight data: updates flights (evidence: `app/Http/Controllers/FlightController.php`)
- Passenger details → Booking records: creates passengers (evidence: `app/Http/Controllers/UserPassengerController.php`)
- Passenger details → Seat selection: redirects to (evidence: `app/Http/Controllers/UserPassengerController.php`)
- Seat selection → Booking records: saves seats (evidence: `app/Http/Controllers/PositionController.php`)
- Seat selection → Payment: redirects to (evidence: `app/Http/Controllers/PositionController.php`)
- Payment → Booking records: creates payment (evidence: `app/Http/Controllers/PayController.php`)
- Payment → Tickets: creates ticket (evidence: `app/Http/Controllers/PayController.php`)
- Payment → Web routes: redirects to (evidence: `app/Http/Controllers/PayController.php`)
- Tickets → Booking records: reads tickets (evidence: `app/Http/Controllers/TicketController.php`)
- Ticket PDF → Booking records: reads ticket (evidence: `app/Http/Controllers/PdfController.php`)
- Customer → Admin dashboard: administers flights (evidence: `README.md`)
- Admin dashboard → Flight administration: manages
- Customer → Support screen: requests support (evidence: `README.md`)
- Support screen → Chat support: submits chat
- Chat support → Booking records: reads tickets (evidence: `app/Http/Controllers/ChatIAController.php`)
- Customer → User accounts: uses account (evidence: `README.md`)
