Weekly Crew Schedule Generator
A small Python utility that generates a weekly crew scheduling workbook (.xlsx) for Monday–Friday.
Each day gets its own sheet with time slots and one column per crew lead / supervisor.
The workbook is designed to be:
- Easy to edit
- Clean when printed
- Simple to export to PDF
This is useful for scheduling customer visits, job assignments, or crew work plans.
Features
-
Generates one sheet per weekday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
-
Configurable via
config.json- Start time
- End time
- Slot size (minutes)
- Crew / supervisor names
-
Default schedule:
- 08:00 → 17:00
- 60 minute slots
-
Clean printable layout
-
Works with:
- LibreOffice Calc
- Microsoft Excel
- OnlyOffice
-
Easily exportable to PDF
Example Layout
-----------------------------------------------------------
| Time Slot | Crew 1 | Crew 2 | Crew 3 | Crew 4 | Crew 5 |
-----------------------------------------------------------
| 08:00-09:00 | | | | | |
| 09:00-10:00 | | | | | |
| 10:00-11:00 | | | | | |
| ... |
-----------------------------------------------------------
Each row represents a time slot. Each column represents a crew lead or supervisor.
You can write things like:
Customer Name
Address
Notes
inside each cell.
Requirements
Python 3.8+
Python package:
openpyxl
Install it with:
pip install openpyxl
Project Structure
crew_schedule/
│
├─ generate_week_schedule_xlsx.py
├─ config.json
├─ README.md
Configuration
Edit config.json to define crews and schedule hours.
Example:
{
"start_time": "08:00",
"end_time": "17:00",
"slot_minutes": 60,
"crews": [
"Crew 1",
"Crew 2",
"Crew 3"
]
}
Example With Named Supervisors
{
"start_time": "07:00",
"end_time": "16:00",
"slot_minutes": 60,
"crews": [
"Mike",
"Sara",
"John",
"Chris",
"Dana"
]
}
Usage
Generate the schedule for the current week:
python generate_week_schedule_xlsx.py
Generate a specific week:
python generate_week_schedule_xlsx.py 2026-03-09
The script automatically aligns the provided date to Monday.
Output
Example output file:
weekly_schedule_2026-03-09.xlsx
Inside the workbook:
Monday
Tuesday
Wednesday
Thursday
Friday
Each sheet contains:
- Time slots
- Crew columns
- Large writable cells
Exporting to PDF
LibreOffice
- Open the
.xlsxfile - Fill in the schedule
- Click:
File → Export As → Export as PDF
Microsoft Excel
File → Export → Create PDF/XPS
Customization Ideas
Possible improvements:
- Color coding for crews
- Customer / Supervisor / Notes sub-lines
- Automatic job numbering
- Multiple weeks generated at once
- Direct PDF generation
- ICS calendar export
License
MIT License
Use freely, modify freely.
Author
Internal scheduling utility designed for crew-based weekly planning.