Skip to content
osmods
Cal.com

Travel buffers

In-person meetings get travel time between them, computed from the locations.

View upstream
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
})