PayMe Guide

Calendar Planning

The /calendar page — day, week, and month views for planning and rescheduling tasks.

Calendar Planning (/calendar)

The calendar is for planning. It shows your tasks as blocks on a day/week/month grid and lets you drag them to different days or create new ones by clicking.

The calendar range is served by /api/pm/schedule-range. It combines the existing agenda and time-history projections for the requested member and date range. Members see their own data; PM and admin users may inspect another member by passing memberId. Date ranges use from and to in YYYY-MM-DD format.

The team scope uses one shared date axis and compact read-only member lanes. Every active member remains present, with per-day Client > Project > Task context and block counts. Each lane renders that member's actual per-day work window, including their weekday schedule overrides. The same schedule-range response powers both scopes; no planning or mutation path is introduced.

View mode, scope and filters

The toolbar keeps day / week / month and My work / Team side by side — pick both in one glance, no separate scope row.

Your choices are remembered across visits: view mode, scope, the days-off filter and the planned-blocks filter all persist in your browser, so you do not re-select them every time. An explicit URL mode (/calendar/month/2026-09) still wins over the remembered one.

Hide planned blocks (the sparkle icon) drops what the system scheduled on its own — auto-placed "water" blocks and the synthetic Available · Project buckets. It keeps what you put there yourself: hand-pinned tasks and all logged time. Use it to read your calendar as "what I actually did" instead of "what the planner suggests". It applies to your own calendar, not the team lanes.

Hide days off (the crossed-calendar icon) collapses weekends; it turns green when active. Show team leaves (the people icon) overlays absences on the grid. Rebalance (the refresh icon) recalculates automatic deadlines from current load. Hover any toolbar icon and it names its effect in two or three words — no need to guess from the glyph.

Task bars in the month show the client name only (the task name is in the tooltip), with no colour stripe on the left, so the label has more room to be readable.

Colours are per client, not per project

Every block is coloured by its client, so all the projects of one client share one colour and you can read the month by client at a glance. This applies to every calendar view (day, week, month, team), the timeline, reports, team load and the Telegram mini-app.

The colour is derived automatically from the client name, so it is stable without any setup. To choose it yourself, open Settings → Clienti and use the colour dot next to the client: the whole client changes colour everywhere. Clearing the dot restores the automatic colour.

The colour dot on a project card is only the card's own accent; it no longer drives the calendar.

Next to each day number is the number of hours you actually logged that day. Future dates and days with nothing recorded read 0h; it never shows the day's planned budget.

Copy a task instead of moving it: hold Command (macOS) or Control while dragging, and the block is duplicated onto the target day while staying where it was. The drop cell turns green and the floating label gains a + to confirm the copy before you release. A plain drag still moves the block.

Week view — five columns (Mon–Fri) with hours on the left. Drag tasks between days or time slots within the same week. The most common view for weekly planning.

Month view — a 7-column calendar grid with task bars stacked in each day cell. Each bar is labelled Client · Project, so you can tell at a glance which client and project a block belongs to without opening it (the task name is in the tooltip). Click a task bar to edit it, or click the day background to zoom into day view. Best for spotting load patterns across weeks.

Dragging tasks between days

Grab any task block and drop it onto a different day. PayMe updates the task's scheduledDate and the planner re-evaluates capacity for both the old day (freed space) and the new day (added load).

Dragging within the day view also sets the scheduledStartTime, pinning it as a rock.

Dragging on the calendar changes the task's plan — when the planner thinks you'll do it. It does not log any time. See Logging Time for the difference.

Editing logged time safely

Logged-time blocks can also be moved, resized, or deleted. PayMe keeps the edited block in place while the server confirms ClickHouse visibility, so an older calendar refresh cannot bring back the previous block. For batched changes, Applying remains visible while writes are durable but not yet visible in the fact store. Use Retry to check status rather than repeating the edit.

Creating tasks on the calendar

Click an empty slot in day or week view to open the quick-create form. The date (and time, in day/week view) is pre-filled from where you clicked. Fill in the task name and project, then save.

On the logged (right) half you can go faster: a dashed ghost block opens with a name field. Type what you worked on and press Enter — when the name clearly resolves to a project (shown as a colored dot under the input), PayMe creates the task and logs the entry directly in that slot. Resize the ghost before confirming to set the duration.

If the project is not certain — an ambiguous name, or a name that doesn't mention a client at all — the full form opens with your typed name kept and no project pre-selected, so you always choose the client yourself. PayMe never guesses the client: the entry is only created directly when the match is unambiguous.

In month view, click a task bar to edit it. You can also click an "Available" allocation block to create a new task within that project's budget.

Reading capacity

In week and day views, a subtle capacity indicator shows how much of the day's available hours are already scheduled. Tasks that exceed capacity are shown in a different shade — the planner will push them forward to the next available day if you don't intervene.

Tips

  • Use the calendar at the start of the week to see what's scheduled and identify crowded days.
  • Drag overloaded days' tasks to lighter days before work starts.
  • Month view is best for spotting deadline clusters — multiple hard due dates landing on the same week.

External Calendar Sync (iCal)

You can subscribe to live calendar feeds from Apple Calendar, Google Calendar, Outlook, or any iCal-compatible app. Go to Account > Calendar to enable and get your links.

Two feeds are available (one token for both):

  • Personal — your hard deadlines (1-day-before alert), scheduled tasks (15-min alert for timed ones), and time off.
  • Team Leaves — who's on vacation, sick leave, or permit. No alerts.

Add ?soft=1 to the personal URL to include soft deadlines. Add ?pending=1 to the team URL to include pending leave requests.

The feed updates every time your calendar app syncs (typically every 15–60 minutes). Regenerating your token invalidates old links. Deactivated accounts lose access automatically.

You can also ask the Telegram bot: "dammi il link iCal" or "calendar feed".

See Deadlines for how due dates interact with planning, and Timeline for the hour-by-hour logged view.

On this page