Files
calctext/_bmad-output/implementation-artifacts/4-4-business-day-calculations.md
2026-03-16 19:54:53 -04:00

47 lines
1.7 KiB
Markdown

---
epic: 4
story: 4.4
title: "Business Day Calculations"
status: draft
---
## Epic 4 — Date, Time & Time Zones
**Goal:** Full date/time math, business day calculations, and timezone awareness.
### Story 4.4: Business Day Calculations
As a CalcPad user,
I want to calculate dates by business days (skipping weekends and optionally holidays),
So that I can compute deadlines and delivery dates in a work context.
**Acceptance Criteria:**
**Given** the expression `10 business days from today`
**When** the engine evaluates it on a Monday
**Then** it returns the date two weeks from today (skipping two weekends)
**Given** the expression `10 business days from today`
**When** the engine evaluates it on a Wednesday
**Then** it counts forward 10 weekdays, correctly skipping Saturday and Sunday
**And** the result is the Wednesday of the following week plus the remaining days
**Given** the expression `5 business days from Friday`
**When** the engine evaluates it
**Then** it starts counting from the next Monday (skipping the weekend)
**And** the result is the following Friday
**Given** a holiday calendar is configured for the US locale
**When** the expression `3 business days from December 23, 2025` is evaluated
**Then** it skips December 25 (Christmas) in addition to weekends
**And** the result reflects the correct business day
**Given** no holiday calendar is configured
**When** business day calculations are performed
**Then** only weekends (Saturday and Sunday) are skipped
**And** all other days are treated as business days
**Given** the expression `today - 5 business days`
**When** the engine evaluates it
**Then** it counts backward, skipping weekends
**And** the result is the correct past business date