# Goal Description

The objectives are:
1. Make sure newly created reservations (including 'pending' ones) show up in the Front Desk module so they can be managed and checked in.
2. Remove the 50% minimum payment requirement for check-ins, allowing guests to check in with partial, full, or zero payment.
3. Ensure that when a guest uses other revenue-generating services (like POS food/beverages or hotel services), those charges reflect on both the front desk receipt and the consolidated invoice.

## Proposed Changes

### App\Http\Controllers\InOutController.php
- **[index()](file:///c:/Users/Admin/DELUX-SYSTEM/app/Http/Controllers/InOutController.php#55-337) method**: Update the status filter `whereIn('status', ['confirmed', 'checked_in'])` to include `'pending'`.
- **[checkinPage()](file:///c:/Users/Admin/DELUX-SYSTEM/app/Http/Controllers/InOutController.php#536-577) method**: Update the status filter `where('status', 'confirmed')` to `whereIn('status', ['pending', 'confirmed'])`.
- **[checkin()](file:///c:/Users/Admin/DELUX-SYSTEM/app/Http/Controllers/InOutController.php#650-735) & [processCheckin()](file:///c:/Users/Admin/DELUX-SYSTEM/app/Http/Controllers/InOutController.php#736-825) methods**: 
  - Remove the minimum 50% payment requirement ($paidAmount < $requiredMinimum).
  - If a reservation doesn't have an invoice yet (e.g., zero payment upfront), auto-generate an invoice with 0 amount paid.
  - Update the reservation status from 'pending' to 'checked_in' properly.
- **[getReceipt()](file:///c:/Users/Admin/DELUX-SYSTEM/app/Http/Controllers/InOutController.php#1701-1828) method**: Update this API to gather charges from `ServiceRequest` and `Order` tables (just as [showConsolidatedInvoice](file:///c:/Users/Admin/DELUX-SYSTEM/app/Http/Controllers/InOutController.php#1915-1999) does). Pass these combined items, adjusting the overall total and balance, to the frontend receipt data payload.
- **[showConsolidatedInvoice()](file:///c:/Users/Admin/DELUX-SYSTEM/app/Http/Controllers/InOutController.php#1915-1999) method**: Keep existing queries for Service/F&B, but verify total charges computation to ensure all non-ledger services are added correctly to the displayed total balance.

### Comprehensive Hardcoded String Replacement

#### [MODIFY] [Multiple Views & Controllers](file:///c:/Users/Admin/DELUX-SYSTEM/...)
Replace all instances of hardcoded "Wepesi", "Deluxe Hotel Management System", "123 Luxury Avenue", and "info@deluxehotel.com" with dynamic helpers (`hotelName()`, `hotelAddress()`, `hotelEmail()`, `hotelPhone()`).

**Affected Files:**
- `resources/views/welcome.blade.php`
- `resources/views/surveys/survey_invitation.blade.php`
- `resources/views/services/settings.blade.php`
- `resources/views/services/requests/index.blade.php`
- `resources/views/inout/index.blade.php`
- `resources/views/settings/index.blade.php`
- `resources/views/auth/login.blade.php`
- `resources/views/auth/register.blade.php`
- `resources/views/super-admin/payments/index.blade.php`
- `resources/views/super-admin/dashboard.blade.php`
- `resources/views/super-admin/hotels/index.blade.php`
- `resources/views/super-admin/subscriptions/index.blade.php`
- `resources/views/super-admin/users/edit.blade.php`
- `resources/views/super-admin/users/index.blade.php`
- `resources/views/super-admin/users/show.blade.php`
- `resources/views/auth/super-admin-login.blade.php`
- `resources/views/director/approval-dashboard.blade.php`
- `resources/views/attendance/report.blade.php`
- `resources/views/accounting/budgets.blade.php`
- `resources/views/accounting/dashboard.blade.php`
- `resources/views/accounting/journal-entries.blade.php`
- `resources/views/accounting/chart-of-accounts.blade.php`
- `resources/views/accounting/vendors/index.blade.php`
- `resources/views/reports/pdf-template.blade.php`
- `resources/views/reports/index.blade.php`
- `app/Helpers/ReceiptGenerator.php`
- `app/Http/Controllers/InOutController.php`
- `app/Http/Controllers/SettingController.php`
- `app/Http/Controllers/Admin/SuperAdminController.php`
- `app/Http/Controllers/ReportController.php`

### resources\views\inout\index.blade.php
- **`generateFastReceipt(data)` JavaScript function**: Modify the JS template to render a loop of `data.additional_charges` alongside the Room Charges, so all POS orders and Services are explicitly listed on the compact front desk receipt modal. Update the calculations to calculate `subtotal` properly based on the sum of room charges and these extra services.

## Verification Plan

### Automated Tests
- N/A

### Manual Verification
1. Create a new reservation with no payment. Verify it shows up in "Front Desk" lists.
2. Check in that reservation with 0 payment. Verify it succeeds and an invoice is generated.
3. Check in a reservation with 10% payment. Verify it succeeds.
4. Add a dummy service or food order linked to the checked-in reservation.
5. Open the compact Front Desk receipt for the reservation. Verify the additional service shows up on the receipt with the updated balance.
6. Open the Consolidated Invoice. Verify the service also shows up there and the total charges match the front desk receipt.
