Jump to…
Scheduling and crew assignment
Once a proposal is signed, the Schedule, Tasks, and Crew section on the project page becomes the home for execution. By default you see a List view of every task grouped by line item. Switch to Schedule to see them laid out on a real, drag-and-drop timeline, or Crew to set the crew this job needs (see below).
Set a start date
A small banner sits at the top of the Schedule, Tasks, and Crew section: "Ready to schedule this project?" Pick the date you want to start work and click Set start date. The schedule lays every task out from that day forward.
Once set, the banner switches to a compact one-liner: "Scheduled to start [date]." Tap Change to update or clear the date — clearing it removes all per-task scheduled dates so you can start fresh.
The Crew tab (blended day rate)
The Crew view is for contractors who price labor by crew role instead of one flat day rate. It only does something once you've picked Rate per crew role in the Day rate panel on Settings → Pricing templates, with a day rate for each role — a lead tile setter, a journeyman, a helper, whatever your crews look like. If you're on a single flat day rate, the Crew tab just shows that rate and there's nothing to set.
When you are on per-role pricing, the Crew tab shows a dial for each role — its name, its day rate (pulled from your settings, read-only here), and a count you can step up or down. The blended day rate at the top adds it up: one lead + one journeyman + one helper at $850 / $650 / $400 prices this project's crew-day labor at $1,900/day, and every crew-day line on the proposal is built from that number.
- Rolled up from tasks — by default the crew is filled in automatically from the tasks on the project: the most people any single task needs, per role. Add a "2 tilesetters" count to your big install task and the project floor rises to two.
- Set manually — step a dial by hand and the tab switches to manual; your numbers stick and tasks stop driving the roll-up. Hit Reset to auto to hand it back to the task roll-up.
- Flat / Per-role toggle — every project has its own switch. Flip a specific job back to your flat day rate any time — an unfilled crew never throws off a bid.
Only owners and admins can edit the crew; everyone else sees it read-only.
How the day columns work
In the Schedule view, columns are labeled Day 1 / Day 2 / Day N with the calendar date below in small text. Weekends are skipped automatically — only working days get columns, so the timeline stays compact.
Each line item from the proposal gets a number of days based on the labor it was priced for (crew_days lines use their committed days; per_sqft and per_linear_ft lines convert labor cost to days using your daily rate). All the tasks that belong to that line share its day window. Pass-through fees like permits don't take days.
Line items run in the order they appear on the proposal — so a typical bath project flows demo → substrate prep → waterproofing → tile install → trim → grout → punch list.
Bars on the timeline are colored by line item so you can spot the phases at a glance. Task titles, assignee, crew role, and hours live in the left column where they're always readable.
Drag to reschedule
If you have permission to edit the schedule (owner/admin), every bar is draggable:
- A bar is as long as its dates. Set a task to run Monday through Friday and it draws five days wide; a due date that lands on a weekend counts up to the Friday. Change the dates in the drawer and the bar follows — including earlier than the job's start date; the chart grows backward to fit it.
- Drag a bar left or right to move it to a new start date.
- Grab either edge to change its length. Hover a bar and a small grip appears just inside each end — drag the right one to move the due date, the left one to move the start. The little circle sitting just outside the bar's end is the dependency connector, not the grip; the two never overlap, so grab inside the bar to resize and outside it to draw an arrow.
- Drag its right edge to make the task longer or shorter.
Real life happens, so this is push-later-only: dragging a task later, or stretching it longer, can push tasks that depend on it further out — but dragging a task earlier, or shrinking it, never yanks anything else forward. Nothing ever gets pulled in on you without asking. When a move or resize does ripple downstream, a confirmation toast tells you how many tasks shifted, e.g. "Moved · 3 downstream tasks shifted."
Finished tasks don't drag — once a task is marked Done, its bar locks in place so you can't accidentally reshuffle completed work.
The task drawer
Click any bar (or its label) on the Schedule view — or any row in the List view — and the same side panel slides open with everything about that task: title, status, priority, start/due dates, assignee, crew role, phase, and estimated hours. Below that sits an editable description (click in and type — it saves when you click away), then dependencies, then a photos-and-notes feed for the task. Changes save as you make them — no separate Save button.
Dependencies are grouped by the line item they belong to (e.g. "Tile install — shower walls"), with each group collapsed by default except the one your task's own line lives in. Expand a group to check off which of its tasks yours depends on. Dependencies that would create a loop are grayed out with "(would loop)" so you can't accidentally tangle the schedule.
The photos-and-notes feed at the bottom works the same as it does anywhere else on a task — snap a photo, leave a comment, reply in a thread.
Clicking a task also highlights its place in the schedule: tasks it depends on turn sage green, tasks waiting on it turn brass/amber, and everything else dims slightly, so you can see the ripple at a glance before you touch anything.
If you change the dates in the drawer and it would push dependent tasks later, you'll see the same downstream-count confirmation before it commits. Editing a date with nothing depending on it saves immediately, no confirmation needed.
Need the deeper editor — time entries, the clock — instead of the quick panel? Hit Open full editor — for clock-in & time entries → at the bottom of the drawer.
Build the crew pool
Crew on this job sits at the top of the Schedule section as a row of slot cards — one card per person, plus an empty + Add slot. Tap it, pick the person, and they're on the job. Tap the × on a card to take someone off. Crew in the pool show first in every task's assignee picker, so you spend less time scrolling.
Removing a member is blocked if they still have tasks assigned on the project — reassign those tasks first.
Assign tasks
Open a task's drawer to assign it. The assignee picker sorts members by skill match — anyone with the skills the task requires shows first with ✓ all skills match, partial matches show N/M skills, and members without the right skills show ⊘ no skill match at the bottom.
To assign every unassigned task at once, use the Assign all to… shortcut above the Schedule view. To assign just one trade's work — every unassigned Plumber task, for instance — a separate Assign all 'Plumber' (N) → shortcut shows up automatically for each crew role that has unassigned work waiting. Pick a person and every matching task goes to them in one shot. Finished tasks are never swept up by either shortcut.
Task dependencies
Some tasks can't start until others finish — you can't tile a wall before waterproofing dries. Open a task's drawer and check off which other tasks it depends on. To take one away from the Schedule view, hover the arrow between the two tasks and click it — a small card names them ("Final debris haul → Pre-demo walkthrough") with Remove and Open task. Dependencies that would create a loop are grayed out with "(would loop)" so you can't accidentally tangle the schedule.
Checking a dependency does more than note it down — if the task would now start before its dependency is even done, it automatically moves to the next working day after that dependency finishes, and anything that depends on IT shifts too if needed. You'll see a toast confirming what happened, even when nothing needed to move.
Some tasks genuinely happen the same day, back to back — mixing and applying grout, then cleaning the haze off right after. For those, check the dependency as usual, then tap the Same day? button that appears next to it. That relaxes the gap: the task can start the same day its dependency finishes instead of waiting for the next working day, while still staying in order after it.
Authoring dependencies in your project templates or service templates is even better — every project of that type or using that service inherits the dependencies, so you set them once. See How job type templates work for the template Schedule tab, or open a service and use the After (in this service) multi-picker on its Tasks section.
Waiting on another trade
Some gaps in a schedule aren't idle time — they're time spent waiting on someone else, like the plumber's rough-in or a city inspection. When you (or your template) built that in, it shows up on the Gantt as a hatched, amber-dashed bar with a ⏳ next to it — visually distinct from your crew's actual work so it's never mistaken for a task that got skipped.
A few things that make waits behave differently from ordinary tasks:
- They stay off your crew's home screen, and unless you deliberately assign one to someone as a reminder, they stay out of task lists too — nothing for your crew to check off. (An assigned wait shows up with a ⏳ badge and still can't be clocked into.)
- There's no clock button — a wait isn't billable crew time, so it can't be clocked into.
- They're still fully part of the schedule math: drag one, resize one, or chain a dependency to one, and it ripples the same as any other bar.
To add one yourself on a live project, use ⏳ Add wait next to + Add task in the List view (owner/admin only) — it drops in undated; click it on the Schedule view to open the side panel, give it dates and a trade, and it takes its place in the chain. Most waits, though, come pre-built from a project template that already has them laid out — see How job type templates work (look for "Waiting on another trade") for authoring them once so every future job of that type inherits the gap.
List vs Schedule
The List view is the default and stays useful even before you've set a start date. For owner/admin it's a spreadsheet — one row per task with columns for status, assignee, phase, estimated hours, and due date, grouped under collapsible purple section headers by line item, with + Add task and ⏳ Add wait sitting right after each section's summary ("0/6 done · 12.5 hrs"), so they read as part of the header rather than as column labels. The status and assignee dropdowns are quick-edit right in the row; click anywhere else on a row and the full task drawer opens — same panel the Schedule view uses, so anything you can't fit in the row (description, dependencies, photos & notes) is one click away. Sales sees the identical List and Schedule views, read-only — no dropdowns, no drag, no drawer edits. Crew gets a simpler card list instead — see Tasks on signed projects for the full breakdown of who sees what.
The Schedule view (the timeline) shows the calendar layout with drag/resize, the task drawer, and the per-trade assign shortcuts described above — useful for planning by phase, easy to share with someone who needs the bird's-eye view.
Toggle between them via the pill control at the top. Your preference is remembered.
Both of these are about one job. To see every scheduled job side by side — which crews are on what this week, and where two jobs are about to overlap — use the Calendar tab on the Projects page. See The company calendar.
Mobile view
The Schedule view collapses into a date-grouped agenda on phones, ordered by phase then task name, with a phase chip on each card so you can still tell what stage you're looking at. Waits show the same amber-dashed treatment and ⏳ marker as on desktop. Same data, easier to scroll through one-handed at the job site — dragging to reschedule is a desktop-only interaction, so tap into a task from the agenda or List view to change dates from a phone.
Email andy@businessupai.com and a real person on the BidCraft Tile team will get back to you. If you're signed in, you can also ask Biddy from any page in the app.