HD Sports Zone Bookmark 25L-2 — Employee/User Mapping Audit

Read-only mapping audit for future employee-only schedule access. This page shows structural counts and mapping health only. It does not expose employee names/emails, enforce permissions, change auth, edit middleware, write data, change schedules, send notifications, or touch payroll, Time Clock, POS shifts, reservations, payments, waivers, customer profiles, exports, PDFs, CSVs, schedule locking, or hard schedule blocking.

Builder Help Strip

Manager build workflow: Build → Review → Publish → Employee View

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.

1. Build Use existing builder.
2. Draft Draft until published.
3. Review Check conflicts.
4. Publish Existing publish flow.
5. Employees Published self-view.
Manager Schedule Builder — Safe Workflow

Build here. Review conflicts before publishing. Employees view only published schedules.

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.

1. Build Use the current builder workflow.
2. Review Check unavailable blocks and soft conflicts.
3. Publish Publish only after manager review.
4. Employee View Employees use published self-view pages.
Draft Status / Publish Readiness

Treat this as draft work until the manager intentionally publishes it.

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.

Draft Build and review shifts here.
Coverage Confirm staff, roles, dates, and times.
Conflict Review Review soft conflicts before publish.
Published Employees use published self-view pages.
Publish Review Reminder

Review soft conflicts before publishing this schedule.

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.

Unavailable Review unavailable blocks.
Appointments Check appointment overlap.
Manager Holds Review manager holds.
Coverage Check staff coverage.
Publish Publish after review.
Employee View Reminder

Employees should view published schedules only from Employee Portal.

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.

Draft Manager-only build work.
Review Conflicts and coverage.
Publish Existing manager action.
Employee View Published self-view pages.

Mapping Audit Summary

No access enforcement is active. This audit only helps choose the safest future mapping path for employee self-view schedules.

Generated Jun 5, 2026 12:20 AM

Read Only Audit Mode

Counts only. No permissions, auth, or data are changed.

2 Identity Tables Found

Potential user/employee/staff identity tables detected.

6 Shift Identity Columns

Potential identity columns found on published shifts.

1 Available Mapping Paths

Mapping paths where both sides of the relationship exist.

1 High Confidence Paths

High-confidence paths available for future review.

100.0% Best Coverage

Best detected distinct shift identity match rate.

Preserved Boundaries

Read-only mapping audit Counts only, no employee PII output No permission enforcement No auth config changes No middleware changes No database writes No migrations No route deletion No page deletion No schedule edits No published schedule edits No draft schedule edits No employee texts No employee emails No notifications No payroll changes No Time Clock rules changes No POS shifts changes No reservations changes No payments changes No waivers changes No customer profile changes No exports generated No PDF generation No CSV export No schedule locking No hard schedule blocking changes

Recommended Mapping Path

Recommended Candidate: Published Shifts employee_id → HD Employees id
Best option if hd_employees is the active HD-specific roster.
Coverage: 100.0%
Next Step: Use this mapping as the leading candidate for a future read-only permission preview phase.

Mapping Audit Results

Mapping Confidence Status Shift Values Matched Coverage Notes
Published Shifts user_id → Users id
hd_published_shifts.user_idusers.id
High Unavailable
Shift side: no; Identity side: yes
Assigned rows: 0
Distinct values: 0
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 0
0.0% Best option if schedules store the authenticated user id directly.
Published Shifts employee_id → Employees id
hd_published_shifts.employee_idemployees.id
High Unavailable
Shift side: yes; Identity side: no
Assigned rows: 1
Distinct values: 1
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 1
0.0% Best option if employees table is the active staff roster.
Published Shifts employee_id → HD Employees id
hd_published_shifts.employee_idhd_employees.id
High Strong Match
Shift side: yes; Identity side: yes
Assigned rows: 1
Distinct values: 1
Matched rows: 1
Matched distinct: 1
Unmatched distinct: 0
100.0% Best option if hd_employees is the active HD-specific roster.
Published Shifts staff_id → Staff id
hd_published_shifts.staff_idstaff.id
Medium Unavailable
Shift side: no; Identity side: no
Assigned rows: 0
Distinct values: 0
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 0
0.0% Possible option if schedule rows are assigned to staff records.
Published Shifts staff_id → HD Staff id
hd_published_shifts.staff_idhd_staff.id
Medium Unavailable
Shift side: no; Identity side: no
Assigned rows: 0
Distinct values: 0
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 0
0.0% Possible option if schedule rows are assigned to HD staff records.
Published Shifts user_id → Employees user_id
hd_published_shifts.user_idemployees.user_id
Medium Unavailable
Shift side: no; Identity side: no
Assigned rows: 0
Distinct values: 0
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 0
0.0% Possible bridge if employees table links back to users through user_id.
Published Shifts user_id → HD Employees user_id
hd_published_shifts.user_idhd_employees.user_id
Medium Unavailable
Shift side: no; Identity side: no
Assigned rows: 0
Distinct values: 0
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 0
0.0% Possible bridge if hd_employees links back to users through user_id.
Published Shifts user_id → Staff user_id
hd_published_shifts.user_idstaff.user_id
Low Unavailable
Shift side: no; Identity side: no
Assigned rows: 0
Distinct values: 0
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 0
0.0% Possible bridge only if staff records link back to users.
Published Shifts user_id → HD Staff user_id
hd_published_shifts.user_idhd_staff.user_id
Low Unavailable
Shift side: no; Identity side: no
Assigned rows: 0
Distinct values: 0
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 0
0.0% Possible bridge only if HD staff records link back to users.
Published Shifts employee_id → Users employee_id
hd_published_shifts.employee_idusers.employee_id
Medium Unavailable
Shift side: yes; Identity side: no
Assigned rows: 1
Distinct values: 1
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 1
0.0% Possible direct user bridge if users table stores employee_id.
Published Shifts staff_id → Users staff_id
hd_published_shifts.staff_idusers.staff_id
Medium Unavailable
Shift side: no; Identity side: no
Assigned rows: 0
Distinct values: 0
Matched rows: 0
Matched distinct: 0
Unmatched distinct: 0
0.0% Possible direct user bridge if users table stores staff_id.

