Skip to main content
Beebole’s Staffing view is a long-horizon timeline of who works on what, and when. It is one of the four views of the Planning page, alongside the Gantt chart, the Kanban board, and the List view — the bars you see are the same tasks, displayed per person instead of per task. Use it to book people onto projects, set how much of their time each booking takes, and see at a glance who still has capacity.
Staffing, Gantt, Kanban, and List display the same underlying items. A booking created in the Staffing view appears in the other views and in reports immediately. Whether a planning holds bookings or named tasks is a setting of the planning itself — see Tasks or bookings.

Opening a Staffing view

1

Open the Planning page

Click Planning in the sidebar, and pick the planning you want at the top of the page.
2

Select or create a Staffing view

Click a Staffing view tab above the task list. To create one, click Add a view and select Staffing. Like every saved view, it remembers its own settings and filters.

Reading the timeline

Each row is a person (or a project, depending on the grouping). Each bar is a booking: an item scheduled between two dates, shown in its color. The bar displays the booking’s name — the person and project in a Bookings planning, the task name in a Tasks planning — and, when there is room, its date range and the secondary project path.
Beebole Staffing view of a Bookings planning with people rows, booking bars on client projects with their date ranges, the today line on September 30, the Unassigned row holding one dashed booking, and a purple load strip where Elena Rossi is booked beyond her capacity

A Staffing view grouped by people: one row per person, the Unassigned row on top, and a load bar per day above each row

  • A vertical line marks today; the Today button scrolls back to it.
  • The timeline extends into the past as well as the future — keep scrolling left to review earlier plans.
  • Bar edges snap to working days, so bookings line up with what people can actually work.

Bookings with hours

A task that carries start and end times is drawn at its real position inside the day column rather than filling the whole day, so a booking from 14:00 to 17:00 sits in the afternoon third of its cell. The stretches the owner does not work — before their day starts, their scheduled breaks, and after their day ends — are hatched behind the bar, which makes a booking placed outside working hours obvious at a glance. Bookings that run past midnight start late in one day’s cell and end early in the next.
Beebole Staffing view locked to a week, with a person's part-day bookings drawn inside the Thursday and Friday cells, the Friday booking overrunning the end of the day into a hatched stretch, and the weekend hatched

Part-day bookings inside their day: a morning and an afternoon booking on Thursday, and a booking on Friday that runs past the end of the working day

Dropping a booking onto a day its owner doesn’t work is refused rather than silently accepted. Days that define a length but no working hours show the booked hours in proportion, with any overrun hatched. When a row’s bookings have hours, a click on one day of that row books hours as well. On a day that already holds bookings with hours, the new booking starts right after the last of them. On an empty day, it takes the hours of the row’s previous booking, or of its next one when nothing comes before. When that booking is all-day, the new one is all-day as well, and a drag across several days always books whole days. This applies whenever the timeline shows days, so with any Period except Infinite by week.

Grouping rows

Open the ⋯ menu on the view tab and use Staffing by to choose what the rows represent:
  • People — One row per person, with their bookings and a capacity strip.
  • A project category — Pick a category, then a level or Lowest level; one row per project at that choice, showing everyone booked on it.
Lowest level keeps only the projects that have nothing below them, so you never see a parent row duplicating the work of its children. When a level you picked shows a project that still has subprojects, its row stands out in the accent color with the note Not at the lowest level: move its bookings to one of its sub-projects — bookings belong on the projects at the bottom of the hierarchy, where time is logged. With a project grouping, an owned booking that has no row to sit on — the task is linked to no project of that category, or only to a parent — falls into the row at the top of the view, labeled No followed by the grouping name.

Showing tags on rows

Click the tag button next to Find capacity, at the top of the row column (tooltip Show tags), and pick one or more tag categories. Each row then lists its tags from those categories next to the person’s or project’s name: people rows show the person’s tags, project rows the project’s tags. Shift+click a tag to add it as a filter. Each Staffing view remembers its own choice.

Creating a booking

