BranchSection


Una sección del catálogo/listado de comercios de una Company para mostrar en las apps. type es custom (contenido a medida por payload), categories, featured (destacados) o nearby (cercanos). Para custom, payload define el contenido: { type: "ids", ... } con una lista de ids, o { type: "sql", ... } con una consulta. Se puede programar por franjas (day_time_blocks) y por rango de fechas (date_beg–date_end). in_order fija la posición; enabled la activa.

Estructura de Datos

Atributo Tipo Descripción
id int
name string Nombre de la sección
type string Tipo de sección: custom, categories, featured o nearby
enabled bool Si la sección está activa
in_order int Posición de la sección en el listado
created_at datetime\|null
updated_at datetime\|null
company_id int {@link Company} dueña de la sección
payload array\|null Contenido de la sección custom (ids o sql)
day_time_blocks array Franjas de día/hora en que la sección está visible
date_beg datetime\|null Inicio del rango de vigencia (opcional)
date_end datetime\|null Fin del rango de vigencia (opcional)
allLogs ApiLog>
logs ApiLog>
{
    "id": 3,
    "name": "System-Managed Section",
    "type": "categories",
    "enabled": false,
    "in_order": 65535,
    "created_at": "2020-09-17 00:53:20",
    "updated_at": "2025-11-18 21:14:36",
    "payload": null,
    "day_time_blocks": [],
    "date_beg": null,
    "date_end": null
}

Endpoints

Insertar BranchSection

Crear sección de comercios

Crea una BranchSection para la company (type, payload, in_order, enabled y su programación de horario/fechas).

Método URI Cabeceras
POST /companies/{companyId}/branch-sections Authorization
{
    "name": "required_if:type,custom|string|max:64",
    "type": "required|string|in:custom,categories,featured,nearby",
    "enabled": "boolean",
    "in_order": "integer",
    "payload": "",
    "day_time_blocks": [
        {
            "day_sunday": "nullable|boolean",
            "day_monday": "nullable|boolean",
            "day_tuesday": "nullable|boolean",
            "day_wednesday": "nullable|boolean",
            "day_thursday": "nullable|boolean",
            "day_friday": "nullable|boolean",
            "day_saturday": "nullable|boolean",
            "hour_beg": {
                "nullable": true,
                "string": true,
                "regex": "/^([0-1][0-9]|2[0-3]):[0-5][0-9]$/"
            },
            "hour_end": {
                "nullable": true,
                "string": true,
                "regex": "/^([0-1][0-9]|2[0-3]):[0-5][0-9]$/"
            }
        }
    ],
    "date_beg": "nullable|date",
    "date_end": "nullable|date|after:date_beg"
}

Listar BranchSection

{info} Soporta: Paginación Filters Carga dinámica

Listar secciones de comercios

Devuelve las BranchSection de la company, ordenadas por in_order.

Método URI Cabeceras
GET /companies/{companyId}/branch-sections Authorization

Mostrar BranchSection

{info} Soporta: Carga dinámica

Mostrar sección de comercios

Devuelve la BranchSection por su id.

Método URI Cabeceras
GET /companies/{companyId}/branch-sections/{branchSectionId} Authorization

Actualizar BranchSection

Actualizar sección de comercios

Modifica name, type, payload, in_order, enabled y la programación de la BranchSection.

Método URI Cabeceras
PATCH /companies/{companyId}/branch-sections/{branchSectionId} Authorization
{
    "name": "string|max:64",
    "type": "string|in:custom,categories,featured,nearby",
    "enabled": "boolean",
    "in_order": "integer",
    "payload": "",
    "day_time_blocks": [
        {
            "day_sunday": "nullable|boolean",
            "day_monday": "nullable|boolean",
            "day_tuesday": "nullable|boolean",
            "day_wednesday": "nullable|boolean",
            "day_thursday": "nullable|boolean",
            "day_friday": "nullable|boolean",
            "day_saturday": "nullable|boolean",
            "hour_beg": {
                "nullable": true,
                "string": true,
                "regex": "/^([0-1][0-9]|2[0-3]):[0-5][0-9]$/"
            },
            "hour_end": {
                "nullable": true,
                "string": true,
                "regex": "/^([0-1][0-9]|2[0-3]):[0-5][0-9]$/"
            }
        }
    ],
    "date_beg": "nullable|date",
    "date_end": "nullable|date|after:date_beg"
}

Eliminar BranchSection

Eliminar sección de comercios

Borra la BranchSection.

Método URI Cabeceras
DELETE /companies/{companyId}/branch-sections/{branchSectionId} Authorization

Relaciones