Schedule Manager & Bulk Edit
Seasonal flight-schedule tools for planners: validated multi-step wizards, a GraphQL-backed grid, and a bulk editor with custom cell-range selection.
Overview
Planners edit hundreds of seasonal flight legs. I am the main author of Schedule Manager and Bulk Edit, including turnaround validation, staged mutations with a change-summary dialog, and a range-selection hook written after the ag-Grid Enterprise licence expired.
Problem
Seasonal schedules and bulk flight-leg edits needed server-backed grids, wizard validation and a way to select cell ranges without a paid grid licence.
Role
Main author of Schedule Manager routes and Bulk Edit.
Highlights
- GraphQL-backed, server-paginated seasonal schedule grid and a multi-step Add/Edit wizard.
- Replaced fetch-everything client-side statistics with one backend aggregate query.
- Turnaround rules: 15-minute minimum including across midnight; overnight turnarounds anchored on the arrival day.
- Bulk Edit stages changes in Redux and reviews them before submit; mutation results written into the Apollo cache instead of refetching.
- Custom useCellRangeSelection: drag, shift-extend, Ctrl/Cmd multi-range, touch. Selection painted with CSS classes so dragging never re-renders the grid. Removed the Enterprise dependency.
- Base Data wizards for airports, operators, aircraft types, registrations and NSOP, with shared stepper components.
Tech stack
Outcome
Planners can add, validate and bulk-edit seasonal legs without the expired Enterprise grid feature, and without pulling a full year of legs into the browser.