# bonillacoolvincentc-5/resort-booking-system architecture

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

- Interactive diagram: https://gitdiagram.com/bonillacoolvincentc-5/resort-booking-system
- Repository: https://github.com/bonillacoolvincentc-5/resort-booking-system

## Overview

YP4K Resort is a resort booking and operations application with customer, staff, and administrator dashboards. The primary customer workflow is to browse offerings, create a reservation, and submit payment proof; staff and administrators manage bookings, schedules, walk-ins, payments, and resort inventory. Authentication, email, and shared database access support these features. The tree and excerpts establish the product areas, but many UI-to-endpoint connections are not shown, so those links are omitted or marked unverified rather than presented as confirmed calls.

Main entry points: [`phpAuthentication/db_config.php`](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/db_config.php) (Resort Database), [`Authentication/register.php`](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Authentication/register.php) (Registration), [`php/upload_payment_proof.php`](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/php/upload_payment_proof.php) (Booking Submission), [`Admin_Dashboard/bookings.php`](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/bookings.php) (Booking Administration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_booking["Customer Bookings"]
  node_booking_ui["Booking Creation<br/>[create-booking.php]"]
  node_booking_submit["Booking Submission"]
  node_my_bookings["My Bookings<br/>[my-bookings.php]"]
  node_customer_profile["Customer Profile<br/>[profile.php]"]
  node_trail_guide["Trail Guide<br/>[trail-guide.php]"]
end

subgraph group_operations["Resort Operations"]
  node_admin_bookings["Booking Administration<br/>[bookings.php]"]
  node_admin_walkin["Admin Walk-ins<br/>[walkin_pos.php]"]
  node_staff_bookings["Staff Bookings<br/>[bookings.php]"]
  node_staff_walkin["Staff Walk-ins<br/>[walkin.php]"]
  node_scheduling["Schedule Manager"]
  node_activity_admin["Activity Management<br/>[activities.php]"]
  node_bundle_admin["Bundle Management<br/>[bundles.php]"]
  node_admin_payments["Payment Management<br/>[payments.php]"]
end

subgraph group_identity["Identity and Messaging"]
  node_auth["Authentication Flows<br/>[login.php]"]
  node_registration["Registration<br/>[register.php]"]
  node_email_helper["Email Notifications<br/>[email_helper.php]"]
  node_mailer["PHPMailer<br/>[PHPMailer.php]"]
  node_smtp["SMTP Transport<br/>[SMTP.php]"]
end

subgraph group_shared["Shared Services"]
  node_database[("Resort Database<br/>[db_config.php]")]
  node_blocked_email["Blocked Email Checks"]
  node_expiry["Booking Expiry"]
  node_session["Session Management<br/>[session_helper.php]"]
end

node_customer(("Customer"))

node_customer -->|"opens"| node_booking_ui
node_booking_ui -.->|"submits payment"| node_booking_submit
node_customer -.->|"views bookings"| node_my_bookings
node_customer -.->|"manages profile"| node_customer_profile
node_customer -.->|"views guide"| node_trail_guide
node_admin_bookings -->|"includes"| node_expiry
node_admin_bookings -->|"configures"| node_database
node_admin_walkin -->|"configures"| node_database
node_staff_bookings -->|"configures"| node_database
node_staff_walkin -->|"configures"| node_database
node_scheduling -->|"queries"| node_database
node_booking_submit -->|"writes booking"| node_database
node_booking_submit -->|"checks email"| node_blocked_email
node_registration -->|"uses connection"| node_database
node_registration -->|"sends email"| node_email_helper
node_registration -->|"checks email"| node_blocked_email
node_email_helper -->|"creates mailer"| node_mailer
node_mailer -->|"uses transport"| node_smtp
node_session -->|"loads config"| node_database
node_my_bookings -->|"includes"| node_expiry

click node_booking_ui "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/User_Dashboard/create-booking.php"
click node_booking_submit "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/php/upload_payment_proof.php"
click node_my_bookings "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/User_Dashboard/my-bookings.php"
click node_customer_profile "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/User_Dashboard/profile.php"
click node_trail_guide "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/User_Dashboard/trail-guide.php"
click node_admin_bookings "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/bookings.php"
click node_admin_walkin "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/walkin_pos.php"
click node_staff_bookings "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Staff_Dashboard/bookings.php"
click node_staff_walkin "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Staff_Dashboard/walkin.php"
click node_scheduling "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/schedule-manager.php"
click node_activity_admin "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/activities.php"
click node_bundle_admin "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/bundles.php"
click node_admin_payments "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/payments.php"
click node_auth "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Authentication/login.php"
click node_registration "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Authentication/register.php"
click node_email_helper "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/email_helper.php"
click node_mailer "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/PHPMailer/srs/PHPMailer.php"
click node_smtp "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/PHPMailer/srs/SMTP.php"
click node_database "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/db_config.php"
click node_blocked_email "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/blocked_email_helper.php"
click node_expiry "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/php/check_expired_bookings.php"
click node_session "https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/session_helper.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_booking_ui,node_booking_submit,node_my_bookings,node_customer_profile,node_trail_guide toneBlue
class node_admin_bookings,node_admin_walkin,node_staff_bookings,node_staff_walkin,node_scheduling,node_activity_admin,node_bundle_admin,node_admin_payments toneAmber
class node_auth,node_registration,node_email_helper,node_mailer,node_smtp toneMint
class node_database,node_blocked_email,node_expiry,node_session toneRose
class node_customer toneIndigo
```

## Components

### Customer Bookings

- [Booking Creation](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/User_Dashboard/create-booking.php): `User_Dashboard/create-booking.php`
- [Booking Submission](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/php/upload_payment_proof.php): `php/upload_payment_proof.php`
- [My Bookings](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/User_Dashboard/my-bookings.php): `User_Dashboard/my-bookings.php`
- [Customer Profile](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/User_Dashboard/profile.php): `User_Dashboard/profile.php`
- [Trail Guide](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/User_Dashboard/trail-guide.php): `User_Dashboard/trail-guide.php`

### Resort Operations

- [Booking Administration](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/bookings.php): `Admin_Dashboard/bookings.php`
- [Admin Walk-ins](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/walkin_pos.php): `Admin_Dashboard/walkin_pos.php`
- [Staff Bookings](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Staff_Dashboard/bookings.php): `Staff_Dashboard/bookings.php`
- [Staff Walk-ins](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Staff_Dashboard/walkin.php): `Staff_Dashboard/walkin.php`
- [Schedule Manager](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/schedule-manager.php): `Admin_Dashboard/schedule-manager.php`
- [Activity Management](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/activities.php): `Admin_Dashboard/activities.php`
- [Bundle Management](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/bundles.php): `Admin_Dashboard/bundles.php`
- [Payment Management](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Admin_Dashboard/payments.php): `Admin_Dashboard/payments.php`

### Identity and Messaging

- [Authentication Flows](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Authentication/login.php): `Authentication/login.php`
- [Registration](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/Authentication/register.php): `Authentication/register.php`
- [Email Notifications](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/email_helper.php): `phpAuthentication/email_helper.php`
- [PHPMailer](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/PHPMailer/srs/PHPMailer.php): `phpAuthentication/PHPMailer/srs/PHPMailer.php`
- [SMTP Transport](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/PHPMailer/srs/SMTP.php): `phpAuthentication/PHPMailer/srs/SMTP.php`

### Shared Services

- [Resort Database](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/db_config.php): `phpAuthentication/db_config.php`
- [Blocked Email Checks](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/blocked_email_helper.php): `phpAuthentication/blocked_email_helper.php`
- [Booking Expiry](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/php/check_expired_bookings.php): `php/check_expired_bookings.php`
- [Session Management](https://github.com/bonillacoolvincentc-5/resort-booking-system/blob/main/phpAuthentication/session_helper.php): `phpAuthentication/session_helper.php`

### Other components

- **Customer**

## Connections

- Customer → Booking Creation: opens (evidence: `User_Dashboard/create-booking.php`)
- Booking Creation → Booking Submission: submits payment
- Customer → My Bookings: views bookings
- Customer → Customer Profile: manages profile
- Customer → Trail Guide: views guide
- Booking Administration → Booking Expiry: includes (evidence: `Admin_Dashboard/bookings.php`)
- Booking Administration → Resort Database: configures
- Admin Walk-ins → Resort Database: configures
- Staff Bookings → Resort Database: configures (evidence: `Staff_Dashboard/bookings.php`)
- Staff Walk-ins → Resort Database: configures (evidence: `Staff_Dashboard/walkin.php`)
- Schedule Manager → Resort Database: queries (evidence: `Admin_Dashboard/schedule-manager.php`)
- Booking Submission → Resort Database: writes booking (evidence: `php/upload_payment_proof.php`)
- Booking Submission → Blocked Email Checks: checks email (evidence: `php/upload_payment_proof.php`)
- Registration → Resort Database: uses connection
- Registration → Email Notifications: sends email
- Registration → Blocked Email Checks: checks email
- Email Notifications → PHPMailer: creates mailer (evidence: `phpAuthentication/email_helper.php`)
- PHPMailer → SMTP Transport: uses transport (evidence: `phpAuthentication/PHPMailer/srs/PHPMailer.php`)
- Session Management → Resort Database: loads config (evidence: `phpAuthentication/session_helper.php`)
- My Bookings → Booking Expiry: includes (evidence: `User_Dashboard/my-bookings.php`)
