Skip to content

Projects and allocations

Work in CapacityLens hangs off a simple shape: a client owns projects, and a project owns the activities people are actually booked against. This page covers setting that up and creating the allocations that appear as bars on the schedule.

Choose where an activity can be used

Before you create an allocation, decide whether its activity is for internal work, reusable across projects or unique to one project:

Activity kindUse it forWhere it is available
InternalNon-billable work such as administration or an internal meetingOnly when the allocation's Project is Internal
All projectsWork your team does in the same way for many projects, such as account management, design or workshopsUnder every real project, or under No specific project when the work is not attributed to one project
Project-specificWork created for one project, such as that project's discovery, wireframes or launchOnly under the project it belongs to

The activity kind controls where an activity is available. The allocation records the actual booking. This means one All projects activity can be reused many times: one allocation can count towards Project Watchtower, another can count towards Metropolis Rebrand and a third can remain under No specific project.

When you create an allocation, choose its context from Project first:

  • Choose Internal for an Internal activity.
  • Choose No specific project for an unattributed All-projects activity.
  • Choose a real project to use either a shared All projects activity or one of that project's Project-specific activities.

After you choose a real project, the Activity picker separates reusable All projects activities from the activities in that project's Project-specific group.

Clients and projects

  1. Open Clients.
  2. Click Add client, then give it a name and a colour.
  3. Open Projects.
  4. Click Add project. Every project belongs to a client, so choose one from the list.

The Clients page keeps its rows alphabetical. The Projects page sorts first by client, then by project within that client. A private client's or project's code name controls its alphabetical position when one is set. Each row still puts the project name first and shows its client in grey as supporting information.

Every company starts with one built-in client called Internal for non-billable work — general admin, internal meetings, anything that isn't client work. It can't be renamed or deleted, and its colour on the schedule is controlled from Settings.

If a client or project name shouldn't be visible to most of the team — an unannounced prospect, for example — turn on its "use a code name" option when you create or edit it. Everyone below Owner sees a generic code name instead of the real one; only the Owner sees both. See Roles and permissions for what each role can see.

Activities

Under Activities, an activity is the specific thing a person is booked to do, and it comes in three kinds:

  • Internal — non-billable work that isn't tied to a project.
  • All projects — shared work that can be booked against any project, like general account management.
  • Project-specific — belongs to one project.

Internal and All-projects activities are alphabetical. Project-specific activities are grouped in client, project and then activity order, with each client and project name shown once as a heading rather than repeated on every row.

Create an allocation

There are two ways to book a person's time on the schedule:

  1. Click the + button on their row, which opens the allocation form pre-filled with the visible week.
  2. Draw it directly: click and drag across the days you want on that person's row.

Either way, choose Internal, No specific project, or a real project. Internal shows only internal activities. No specific project shows only All-projects activities and leaves the booking unattributed. Real projects follow after a divider in client-and-project order. Their activity picker shows the shared All projects group first, followed by that project's Project-specific group. Each group is alphabetical.

Choosing an All-projects activity under a real project makes that booking count towards the project. The schedule uses the chosen project for the bar's client and project label, colour and filters. The activity itself remains shared, so another booking can count towards a different project. When you edit the booking, choosing No specific project clears that attribution. Existing unattributed bookings stay unattributed until you make that choice explicitly.

If the activity you need doesn't exist yet, create it on the Activities page. Your company can opt in to an inline Add activity option in Settings. When enabled, adding one under a real project creates a project-specific activity and places it in that group.

Status is a compact Confirmed, Tentative or Completed choice. Notes are single-line. If Show task field in schedule is enabled in Settings, the form also offers an optional single-line Task description beneath the activity controls. The task is shown above Notes in schedule details and is preserved when the setting is turned off.

When the company plans in Hours, Hours / day is a four-option select: 1 hour, Quarter day (2h), Half day (4h) or Full day (8h). If an existing allocation stores a different number of hours, the closed select keeps showing that exact value. It is not rounded; choosing one of the four options is an explicit change.

Leave Ignore working days unchecked to follow the person's effective working week — the days in both the company's global working days and their own pattern. Check it when the allocation must use every calendar day in its date span, including company and personal non-working weekdays. Either way, a new allocation must start on an effective working day that isn't covered by the person's time off — the checkbox never changes where a new allocation may begin. To place work over closed days, create it starting on an open day with the checkbox ticked, then drag or extend it onto the closed days.

External-party allocations already use literal calendar spans, so they do not show this checkbox. On a regular-width screen, the form keeps its labels in a narrow left column and aligns the controls on the right. On a narrow screen, each label stacks above its control so nothing is clipped.

For regular work, choose Weekly, Every 2 weeks, Every 3 weeks, Every 4 weeks or Monthly under Repeat, then set the required Repeat until date. The cutoff cannot be before today or the allocation start, must include at least one repeat, and can be no more than six calendar months after the allocation starts. The form shows the inclusive cutoff, how many linked allocations it will create and the final start date; an occurrence may finish after the cutoff when it starts on or before it. Save once to create the complete group. One Undo removes that group; after creation, you can edit each occurrence independently. Deleting a linked occurrence lets you remove only that occurrence or it and every future occurrence in the same series. Leave Doesn’t repeat selected for a single allocation. When the activity is All projects, every occurrence copies the chosen project attribution.

Edit, move and remove allocations

  • Move a bar by dragging it to a different set of days, or drop it on another person's row to reassign the work. A vertical reassignment keeps its start date: if that date is outside either the company or person's working pattern, the drop is rejected and the original allocation stays put. An allocation with Ignore working days enabled may use those dates literally.
  • Resize a bar from either edge to change its start or end date.
  • Open a bar to change its status between tentative, confirmed and completed, or to duplicate or delete it. Duplicate is available for unlinked allocations, but not occurrences in a linked repeat series. Deleting can be undone from the toolbar, or with Ctrl/Cmd+Z.

Archiving a project temporarily hides every booking attributed to it. Restoring the project brings those bookings back with their attribution intact. Permanently deleting the project removes its project-specific work, but a shared All-projects booking remains and becomes unattributed.

How allocation granularity works

An allocation is a date range plus how much of the day it takes — there's no hour-by-hour calendar and nothing resembling a timesheet to fill in. How you enter that effort depends on your company's scheduling mode, set in Settings:

  • Hours (the default) — set a start date, an end date and hours per day directly.
  • Days — say how many days of work you need and how many days to spread them over; CapacityLens works out the hours per day for you.
  • Blocks — book someone for a span of days with no hours at all, for work that shouldn't count toward the utilisation figures.

Whichever mode you use, CapacityLens is planning capacity, not logging time worked — there's nothing to submit at the end of the week.

That's as fine-grained as scheduling gets — there are no budgets, timesheets or hour-by-hour calendars. What is CapacityLens? explains why those lines are drawn where they are.

What's next

Time off covers marking someone unavailable, which the allocation form will warn you about if it overlaps a booking.

CapacityLens is open source under AGPL-3.0.