{
 "usecase": "rota-scheduler",
 "version": 1,
 "grader": {
  "type": "rota"
 },
 "cases": [
  {
   "id": "c01",
   "tier": "easy",
   "input": {
    "week_starting": "2026-11-02",
    "shifts": [
     {
      "id": "tue-pm",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 2
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 1
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Ivy",
      "available": [
       "tue-pm",
       "sat-am",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Kai",
      "available": [
       "sat-am",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Jo",
      "available": [
       "tue-pm",
       "thu-pm",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ben",
      "available": [
       "tue-pm",
       "thu-pm",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Oli",
      "available": [
       "tue-pm",
       "thu-pm",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Hal",
      "available": [
       "tue-pm",
       "sat-am",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Wes",
      "available": [
       "tue-pm",
       "thu-pm",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "tue-pm",
       "thu-pm",
       "sat-pm"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c02",
   "tier": "easy",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "mon-am",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 1
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 1
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 2
     },
     {
      "id": "sun-eve",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Pat",
      "available": [
       "mon-am",
       "thu-am",
       "fri-eve",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Tam",
      "available": [
       "mon-am",
       "thu-am",
       "fri-eve",
       "sat-am",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Eli",
      "available": [
       "mon-am",
       "thu-am",
       "fri-eve",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Lex",
      "available": [
       "mon-am",
       "fri-eve",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Sam",
      "available": [
       "mon-am",
       "thu-am",
       "fri-eve",
       "sun-pm",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ned",
      "available": [
       "mon-am",
       "fri-eve",
       "sat-am",
       "sun-pm",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Zed",
      "available": [
       "mon-am",
       "fri-eve",
       "sat-am",
       "sun-eve"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c03",
   "tier": "easy",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "fri-pm",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sun-eve",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Dee",
      "available": [
       "mon-pm",
       "tue-am",
       "thu-am",
       "fri-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Vic",
      "available": [
       "tue-am",
       "tue-eve",
       "thu-am",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Uma",
      "available": [
       "tue-eve",
       "fri-pm",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ivy",
      "available": [
       "tue-am",
       "tue-eve",
       "thu-am",
       "fri-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Mia",
      "available": [
       "mon-pm",
       "tue-am",
       "fri-pm",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Cal",
      "available": [
       "mon-pm",
       "tue-am",
       "tue-eve",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Quin",
      "available": [
       "mon-pm",
       "tue-eve",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Fay",
      "available": [
       "mon-pm",
       "tue-am",
       "thu-am",
       "sun-eve"
      ],
      "max_shifts": 3
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c04",
   "tier": "easy",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 1
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 1
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 1
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Uma",
      "available": [
       "mon-pm",
       "wed-eve",
       "thu-am",
       "thu-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ivy",
      "available": [
       "mon-pm",
       "thu-am",
       "thu-pm",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ana",
      "available": [
       "thu-am",
       "thu-pm",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Mia",
      "available": [
       "mon-pm",
       "thu-am",
       "thu-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Raj",
      "available": [
       "thu-am",
       "thu-pm",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Cal",
      "available": [
       "wed-eve",
       "thu-am",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "mon-pm",
       "thu-am",
       "sun-pm"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c05",
   "tier": "easy",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "tue-pm",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "fri-pm",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 1
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Sam",
      "available": [
       "tue-am",
       "fri-pm",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Kai",
      "available": [
       "tue-am",
       "tue-pm",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "fri-pm",
       "sat-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Zed",
      "available": [
       "tue-pm",
       "fri-pm",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Raj",
      "available": [
       "tue-pm",
       "sat-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ana",
      "available": [
       "tue-pm",
       "fri-pm",
       "sat-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ivy",
      "available": [
       "tue-am",
       "tue-pm",
       "fri-pm",
       "sat-pm"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c06",
   "tier": "easy",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 1
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 1
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Fay",
      "available": [
       "wed-am",
       "wed-pm",
       "fri-eve",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Cal",
      "available": [
       "wed-am",
       "fri-eve",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "wed-am",
       "wed-pm",
       "fri-eve",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ivy",
      "available": [
       "wed-am",
       "wed-pm",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ana",
      "available": [
       "wed-pm",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Wes",
      "available": [
       "wed-am",
       "wed-pm",
       "fri-eve",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Dee",
      "available": [
       "wed-am",
       "wed-pm",
       "fri-eve",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 3
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c07",
   "tier": "easy",
   "input": {
    "week_starting": "2026-10-19",
    "shifts": [
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 1
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 1
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 1
     },
     {
      "id": "fri-pm",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 2
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Ben",
      "available": [
       "mon-pm",
       "fri-pm",
       "sat-am",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Oli",
      "available": [
       "wed-pm",
       "fri-pm",
       "sat-am",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Gus",
      "available": [
       "wed-am",
       "fri-pm",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Hal",
      "available": [
       "mon-pm",
       "wed-am",
       "fri-pm",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Quin",
      "available": [
       "mon-pm",
       "wed-am",
       "wed-pm",
       "fri-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Sam",
      "available": [
       "mon-pm",
       "wed-am",
       "wed-pm",
       "sat-am",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Tam",
      "available": [
       "wed-am",
       "fri-pm",
       "sat-am",
       "sun-pm"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c08",
   "tier": "easy",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 1
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 1
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Gus",
      "available": [
       "wed-pm",
       "thu-eve",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Hal",
      "available": [
       "thu-eve",
       "sun-am",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Eli",
      "available": [
       "tue-am",
       "wed-pm",
       "sun-am",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ivy",
      "available": [
       "tue-am",
       "wed-pm",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Quin",
      "available": [
       "tue-am",
       "wed-pm",
       "thu-eve",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Fay",
      "available": [
       "tue-am",
       "wed-pm",
       "sun-am",
       "sun-pm"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c09",
   "tier": "easy",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 1
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Dee",
      "available": [
       "tue-am",
       "thu-eve",
       "sun-am"
      ],
      "max_shifts": 1
     },
     {
      "name": "Quin",
      "available": [
       "mon-pm",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Wes",
      "available": [
       "tue-am",
       "thu-eve",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Mia",
      "available": [
       "mon-pm",
       "tue-am",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Raj",
      "available": [
       "mon-pm",
       "thu-eve",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Eli",
      "available": [
       "mon-pm",
       "tue-am",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Pat",
      "available": [
       "tue-am",
       "thu-eve",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Uma",
      "available": [
       "mon-pm",
       "tue-am",
       "thu-eve",
       "sun-am"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c10",
   "tier": "easy",
   "input": {
    "week_starting": "2026-10-19",
    "shifts": [
     {
      "id": "mon-am",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 1
     },
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 1
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 1
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Raj",
      "available": [
       "mon-am",
       "mon-pm",
       "tue-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Gus",
      "available": [
       "mon-pm",
       "tue-am",
       "wed-pm",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Pat",
      "available": [
       "mon-am",
       "wed-pm",
       "fri-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Uma",
      "available": [
       "tue-am",
       "wed-pm",
       "fri-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Kai",
      "available": [
       "mon-am",
       "wed-pm",
       "fri-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Fay",
      "available": [
       "mon-am",
       "mon-pm",
       "tue-am",
       "wed-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Zed",
      "available": [
       "mon-am",
       "tue-am",
       "wed-pm",
       "sat-pm"
      ],
      "max_shifts": 3
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c11",
   "tier": "medium",
   "input": {
    "week_starting": "2026-11-02",
    "shifts": [
     {
      "id": "mon-eve",
      "day": "Mon",
      "needed": 1
     },
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 2
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Wes",
      "available": [
       "wed-pm",
       "sat-am",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Mia",
      "available": [
       "mon-eve",
       "fri-am",
       "sat-am",
       "sat-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Tam",
      "available": [
       "fri-am",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Lex",
      "available": [
       "mon-eve",
       "fri-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Jo",
      "available": [
       "mon-eve",
       "wed-pm",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ana",
      "available": [
       "wed-pm",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Quin",
      "available": [
       "wed-pm",
       "fri-am",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Hal",
      "available": [
       "wed-pm",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Sam",
      "available": [
       "tue-am",
       "wed-pm",
       "sun-am"
      ],
      "max_shifts": 1
     },
     {
      "name": "Uma",
      "available": [
       "tue-am",
       "fri-am"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c12",
   "tier": "medium",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 1
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 1
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 1
     },
     {
      "id": "sat-eve",
      "day": "Sat",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Quin",
      "available": [
       "mon-pm",
       "wed-pm",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Kai",
      "available": [
       "mon-pm",
       "thu-eve",
       "sat-eve"
      ],
      "max_shifts": 1
     },
     {
      "name": "Raj",
      "available": [
       "thu-pm",
       "thu-eve",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Wes",
      "available": [
       "mon-pm",
       "fri-eve",
       "sat-pm",
       "sat-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Hal",
      "available": [
       "wed-pm",
       "thu-eve",
       "fri-eve",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Fay",
      "available": [
       "wed-pm",
       "thu-pm",
       "thu-eve"
      ],
      "max_shifts": 1
     },
     {
      "name": "Tam",
      "available": [
       "wed-pm",
       "fri-eve",
       "sat-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Zed",
      "available": [
       "thu-pm",
       "fri-eve"
      ],
      "max_shifts": 1
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c13",
   "tier": "medium",
   "input": {
    "week_starting": "2026-11-02",
    "shifts": [
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 1
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 2
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Zed",
      "available": [
       "wed-eve",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Sam",
      "available": [
       "fri-eve",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 1
     },
     {
      "name": "Tam",
      "available": [
       "mon-pm",
       "wed-pm",
       "thu-eve",
       "sat-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Pat",
      "available": [
       "wed-pm",
       "fri-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Gus",
      "available": [
       "wed-pm",
       "wed-eve",
       "thu-eve",
       "fri-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Kai",
      "available": [
       "mon-pm",
       "wed-pm",
       "sat-pm"
      ],
      "max_shifts": 1
     },
     {
      "name": "Ana",
      "available": [
       "mon-pm",
       "wed-pm",
       "fri-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ivy",
      "available": [
       "wed-eve",
       "fri-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Wes",
      "available": [
       "mon-pm",
       "wed-eve",
       "fri-eve",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ben",
      "available": [
       "tue-eve",
       "wed-pm",
       "sun-am"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c14",
   "tier": "medium",
   "input": {
    "week_starting": "2026-10-19",
    "shifts": [
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 1
     },
     {
      "id": "fri-pm",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 2
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Jo",
      "available": [
       "tue-eve",
       "wed-am",
       "fri-eve",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Sam",
      "available": [
       "fri-eve",
       "sun-am",
       "sun-pm"
      ],
      "max_shifts": 1
     },
     {
      "name": "Uma",
      "available": [
       "thu-eve",
       "fri-eve",
       "sun-am",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Raj",
      "available": [
       "wed-am",
       "fri-pm",
       "sun-pm"
      ],
      "max_shifts": 1
     },
     {
      "name": "Ned",
      "available": [
       "thu-eve",
       "fri-pm",
       "fri-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Eli",
      "available": [
       "tue-eve",
       "thu-eve",
       "sun-am"
      ],
      "max_shifts": 1
     },
     {
      "name": "Quin",
      "available": [
       "wed-am",
       "fri-eve",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Lex",
      "available": [
       "wed-am",
       "sun-pm"
      ],
      "max_shifts": 1
     },
     {
      "name": "Fay",
      "available": [
       "tue-eve",
       "thu-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Dee",
      "available": [
       "tue-eve",
       "thu-eve",
       "sun-am"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c15",
   "tier": "medium",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "mon-eve",
      "day": "Mon",
      "needed": 3
     },
     {
      "id": "tue-pm",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Cal",
      "available": [
       "mon-eve",
       "tue-eve",
       "wed-pm",
       "wed-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Vic",
      "available": [
       "tue-pm",
       "tue-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Fay",
      "available": [
       "mon-eve",
       "wed-pm",
       "thu-am",
       "thu-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Sam",
      "available": [
       "wed-pm",
       "thu-eve",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Pat",
      "available": [
       "mon-eve",
       "wed-eve",
       "thu-am",
       "thu-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ned",
      "available": [
       "wed-pm",
       "thu-am",
       "thu-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Quin",
      "available": [
       "tue-pm",
       "tue-eve",
       "wed-pm",
       "thu-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Hal",
      "available": [
       "mon-eve",
       "thu-am",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Lex",
      "available": [
       "mon-eve",
       "tue-eve",
       "wed-pm",
       "thu-eve"
      ],
      "max_shifts": 3
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c16",
   "tier": "medium",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 1
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sat-eve",
      "day": "Sat",
      "needed": 1
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Ivy",
      "available": [
       "tue-am",
       "tue-eve",
       "thu-eve",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Oli",
      "available": [
       "tue-eve",
       "thu-am",
       "sat-eve",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ned",
      "available": [
       "tue-eve",
       "thu-am",
       "thu-eve",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Lex",
      "available": [
       "thu-eve",
       "fri-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Jo",
      "available": [
       "tue-am",
       "thu-am",
       "fri-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Raj",
      "available": [
       "tue-eve",
       "fri-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Fay",
      "available": [
       "tue-am",
       "tue-eve",
       "fri-am",
       "sat-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Cal",
      "available": [
       "tue-am",
       "thu-am",
       "fri-am"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c17",
   "tier": "medium",
   "input": {
    "week_starting": "2026-11-02",
    "shifts": [
     {
      "id": "mon-am",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 1
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 1
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 1
     },
     {
      "id": "sun-eve",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Ana",
      "available": [
       "tue-eve",
       "fri-am",
       "sat-am",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Lex",
      "available": [
       "mon-am",
       "sun-am",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Jo",
      "available": [
       "tue-am",
       "wed-am",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "tue-am",
       "tue-eve",
       "sun-am",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Uma",
      "available": [
       "mon-am",
       "tue-eve",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Quin",
      "available": [
       "tue-am",
       "tue-eve",
       "fri-am",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Zed",
      "available": [
       "tue-am",
       "fri-am",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Mia",
      "available": [
       "tue-am",
       "tue-eve",
       "fri-am",
       "sun-eve"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c18",
   "tier": "medium",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "mon-eve",
      "day": "Mon",
      "needed": 1
     },
     {
      "id": "tue-pm",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Zed",
      "available": [
       "mon-pm",
       "tue-pm",
       "wed-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Hal",
      "available": [
       "mon-eve",
       "tue-eve",
       "wed-am",
       "thu-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Fay",
      "available": [
       "tue-pm",
       "tue-eve",
       "thu-am",
       "fri-eve",
       "sun-am"
      ],
      "max_shifts": 4
     },
     {
      "name": "Oli",
      "available": [
       "mon-pm",
       "wed-am",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ana",
      "available": [
       "tue-pm",
       "wed-am",
       "thu-am",
       "sun-am"
      ],
      "max_shifts": 4
     },
     {
      "name": "Sam",
      "available": [
       "tue-eve",
       "thu-am",
       "fri-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Dee",
      "available": [
       "mon-eve",
       "tue-eve",
       "wed-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "mon-pm",
       "wed-am",
       "fri-eve"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c19",
   "tier": "medium",
   "input": {
    "week_starting": "2026-10-19",
    "shifts": [
     {
      "id": "tue-pm",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "fri-pm",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sun-eve",
      "day": "Sun",
      "needed": 3
     }
    ],
    "volunteers": [
     {
      "name": "Jo",
      "available": [
       "wed-pm",
       "thu-am",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Oli",
      "available": [
       "tue-eve",
       "thu-am",
       "thu-pm",
       "fri-pm",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Gus",
      "available": [
       "tue-pm",
       "wed-pm",
       "thu-am",
       "thu-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Quin",
      "available": [
       "tue-pm",
       "wed-pm",
       "thu-pm",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Zed",
      "available": [
       "wed-pm",
       "thu-am",
       "fri-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Wes",
      "available": [
       "tue-pm",
       "thu-pm",
       "fri-pm",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Dee",
      "available": [
       "tue-eve",
       "thu-am",
       "fri-pm",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ivy",
      "available": [
       "tue-pm",
       "wed-pm",
       "thu-pm",
       "sun-eve"
      ],
      "max_shifts": 4
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c20",
   "tier": "medium",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "tue-pm",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 3
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 3
     },
     {
      "id": "sun-eve",
      "day": "Sun",
      "needed": 1
     }
    ],
    "volunteers": [
     {
      "name": "Wes",
      "available": [
       "tue-eve",
       "sun-am",
       "sun-pm",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Cal",
      "available": [
       "tue-eve",
       "wed-am",
       "sun-am",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Uma",
      "available": [
       "tue-pm",
       "wed-am",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Eli",
      "available": [
       "tue-eve",
       "wed-am",
       "fri-am",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Kai",
      "available": [
       "tue-pm",
       "fri-am",
       "sun-am",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Pat",
      "available": [
       "tue-pm",
       "fri-am",
       "sun-am",
       "sun-pm",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Hal",
      "available": [
       "tue-pm",
       "tue-eve",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Vic",
      "available": [
       "tue-eve",
       "sun-am",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ned",
      "available": [
       "tue-pm",
       "wed-am",
       "fri-am",
       "sun-am"
      ],
      "max_shifts": 3
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c21",
   "tier": "hard",
   "input": {
    "week_starting": "2026-10-19",
    "shifts": [
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "tue-pm",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 2
     },
     {
      "id": "sun-eve",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Gus",
      "available": [
       "wed-am",
       "wed-eve",
       "thu-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Fay",
      "available": [
       "wed-am",
       "thu-pm",
       "fri-am",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Tam",
      "available": [
       "tue-am",
       "wed-am",
       "thu-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Cal",
      "available": [
       "thu-am",
       "thu-pm",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Mia",
      "available": [
       "tue-am",
       "thu-pm",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Pat",
      "available": [
       "tue-pm",
       "wed-eve",
       "thu-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Wes",
      "available": [
       "tue-pm",
       "wed-am",
       "thu-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ivy",
      "available": [
       "tue-am",
       "wed-eve",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Dee",
      "available": [
       "tue-am",
       "wed-eve",
       "thu-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Hal",
      "available": [
       "wed-am",
       "thu-pm",
       "fri-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Eli",
      "available": [
       "thu-am",
       "fri-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Sam",
      "available": [
       "tue-am",
       "fri-am",
       "sun-eve"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c22",
   "tier": "hard",
   "input": {
    "week_starting": "2026-11-02",
    "shifts": [
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "fri-pm",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sat-eve",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 2
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 3
     }
    ],
    "volunteers": [
     {
      "name": "Dee",
      "available": [
       "thu-eve",
       "sat-pm",
       "sat-eve",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Tam",
      "available": [
       "tue-am",
       "tue-eve",
       "fri-eve",
       "sat-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Gus",
      "available": [
       "tue-eve",
       "fri-eve",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ana",
      "available": [
       "tue-eve",
       "thu-eve",
       "fri-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Kai",
      "available": [
       "tue-am",
       "tue-eve",
       "fri-eve",
       "sat-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Wes",
      "available": [
       "tue-am",
       "tue-eve",
       "sat-eve",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ned",
      "available": [
       "tue-am",
       "tue-eve",
       "fri-pm",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Zed",
      "available": [
       "thu-eve",
       "fri-eve",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ivy",
      "available": [
       "tue-eve",
       "fri-pm",
       "sat-pm"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c23",
   "tier": "hard",
   "input": {
    "week_starting": "2026-10-19",
    "shifts": [
     {
      "id": "mon-eve",
      "day": "Mon",
      "needed": 3
     },
     {
      "id": "tue-pm",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 3
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 3
     }
    ],
    "volunteers": [
     {
      "name": "Pat",
      "available": [
       "tue-pm",
       "tue-eve",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Dee",
      "available": [
       "tue-pm",
       "tue-eve",
       "fri-am",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Raj",
      "available": [
       "wed-am",
       "thu-am",
       "thu-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Oli",
      "available": [
       "mon-eve",
       "tue-eve",
       "fri-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Tam",
      "available": [
       "tue-eve",
       "thu-am",
       "fri-am",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Sam",
      "available": [
       "mon-eve",
       "wed-am",
       "thu-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Quin",
      "available": [
       "tue-eve",
       "thu-eve",
       "fri-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ana",
      "available": [
       "wed-am",
       "thu-am",
       "thu-eve",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Jo",
      "available": [
       "mon-eve",
       "tue-pm",
       "thu-eve",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Uma",
      "available": [
       "mon-eve",
       "wed-am",
       "thu-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Zed",
      "available": [
       "wed-am",
       "fri-am",
       "sun-am"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c24",
   "tier": "hard",
   "input": {
    "week_starting": "2026-10-26",
    "shifts": [
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "fri-pm",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sat-eve",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 2
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 3
     }
    ],
    "volunteers": [
     {
      "name": "Dee",
      "available": [
       "wed-eve",
       "sat-eve",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ivy",
      "available": [
       "mon-pm",
       "thu-pm",
       "fri-am",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Hal",
      "available": [
       "mon-pm",
       "wed-eve",
       "fri-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Wes",
      "available": [
       "thu-pm",
       "thu-eve",
       "sat-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "wed-am",
       "thu-pm",
       "fri-am",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Sam",
      "available": [
       "wed-am",
       "fri-pm",
       "sat-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ana",
      "available": [
       "wed-eve",
       "thu-pm",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Oli",
      "available": [
       "thu-pm",
       "thu-eve",
       "sat-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Tam",
      "available": [
       "wed-eve",
       "fri-am",
       "sun-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ben",
      "available": [
       "mon-pm",
       "thu-eve",
       "fri-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Jo",
      "available": [
       "wed-am",
       "fri-pm",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Gus",
      "available": [
       "wed-am",
       "thu-eve",
       "fri-pm",
       "sun-pm"
      ],
      "max_shifts": 3
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c25",
   "tier": "hard",
   "input": {
    "week_starting": "2026-10-19",
    "shifts": [
     {
      "id": "mon-am",
      "day": "Mon",
      "needed": 3
     },
     {
      "id": "mon-pm",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "mon-eve",
      "day": "Mon",
      "needed": 3
     },
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 3
     }
    ],
    "volunteers": [
     {
      "name": "Quin",
      "available": [
       "mon-am",
       "tue-eve",
       "thu-pm",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ana",
      "available": [
       "tue-am",
       "thu-pm",
       "thu-eve",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Lex",
      "available": [
       "mon-pm",
       "tue-eve",
       "thu-eve",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Uma",
      "available": [
       "mon-eve",
       "tue-am",
       "tue-eve",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Jo",
      "available": [
       "mon-am",
       "tue-eve",
       "thu-pm",
       "thu-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Oli",
      "available": [
       "mon-eve",
       "wed-eve",
       "thu-eve",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Zed",
      "available": [
       "mon-pm",
       "wed-eve",
       "thu-eve",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Mia",
      "available": [
       "mon-pm",
       "mon-eve",
       "thu-pm",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Vic",
      "available": [
       "mon-am",
       "tue-am",
       "wed-eve",
       "fri-eve"
      ],
      "max_shifts": 3
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c26",
   "tier": "hard",
   "input": {
    "week_starting": "2026-11-02",
    "shifts": [
     {
      "id": "mon-am",
      "day": "Mon",
      "needed": 3
     },
     {
      "id": "mon-eve",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sat-eve",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sun-eve",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Jo",
      "available": [
       "thu-pm",
       "sat-am",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Gus",
      "available": [
       "mon-am",
       "sat-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Raj",
      "available": [
       "mon-am",
       "fri-am",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ivy",
      "available": [
       "mon-am",
       "mon-eve",
       "fri-am",
       "sat-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Pat",
      "available": [
       "mon-eve",
       "sat-pm",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Tam",
      "available": [
       "tue-eve",
       "fri-am",
       "sat-pm",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Kai",
      "available": [
       "thu-pm",
       "fri-am",
       "sat-eve",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Oli",
      "available": [
       "mon-am",
       "tue-eve",
       "sat-am",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Hal",
      "available": [
       "mon-am",
       "thu-pm",
       "sat-eve"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c27",
   "tier": "hard",
   "input": {
    "week_starting": "2026-11-02",
    "shifts": [
     {
      "id": "mon-am",
      "day": "Mon",
      "needed": 3
     },
     {
      "id": "mon-eve",
      "day": "Mon",
      "needed": 3
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "fri-am",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 2
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sun-am",
      "day": "Sun",
      "needed": 3
     }
    ],
    "volunteers": [
     {
      "name": "Hal",
      "available": [
       "wed-pm",
       "wed-eve",
       "fri-am",
       "sat-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ben",
      "available": [
       "mon-eve",
       "wed-eve",
       "fri-am",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ana",
      "available": [
       "mon-am",
       "wed-eve",
       "thu-eve",
       "sat-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Zed",
      "available": [
       "mon-eve",
       "thu-eve",
       "sat-am",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Lex",
      "available": [
       "mon-am",
       "fri-am",
       "fri-eve",
       "sun-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Fay",
      "available": [
       "mon-am",
       "wed-eve",
       "thu-eve",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Cal",
      "available": [
       "wed-pm",
       "fri-eve",
       "sat-am",
       "sat-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ivy",
      "available": [
       "mon-am",
       "wed-pm",
       "fri-am",
       "sat-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Dee",
      "available": [
       "mon-eve",
       "wed-eve",
       "thu-eve",
       "sat-pm",
       "sun-am"
      ],
      "max_shifts": 4
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c28",
   "tier": "hard",
   "input": {
    "week_starting": "2026-11-02",
    "shifts": [
     {
      "id": "mon-am",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "thu-eve",
      "day": "Thu",
      "needed": 3
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sun-pm",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Pat",
      "available": [
       "tue-eve",
       "wed-am",
       "thu-pm",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Oli",
      "available": [
       "wed-am",
       "fri-eve",
       "sun-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Wes",
      "available": [
       "tue-eve",
       "thu-pm",
       "fri-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "tue-eve",
       "thu-eve",
       "fri-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Uma",
      "available": [
       "wed-eve",
       "thu-eve",
       "fri-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Mia",
      "available": [
       "mon-am",
       "tue-eve",
       "thu-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Jo",
      "available": [
       "mon-am",
       "wed-eve",
       "thu-am",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Fay",
      "available": [
       "wed-am",
       "thu-pm",
       "thu-eve",
       "sun-pm"
      ],
      "max_shifts": 3
     },
     {
      "name": "Zed",
      "available": [
       "wed-am",
       "wed-eve",
       "thu-am"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c29",
   "tier": "hard",
   "input": {
    "week_starting": "2026-10-19",
    "shifts": [
     {
      "id": "mon-eve",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "wed-am",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 2
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 2
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 3
     },
     {
      "id": "sat-pm",
      "day": "Sat",
      "needed": 2
     },
     {
      "id": "sat-eve",
      "day": "Sat",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Raj",
      "available": [
       "mon-eve",
       "fri-eve",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Mia",
      "available": [
       "mon-eve",
       "thu-pm",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Gus",
      "available": [
       "thu-am",
       "fri-eve",
       "sat-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "tue-am",
       "wed-eve",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Uma",
      "available": [
       "mon-eve",
       "wed-am",
       "sat-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Oli",
      "available": [
       "mon-eve",
       "wed-eve",
       "thu-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Tam",
      "available": [
       "wed-am",
       "thu-am",
       "thu-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ana",
      "available": [
       "wed-am",
       "thu-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Lex",
      "available": [
       "tue-am",
       "wed-eve",
       "sat-am"
      ],
      "max_shifts": 2
     },
     {
      "name": "Jo",
      "available": [
       "mon-eve",
       "wed-am",
       "sat-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ben",
      "available": [
       "tue-am",
       "wed-eve",
       "sat-eve"
      ],
      "max_shifts": 2
     }
    ]
   },
   "expected": {}
  },
  {
   "id": "c30",
   "tier": "hard",
   "input": {
    "week_starting": "2026-11-02",
    "shifts": [
     {
      "id": "mon-eve",
      "day": "Mon",
      "needed": 2
     },
     {
      "id": "tue-am",
      "day": "Tue",
      "needed": 2
     },
     {
      "id": "tue-eve",
      "day": "Tue",
      "needed": 3
     },
     {
      "id": "wed-pm",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "wed-eve",
      "day": "Wed",
      "needed": 3
     },
     {
      "id": "thu-am",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "thu-pm",
      "day": "Thu",
      "needed": 2
     },
     {
      "id": "fri-eve",
      "day": "Fri",
      "needed": 3
     },
     {
      "id": "sat-am",
      "day": "Sat",
      "needed": 2
     },
     {
      "id": "sun-eve",
      "day": "Sun",
      "needed": 2
     }
    ],
    "volunteers": [
     {
      "name": "Jo",
      "available": [
       "mon-eve",
       "wed-eve",
       "thu-am",
       "sat-am"
      ],
      "max_shifts": 3
     },
     {
      "name": "Pat",
      "available": [
       "tue-am",
       "tue-eve",
       "wed-eve",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Sam",
      "available": [
       "wed-pm",
       "wed-eve",
       "thu-pm"
      ],
      "max_shifts": 2
     },
     {
      "name": "Raj",
      "available": [
       "wed-pm",
       "thu-pm",
       "fri-eve",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Cal",
      "available": [
       "mon-eve",
       "wed-pm",
       "thu-pm",
       "sun-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Zed",
      "available": [
       "mon-eve",
       "tue-eve",
       "wed-pm",
       "fri-eve"
      ],
      "max_shifts": 3
     },
     {
      "name": "Ivy",
      "available": [
       "tue-am",
       "thu-am",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Tam",
      "available": [
       "tue-am",
       "wed-eve",
       "sun-eve"
      ],
      "max_shifts": 2
     },
     {
      "name": "Ned",
      "available": [
       "mon-eve",
       "tue-eve",
       "thu-am",
       "sat-am"
      ],
      "max_shifts": 3
     }
    ]
   },
   "expected": {}
  }
 ]
}