Día no laborable de una Branch. En el rango date_at–date_until el sistema no cambia
automáticamente el estado de servicio del comercio; aun así se puede cambiar a mano.
flags (oculto) agrupa: is_enabled (el feriado está activo), in_progress (el rango está en
curso; calculado), repeat_annually (se repite cada año).
| Atributo | Tipo | Descripción |
|---|---|---|
id |
int |
|
date_at |
datetime |
Inicio del día no laborable |
created_at |
datetime\|null |
|
updated_at |
datetime\|null |
|
company_id |
int |
{@link Company} a la que pertenece el feriado |
branch_id |
int |
{@link Branch} a la que aplica el feriado |
flags |
int |
Bitmask de estado del feriado (oculto; ver descripción) |
date_until |
datetime |
Fin del rango (por defecto, el día siguiente a date_at) |
name |
string |
Nombre del feriado |
is_enabled |
bool |
BitMask (({@link self::flags} & 0x1) !== 0) |
in_progress |
bool |
BitMask (({@link self::flags} & 0x2) !== 0) |
repeat_annually |
bool |
BitMask (({@link self::flags} & 0x4) !== 0) |
allLogs |
ApiLog> |
|
branch |
Branch |
{@link Branch} a la que aplica el feriado |
company |
Company |
{@link Company} a la que pertenece el feriado |
date_at_utc |
string |
date_at convertido a UTC según la zona horaria de la sucursal |
logs |
ApiLog> |
{
"id": 89,
"date_at": "2025-12-24 00:00:00",
"created_at": "2025-11-24 20:55:20",
"updated_at": "2026-01-10 03:00:28",
"company_id": 116,
"branch_id": 37,
"date_until": "2026-01-10 00:00:00",
"name": "N/A",
"is_enabled": false,
"in_progress": false,
"repeat_annually": false
}
Crear feriado
Registra un Holiday para la Branch en el rango date_at–date_until (si
no se envía date_until, se toma el día siguiente a date_at).
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/branches/{branchId}/holidays |
Authorization |
{
"name": "nullable|string|max:64",
"date_at": "required|date|after_or_equal:today",
"date_until": "required|date|after:date_at",
"is_enabled": "nullable|boolean",
"repeat_annually": "nullable|boolean"
}
{info} Soporta: Paginación Filters Carga dinámica
Listar feriados de una sucursal
Devuelve los Holiday de la Branch indicada.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/branches/{branchId}/holidays |
Authorization |
{info} Soporta: Carga dinámica
Mostrar feriado
Devuelve el Holiday por su id.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/holidays/{holidayId} |
Authorization |
Actualizar feriado
Modifica name, date_at y date_until del Holiday.
| Método | URI | Cabeceras |
|---|---|---|
| PATCH | /companies/{companyId}/holidays/{holidayId} |
Authorization |
{
"name": "nullable|string|max:64",
"date_at": "date|after_or_equal:today",
"date_until": "date|after:date_at",
"is_enabled": "nullable|boolean",
"repeat_annually": "nullable|boolean"
}
Sincronizar feriados de una sucursal
Reemplaza el conjunto de Holiday de la Branch por la lista enviada (crea los nuevos, actualiza los existentes y elimina los que no vengan).
| Método | URI | Cabeceras |
|---|---|---|
| PUT | /companies/{companyId}/branches/{branchId}/holidays |
Authorization |
[
{
"date_at": "required|date|after_or_equal:today",
"date_until": "required|date|after:date_at",
"is_enabled": "nullable|boolean",
"repeat_annually": "nullable|boolean"
}
]
Eliminar feriado
Borra el Holiday. Si estaba en curso, se notifica el cambio de estado de la sucursal.
| Método | URI | Cabeceras |
|---|---|---|
| DELETE | /companies/{companyId}/holidays/{holidayId} |
Authorization |