"""Default month-end book-close calendar reference data. Pure data — NO app imports — so the seed migration can import it safely. Sourced from the PingCAP finance team's authoritative close-checklist config (China public holidays 2024–2027 + PingCAP official makeup workdays). Used both by the seed migration and the "restore defaults" config action. """ from __future__ import annotations # Weekend-work rule: which weekend day the team works when the close # window overlaps a full Sat+Sun weekend. "saturday" is the PingCAP default. DEFAULT_WORK_WEEKEND_DAY = "saturday" # Target workday: the Nth business day of the following month on which # the standalone book closes (WD5 by default). DEFAULT_TARGET_WORKDAY = 5 # China public holidays (ISO date strings). Country code "CN". DEFAULT_HOLIDAYS: list[str] = [ "2024-01-01", "2024-02-10", "2024-02-11", "2024-02-12", "2024-02-13", "2024-02-14", "2024-02-15", "2024-02-16", "2024-02-17", "2024-04-04", "2024-04-05", "2024-04-06", "2024-05-01", "2024-05-02", "2024-05-03", "2024-05-04", "2024-05-05", "2024-06-08", "2024-06-09", "2024-06-10", "2024-09-15", "2024-09-16", "2024-09-17", "2024-10-01", "2024-10-02", "2024-10-03", "2024-10-04", "2024-10-05", "2024-10-06", "2024-10-07", "2025-01-01", "2025-01-28", "2025-01-29", "2025-01-30", "2025-01-31", "2025-02-01", "2025-02-02", "2025-02-03", "2025-02-04", "2025-04-04", "2025-04-05", "2025-04-06", "2025-05-01", "2025-05-02", "2025-05-03", "2025-05-04", "2025-05-05", "2025-05-31", "2025-06-01", "2025-06-02", "2025-10-01", "2025-10-02", "2025-10-03", "2025-10-04", "2025-10-05", "2025-10-06", "2025-10-07", "2025-10-08", "2026-01-01", "2026-01-02", "2026-01-03", "2026-02-15", "2026-02-16", "2026-02-17", "2026-02-18", "2026-02-19", "2026-02-20", "2026-02-21", "2026-02-22", "2026-02-23", "2026-04-04", "2026-04-05", "2026-04-06", "2026-05-01", "2026-05-02", "2026-05-03", "2026-05-04", "2026-05-05", "2026-06-19", "2026-06-20", "2026-06-21", "2026-09-25", "2026-09-26", "2026-09-27", "2026-10-01", "2026-10-02", "2026-10-03", "2026-10-04", "2026-10-05", "2026-10-06", "2026-10-07", "2027-01-01", "2027-02-05", "2027-02-06", "2027-02-07", "2027-02-08", "2027-02-09", "2027-02-10", "2027-02-11", "2027-04-04", "2027-04-05", "2027-04-06", "2027-05-01", "2027-05-02", "2027-05-03", "2027-05-04", "2027-05-05", "2027-06-08", "2027-06-09", "2027-06-10", "2027-09-07", "2027-09-08", "2027-09-09", "2027-10-01", "2027-10-02", "2027-10-03", "2027-10-04", "2027-10-05", "2027-10-06", "2027-10-07", ] # PingCAP official makeup workdays (补班日) — weekends designated as # work days; counted as regular workdays in the close calc. DEFAULT_MAKEUP_WORKDAYS: list[str] = [ "2026-01-04", "2026-02-14", "2026-02-28", "2026-05-09", "2026-09-20", "2026-10-10", ] DEFAULT_HOLIDAY_COUNTRY = "CN"