# ghostfaceghost62-byte/jillwebsite architecture

> Architecture diagram of the GitHub repository ghostfaceghost62-byte/jillwebsite, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ghostfaceghost62-byte/jillwebsite
- Repository: https://github.com/ghostfaceghost62-byte/jillwebsite

## Overview

HOTELRESERVE is a PHP/MySQL hotel booking and management application. Guests browse and filter rooms, check dates, authenticate, request a stay, then manage reservations and payments; staff maintain room inventory, review reservations and payments, and inspect reports and audit activity. The graph includes the documented major guest and admin capabilities. Several routes are represented from the file tree and README rather than inspected source, so uncertain implementation-level wiring is omitted.

Main entry points: [`rooms/index.php`](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/rooms/index.php) (Room search), [`reservations/create.php`](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/reservations/create.php) (Reservation request), [`index.php`](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/index.php) (Hotel home), [`api/availability.php`](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/api/availability.php) (Availability API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_guest["Guest booking"]
  node_home["Hotel home<br/>[index.php]"]
  node_room_search["Room search<br/>[index.php]"]
  node_room_details["Room details<br/>[details.php]"]
  node_availability_api["Availability API<br/>[availability.php]"]
end

subgraph group_account["Accounts and stays"]
  node_auth["Account access<br/>[login.php]"]
  node_registration["Guest registration<br/>[register.php]"]
  node_verification["Email verification<br/>[verify.php]"]
  node_reservation_create["Reservation request<br/>[create.php]"]
  node_customer_reservations["Guest reservations<br/>[reservations.php]"]
  node_customer_payment["Guest payment<br/>[pay.php]"]
  node_customer_profile["Guest profile<br/>[profile.php]"]
  node_guest_extras["Guest preferences<br/>[favorites.php]"]
end

subgraph group_admin["Hotel administration"]
  node_admin_dashboard["Admin dashboard<br/>[index.php]"]
  node_room_admin["Room management<br/>[index.php]"]
  node_reservation_admin["Reservation management<br/>[index.php]"]
  node_reports["Reports and exports<br/>[index.php]"]
  node_activity_logs["Activity logs<br/>[index.php]"]
end

subgraph group_core["Application core"]
  node_reservation_service["Reservation rules"]
  node_pricing_service["Stay pricing<br/>[PricingService.php]"]
  node_shared_bootstrap["Shared bootstrap<br/>[bootstrap.php]"]
  node_database_config["Database connection<br/>[database.php]"]
end

node_guest_actor(("Guest"))
node_staff_actor(("Hotel staff"))
node_mysql[("MySQL database")]

node_guest_actor -->|"opens"| node_home
node_home -->|"searches"| node_room_search
node_room_search -->|"views"| node_room_details
node_room_search -->|"checks dates"| node_availability_api
node_guest_actor -->|"signs in"| node_auth
node_guest_actor -->|"registers"| node_registration
node_registration -->|"starts verification"| node_verification
node_guest_actor -->|"requests stay"| node_reservation_create
node_reservation_create -->|"checks stay"| node_reservation_service
node_reservation_service -->|"uses pricing"| node_pricing_service
node_reservation_create -->|"creates reservation"| node_mysql
node_room_search -->|"reads rooms"| node_mysql
node_availability_api -->|"checks bookings"| node_mysql
node_guest_actor -->|"manages stays"| node_customer_reservations
node_guest_actor -->|"submits payment"| node_customer_payment
node_guest_actor -->|"updates profile"| node_customer_profile
node_guest_actor -->|"saves favorites"| node_guest_extras
node_staff_actor -->|"opens dashboard"| node_admin_dashboard
node_staff_actor -->|"manages rooms"| node_room_admin
node_staff_actor -->|"reviews bookings"| node_reservation_admin
node_staff_actor -->|"requests reports"| node_reports
node_staff_actor -->|"reviews activity"| node_activity_logs
node_admin_dashboard -->|"reads metrics"| node_mysql
node_room_admin -->|"reads and updates rooms"| node_mysql
node_reservation_admin -->|"reads and updates stays"| node_mysql
node_reports -->|"reads report data"| node_mysql
node_activity_logs -->|"reads audit events"| node_mysql
node_shared_bootstrap -->|"loads configuration"| node_database_config
node_database_config -->|"connects"| node_mysql

click node_home "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/index.php"
click node_room_search "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/rooms/index.php"
click node_room_details "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/rooms/details.php"
click node_availability_api "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/api/availability.php"
click node_auth "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/auth/login.php"
click node_registration "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/auth/register.php"
click node_verification "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/auth/verify.php"
click node_reservation_create "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/reservations/create.php"
click node_reservation_service "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/app/Services/ReservationService.php"
click node_pricing_service "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/app/Services/PricingService.php"
click node_customer_reservations "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/customer/reservations.php"
click node_customer_payment "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/customer/pay.php"
click node_customer_profile "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/customer/profile.php"
click node_guest_extras "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/user/favorites.php"
click node_admin_dashboard "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/index.php"
click node_room_admin "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/rooms/index.php"
click node_reservation_admin "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/reservations/index.php"
click node_reports "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/reports/index.php"
click node_activity_logs "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/logs/index.php"
click node_shared_bootstrap "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/includes/bootstrap.php"
click node_database_config "https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/config/database.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_home,node_room_search,node_room_details,node_availability_api toneBlue
class node_auth,node_registration,node_verification,node_reservation_create,node_customer_reservations,node_customer_payment,node_customer_profile,node_guest_extras,node_mysql toneAmber
class node_admin_dashboard,node_room_admin,node_reservation_admin,node_reports,node_activity_logs toneMint
class node_reservation_service,node_pricing_service,node_shared_bootstrap,node_database_config toneRose
class node_guest_actor,node_staff_actor toneIndigo
```

## Components

### Guest booking

- [Hotel home](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/index.php): `index.php`
- [Room search](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/rooms/index.php): `rooms/index.php`
- [Room details](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/rooms/details.php): `rooms/details.php`
- [Availability API](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/api/availability.php): `api/availability.php`

### Accounts and stays

- [Account access](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/auth/login.php): `auth/login.php`
- [Guest registration](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/auth/register.php): `auth/register.php`
- [Email verification](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/auth/verify.php): `auth/verify.php`
- [Reservation request](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/reservations/create.php): `reservations/create.php`
- [Guest reservations](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/customer/reservations.php): `customer/reservations.php`
- [Guest payment](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/customer/pay.php): `customer/pay.php`
- [Guest profile](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/customer/profile.php): `customer/profile.php`
- [Guest preferences](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/user/favorites.php): `user/favorites.php`

### Hotel administration

- [Admin dashboard](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/index.php): `admin/index.php`
- [Room management](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/rooms/index.php): `admin/rooms/index.php`
- [Reservation management](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/reservations/index.php): `admin/reservations/index.php`
- [Reports and exports](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/reports/index.php): `admin/reports/index.php`
- [Activity logs](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/admin/logs/index.php): `admin/logs/index.php`

### Application core

- [Reservation rules](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/app/Services/ReservationService.php): `app/Services/ReservationService.php`
- [Stay pricing](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/app/Services/PricingService.php): `app/Services/PricingService.php`
- [Shared bootstrap](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/includes/bootstrap.php): `includes/bootstrap.php`
- [Database connection](https://github.com/ghostfaceghost62-byte/jillwebsite/blob/main/config/database.php): `config/database.php`

### Other components

- **Guest**
- **Hotel staff**
- **MySQL database**

## Connections

- Guest → Hotel home: opens
- Hotel home → Room search: searches
- Room search → Room details: views
- Room search → Availability API: checks dates
- Guest → Account access: signs in
- Guest → Guest registration: registers
- Guest registration → Email verification: starts verification
- Guest → Reservation request: requests stay
- Reservation request → Reservation rules: checks stay
- Reservation rules → Stay pricing: uses pricing
- Reservation request → MySQL database: creates reservation
- Room search → MySQL database: reads rooms
- Availability API → MySQL database: checks bookings
- Guest → Guest reservations: manages stays
- Guest → Guest payment: submits payment
- Guest → Guest profile: updates profile
- Guest → Guest preferences: saves favorites
- Hotel staff → Admin dashboard: opens dashboard
- Hotel staff → Room management: manages rooms
- Hotel staff → Reservation management: reviews bookings
- Hotel staff → Reports and exports: requests reports
- Hotel staff → Activity logs: reviews activity
- Admin dashboard → MySQL database: reads metrics
- Room management → MySQL database: reads and updates rooms
- Reservation management → MySQL database: reads and updates stays
- Reports and exports → MySQL database: reads report data
- Activity logs → MySQL database: reads audit events
- Shared bootstrap → Database connection: loads configuration
- Database connection → MySQL database: connects
