# Project calendar

The project timeline with each task in its owner's real working hours, plus team meetings.

Source: https://ardumaker.com/en/docs/calendario-de-proyecto/

- Category: Projects and companies
- Status: Available
- Requirements: Access to the project's Calendar section; Tasks with a date and an owner
- MCP tools (Read only): `ver_calendario_proyecto`, `ver_disponibilidad`, `listar_reuniones`, `ver_reunion`
- MCP tools (Write or modify): `crear_reunion`, `editar_reunion`
- MCP tools (Destructive): `cancelar_reunion`

## What can you do with it?

- See the project's tasks day by day, each in its actual time slot.
- Filter the workload of a single member.
- See and call project meetings with several participants.
- Configure your own working hours (days and time blocks).

## When should you use it?

- To know whether the team can meet a date.
- To spot someone with more work than fits in their working hours.

## How does it work in ArduMaker?

Each person has working hours. By default it is Monday to Friday, 09:30-12:00 and 13:00-17:30, and it can be changed. That person's calendar events are subtracted from it and their tasks are then distributed:

- A task with hours takes those hours from its owner's working day.
- A task without hours takes everything left free that day.
- If it does not fit, it is flagged with `excede_disponibilidad`.
- A task with fixed `hora_inicio` and `hora_fin` takes exactly that range and the others fit around it.

> **INFO:** For privacy, the project calendar does not show anyone's personal events: they only reduce availability. Project meetings are shown in full.

## What actually changes?

- Changing your own working hours reschedules your auto-scheduled tasks.
- Creating a meeting adds a copy to each participant's personal schedule and, if they connected Google, to their Google Calendar.
- Cancelling a meeting removes it from all participants' schedules.

## Diagram

**How a task's slot is computed**

```text
Working hours (per person, in their time zone)
  ↓
Minus events (own, from Google and meetings)
  ↓
Task distribution (by priority and order)
  ↓
Project calendar (segments per day)
```

## Expected result

The calendar returns, per day, the tasks with their actual time (segments) and the project meetings. With a person filter, only that person's task load.

## Errors and troubleshooting

- A meeting must start and end on the same local day; for multi-day blocks use personal events.
- If a participant is not free, the meeting is rejected unless forced; that person is flagged as knowingly scheduled.
- A task with `excede_disponibilidad` does not fit in the working day: redistribute hours, change the date or the owner.

## MCP access

- Read: `ver_calendario_proyecto`, `ver_disponibilidad`, `listar_reuniones` and `ver_reunion`.
- Write: `crear_reunion` and `editar_reunion` (with `forzar` to schedule someone busy).
- `cancelar_reunion` is destructive: it deletes the meeting for everyone and removes its Google copies.

More at [/mcp/proyectos](https://ardumaker.com/en/mcp/proyectos) and [/mcp/docs](https://ardumaker.com/en/mcp/docs).

## Related features

- [Tasks](https://ardumaker.com/en/docs/tareas/)
- [Google Calendar](https://ardumaker.com/en/docs/google-calendar/)
- [Shared availability](https://ardumaker.com/en/docs/disponibilidad-compartida/)
- [Google Meet](https://ardumaker.com/en/docs/google-meet/)
- [Dependencies](https://ardumaker.com/en/docs/dependencias/)
