# Redesign Scheduler: 
Instead of creating a whole schedule at once, schedule tests for today first, then fill in the rest with the original scheduler design. Add a button above remake schedule that opens up a modal and show the following. User has to confirm this new modal before able to click remake schedule. 

## Backend:
- Device: keeps track of what device should tests be performed on today. 
- DUT priority queue keeps track of:
  - rerun required DUT tests 

- REF priority queue keeps track of:
  - DUT completed tests mirrored (priority 1)
  - rerun required REF tests (prirority 2)
  - rest of the test bundles in TC 
    - P2P COE test bundles priority 3
    - P2P only test bundles priority 4
    - P3P test bundles priority 5

Workflow:
1. fill pending queues:
    - fill pending queues with all tests bundles in the current TC
    - when there are DUT tests completed last test window, add to REF pending queue with priority 1
    - when there are DUT tests rerun required for last test window, add to DUT pending queue with priority 2
    - when there are REF tests rerun required for last test window, add to REF pending queue with priority 2
2. Create schedule for today
    - Day time testing 9AM - 5PM
      - take in user inputs for device and hours(capcity)
      - fill in as many test from the chosen device pending queue as possible. If the chosen device pending queue is empty, use the original scheduler knapsack select from active list for that device
    - Night time test window
      - calculate capacity
      - fill in as many tests from the today's device
        - if still time available, fill with knapsack select
        - if queue empty, fill with knapsack select

## Frontend
- Display DUT pending queue and REF pending queue
  - DUT on the left, REF on the right
  - list tests
- Display device: if last testing window was DUT then default device should be REF for tonight, vice versa. user has the choice to override this
- Display current Test Config (TC)
- Display day time available hours (default 8 hours)
- Diaplay night time test window available hours (16 hours for workday, 64 for weekends)