Resource Calendars, Availability & Utilization
Business perspective: Resource Calendars, Availability & Utilization
1. Business Summary
Tracks daily availability for resources and users (PMs/managers), holidays, calendar updates, and computes utilization for selection.
2. Business Value
Ensures assignments respect time zone, working days, holidays, and daily/monthly limits — preventing missed deadlines.
3. Users / Stakeholders
PMs, vendor managers, resources.
4. Workflows
- Resource has
ResourceCalendarDayrecords (working hours, available flag). ResourceCalendarUpdaterecords vacation/blocking.UserCalendarDay/UserCalendarUpdatemirror for users.- Availability requests issued via
AvailabilityRequestwith constraints (TaskType, SourceLanguage, TargetLanguage, DtpLevel, QcLevel, PhaseNumber, SubjectMatter, ContentType). - Cron jobs (
CronAvailabilityRequestsSchedule) drive request scheduling.
5. Sub-Features
- Calendar admin (templates, holidays, times).
- Availability requests with strategies and plans.
- Utilization computations.
6. Business Rules
- Availability windows respect template + holidays + calendar updates.
- Utilization = assigned hours / available hours.
- Resources blocked when utilization ≥ threshold (threshold not defined in models — likely in component).
7. Data Entities
ResourceCalendarDay, ResourceCalendarUpdate, ResourceAvailability, AvailabilityRequest, AvailabilityRequestsResource, CronAvailabilityRequestsSchedule, UserCalendarDay, UserCalendarUpdate.
8. Entry Points
resources/availabilityRequests,resources/resourceCalendarDays,resources/resourceCalendarUpdates,resources/userCalendarDays.
9. Inputs & Outputs
- Inputs: calendar updates, availability responses.
- Outputs: availability windows, utilization metrics, selection inputs.
10. Integrations
- Email (availability request notifications).
- Cron (scheduling).
11. Calculations / Logic
- Window expansion: skip non-working days.
- Utilization aggregation cron-driven.
12. Status Lifecycle
- AvailabilityRequest statuses (pending → responded → expired/closed).
13. Permissions
- VM, PM, resource (view own).
14. Reports & KPIs
- Utilization by resource, calendar fill rate, response times.
15. Risks & Observations
- Concurrent calendar updates without locking → stale values.
- Threshold for utilization gating not configurable in visible code.
16. Source Code Evidence
app/Plugin/resources/Model/ResourceCalendarDay.php,ResourceCalendarUpdate.php,ResourceAvailability.php,AvailabilityRequest.php,CronAvailabilityRequestsSchedule.php,UserCalendarDay.php,UserCalendarUpdate.php.app/Plugin/resources/Controller/AvailabilityRequestsController.php,ResourceCalendarDaysController.php,CronAvailabilityRequestsSchedulesController.php.