In a planning set to Bookings, a booking has no name of its own: Beebole names it after the person and the project, so the fastest way to staff someone is to book them on a project for a date range. In a planning set to Tasks, the same drag opens an editor that asks for the task’s name first: see Creating a task on the timeline. Tasks or bookings explains how the mode is chosen.
1

Drag on the timeline

In a person’s row, click and drag across the dates you want to book — or just click an empty cell to create a booking spanning that one period. On a row whose bookings have hours, that click books hours that follow them (see Bookings with hours). The booking editor opens right next to the bar.
2

Pick the person and the project

The editor shows both sides of the booking: the person (Select the owner) and the project. The row you dragged in fills one side for you — a person’s row prefills the person, a project row prefills the project — and the booking saves as soon as you pick the other, with no confirmation step. The editor then stays open on the new booking and every further change applies immediately: remove the person or project badge to pick another one, whatever the rows are grouped by.
3

Set the allocation

Enter the allocation in whichever way you think about it: % for a percentage of capacity, h/day for hours per working day, or Total for planned hours over the whole booking. A new booking starts at 100%, or, in a person’s row, at the share of capacity their other bookings leave free on those days. Only % takes a plain number: h/day and Total are typed as durations, in your organization’s duration format. Beebole remembers the unit you pick for your next booking. Press Enter to confirm.
The new bar appears immediately. If your active filters would hide it, Beebole tells you: Booking added, but it’s hidden by the current filter.
Beebole booking editor opened below a booking bar, in stacked sections: the date range and number of working days, the person David Kim, the Brightwave Media: Brand Campaign project badge with a Select project field under it, the allocation switch set to percent with 100 in a minus and plus stepper, and a last row with the Tentative toggle and the duplicate, split and delete buttons

The booking editor under its bar: dates, person, project, allocation, then Tentative and the Duplicate, Split and Delete buttons

Creating a task on the timeline

In a Tasks planning, dragging across a row, or clicking an empty cell, opens the same editor on the timeline for a new task over those dates. It starts with the task’s name, in a field that reads Add a task until you type. Below the dates, it shows the fields the planning uses: the owner (Select the owner), the projects, the tags, and the Planned time. A field counts as used when at least half of the planning’s tasks that aren’t marked done have it filled in. A person’s row also fills in the owner, and a project’s row the project. While the name is empty, it takes the project’s name, which you can type over.
Beebole Staffing view of the Main plan, a Tasks planning, with a dashed bar drawn from Tuesday October 20 to Thursday October 22 in Ana Pereira's row and the editor opened under it: the Add a task name field with its close button, the dates with 3 days, the owner Ana Pereira, the Select project field, Planned 3 days, and the hint Press ↵ to add the task

The editor of a new task, opened by a drag across three days of a person's row

Press Enter, or click Press ↵ to add the task, to create the task. Once the task has a name, picking a value creates it too. Until then, closing the editor with Esc, the ✕, or a click elsewhere leaves nothing behind, even with a name typed. The editor then stays open on the new task, as it does on a new booking, so you can set the allocation, Tentative, or anything else straight away. If your filters hide the new task, Beebole tells you: Task added, but it’s hidden by the current filter.

Adding a booking without dragging

In a Bookings planning, the Add Booking button at the top of the Planning page opens a form in the side panel. Pick the person (Select the owner) and the project (one of the two is enough), then a date range, the planned time, and the allocation (%, h/day, or Total).
Beebole Add Booking form with the Select project field, the Select the owner field, the date range picker with the planned time next to it, the allocation switch between percent, h/day and Total with 100 percent in a minus and plus stepper, and the Cancel and Add Booking buttons

The Add Booking form in the side panel

