Resource Calendars, Availability & Utilization — business view
Technical trace: Resource Calendars, Availability & Utilization
1. Business Summary
Tracks each resource's daily availability — working hours, holidays, vacations, blocking periods — and computes utilization to gate selection. A parallel concept exists for users (e.g., PMs).
2. Business Value
Ensures assignments respect time zone, working days, and capacity, preventing missed deadlines.
3. Users / Stakeholders
PMs, vendor managers, resources.
4. Workflows
- Calendar templates per country drive working days/holidays.
- Daily calendar rows define hours; calendar updates record vacations and blocks.
- Availability requests are issued for upcoming work; resources respond; cron jobs schedule and time-out requests.
- Utilization is computed from assigned vs. available hours.
5. Sub-Features
- User vs. resource calendars.
- Availability requests with strategies and plans.
- Cron-scheduled availability windows.
6. Business Rules
- Availability respects template + holidays + calendar updates.
- Resources blocked at high utilization (threshold not externally documented).
7. Data Entities
Resource Calendar Day / Update, Resource Availability, Availability Request and selected Resources, User Calendar Day / Update.
8. Entry Points
- Resource availability screens.
- Cron schedules.
9. Inputs & Outputs
- Inputs: calendar updates, availability responses.
- Outputs: availability windows, utilisation metrics, selection inputs.
10. Integrations
- Email (availability requests).
11. Calculations / Logic
- Window expansion across working days.
- Utilization aggregation.
12. Status Lifecycle
- Availability requests: pending → responded → expired/closed.
13. Permissions
- VM, PM, resource (own).
14. Reports & KPIs
- Utilization, calendar fill rate, response times.
15. Risks & Observations
- Concurrent calendar updates without locking risk stale calculations.
- Utilization threshold is not externally configurable from the visible code — operationally opaque.
16. Source Code Evidence
app/Plugin/resources/Model/{ResourceCalendarDay, ResourceCalendarUpdate, ResourceAvailability, AvailabilityRequest}.php.