Calculadora de fin de agenda
La calculadora de hora de fin de agenda convierte una lista de duraciones previstas en una hora de cierre clara.
Ejecutar — gratis
Introduzca el inicio de la reunión en formato de 24 horas, añada en minutos cada debate, presentación, descanso o bloque de decisiones y obtenga la duración total programada y la hora final calculada. Si la agenda cruza la medianoche, el desplazamiento de días lo indica expresamente. Resulta útil para organizadores, facilitadores, formadores y productores de eventos que necesitan publicar un horario realista sin sumar horas a mano una y otra vez.
Base el cálculo en la agenda que realmente va a seguir
Comience con la hora de apertura prevista, escrita en formato HH:MM de 24 horas, y cree después una fila por cada parte cronometrada de la sesión. Una fila puede representar una introducción, presentación, conversación, ejercicio, pausa, turno de preguntas, votación o resumen final. Asigne a cada fila una duración en minutos enteros. La calculadora suma todas las duraciones, incluidos los marcadores de cero minutos, en el orden indicado y aplica el total combinado a la hora inicial. Los títulos son opcionales y ayudan a reconocer el plan, pero no alteran la aritmética. Esta separación facilita los cambios: ajuste la duración del punto afectado en lugar de volver a calcular todas las horas posteriores. El resultado muestra el inicio normalizado, la hora final, la duración total en minutos y el número de puntos incluidos. Como el cálculo procede directamente de las filas, usted puede comparar una versión breve y otra completa de la misma sesión manteniendo visibles todas las hipótesis para revisores, ponentes y participantes.
Interprete correctamente una sesión que cruza la medianoche
La hora final utiliza el mismo reloj de 24 horas que la entrada. Un desplazamiento de días independiente elimina la ambigüedad cuando una agenda larga pasa de medianoche. Por ejemplo, una hora final de 01:15 con un desplazamiento de 1 significa las 01:15 del día siguiente, no una hora anterior del día de inicio. Un valor de 0 indica que la sesión termina el mismo día natural. Los programas más extensos pueden producir valores superiores a 1, algo útil en ejercicios de varios días u operaciones continuas, aunque la mayoría de las reuniones caben en una jornada. La calculadora no asigna fecha, zona horaria, regla de horario de verano ni configuración regional. Solo realiza aritmética de reloj, por lo que el resultado es determinista y conserva el mismo significado en el navegador, una automatización mediante API, una hoja exportada o un documento de planificación. Si el evento atraviesa un cambio de horario, decida primero qué duración transcurrida y qué convención local utilizará su organización; interprete después el resultado como una previsión, no como una conversión de zona horaria.
Aproveche el resultado para mejorar horarios y automatizaciones
Una hora de cierre calculada aporta más valor antes de confirmar invitaciones y escaletas. Compárela con la reserva de la sala, la disponibilidad de ponentes, el turno del personal, el último transporte o la hora prometida de salida. Si la reunión termina demasiado tarde, el total de minutos cuantifica el desfase: reduzca determinados puntos, suprima un segmento o páselo a una sesión posterior y vuelva a calcular. En flujos automatizados, envíe la hora inicial y las filas estructuradas cada vez que se cree o revise una agenda, y guarde la hora devuelta junto al plan de origen. Una misma solicitud sirve para preparar calendarios, instrucciones para facilitadores, horarios de recintos, escaletas de seminarios web y controles de aprobación. El cálculo es determinista, no usa la red y no presupone transiciones ocultas. Por ello, añada como filas explícitas el montaje, los relevos, las pausas, el margen y el cierre cuando consuman minutos. Así obtendrá una hora más creíble y podrá auditar mejor las diferencias entre lo previsto y lo ocurrido. Cada solicitud API usa el precio base publicado de $0.002.
Qué puede hacer con ella
Publique una invitación realista
Incluya debates, pausas y cierre antes de indicar en la invitación una hora final fiable.
Prepare la escaleta de un taller
Calcule el cierre de una formación tras incluir ejercicios, presentaciones, preguntas y transiciones.
Contraste la agenda con una reserva
Compare el final calculado con la disponibilidad de la sala, el estudio, el facilitador o el personal antes de aprobar.
Preguntas frecuentes
¿Qué formato debe tener la hora inicial?
Utilice una hora válida de 24 horas en formato HH:MM, como 09:30 o 18:05.
¿Puede terminar la agenda después de medianoche?
Sí. end_time muestra la hora resultante y day_offset indica cuántas medianoches cruza la agenda completa.
¿Se incluyen las pausas en el total?
Se incluyen si usted las añade como puntos. Añada del mismo modo el montaje, las transiciones y el margen cuando ocupen tiempo.
¿Puedo indicar fracciones de minuto?
No. Cada valor duration_minutes debe ser un número entero entre 0 y 10080.
¿La calculadora gestiona fechas o zonas horarias?
No. Realiza aritmética de reloj determinista y devuelve un desplazamiento de días; no aplica fechas, zonas horarias ni cambios estacionales.
¿Cuánto cuesta un cálculo mediante API?
Cada solicitud API utiliza el precio base publicado de $0.002. La versión para navegador puede ejecutar localmente el mismo cálculo determinista.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/biz/agenda-end-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_time":"09:30","agenda_items":[{"title":"Welcome and context","duration_minutes":10},{"title":"Project review","duration_minutes":45},{"title":"Decisions and next steps","duration_minutes":20}]}'const res = await fetch("https://api.kit.forhosting.com/biz/agenda-end-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_time": "09:30",
"agenda_items": [
{
"title": "Welcome and context",
"duration_minutes": 10
},
{
"title": "Project review",
"duration_minutes": 45
},
{
"title": "Decisions and next steps",
"duration_minutes": 20
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/agenda-end-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_time": "09:30",
"agenda_items": [
{
"title": "Welcome and context",
"duration_minutes": 10
},
{
"title": "Project review",
"duration_minutes": 45
},
{
"title": "Decisions and next steps",
"duration_minutes": 20
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/agenda-end-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_time":"09:30","agenda_items":[{"title":"Welcome and context","duration_minutes":10},{"title":"Project review","duration_minutes":45},{"title":"Decisions and next steps","duration_minutes":20}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_time":"09:30","agenda_items":[{"title":"Welcome and context","duration_minutes":10},{"title":"Project review","duration_minutes":45},{"title":"Decisions and next steps","duration_minutes":20}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/agenda-end-time", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"start_time": "09:30",
"agenda_items": [
{
"title": "Welcome and context",
"duration_minutes": 10
},
{
"title": "Project review",
"duration_minutes": 45
},
{
"title": "Decisions and next steps",
"duration_minutes": 20
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.agenda_end_time",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |