Skip to content

Holidays, blackouts and caps

Three tabs under Leave → Settings shape when leave can be taken, as opposed to how much of it people get.

The Holidays tab is the organization’s public-holiday calendar. Holidays never count against entitlement and are skipped by every working-day calculation — including leave day counts, notice periods and payroll proration. Attendance reads the same list, so the two modules can never disagree about which days are working days.

The Add holiday card takes a Date and a Name (placeholder Hari Raya), then Add. Two holidays may share a date — the uniqueness rule is on the date and name together, so a duplicate of both is refused.

Select Import preset holidays.

  1. Pick a State / Federal Territory — all 16 Malaysian states and federal territories are listed.

  2. Pick a Year.

  3. Review the preview. The status line reads {n} entries — {n} new. Each row shows the holiday name and date; ones you already have are marked Already imported, and Employment Act mandatory holidays carry an amber Compulsory badge.

  4. Select Import {n} new.

The import only adds what’s missing — existing dates are skipped, and the toast reports both counts. Once imported, the holidays are yours: fully editable and disconnected from the preset list.

Use the row action menu for one holiday, or tick several and use the Delete button that appears next to the {n} selected counter. The confirmation is This cannot be undone.

A blackout is a date range where new leave applications are refused — a year-end freeze, a stocktake, a product launch.

The Add blackout period card takes:

Field Notes
Start date / End date Inclusive at both ends. End must be on or after start.
Name Shown to employees in the error message and as a marker in the date picker.
Reason (optional) Internal note.
Applies to The All leave types checkbox blocks everything. Untick it to reveal a checkbox per enabled leave type and block only those.

The table lists Start, End, Name, Applies to (either All types or the named types), and Reason.

Employees see blackout ranges marked in the date picker with an orange dot and a Blackout: {name} tooltip, get a red inline warning while filling the form, and are refused on submit with Leave cannot be applied during the “{name}” blackout period ({start} to {end}). Any overlap blocks — even a single day at the edge.

Deleting a blackout confirms with Future leave applications during this window will no longer be blocked.

A department cap limits how many people from one department can be on leave on the same day — “at most two people out of Support at once”.

The table is live, not just configuration:

Column Shows
Department
Leave type The type it applies to, or All types
Cap 2 person(s) or 20% of dept
Headcount Current active headcount in the department
Available today {n} of {limit}, with a tooltip giving how many are on leave today and the resolved limit
  1. Pick a Department.

  2. Applies to — a specific leave type, or All leave types. A cap set to all types counts every kind of leave together.

  3. Cap modeAbsolute (headcount) or Percent of department.

  4. Enter the value. The label changes with the mode: Max people or Percent (1–100).

  5. Select Add cap.

You can stack several caps on one department — for example an overall cap of 3 plus an annual-leave-only cap of 2. All of them must pass, so the tightest one wins in practice.

On submit, every day of the requested range is checked. The system counts distinct active employees in the same department already on leave that day, adds the applicant, and refuses if the limit is exceeded:

Department cap reached on 2026-07-30: max 20% of active department headcount (= 2) for this leave type

Colleagues counted include those on pending leave, not just approved — so the first person to apply holds the slot.

A percent limit is rounded down. 50% of a three-person department is one person, not two. 20% of a four-person department is zero — which blocks everybody.

The form refuses to create a cap that already resolves to zero: This percent cap resolves to 0 people against the current headcount of 4 — every leave application would be rejected. Pick a higher percentage or use an absolute cap.

Use Edit in the row menu to change the Cap mode and value. The department and leave type are fixed — to change those, delete the cap and add a new one.

Because an absolute count and a percentage aren’t interchangeable, switching mode always requires a value, and the zero-resolution check re-runs on save.

The delete confirmation is Future leave applications will no longer be checked against this limit.

Control Blocks Affects existing approved leave?
Holidays Nothing — days simply don’t count No, but recomputing changes day counts going forward
Blackouts New applications overlapping the range No
Department caps New applications that would exceed the limit on any day No

Department caps count colleagues on pending, returned, approved and cancellation pending leave — every status that still holds a balance. So a request an approver sent back for edit keeps its slot while the employee fixes it, rather than letting a colleague take the last one out from under them.