Holiday


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).

Estructura de Datos

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
}

Endpoints

Insertar Holiday

Insertar Holiday de Branch

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"
}

Listar Holiday

Listar Holiday de Branch

{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

Mostrar Holiday

{info} Soporta: Carga dinámica

Mostrar feriado

Devuelve el Holiday por su id.

Método URI Cabeceras
GET /companies/{companyId}/holidays/{holidayId} Authorization

Actualizar Holiday

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 Holiday

Sincronizar Holiday de Branch

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 Holiday

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

Relaciones