feat(sla): finish PMS-106 story (policies, targets, business hours, holidays, evaluator) #35
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/sla-story-pms-106"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #PMS-106
Batches PMS-107..112: - PMS-107 scaffold + router wire - PMS-108 SLA policies CRUD; setting `is_default` demotes the prior default in the same transaction - PMS-109 SLA targets: `(sla_policy_id, priority_id)` is unique per the schema, so `POST /policies/:id/targets` is upsert - PMS-110 business hours CRUD; `schedule` is JSONB (`{"mon": [{"start": "09:00", "end": "17:00"}], ...}`) - PMS-111 holiday calendars CRUD - PMS-112 evaluator: `SlaService::evaluate_for_ticket` reads the ticket's effective policy (assigned `sla_id` or tenant default), looks up the priority-keyed target, and stamps `first_response_due` / `resolution_due` / `sla_due_date`. v1 treats every window as 24x7; business-hours awareness lands as a follow-up. `POST /sla/tickets/:id/evaluate` is the manual trigger; ticket service hook lives in a stacked PR. #PMS-107 State Done #PMS-108 State Done #PMS-109 State Done #PMS-110 State Done #PMS-111 State Done #PMS-112 State DonePull request closed