Schedaddle

Product Documentation

Complete reference for every feature and setting in Schedaddle.

Overview

Schedaddle is a staff scheduling tool for shift-based businesses. It replaces spreadsheets with a structured weekly planner, a visual day-level role assignment grid, automated draft generation, and one-click publishing that notifies your team by email.

The core workflow is: Set up your team → Configure availability → Generate a draft → Review and adjust → Publish. Most GMs complete their first schedule in under 20 minutes.

Weekly Schedule

Assign shifts across a 7-day grid with labor budget tracking.

Day View

Paint role assignments across 30-minute blocks for each employee.

Auto-Generate Draft

AI-powered schedule generation from availability and rules.

Publish & Notify

Email shifts to your team with calendar invites attached.

Managing Your Team

Adding employees

Go to Team in the top navigation. Click Add Employee and fill in name, role, employment type, and email. The email address is used for publishing — employees without an email won't receive notifications.

Roles

GM (General Manager) and ASM (Assistant Store Manager) are manager-level roles. The schedule enforces manager coverage — at least one GM or ASM must be on shift at all times during operating hours. Part-Time employees are non-management.

Availability

Click Set Availability on any employee to define their recurring weekly availability. Add time windows for each day they're available. Days with no windows = unavailable that day. The draft generator respects these windows and flags any violations in the sidebar.

Use Temporary Unavailability to block out date ranges (holidays, training periods) without changing their permanent availability.

Qualifications

Employees can hold qualifications (e.g. Team Lead) that unlock restricted roles. Without the qualification, that role cannot be painted on their blocks in the Day View and the draft generator won't assign it.

New hire flag

Mark employees as new hires to track their training hours. When a new hire accumulates enough Training-role hours across published schedules (configurable threshold), they are automatically graduated and the flag is removed on the next publish.

Exclude from auto-schedule

Toggle this on for employees who should never be automatically scheduled — for example, on-call staff or employees whose shifts are arranged separately. They remain in the system and can be manually added to any day.

Bulk CSV import

Download the sample CSV template, fill in your team, and upload it from the Team page. The import previews all rows and highlights errors before committing.

Weekly Schedule

The weekly schedule grid shows one week (Mon–Sun) with one row per employee. Click any cell to assign a shift using a template or a custom time. Click a shift pill to change or remove it.

Week navigation

Use the ← → arrows in the header to move between weeks. Click any date column header to jump to the Day View for that date.

Approved days

Days approved in the Day View are shown with a lock icon. Approved days are excluded from draft generation — the generator only fills unlocked days. You can unlock a day to make changes, which will prompt re-approval.

Sidebar panels

Labor Budget — Enter your weekly forecast and compare it to scheduled hours via the budget bars. The tier row shows which labor matrix tier is active.

Shift Templates — Quick-assign templates. Click + Add to create new ones. Hover a template to edit or delete it.

Violations — Hard violations (red) are compliance issues (consecutive days, overtime). Soft violations (amber) are warnings (missed break, availability conflict).

Manager Coverage — Shows any time gaps where no manager is scheduled.

Auto-Generate Draft — Generates a complete week from your rules. Locked days are skipped. If shifts already exist on unlocked days, you'll be asked to confirm replacement.

Day View

The Day View shows a 15-hour grid (08:00–23:00) divided into 30-minute blocks for every scheduled employee. Click or drag across blocks to paint role assignments.

Role palette

Select a role from the left sidebar, then click or drag across any block within an employee's shift. Blocks outside the shift window are locked. Use Erase mode to clear blocks. The ↩ Undo button reverses the last paint gesture.

You can reorder roles in the palette by dragging in Edit mode. Rename roles permanently in Settings → Roles.

Break visualization

Two consecutive Break blocks show as a diagonal split on the second block with a 45m label — indicating the standard 45-minute meal break. This is purely visual; the break validator checks block count against your break settings.

Auto-fill

Click Auto-fill to automatically paint roles for all employees on the current day. The algorithm runs three passes: Opening/Closing assignment → Lobby/Floor coverage → Hub/Counter and specialised roles. It respects slot limits set in Auto-Fill Rules.

Approve day