The planned time is filled in from the person’s work schedule over the date range, at the chosen allocation. Until a person is picked, it counts an 8-hour day for each working day in the range. You can type another value: as a duration in your organization’s duration format, or as a number of days when the view’s Durations in is set to Days. Changing the person or the dates fills it in again. The form remembers the period you last used, so a run of bookings on the same week goes quickly; a start date that has already passed falls back to today. The new booking opens in the panel as soon as it is added. The same form opens from other places, already filled in. A booking added with the + of a task row in the Gantt or List view lands under that task. On the Kanban board, the + of a column opens an add card at the foot of the column instead, which asks for the person or the project, the period, the allocation, and Tentative. The booking is created in that column as soon as you pick its person or project, and ⌘+Click on the + opens this form for that column.

Tentative bookings

While plans are still firming up, mark a booking Tentative in its editor. A tentative booking is drawn with a hatched style and reserves the person’s capacity, but stays out of reports until confirmed.

Splitting and duplicating

From the booking’s editor you can also Split it in two at a chosen date — useful when part of a booking moves — or Duplicate it.
A booking in a Bookings planning cannot be renamed. Its name follows the person and the project, in Staffing, Gantt, List, and Kanban alike, and clicking it shows A booking is named after its project and person. If the planning is ever switched back to Tasks, any name an item had before comes back — see Tasks or bookings.

Moving and resizing bookings

  • Move — Drag a bar left or right to shift its dates. The bar moves by whole days — or by whole weeks when the timeline is set to Infinite by week — so it keeps its exact length and the weekday it starts on instead of snapping to the grid; other bookings restack live as you drag.
  • Resize — Drag the left or right edge to change the start or end date. While you drag, the bar shows the planned time its new dates hold. On a timeline that shows days, a booking with hours resizes by the hour: its edge follows the clock of the day it is over, snapped to the quarter hour, and can carry on past midnight into the next days.
  • Move between rows — Drag a bar vertically: drop it on another person’s row to reassign the booking, on another project’s row to move it to that project, or on the Unassigned row to clear its owner. A dashed ghost previews where the bar will land, and the whole move is one undo step. The booking’s working time reflows over the destination person’s own schedule and absences.
  • Work on several bookings at once — Select multiple bars and drag them together to reschedule the group in one move, hold ⌘ (Alt on Windows/Linux) while dragging to drop dated copies, or grab any selected bar’s edge to shift every selected bar’s dates by the same amount — all undoable as a single step. ⌘-dragged copies land on the row you release them on, each on its own row rather than stacked on the row you dropped on. Press Delete (or Backspace) to remove every selected booking at once, with one Undo in the toast for the whole batch.
  • Reach beyond the visible range — Drag a bar to the edge of the timeline and it auto-scrolls, so a booking can be moved or extended past what is currently on screen.
  • Reassign — Hover a bar and click its pencil to open its editor, then change the dates (click them at the top of the editor), the person, the project, or the allocation. On a short bar, the pencil sits in a small toolbar that appears under the bar when you hover it, between the two link handles, and the resize edges sit just outside the bar. Clicking the bar itself opens the booking in the side panel. Both the person and the project can be changed on any booking, whether the rows are people or projects. Changes are saved automatically. A new person or project moves the booking to its new row in one step, and the view scrolls to follow it.

Moving a booking inside its day

A booking that runs for part of a single day is dragged on the clock its cell draws. While the pointer stays in that cell the booking follows it hour by hour, snapping to the quarter hour, as on the timesheet calendar — and it lands on hours the owner works, reaching over a lunch break rather than sitting on it. The moment the pointer leaves the cell, the booking moves by whole days instead, keeping the hours it already had, so it never arrives on another day at hours nobody chose. ⌘-dragging a copy and dropping it in the cell it came from puts the copy right after its source: the first free minute of that day, holding as much of the day as the source holds. When there is no room left after it — an all-day booking, one spanning several days, or a day already full — the copy simply lands on its source, as it does elsewhere on the timeline.

Dependencies in the Staffing view

Dependency links between bookings are drawn directly on the staffing timeline, color-matched to the tasks at each end, so you can see which bookings depend on which. Moving or resizing a booking cascades to its linked bookings live — dependent bars follow the drag on screen before you drop. If a linked task that moves isn’t visible in your current view, a warning names it so you know what changed and can undo it. See Task dependencies for how links are created.

