- Removed the field from and related components.
- Updated to reflect the removal of the reopen delay input field.
- Modified to include new train number fields: and .
- Added interface to manage active schedules with trade direction.
- Introduced interface to track wagon shortages in bookings.
- Updated logic to ensure consistent UI state representation.
- Created migrations to drop the column and add and columns to the table.
- Added tests for the new booking window display logic and wagon planning functionality.
Review follow-ups on the window-close-hour feature:
- Reject windowCloseHour < windowOpenHour when saving global rules. The
reopen engine (nextCycleOpensAt) assumes the daily desk runs within one
EAT day; an overnight range would misroute a ready-time inside the span
to the next morning. openHour === closeHour stays valid (24-hour desk).
- Derive the board projection's runaway cap from the real first-open →
departure span over the minimum per-cycle advance, so a legitimate
long-lead config is never silently truncated (was a flat 200).
- Document the open <= close precondition on nextCycleOpensAt and clarify
the ready-before-open comment.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>