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