Bank holidays¶
The bank-holidays calendar lets TrackMe treat public holidays like maintenance windows: when a holiday is active, it prevents alerts and excludes that time from SLA accounting — so a quiet feed on a national holiday does not count against your service levels.
What it does¶
Global scope — holiday periods apply to all tenants. When active, they suppress alerts and feed the SLA / maintenance calculations.
Country import — import holidays for 40+ countries by year (via the date-holidays library), with options to import only non-working holidays (excluding observances) and to include past periods.
Recurring holidays — mark a holiday recurring and TrackMe creates future occurrences automatically (fixed-date, floating “first Monday of…”, or a custom date list). Past recurring periods are cleaned up daily.
Custom periods — add company-specific closures with their own name, dates, and comment.
Calendar view — review everything grouped by year, enable or disable individual holidays, and reset to defaults.
Note
Holidays are day-level: SLA extends a holiday across the full local day in the tenant’s time zone, combined with its monitoring-time policy.
When a holiday and a maintenance window overlap, the exclusion is their union, not the sum — time is never double-counted.
Shipped defaults only update on version upgrades — re-import or reset when holiday laws change, and double-check the country in multi-country organisations.
Each holiday period is mirrored into the maintenance knowledge database as a record of
type planned applying to all tenants, so the time is excluded from SLA accounting;
past periods are preserved for historical accuracy. Leap day (Feb 29) is handled by the
health manager so a fixed-date holiday still resolves on non-leap years.
Permissions¶
Read-only access requires the TrackMe user capability (trackmeuseroperations); creating,
updating and deleting periods requires the TrackMe admin capability
(trackmeadminoperations).
REST API¶
Everything the UI does is available through the REST API.
Read (trackmeuseroperations):
GET /services/trackme/v2/bank_holidays/list— list all periods.GET /services/trackme/v2/bank_holidays/check_active— is a holiday active right now?
Admin (trackmeadminoperations), all POST:
/services/trackme/v2/bank_holidays/admin/create/services/trackme/v2/bank_holidays/admin/update/services/trackme/v2/bank_holidays/admin/delete/services/trackme/v2/bank_holidays/admin/delete_all
Create / update payload fields: period_name, start_date, end_date, comment,
is_recurring and time_format (epochtime or datestring). update and
delete identify the record by its _key; delete also accepts record_keys for
several at once.
Create a period (epoch dates):
curl -u username https://mysplunk:8089/services/trackme/v2/bank_holidays/admin/create -X POST \
-d '{"period_name": "Christmas Day", "start_date": 1735084800, "end_date": 1735171199, "comment": "Christmas Day holiday", "is_recurring": true, "time_format": "epochtime"}'
Create the same period with a datestring:
curl -u username https://mysplunk:8089/services/trackme/v2/bank_holidays/admin/create -X POST \
-d '{"period_name": "Christmas Day", "start_date": "2025-12-25T00:00", "end_date": "2025-12-25T23:59", "comment": "Christmas Day holiday", "is_recurring": true, "time_format": "datestring"}'
List, then delete one or several periods:
curl -u username https://mysplunk:8089/services/trackme/v2/bank_holidays/list
curl -u username https://mysplunk:8089/services/trackme/v2/bank_holidays/admin/delete -X POST -d '{"_key": "1234567890"}'
curl -u username https://mysplunk:8089/services/trackme/v2/bank_holidays/admin/delete -X POST -d '{"record_keys": "1234567890,0987654321"}'
See also
Maintenance mode — the maintenance windows holidays complement.
SLA policies — SLA accounting and exclusions.