HD Sports Zone Bookmark 26A-1 — Draft Shift Save Route Stub / Disabled-by-Default Functional Gate

First safe route stub for future draft shift saving. The gate is locked by default, and the POST route does not save anything.

Gate status: Locked / disabled by default
ENV key: HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_ENABLED / current value: false
Draft shift saving is disabled by default. The POST route exists only as a safe no-write stub.

Disabled Save Stub Test Form

This form posts to the new stub route, but the route returns a locked result and saves nothing.







Safety Checks

Gate disabled by default Passed Uses HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_ENABLED; default is false.
POST route exists as stub only Passed The POST endpoint returns a locked result page and performs no save.
No insert/update/delete Passed Controller performs no database write statements.
No publish action Passed No employee-facing schedule is changed.
No texts or emails Passed No notification behavior is introduced.
No hard conflict blocking Passed Soft conflicts remain review-only.
No production override Passed This is a separate builder support route.

Payload Fields for Future Draft Save

Field Label Required Example
employee_id Employee Yes selected employee id
shift_date Shift Date Yes YYYY-MM-DD
start_time Start Time Yes 09:00
end_time End Time Yes 17:00
period_id Schedule Period No selected period id
role_position Role / Position No lane attendant
notes Notes No optional manager note
status Draft Status No draft

Candidate Tables

Table Status Rows Columns Purpose Note
hd_draft_shifts Present 5 id, schedule_period_id, employee_id, work_date, starts_at, ends_at, role, location, area, status, has_soft_conflict, soft_conflict_summary, manager_notes, created_by, updated_by, created_at, updated_at, deleted_at Preferred future draft shift target. Inspected read-only only.
hd_schedule_shifts Missing 0 Not detected Possible generic schedule shift table. Inspected read-only only.
hd_employee_schedule_shifts Present 2 id, company_id, employee_id, role_id, schedule_date, starts_at, ends_at, scheduled_hours, shift_title, work_area, station_note, status, notes, created_by, updated_by, settings, created_at, updated_at Possible employee schedule shift table. Inspected read-only only.
hd_employee_schedules Missing 0 Not detected Possible schedule header/shift table. Inspected read-only only.
hd_schedule_periods Present 2 id, title, starts_on, ends_on, status, source, notes, created_by, updated_by, created_at, updated_at, deleted_at Possible schedule period table. Inspected read-only only.
hd_employee_schedule_periods Missing 0 Not detected Possible employee schedule period table. Inspected read-only only.
hd_published_shifts Present 1 id, published_schedule_period_id, source_schedule_period_id, source_draft_shift_id, employee_id, work_date, starts_at, ends_at, role, location, area, published_shift_status, source_had_soft_conflict, source_soft_conflict_summary, manager_notes, source_shift_payload, created_at, updated_at, deleted_at Published table; should not be used by draft save. Published table shown for separation only; not a draft-save target.

Route Status

URI Status Action Open
hd/employee-schedules/builder/draft-shift-save-gate Found GET App\Http\Controllers\Hd\EmployeeSchedules\EmployeeScheduleDraftShiftSaveGateController@index Open
hd/employee-schedules/builder/draft-shifts/disabled-save-stub Found POST App\Http\Controllers\Hd\EmployeeSchedules\EmployeeScheduleDraftShiftSaveGateController@disabledStore Open
hd/employee-schedules/builder/draft-save-readiness-completion Found GET App\Http\Controllers\Hd\EmployeeSchedules\EmployeeScheduleBuilderDraftSaveReadinessCompletionController@index Open
hd/employee-schedules/builder/draft-save-dry-run-preview Found GET App\Http\Controllers\Hd\EmployeeSchedules\EmployeeScheduleBuilderDraftSaveDryRunPreviewController@index Open
hd/employee-schedules/production Found GET App\Http\Controllers\Hd\EmployeeSchedules\EmployeeScheduleProductionRouteRescueController@index Open
hd/employee-schedules/employee-portal Found GET App\Http\Controllers\Hd\EmployeeSchedules\EmployeeScheduleSimplifiedPortalController@index Open