Once the day is finalised, click Approve to lock it. Approved days are excluded from the next draft run. If the weekly schedule is changed after approval, the day is flagged for re-approval.

Draft Generation

Click Auto-Generate Draft in the weekly schedule sidebar to generate a full week in one step. The algorithm runs 4 phases:

  1. Manager shifts — Assigns GM/ASM openers and closers first, using equity rotation to distribute early/late shifts fairly.
  2. Full-time staff — Fills FT employees across the week respecting their hour budget and availability.
  3. Part-time closers — Assigns PT employees to closing shifts.
  4. Part-time remaining — Fills remaining PT hours to meet the week's coverage target.

The generator respects: employee availability windows, temporary unavailability, qualifications, the exclude from auto-schedule flag, day approvals, and all Draft Rules settings.

Equity rotation — The generator tracks each employee's history of opening and closing shifts over the last 4 weeks. Employees with fewer recent opens/closes are prioritised, so no one always gets the early shift.

Publishing & Notifications

Click Publish in the weekly schedule header to mark the week as published and notify your team.

What publishing does

  • Marks the week as published in the database
  • Sends a personalised email to every employee with an email address (their shifts only)
  • Attaches a PDF of the full week schedule and a day-view PDF
  • Attaches a .ics calendar file with each employee's shifts (opens in Google Calendar, Outlook, Apple Calendar)
  • Syncs all shifts to your connected Google Calendar (if configured)
  • Auto-graduates any new hires who have reached the training hours threshold

Draft emails

You can also send a draft email (before publishing) from the ... menu. Draft emails are clearly labelled to avoid confusion.

Re-publishing

Publishing a week that's already published re-sends emails and re-syncs the calendar. Use this if you make changes after the initial publish.

Labor Planning

Staffing model

Controls how the labor budget sidebar calculates targets. Guest/Visitor count maps your weekly visitor forecast to hours via the Labor Matrix. Revenue maps weekly revenue forecast to hours. Fixed target hours skips the forecast input — set target hours directly in the matrix.

Forecast label

The label shown above the forecast input on the schedule page. Defaults to "Weekly Guests" for guest-ratio model, "Weekly Revenue" for revenue model. Customise to match your business language.

Break & Hours Settings

Min break duration

The minimum break length in minutes that satisfies the break requirement. If an employee's shift contains fewer consecutive Break blocks than this threshold, a violation is flagged.

Break trigger hours

The shift length (in hours) above which a break becomes mandatory. A 4-hour shift with a 5-hour trigger will not flag a missing break. A 6-hour shift will.

Meal break excluded

When enabled, meal breaks are not counted in the total working hours calculation for overtime. Useful in markets where unpaid meal breaks are legislated.

Roster days / week

The standard number of working days per week for your store. Used by the draft generator to distribute shifts.

Normal shift hours

The standard shift length. Used to calculate expected weekly hours for full-time employees.

Weekly OT threshold

Hours per week beyond which overtime applies. Shifts exceeding this threshold are flagged as violations in the Violations panel.

Daily OT threshold

Hours per day beyond which daily overtime applies. Flags violations when a single shift exceeds this length.

Salary threshold & currency

If an employee's salary is above this threshold, they may be exempt from overtime provisions in some markets (e.g. Malaysia's Employment Act salary cap). Used for informational flagging only — does not affect calculations.

Shift Templates

Shift templates are named start/end time pairs that appear in the shift assignment dropdown on the weekly schedule grid. They make assigning common shifts fast — click a cell, pick a template, done.

Manager only

When checked, the template only appears for GM and ASM employees, not part-time staff.

Applicable days

Restrict a template to specific days of the week. A "Fri/Sat/Sun Close" template can be hidden from weekday dropdowns to reduce clutter.

Templates are seeded automatically during onboarding based on your opening and closing times. Edit, add, or delete them from the weekly schedule sidebar or Settings → Shift Templates.

Auto-Fill Rules

Opening role ends at

Blocks before this time are painted as Opening during auto-fill. For example, if set to 10:00, all blocks from 08:00–10:00 on an employee's shift are assigned the Opening role.

Closing role starts at

Blocks from this time onward are painted as Closing. Works symmetrically with the opening boundary.

Flex slots

