# Calendar

Route: /calendar · Status: stable · Checked against code: 2026-10-13 c31da22

The Calendar shows when things happen. Meetings and other events live here, and so do the
tasks you gave an hour, your habits for the day and your reminders. It does not create tasks
itself: tasks come from Tasks and habits from Habits — the calendar gives them a time.

## What you see

- **The header**: today's date and a one-line summary (*3 meetings · 4 tasks*), the
  **Day / Week / Month** switch, arrows to move in time, **Layers**, ✨ and **+ Add**.
- **Day and Week** — an hourly grid from your wake time to your sleep time. Above it, the
  **all-day** row: deadlines without a time, events with no hour, birthdays and other
  reminders without a time, and your habits' progress.
- **Plan the day** on the right (on a week: **Unplanned**) — open tasks and habits
  without a time. Drag one onto an hour. Above it, **Reminders** with a line to add one
  (`buy bread at 19:00` ↵).
- **A window next to a block** you click: its time, place or link, and buttons that fit what
  it is — mark a task done, open it or take it off the clock; change or delete an event (one
  day or the whole series); join a call.
- **Month** — a small month on the left, the chosen day's list on the right. **Report for
  <month> (PDF)** downloads the month's facts on a sheet of paper.

## How to use it

1. Press **+ Add** (or click an empty hour) and type in plain words — `call with Andrew
   tomorrow at 3pm` — then Enter. Or pick *Event*, *Reminder*, *Task* or *Habit* (keys E / R
   / T / H).
2. Drag a task from **Plan the day** onto an hour. Its block lasts as long as its estimate;
   change the time in the block's window.
3. **Next free slot** puts undated tasks into the first free stretch of the day.
4. Use **Layers** to hide what you don't need right now (tasks, events, habits, reminders,
   day log).
5. Want help laying out the day or week? Press ✨ — it opens a OnePuls chat in *Calendar*
   mode.

## How it works

**A task's day and hour.** A task's day is its deadline; its hour is its block on the grid. A
deadline with no time sits in the all-day row. A task whose time passed without being done
returns to *Plan the day* instead of quietly disappearing.

**What is on the grid.** Your own events, tasks with an hour, habit slots, fixed weekly
commitments and working hours from Settings, and — when the *Day log* layer is on — sleep,
mood, notes and focus sessions you logged. Fixed commitments are changed in Settings, not
here. Your layer choices are remembered.

**Repeats.** Events can repeat; deleting one day of a series leaves the rest. Reminders can
repeat too, and a yearly one gets a cake icon (it is nearly always a birthday).

**Reminders and Telegram.** If Telegram is linked, PulsOne writes to you there: 10 minutes
before a meeting, once when a task's block has ended and it is not ticked, and at a
reminder's time (all-day ones at 09:00; one tied to an event comes the set minutes before
it). The meeting notices and the "time is up" notices can be switched off, and the meeting lead
changed, under *Notifications* in the phone view's *More*; reminders always ring. Nothing else pings you.

**The month report** is facts only — what happened that month — drawn black on white so it
prints well in either theme.

## What OnePuls can do here

- calendar events — one day of a series or the whole series (event.update, event.delete)
- reminders (reminder.create, reminder.update, reminder.done, reminder.delete)
- day-planner preferences and the weekly schedule (scheduler.update)
