# Operation Manual ## Adding a Monthly Fee Override Use this when the club decides to charge a different flat fee for a specific month — for example, a reduced fee during a short or holiday month. There are two independent dictionaries in [scripts/attendance.py](../scripts/attendance.py), one for adults and one for juniors. Edit whichever tiers need an override. ### Adults Add an entry to `ADULT_FEE_MONTHLY_RATE` (line ~15): ```python ADULT_FEE_MONTHLY_RATE = { "2026-03": 350 # reduced fee for March 2026 } ``` The key is `YYYY-MM`, the value is the fee in CZK. This replaces `ADULT_FEE_DEFAULT` (750 CZK) for members who attended 2+ practices that month. The single-practice fee (`ADULT_FEE_SINGLE`, 200 CZK) is unaffected. ### Juniors Add an entry to `JUNIOR_MONTHLY_RATE` (line ~20): ```python JUNIOR_MONTHLY_RATE = { "2025-09": 250, # reduced fee for September 2025 "2026-03": 250 # reduced fee for March 2026 } ``` The key is `YYYY-MM`, the value is the fee in CZK. This replaces `JUNIOR_FEE_DEFAULT` (500 CZK) for members who attended 2+ practices that month. ### Example: March 2026 Both tiers reduced to 350 CZK (adults) and 250 CZK (juniors): ```python ADULT_FEE_MONTHLY_RATE = { "2026-03": 350 } JUNIOR_MONTHLY_RATE = { "2026-03": 250 } ``` ### Notes - Overrides apply to all members of the given tier — use the **exceptions sheet** in Google Sheets for per-member overrides instead. - After changing these values, restart the web dashboard (`make web`) for the change to take effect. - The override only affects the calculated/expected fee. It does not modify any already-recorded payments in the bank sheet.