Bookings managed in the Gantt

A task that has subtasks has a schedule the Staffing view must not change: its dates come from its subtasks. When you try to edit one, Beebole shows Managed in the Gantt with the message “This task has subtasks, so its schedule is managed in the Gantt.” Open the Gantt chart to adjust these tasks.

The Unassigned row

Planned work nobody has picked up yet sits in the Unassigned row. Drag a booking onto it to clear the owner, or drag one out of it onto a person to assign the work. The row can be collapsed out of the way — its tooltip reads Show these bookings or Hide these bookings — and ⌘-dragging an unassigned booking drops the copy straight onto the row you release it on. Click the pin icon on the row to keep it under the timeline header while you scroll — its tooltip reads Keep this row under the header — so its bars stay within reach when the person you want to drop them on sits further down the list. Click it again (Stop keeping this row under the header) to let the row scroll with the others. Like the collapsed state, the pin is remembered per view. You can also draw a booking straight on the row. Nothing is saved until you pick the person or the project it is for (in a Tasks planning, until you name the task and press Enter or pick a value), so an editor you open and then abandon leaves no stray booking behind — the same as on any other row. The number next to the row label counts the unassigned bookings that fall inside the period you are looking at, not every unassigned booking on record — so it tells you how much work still needs an owner right now. An account-wide reminder can warn everyone involved before an unassigned task starts — see Timesheet and Planning Settings.

Locking the view to a period

By default the timeline is infinite — it scrolls by day or week as far as you need. Open the ⋯ menu on the view tab and use Period to lock the view to a fixed window instead:
  • Infinite by day or Infinite by week — the endless scrolling timeline, at day or week granularity.
  • Day, Week, 2 weeks, 3 weeks, 4 weeks, or 6 weeks — the chart fits that window to your screen and shows only the bookings that fall inside it.
With a fixed window, the view pages one period at a time: swipe or scroll sideways and it snaps cleanly onto the next or previous window, and the period containing today is always reachable. The period’s dates sit on the left of the view tabs. Click them to pick another window. Bookings that start before or end after the locked period are drawn cut off, with a dashed edge and a chevron — click it to jump to the hidden start or end date. Cut edges can’t be resized, since the date they would move isn’t on screen.

Copying the previous period

With the view locked to a fixed period, click the Copy the previous period button next to the period’s dates to refill the current period from the one before it. When the rows are people, choose With people to keep each booking’s person, or Without people to copy the bookings unassigned. When the rows are projects, choose With projects or Without projects to keep or drop each booking’s project. Beebole looks back to the last period that actually holds bookings, not just the one immediately before, and fills every empty period between it and the one you are looking at — so a run of unstaffed weeks is refilled in a single action. Anything that would spill outside the period is clipped. If there is nothing to copy, Beebole says so: No earlier bookings to copy.

Finding who’s free

Click Find capacity to search for available people over a chosen period — including forward-looking ranges like By year end and Next 12 months: A count shows how many people match. You can also filter the people list by person custom-field values, and search people and projects by name. Capacity is only computed when grouping by people.

Workload and capacity

Each person’s row includes a capacity strip: one cell per period comparing their planned load to their available capacity. Capacity comes from the person’s work schedule minus their absences, and each booking counts for its allocation percentage.
  • Hover a cell to see the numbers — how much is planned against how much is available for that period.
Beebole Staffing load strip in purple over a person booked on two overlapping projects, with the tooltip Tue Oct 06, 1.2d/1d used, 0.2d over

Hovering a load bar: the day, the time booked against the capacity, and the overrun

  • Overload — Load bars use a three-color scale: red while capacity remains, green when it is exactly met, and purple as soon as someone is booked beyond 100%. The headcount strip in the timeline header flags overloaded periods for the whole view.
  • Step through the load — The strip at the top of the timeline header rolls every row up into one bar per period. Click a period there to step the scroll through the rows driving that period’s load, one at a time. The tooltip says what the click does: Click to step through the overbooked bookings or Click to step through the people with time left.
  • Hours or days — Open the ⋯ menu on the view tab and use Durations in to switch every figure between hours and days.
