HD Sports Zone Bookmark 26A-10 — First Real Draft Shift Save Locked Implementation / Requires Dual Gate
Locked real-save route for one draft shift. By default, this page saves nothing.
A real insert requires both ENV gates and manual confirmation.
Gate status: Locked: one or both required ENV gates are disabled
HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_ENABLED: false
HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_OWNER_APPROVED: false
Real insert requires both ENV gates plus manual confirmation phrase SAVE_ONE_DRAFT_SHIFT.
Locked Real Save Test Form
This form will stay locked unless both ENV gates are enabled and the confirmation phrase is entered exactly.
Target / Readiness
| Table | hd_draft_shifts |
| Exists | Yes |
| Rows | 5 |
| Readiness | Schema ready for locked real-save route |
| Required mapped | 4 |
| Required missing | 0 |
| Recommendation | Route can remain installed locked. Do not enable gates until intentionally testing one draft row. |
Column Map
| Logical | Label | Required | Column | Status | Would Write If Unlocked? |
| employee_id |
Employee |
Yes |
employee_id |
Mapped
|
Yes, only if all gates pass |
| shift_date |
Shift Date |
Yes |
work_date |
Mapped
|
Yes, only if all gates pass |
| start_time |
Start Time |
Yes |
starts_at |
Mapped
|
Yes, only if all gates pass |
| end_time |
End Time |
Yes |
ends_at |
Mapped
|
Yes, only if all gates pass |
| period_id |
Schedule Period |
No |
schedule_period_id |
Mapped
|
Yes, only if all gates pass |
| status |
Draft Status |
No |
status |
Mapped
|
Yes, only if all gates pass |
| role_position |
Role / Position |
No |
role |
Mapped
|
Yes, only if all gates pass |
| notes |
Notes |
No |
Not detected |
Optional Missing
|
No |
| created_by |
Created By |
No |
created_by |
Mapped
|
Yes, only if all gates pass |
| updated_by |
Updated By |
No |
updated_by |
Mapped
|
Yes, only if all gates pass |
Validation Fields
| Field | Required | Rule |
| employee_id |
Yes |
required integer min:1 |
| shift_date |
Yes |
required valid date |
| start_time |
Yes |
required HH:MM |
| end_time |
Yes |
required HH:MM and later than start time |
| period_id |
No |
nullable integer min:1 |
| role_position |
No |
nullable string max:80 |
| notes |
No |
nullable string max:500 |
| manual_confirmation |
No |
must equal SAVE_ONE_DRAFT_SHIFT to unlock a future insert |
Safety Checks
| Dual-gate protection |
Passed |
Route requires save gate and owner approval gate. |
| Manual confirmation protection |
Passed |
Route requires manual phrase SAVE_ONE_DRAFT_SHIFT. |
| No publish action |
Passed |
Employee-facing schedules are not published. |
| No employee notifications |
Passed |
No text/email behavior is introduced. |
| Insert status |
Locked / no insert |
No insert performed under current locked/default conditions. |
| Row delta |
Review |
Row count unavailable. |
Route Checks
| Screen | Expected | Status | URI | Open |
| 26A-10 Locked Real Save |
GET |
Passed
|
hd/employee-schedules/builder/draft-shift-locked-real-save |
Open |
| 26A-10 Locked Real Save POST |
POST |
Passed
|
hd/employee-schedules/builder/draft-shifts/locked-real-save |
Open |
| 26A-9 Final Safety Checklist |
GET |
Passed
|
hd/employee-schedules/builder/draft-shift-final-safety-checklist |
Open |
| 26A-8 Insert Dry Run |
GET |
Passed
|
hd/employee-schedules/builder/draft-shift-insert-dry-run |
Open |
| Production / Build |
GET |
Passed
|
hd/employee-schedules/production |
Open |