Ir al contenido

Time Blocks (Bloqueos de tiempo)

GET /v1/time-blocks

Retorna los bloqueos de tiempo del negocio, ordenados por fecha de inicio descendente.

ParámetroTipoDefaultDescripción
limitinteger25Resultados por página
offsetinteger0Desplazamiento

Respuesta exitosa: 200 OK

{
"total": 5,
"items": [
{
"id": "110e8400-e29b-41d4-a716-446655440012",
"name": "Almuerzo",
"startTime": "2026-03-05 12:00:00",
"endTime": "2026-03-05 13:00:00",
"locationId": "770e8400-e29b-41d4-a716-446655440002",
"businessAccountId": "aa0e8400-e29b-41d4-a716-446655440005",
"repetition": { "type": "daily", "endType": "afterTimes", "endValue": 30 },
"providers": ["990e8400-e29b-41d4-a716-446655440004", "aa1e8400-e29b-41d4-a716-446655440008"]
}
]
}
POST /v1/time-blocks
CampoTipoRequeridoDescripción
namestringSiNombre del bloqueo (máx. 255)
startTimestringSiFecha/hora inicio ISO 8601
endTimestringSiFecha/hora fin ISO 8601. Debe ser posterior a startTime
locationIdstring (UUID)SiUUID de la ubicación
repetitionobjectNoConfiguración de repetición
repetition.typestringSi*Tipo: daily, weekly, monthly, yearly
repetition.endTypestringSi*Fin: afterTimes, untilDate
repetition.endValuemixedSi*Número de repeticiones o fecha final
providersstring[] (UUID)SiArray de UUIDs de profesionales (mínimo 1)

*Requerido cuando se envía repetition.

Ejemplo:

{
"name": "Almuerzo",
"startTime": "2026-03-10T12:00:00Z",
"endTime": "2026-03-10T13:00:00Z",
"locationId": "770e8400-e29b-41d4-a716-446655440002",
"repetition": { "type": "daily", "endType": "afterTimes", "endValue": 30 },
"providers": ["990e8400-e29b-41d4-a716-446655440004"]
}

Respuesta exitosa: 201 Created{ "id": "220e8400-e29b-41d4-a716-446655440013" }

DELETE /v1/time-blocks/{id}

Elimina el bloqueo y sus eventos de calendario asociados.

Respuesta exitosa: 204 No Content