When Staffing by is set to a project category, each project row carries a headcount strip instead of a load strip: one bar per period for the people planned on the project. Its tooltip gives the period and the number of FTE and People, and adds Someone is booked over 100% when someone on the project is overbooked. The strip in the timeline header adds up every project row the same way. Use the free capacity to decide who takes the next booking — the gaps in the timeline are exactly the people and periods still available.

Filtering

Use the Filters button to narrow the view by Task, Status, Owner, Potential owner, Project, or tags (Owner tag, Potential owner tag, Task tag, Project tag), with the active filter count shown on the button. The Staffing view adds Person tag and Person custom field, which narrow the pool of people shown as rows. Filters on people or projects hide entire rows; other filters hide only the bars that don’t match, keeping the row visible. The filters can be switched off and back on without losing them — the button toggles them rather than clearing them.

Keyboard navigation

The Staffing view has a keyboard cursor that moves from bar to bar, so you can review and open bookings without the mouse:
  • Arrow Down / Arrow Up — Move to the closest bar in the lane below or above within the same row, then on to the next or previous row. Rows without bookings, and the Unassigned row while it is collapsed, are skipped.
  • Arrow Right / Arrow Left — Move to the next or previous bar in the same lane; when the lane has none, to the nearest bar that lies entirely after (or before) the current one in any lane of the row.
  • Enter — Open the task panel for the bar under the cursor; press it again on the same bar to close it. While the panel is open, it follows the cursor as you move.
  • Shift+Arrow — Select the bars in the lane between the cursor and the bar you land on, like Shift+Click.
  • ⌘+Arrow (Ctrl on Windows and Linux) — Add the bar you land on to the selection, or remove it, like ⌘+Click.
With no bar selected yet, the first arrow key lands on the first row’s bar closest to today, and the timeline scrolls to keep the cursor in sight. A selection built with the keyboard behaves like any other: drag it, ⌘-drag it, or press Delete to act on every selected booking at once. The Gantt and List views add tree keys for expanding, collapsing, and indenting tasks — see Keyboard navigation in the Gantt chart.
Enter is left to any field that has focus. If the keys do not respond, click an empty spot on the timeline first.

Tasks

What tasks are in Beebole — creating, assigning, and tracking time on them.

Gantt chart

Schedule tasks on a timeline, sequence them with dependencies, and edit every task field in place.

List view

The same tasks as a sortable table, with in-place editing and mass edits.

Work schedules

Define the working hours that determine each person’s capacity.

Planned vs. real report

Compare the time you planned in Staffing and Gantt with the hours actually logged.

Frequently asked questions

Both display the same tasks. The Gantt chart in Beebole is task-centric — one row per task, with dependencies and hierarchy. The Staffing view is person-centric — one row per person, with their bookings and remaining capacity. Use the Gantt to structure the work, and Staffing to balance who does it.
No. In a Beebole planning set to Bookings, every booking is named after its person and project, and that name cannot be edited. If you need named items with a status, set the planning to Tasks instead — the choice is made under What this planning holds in the planning’s settings, and switching keeps any name already stored.
Capacity comes from the person’s work schedule minus their absences, per period. Each booking consumes capacity according to its allocation percentage — a 50% booking on a 40-hour week uses 20 hours.
The task’s schedule is managed in the Gantt. Tasks with subtasks show a Managed in the Gantt message — open the Gantt chart to change their dates. Bookings with dependencies can be moved and resized directly in Staffing; their linked bookings follow along.
Not yet. Beebole has no recurring bookings or tasks: each booking is a single task between two dates. To carry a weekly pattern forward, lock the view to a period and use Copy the previous period, which refills empty periods from the last one that holds bookings, or ⌘-drag a selection of bars to drop dated copies.