Holidays

Holidays (/admin/holidays) stores non-working days the system uses in scheduling workflows. Each row is one calendar Day plus a Description label (for example THANKSGIVING or WINTER BREAK).

Permissions: FunctionId HOLIDAY (31), menu Scheduling → Holidays (function.url = holiday). View opens the page; Add controls New; Edit and Delete control row actions and bulk delete.

Screen layout

Holidays list

Figure: FoodHub list — New in the page header; data card with Search holidays…, Filter (date range), Export, sortable Day and Description, row ⋮, checkboxes, and pagination.

RegionWhat you see
Page toolbarTitle Holidays, subtitle Company holidays used for scheduling and calendars., New (Add) on the right, and the ? icon (this article).
Data cardSearch, Filter, Export, column headers, row checkboxes (Delete permission), bulk bar, mobile Sort by, pagination.
ModalSurface B on the list URL (?create=1 / ?edit=\{id\}) — Cancel and Save in the header; required Day (date picker) and Description.

Default sort: Day descending (most recent dates first).

List behavior

  • Search — placeholder Search holidays…; matches Description only (legacy list behavior).
  • Filter — popover with presets (Today, Last 7 days, Last 30 days, Custom) and From / To date pickers. Apply sends fechaInicial / fechaFin to the API; Reset clears the range.
  • Export — Copy, Excel, and CSV for the current page.
  • Sort — Day, Description (mobile: Sort by combobox).
  • Checkboxes + bulk bar — when Delete is allowed. Empty selection uses the shared bulk message Select item(s) to delete.
  • New — opens New Holiday Day: modal.
  • Row ⋮ — Edit · Delete when permitted.

Dates display in US form M/D/YYYY in the grid (legacy day column).

FieldRules
DayRequired. One row per calendar date; duplicate day → The holiday day is in use, please try entering another one.
DescriptionRequired. Free text label shown in the list.

Modal titles: New Holiday Day: (create) / Update Holiday Day: \{description\} (edit).

Success toast: The operation was successful.

Delete

Single and bulk delete remove holiday rows when permitted. Bulk delete with no rows removed may show the legacy message about association with a project (Symfony parity).