Cal.com
Travel buffers
In-person meetings get travel time between them, computed from the locations.
AuthorMei-Ling Chou
PublishedJul 2026
LicenseAGPL-3.0
Installs92
Why it exists
Back-to-back works on video and fails on foot. A clinic that does home visits kept double-booking the practitioner into two neighborhoods thirty minutes apart.
This mod reads the locations of adjacent in-person bookings and blocks realistic travel time between them, so the calendar reflects the city, not just the clock.
What it does
- Travel time computed between adjacent in-person bookings
- Walking, transit or driving profile per event type
- Buffers appear as visible holds, not silent unavailability
The spec
These acceptance criteria were written with the person who requested the mod, then locked in as its tests. The mod has to pass them on every new release train before it rides along.
- Two in-person bookings are never scheduled closer than the computed travel time
- Video bookings never receive travel buffers
mods/travel-buffers/tests/spacing.spec.ts
test("home visits keep realistic spacing", async () => {
const first = await book(homeVisit, { at: "10:00", location: vallecas })
const slots = await availableSlots(homeVisit, { location: chamberi })
expect(slots.first().start).toBeAfter("10:30") // 27 min transit + margin
})