Reconciliation & drift

A background job continuously compares Openavail's record of your bookings to what's actually on your calendar provider. When the two disagree, you can see it in the dashboard.

How Openavail stays in sync

Every event Openavail writes to your calendar carries a hidden tag identifying it as ours. A reconciliation job runs every 5 minutes per connected calendar and compares both sides:

  • Our event still there, no changes — nothing to do.
  • Our event still there, description or location changed — the change is copied silently into Openavail. No drift case filed.
  • Our event gone from your calendar — a human deleted it directly. Openavail files a drift case and does not recreate the event. A deliberate deletion stays deleted.
  • An event with our tag exists, but we have no record of it — something went wrong on our side. This is filed as a critical drift case and pages on-call.
  • An event on your calendar with no Openavail tag — a human created it directly. Openavail records it as a sacred booking. No drift case; the arbitration engine will refuse to preempt it.

What counts as drift

Drift means Openavail's data and your calendar provider's data disagree in a way that's worth a human noticing. Cosmetic differences in description or location are not drift — they get silently mirrored. Time changes, missing events, and orphan tags are drift.

TypeWhat it means
field_mismatchThe event still exists on both sides, but start/end times no longer match.
db_yes_provider_noOpenavail expected the event to be on your calendar; it isn't. Most commonly a human deletion.
provider_yes_db_no_with_corridYour calendar has an event tagged as ours, but we have no record of it. This is a data-integrity incident.

Drift severity

SeverityMeaningResponse
criticalLost booking record. Pages on-call.Investigated by Openavail within the hour.
highField mismatch or a missing event past the grace window.Surfaced in the dashboard for admin review.
medium / lowReserved for future categories.

The grace window for "missing event" is twice the hold TTL (10 minutes by default). New bookings under that window may still be in flight through our delivery queue; we don't file drift cases on them.

Reading the drift list

In the dashboard, go to Drift cases. The sidebar shows a count of open cases; the page lists them with severity, type, the affected calendar owner, and the provider event ID.

The list is read-only in this release. Resolve and dismiss actions arrive in a follow-up. In the meantime, if you need to act on a drift case, contact support with the case ID.

Human-created events

When you create a meeting directly in Google Calendar (not through an agent), Openavail notices it on the next reconciliation pass and records it as a sacred booking. Sacred bookings:

  • Are visible to the arbitration engine as conflicts.
  • Cannot be preempted, regardless of incoming priority or preempt permission.
  • Are also flagged as sacred if at least one external attendee has accepted on the provider — even if Openavail wrote the original event.

This is what lets you keep using your calendar normally while Openavail sits behind your agents. Direct edits are respected.