Layover connection time checker
Landing at 10:30 and leaving at 14:00 gives a 3 h 30 min layover, which clears a 60-minute minimum connection with 150 minutes to spare. Enter both clock times and the minimum your airport requires. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Arrival
- 10:30
- Departure
- 14:00
- Minimum connection time
- 60
- Arrival minutes
- 630
- Departure minutes
- 840
- Layover minutes
- 210
- Layover hours
- 3.5
This layover connection time checker computes how long you have between an inbound arrival and an outbound departure, then tells you whether that gap meets a minimum connection time you supply. Airport and airline MCT rules vary by terminal change, international versus domestic flow, and bag recheck, so the tool does not invent a carrier table: you enter the minutes that apply to your ticket or airport, and it returns a deterministic layover length, a human-readable duration, a sufficient flag, and the slack or shortfall in minutes. Same-day connections subtract arrival from departure on a twenty-four-hour clock; when departure is earlier than or equal to arrival, the engine treats the leg as overnight and adds twenty-four hours so a late arrival and early morning departure still produce a correct gap.
What a layover check tells you
A connection, or layover, is the ground time between the scheduled arrival of one flight and the scheduled departure of the next on the same itinerary. Travelers and agents care about two numbers at once: how many minutes actually sit on the clock, and whether that interval clears the minimum connection time required for that airport, airline, or ticket type. This checker answers both with a transparent arithmetic path.
Arrival and departure are read as twenty-four-hour clock times, converted to minutes from midnight, and subtracted; if departure is not strictly after arrival on the same calendar day, the model adds one full day so overnight red-eyes and early-morning departures still yield a positive layover. Minimum connection time is a non-negative number of minutes you provide, optionally as an H:MM duration string, capped at twenty-four hours for a single-connection check.
If you need full multi-city legality scoring or real-time gate walks, use operational systems; this page stays focused on the length-versus-MCT question so worksheets, APIs, and browser demos share one stable contract.
How times and MCT are read and how the result stays reproducible
Clock strings accept H:MM, HH:MM, and optional seconds as HH:MM:SS; leading zeros are optional, and surrounding spaces are trimmed. Integer minutes-from-midnight values from zero through fourteen hundred thirty-nine are also accepted for arrival or departure when a pipeline already stores times that way. MCT accepts a finite number of minutes or a duration string such as one colon thirty for ninety minutes.
Mixed case is not required for times because digits and colons alone form the token; non-numeric garbage, twenty-five o'clock, and sixty minutes in the minute field are rejected with a clear message so a bad cell does not become a wrong sufficient flag. Zero MCT is valid and simply reports whether any positive ground time exists under your other rules.
When departure minutes are less than or equal to arrival minutes, overnight is true and twenty-four hours are added before subtraction, which matches how most passengers read a same-airport night connection without requiring a separate day field.
Where connection checks fit in booking, ops, and software
Leisure travelers meet this calculation when a booking engine offers a one-hour connection that looked fine until they notice a terminal change or an international-to-domestic handoff that needs ninety minutes. Student groups and tour operators use overnight-aware math when a late inbound and early outbound would otherwise look like a negative duration if someone subtracts clock faces without rolling the day.
Support agents paste arrival, departure, and a published MCT from the airline conditions of carriage to show a customer why a rebooking is tight or comfortable before issuing a new ticket. Product and education tools call the contract from scripts when a user picks two flight legs and the app must show layover length and a pass-fail against a configurable buffer without shipping a full GDS connection builder.
Pair it with jet-lag and fuel helpers when you are building a small lab of free, deterministic travel planning tools, and keep MCT values under your own policy control rather than hard-coding a single airport table into every client.
What you can do with it
Itinerary connection review
Check whether arrival-to-departure ground time clears your airline or company minimum connection time before you buy or rebook.
Corporate MCT policy checks
Batch multi-leg fares against a fixed buffer in minutes and flag negative slack for travel managers.
Overnight layover math
Compute correct positive gaps when a late arrival and early next-day departure would otherwise look inverted on a 24-hour clock.
FAQ
What does the layover connection time checker cost?
It is free in your browser on this page.
How is layover length calculated?
Arrival and departure are converted to minutes from midnight. If departure is earlier than or equal to arrival, twenty-four hours are added (overnight). Layover minutes equal effective departure minus arrival.
What happens with invalid times?
Examples include missing fields, hour outside 0–23, minute or second outside 0–59, negative MCT, or non-clock strings.
Does this look up airline MCT tables?
No. You supply the MCT that applies to your ticket, airport, or company policy. The tool only measures layover length and compares it to that number.
What if my next flight leaves the following morning?
Enter the times as they are. When the departure clock time is earlier than or equal to the arrival, the checker treats the connection as overnight and adds 24 hours, so a late arrival and an early departure still give the right gap.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/travel/layover-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"arrival":"10:30","departure":"14:00","min_connection":60}'const res = await fetch("https://api.kit.forhosting.com/travel/layover-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"arrival": "10:30",
"departure": "14:00",
"min_connection": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/layover-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"arrival": "10:30",
"departure": "14:00",
"min_connection": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/layover-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"arrival":"10:30","departure":"14:00","min_connection":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"arrival":"10:30","departure":"14:00","min_connection":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/layover-time", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"arrival": "10:30",
"departure": "14:00",
"min_connection": 60
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.layover_time",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_min_connection_minutes | 1440 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Invalid clock times and negative MCT values fail with invalid_input instead of a silent wrong number.
What a layover check means and what the response contains
The response echoes normalized arrival and departure displays, arrival_minutes and departure_minutes from midnight, layover_minutes and layover_hours, a compact layover_display such as three hours thirty minutes, the min_connection_minutes used, a boolean sufficient flag, slack_minutes which is negative when the connection is tight, an overnight flag, a method tag layover_time, and a short formula string for audits. There is no live schedule feed and no scraped airline MCT database: the engine either builds a finite result from your three inputs or rejects the request with invalid_input. Rejected cases include missing fields, non-clock tokens, hours outside zero through twenty-three, minutes or seconds outside zero through fifty-nine, negative MCT, and MCT above the documented ceiling.
How times and MCT are read and how the result stays reproducible
The preferred fields are arrival for the inbound clock time, departure for the outbound clock time, and min_connection for the minimum connection time in minutes, but aliases such as arr, arrival_time, eta, dep, departure_time, etd, mct, min_connect, and connection_time are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing clock parsing yourself.
Where connection checks fit in booking, ops, and software
Corporate travel desks batch the same formula across multi-leg fares to flag itineraries where slack_minutes is negative against a company MCT policy that is stricter than the airline legal minimum. On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a trip-planning demo to an automated pipeline without changing the mathematical result.
Technical questions
What is min_connection?
It is the minimum connection time (MCT) you require, in minutes (or H:MM). The connection is sufficient when layover_minutes is greater than or equal to that value.