Maximum number of simultaneous Flex role assignments per time block. Once the limit is reached, additional employees in that block are assigned a different role.

Team Lead slots (formerly HubMaster)

Maximum simultaneous Team Lead assignments per block. Only employees with the Team Lead qualification can be assigned this role.

Floor slots (formerly Lobby)

Maximum simultaneous Floor assignments per block.

Draft Rules

Openers required

Minimum number of openers the draft generator must assign per day. If this can't be met with available staff, a warning is shown.

Closers required

Minimum number of closers the draft generator must assign per day.

Full-time max hours

Weekly hour cap for full-time employees. The generator stops assigning shifts to an FT employee once they would exceed this total.

Part-time min hours

Minimum weekly hours the generator tries to reach for each part-time employee.

Part-time max hours

Weekly hour cap for part-time employees.

New hire graduation threshold

Total Training-role hours (across all published weeks) at which a new hire is automatically graduated. Once the threshold is reached on the next publish, their new hire flag is removed automatically.

Peak Coverage Rules

Peak coverage rules let you enforce minimum staffing for high-traffic periods — e.g. Friday evenings, Saturday afternoons.

Days

The days of the week this rule applies to (0 = Sunday, 1 = Monday … 6 = Saturday).

Peak window

The start and end time of the peak period.

Minimum staff

The minimum total number of employees (regardless of role) that must be scheduled during this window. If the generated draft falls short, a violation is flagged.

Peak rules are checked during draft generation and shown in the Violations panel. They are ordered by priority — drag to reorder.

Labor Matrix

The labor matrix maps your weekly forecast metric (guests, revenue, etc.) to target staffing hours. Add tiers to cover your full range of forecast values.

Example for a guest-ratio store:

GuestsStaff hrsManager hrs
0 – 5003012
501 – 1,0004516
1,001+6020

When you enter your weekly forecast on the schedule page, the matching tier's hours become the budget targets shown on the progress bars. Leave the last tier's max blank to make it an open-ended cap.

Roles

Each store has 8 role codes. You can rename them and change their colour in Settings → Roles. The internal code never changes (so existing role block data stays valid), only the display label updates.

Opening

First shift of the day. Painted automatically by auto-fill before the opening boundary time.

Closing

Last shift of the day. Painted automatically by auto-fill after the closing boundary time.

Floor (Lobby)

General floor coverage role. Slot-limited by the Floor Slots setting.

Counter (Hub)

Counter/till/service role. No slot limit by default.

Team Lead (HubMaster)

Senior role requiring a qualification. Slot-limited by the Team Lead Slots setting.

Flex

Flexible/floater role. Slot-limited by the Flex Slots setting.

Training

Training shift. Hours in Training blocks count toward new hire graduation threshold.

Break

Break period. Two consecutive Break blocks display as a 45-minute meal break visualization.

Violations Panel

The violations panel in the weekly schedule sidebar flags issues in real-time as you build the schedule.

Hard violations (red)

  • Weekly overtime — Employee's total scheduled hours exceed the weekly OT threshold.
  • Consecutive days — Employee is scheduled more than 6 consecutive days without a rest day.
  • Manager coverage gap — A time period exists with no GM or ASM scheduled.

Soft violations (amber)

  • Missing break — A shift exceeds the break trigger threshold but contains no Break blocks (or insufficient break duration).
  • Availability conflict — An employee is scheduled outside their stated availability window.
  • Peak coverage shortfall — The number of scheduled staff during a peak window is below the minimum.

Integrations

Google Calendar

Connect your Google account in Settings → Integrations. Once connected, publishing a week creates or updates calendar events in a dedicated Store — Schedule calendar. Events are named after the employee and include their shift time.

To disconnect, click Disconnect Google Calendar in Settings. This removes the stored refresh token but does not delete existing calendar events.

Email notifications (Resend)

Schedaddle uses Resend to send schedule emails. When configured, each employee with an email address receives:

  • A personalised HTML email showing only their shifts
  • A PDF of the full weekly schedule (for reference)
  • A PDF of the day-view role assignments
  • A .ics calendar file with their individual shifts

Configure RESEND_API_KEY and RESEND_FROM in your environment variables to enable email. The integration status badge in Settings shows whether Resend is active.