Bid Cycles
No bid cycles yet
Each quarter you'll create one cycle, generate lines, post them for bidding, and award them by seniority. Once awarded, the schedule for that quarter is set.
Start by creating your first cycle — the app will use your existing dispatcher roster and the flight load data to propose a complete schedule.
Start a New Bid Cycle
1 · Cycle details
Identify which quarter this bid covers. The label is what dispatchers see (e.g. Q3 2026). Start and end dates determine when the awarded schedule is in effect.
2 · Block configuration
A block is a fixed start time for a 10-hour shift. The cadence determines how the blocks are spaced. The default 5-block cadence (00L / 05L / 10L / 15L / 20L Mountain) is the best fit for Breeze's current flight load. You can pick a different cadence below or edit individual block times.
| Block | Local start i | Zulu start i | Ends (local) i |
|---|
3 · Flight load & budget
The demand curve tells the optimizer how many dispatchers are needed each hour. The weekly shift budget is the supply side of the equation. When integrated with Aerodesk, the demand curve will be pulled from the projected flight schedule for the target quarter automatically.
4 · Generate the bid packet
The optimizer will figure out the best per-block headcount for each day of the week, then turn those targets into 29 candidate bid lines (one line per dispatcher). You can edit anything afterwards in the Line Editor before posting the packet to the dispatchers.
Line Editor
No cycle selected
Pick a cycle from the dropdown above, or create a new one to start editing lines.
Headcount targets — per block, per day
Each cell is the number of dispatchers starting that block on that day. Edit any cell to change the target. The Daily total row should match the budget you set (~17 per weekday, 15–16 weekend). Weekly totals per block control how many bidders end up on each block. After editing, click Regenerate lines to rebuild the bid lines from the new targets.
Coverage chart — proposed staffing vs flight demand
For each hour of the chosen day, the chart shows demand (light tan background) and the staffing produced by the current lines (green bar). Red overlay = understaffed hour. If you see a lot of red, increase headcount on the block that covers those hours.
Generated bid lines
Each line is what a single dispatcher will bid on. Lines are grouped by block and labeled L01–L29. Dispatchers will see this list (in the Bid Packet view) and rank lines by preference.
| Line | Block | Local hours | Work days | Off days |
|---|
Bid Packet
No open bid right now
A cycle has to be in the Posted state before dispatchers can bid on it. Once your supervisor posts a packet, it'll show up here.
Your preference list
Award runs in strict seniority order. The most senior dispatcher gets their #1 choice; the next-senior gets their highest-ranked choice that's still available; and so on. If a dispatcher doesn't bid, they receive whatever lines remain after everyone else has been awarded.
Available lines
Your ranked picks
Award
No cycle to award
You'll run an award after all dispatchers have submitted their bids. Once the bidding window closes, come back here to award the lines.
Bidding status
Before running the award, check that enough dispatchers have submitted their preferences. Missing bidders will be auto-assigned to leftover lines.
Awarded assignments
Sorted by seniority. Picked rank is the position the awarded line had on that dispatcher's preference list; auto means they didn't bid and got an auto-assignment.
| Seniority | Dispatcher | Line | Block | Picked rank |
|---|
Roster
| Rank | Name | Role | Timezone |
|---|
Help & Glossary
The full bid cycle, step by step
A cycle runs once per quarter. It moves through six states; the badge on each cycle card tells you which state it's currently in.
A supervisor opens New Cycle, names it (e.g. "Q3 2026"), picks dates, configures block start times, and sets the weekly shift budget. The app pulls flight demand from the desk catalog (or from Aerodesk's projected load once integrated) and computes the demand curve.
An optimizer finds the per-block, per-day headcount that best matches demand within the shift budget. It then converts those targets into 29 candidate bid lines (one line per dispatcher), each combining a block start time with a 4-on/3-off day pattern.
In the Line Editor, the supervisor sees the proposed lines and a live coverage chart showing scheduled staffing vs flight demand for each day. Headcount cells can be edited directly; clicking Regenerate lines rebuilds lines from edited targets. When the supervisor is happy, they click Post bid packet.
Dispatchers go to Bid Packet, see all 29 available lines, and rank them in order of preference (#1 = most wanted). They click Submit my bid to save. They can edit their bid until the bidding window closes.
When bidding is closed, the supervisor opens Award and clicks Run award. The engine processes dispatchers from rank 1 (most senior) to rank N (least senior). Each dispatcher gets the highest-ranked line on their list that is still available. Dispatchers who didn't bid receive whichever line remains.
Awarded assignments are exported (CSV today; direct push to Aerodesk's scheduler once integrated). The schedule stands for the quarter. PTO, trades, and callouts are handled in Aerodesk on top of this base schedule.
Glossary
Every term used in the app, plain-language.
Common questions
What if a dispatcher doesn't submit a bid?
They still get a line — the award engine auto-assigns them to whatever's left after all bidders have been processed in seniority order. Their result will show "auto" in the Picked rank column instead of a number.
Can a supervisor edit lines after the bid is posted?
Yes, but be careful — if dispatchers have already submitted bids based on the original lines, editing or deleting a line can invalidate those bids. Best practice is to make any edits before posting.
What happens to PTO and trades?
The bid app produces a base quarterly schedule. PTO requests and shift trades happen in Aerodesk on top of that base. Once integration is in place, awarded lines will flow into Aerodesk's scheduler module automatically.
Why does my coverage chart show a shortfall even on the best cadence?
With 29 dispatchers working 40 hours each (1,160 dispatcher-hours/week) against ~1,239 hours of demand, there's a built-in ~6% gap. That gap is normally covered by reserve callbacks and voluntary overtime. To eliminate it entirely you'd need additional dispatchers or longer shifts.
What changes when the bid app is integrated into Aerodesk?
The roster syncs automatically (no more manual seniority entry here). The demand curve comes from real projected flight load instead of the desk catalog. SSO means you don't sign in twice. Awarded schedules flow directly into Aerodesk's scheduler. See INTEGRATION_PLAN.md for the full plan.