Potential Identity Tables

Table Status Rows Detected Columns
Users
users
Present 0 Identity: id
Profile: name, email
Status: none
Employees
employees
Missing 0 Identity: none
Profile: none
Status: none
HD Employees
hd_employees
Present 4 Identity: id
Profile: first_name, last_name, display_name, email
Status: status
Staff
staff
Missing 0 Identity: none
Profile: none
Status: none
HD Staff
hd_staff
Missing 0 Identity: none
Profile: none
Status: none

Published Shift Identity Columns

Column Status Non-Null Distinct
User ID
hd_published_shifts.user_id
Not Detected 0 0
Employee ID
hd_published_shifts.employee_id
Present 1 1
Staff ID
hd_published_shifts.staff_id
Not Detected 0 0
Published Period ID
hd_published_shifts.published_schedule_period_id
Present 1 1
Source Period ID
hd_published_shifts.source_schedule_period_id
Present 1 1
Work Date
hd_published_shifts.work_date
Present 1 1
Starts At
hd_published_shifts.starts_at
Present 1 1
Ends At
hd_published_shifts.ends_at
Present 1 1

Safe Notes

  • This page intentionally shows counts and structural mapping health, not employee names or email addresses.
  • No authentication guard, middleware, policy, role, or permission changes are made.
  • No schedule query is changed by this phase.
  • A future phase should preview access behavior before enforcing employee self-view restrictions.
  • Managers/admins should retain preview capability even after employee self-view access is enforced.

Do Not Enforce Yet

Keep this module diagnostic until the mapping path is confirmed.
  • Do not enforce employee-only views until the mapping path is confirmed.
  • Do not add or change middleware in this phase.
  • Do not edit config/auth.php in this phase.
  • Do not create or update users, employees, staff, or mapping records in this phase.
  • Do not send texts, emails, reminders, or employee notifications.
  • Do not connect scheduling to payroll, Time Clock, POS shifts, reservations, payments, waivers, customer profiles, exports, PDFs, CSVs, or schedule locking.

Route Checks

Area Critical Method Status URI
User Mapping Audit Critical GET Detected hd/employee-schedules/user-mapping-audit
Employee Portal User Mapping Audit Critical GET Detected hd/employee-schedules/employee-portal/user-mapping-audit
Access Prep Critical GET Detected hd/employee-schedules/access-prep
Completion Optional GET Detected hd/employee-schedules/completion
Scheduling Hub Critical GET Detected hd/employee-schedules/hub
Employee Portal Critical GET Detected hd/employee-schedules/employee-portal
My Schedule Critical GET Detected hd/employee-schedules/employee-portal/my-schedule
Weekly View Critical GET Detected hd/employee-schedules/employee-portal/weekly
Weekly Print Optional GET Detected hd/employee-schedules/employee-portal/weekly/print

Controller / View / Route File Checks

File Status
User Mapping Audit Controller
/home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleUserMappingAuditController.php
Present
User Mapping Audit View
/home/at4txjiyemp4/public_html/hdsportszone.com/resources/views/hd/employee_schedules/navigation/user_mapping_audit.blade.php
Present
Access Prep Controller
/home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleAccessPrepController.php
Present
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

Table Checks

Table Status Rows Purpose
Users
users
Present 0 Possible login identity source.
Employees
employees
Not Detected 0 Possible employee profile source.
HD Employees
hd_employees
Present 4 Possible HD employee profile source.
Staff
staff
Not Detected 0 Possible staff profile source.
HD Staff
hd_staff
Not Detected 0 Possible HD staff profile source.
Published Shifts
hd_published_shifts
Present 1 Employee portal published shift source.
Published Schedule Periods
hd_published_schedule_periods
Present 1 Published period source.

Next Recommended Phase

25L-3 — Employee Access Preview / No Enforcement
Recommended next phase can preview how employee-only filtering would behave using the best mapping candidate, without enforcing permissions yet.
  1. Stay read-only and preview-only.
  2. Use the best mapping candidate from this audit.
  3. Show what an employee would see without blocking current access.
  4. Keep manager/admin preview available.
  5. Do not add middleware enforcement yet.
  6. Do not send notifications or touch payroll, Time Clock, POS shifts, reservations, payments, waivers, customer profiles, exports, or locking.