Read-only fallback preview for employee schedule access. This page shows the safe messages that should appear for no-login, no-mapping, no-published-shifts, mapped-user, and resolver-error situations. It does not create middleware, apply middleware, change auth, change employee portal queries, write data, expose employee names/emails, send notifications, or touch payroll, Time Clock rules, POS shifts, reservations, payments, waivers, customer profiles, exports, PDFs, CSVs, schedule locking, or hard schedule blocking.
Quick links are consolidated here so managers do not have to hunt through the larger navigation. This strip is visual only. It does not change saves, publishing, schedule rows, employee views, notifications, locking, payroll, Time Clock, POS, reservations, payments, waivers, or customer profiles.
Use this screen for the existing manager build workflow. Before publishing, review unavailable blocks and soft conflicts. After publishing, employees should use the Employee Portal, My Schedule, Weekly Schedule, or Print Weekly.
Phase 25P-1 only adds clarity and support links. It does not change draft saves, publishing, schedule locking, employee text/email notifications, payroll, Time Clock, POS shifts, reservations, payments, waivers, or customer profiles.
Before publishing, confirm the date range, employee coverage, shift times, and soft conflicts. Once published, employees should use the Employee Portal and self-view pages for their final schedule.
Phase 25P-2 adds labels and readiness guidance only. It does not change save buttons, publish buttons, schedule rows, draft data, published data, employee visibility, notifications, locking, payroll, Time Clock, POS shifts, reservations, payments, waivers, or customer profiles.
Before the manager publishes, check unavailable blocks, appointments, manager holds, duplicate shift issues, and any soft conflicts. Conflicts are still review warnings only; this does not hard-block scheduling.
Phase 25P-3 adds this publish-review callout only. It does not change save buttons, publish buttons, draft rows, published rows, employee visibility, schedule locking, employee text/email notifications, payroll, Time Clock, POS shifts, reservations, payments, waivers, or customer profiles.
After the manager publishes, employees should use Employee Portal, My Schedule, Weekly Schedule, or Print Weekly. Managers should avoid sending employees to builder, diagnostics, route catalogs, checklists, or developer tools.
Phase 25P-4 adds this reminder only. It does not change publish behavior, employee schedule data, employee permissions, schedule locking, employee text/email notifications, payroll, Time Clock, POS shifts, reservations, payments, waivers, or customer profiles.
Generated Jun 5, 2026 12:22 AM
Safe messages are previewed. Nothing is enforced.
Safe fallback scenarios reviewed.
Employee-facing safe messages drafted.
Manager troubleshooting messages drafted.
Current resolver checks needing review.
Critical route / file / guardrail / table issues.
| Scenario | Trigger | Employee Message | Manager Message | Schedule Visibility | Safety |
|---|---|---|---|---|---|
| No logged-in user | Auth::user() is empty or session is expired. | Please sign in to view your schedule. | The employee is not authenticated. Have them log in again before troubleshooting schedule access. | No schedule shown |
Safe
The system must never show all shifts to an unauthenticated visitor. |
| Logged-in user but no employee/staff mapping | User is logged in, but resolver cannot map the account to user_id, employee_id, or staff_id. | We could not connect your account to an employee schedule yet. Please contact a manager. | Check the employee account mapping. Confirm the user is linked to the correct employee/staff record. | No schedule shown |
Safe
Unmapped users must not fall back to seeing everyone’s schedule. |
| Mapped user but no published shifts | Resolver finds an identity, but there are no published shifts for that identity. | No published shifts are available for you right now. Please check back later or contact a manager. | The employee appears mapped, but no published shifts match their identity. Check published schedule status and employee assignment. | Empty schedule message only |
Safe
A mapped employee with no shifts should see a clean empty state, not a full schedule. |
| Mapped user with published shifts | Resolver finds a candidate identity and published shifts exist for the selected column/value. | Your published schedule is available below. | The resolver found a usable identity and matching published shifts. | Only that employee’s published shifts in a future enforcement phase |
Safe
Future filtering should use the resolved identity only, not all published shifts. |
| Resolver error | Resolver code throws an exception or mapping lookup fails. | We could not load your schedule safely. Please contact a manager. | Resolver failed safely. Check resolver logs/configuration before enabling access enforcement. | No schedule shown |
Safe
Errors should fail closed and avoid exposing all schedule data. |
|
Current request preview
No resolved employee identity yet |
This page’s current authenticated request. | Please sign in to view your schedule. | No logged-in user was detected for this preview request. | No schedule filtering applied now |
Safe
This is a preview only. Employee schedule pages are not changed in this phase. |
| State | Message | Show Schedule | Allow Print |
|---|---|---|---|
| Access required | Please sign in to view your schedule. | No | No |
| Account not linked | We could not connect your account to an employee schedule yet. Please contact a manager. | No | No |
| No published shifts | No published shifts are available for you right now. Please check back later or contact a manager. | No | No |
| Published shifts found | Your published schedule is available below. | Yes | Yes |
| Safe error | We could not load your schedule safely. Please contact a manager. | No | No |
| Current request | Please sign in to view your schedule. | No | No |
| State | Manager Message | Manager Action |
|---|---|---|
| No login | Ask the employee to sign in again. No schedule should be shown until authentication is confirmed. | Confirm employee has an active login. |
| No mapping | The employee account is not linked to a schedule identity. | Check whether schedules use user_id, employee_id, or staff_id and connect the account correctly. |
| No published shifts | The employee appears mapped but has no matching published shifts. | Check whether the schedule has been published and whether the employee was assigned to shifts. |
| Mapped with shifts | The employee should only see shifts matching the resolved identity after future enforcement is enabled. | Use manager preview to verify before enabling live enforcement. |
| Current request | No logged-in user was detected for this preview request. | Use Resolver Preview and Mapping Audit if this does not look correct. |
| Logged In | Safe User | Recommended Candidate | Identity | Published Column | Matches |
|---|---|---|---|---|---|
| Not Detected | None | No candidate selected | No identity value | None | 0 |
| Check | Status | Detail | Note |
|---|---|---|---|
| Preview mode is no-enforcement | Passed | preview_only_no_enforcement | Fallback preview must not enable live schedule filtering. |
| Safe identity summary present | Passed | safe_identity_summary | Names/emails should not be required for this preview. |
| Candidate identities available | Passed | Candidates: 1 | Even no-login state should have a safe fallback row. |
| Recommended candidate safe response present | Passed | No resolved employee identity yet | Resolver should always produce a safe recommendation or no-match response. |
| Fallback rules present | Passed | Rules: 5 | Fallback rules keep unmapped users from seeing all shifts. |
| Not-enforced list present | Passed | Items: 7 | The page should clearly show no enforcement is active. |
| Area | Critical | Status | URI | Open |
|---|---|---|---|---|
| Access Resolver Fallback Preview | Critical | Detected | hd/employee-schedules/access-resolver/fallback-preview | Open |
| Employee Portal Access Resolver Fallback Preview | Critical | Detected | hd/employee-schedules/employee-portal/access-resolver/fallback-preview | Open |
| Access Resolver Smoke Test | Critical | Detected | hd/employee-schedules/access-resolver/smoke-test | Open |
| Access Resolver Preview | Critical | Detected | hd/employee-schedules/access-resolver | Open |
| Production Home | Critical | Detected | hd/employee-schedules/production | Open |
| 25L Completion | Optional | Detected | hd/employee-schedules/production/completion | Open |
| Employee Portal | Critical | Detected | hd/employee-schedules/employee-portal | Open |
| My Schedule | Critical | Detected | hd/employee-schedules/employee-portal/my-schedule | Open |
| Weekly View | Critical | Detected | hd/employee-schedules/employee-portal/weekly | Open |
| Mapping Audit | Optional | Detected | hd/employee-schedules/user-mapping-audit | Open |
| File | Status |
|---|---|
|
Access Resolver Service /home/at4txjiyemp4/public_html/hdsportszone.com/app/Support/Hd/EmployeeSchedules/EmployeeScheduleAccessResolver.php |
Present |
|
Fallback Preview Controller /home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleAccessResolverFallbackPreviewController.php |
Present |
|
Fallback Preview View /home/at4txjiyemp4/public_html/hdsportszone.com/resources/views/hd/employee_schedules/navigation/access_resolver_fallback_preview.blade.php |
Present |
|
Access Resolver Smoke Test Controller /home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleAccessResolverSmokeTestController.php |
Present |
|
Access Resolver Preview Controller /home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleAccessResolverPreviewController.php |
Present |
|
Slim Clean Navigation Partial /home/at4txjiyemp4/public_html/hdsportszone.com/resources/views/hd/employee_schedules/_clean_nav.blade.php |
Present |
|
Navigation Route File /home/at4txjiyemp4/public_html/hdsportszone.com/routes/hd_employee_schedule_navigation.php |
Present |
| Guardrail | Status | Note |
|---|---|---|
|
No enforcement middleware created by this phase /home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Middleware/HdEmployeeScheduleSelfAccess.php |
Passed | A missing enforcement middleware is expected at this stage. |
|
Auth config exists but is not changed by this phase /home/at4txjiyemp4/public_html/hdsportszone.com/config/auth.php |
Passed | This phase does not edit config/auth.php. |
|
Bootstrap middleware file exists but is not changed by this phase /home/at4txjiyemp4/public_html/hdsportszone.com/bootstrap/app.php |
Passed | This phase does not register middleware. |
|
Employee portal routes remain separate from fallback preview route inventory |
Passed | Fallback preview is diagnostic/admin-facing only and does not replace employee portal behavior. |
|
No database writes are performed by preview controller/view only |
Passed | Controller only reads resolver/table/route state. |
| Table | Status | Rows |
|---|---|---|
|
Users users |
Present | 0 |
|
Employees employees |
Not Detected | 0 |
|
HD Employees hd_employees |
Present | 4 |
|
Staff staff |
Not Detected | 0 |
|
HD Staff hd_staff |
Not Detected | 0 |
|
Published Schedule Periods hd_published_schedule_periods |
Present | 1 |
|
Published Shifts hd_published_shifts |
Present | 1 |