availability

$npx mdskill add BuilderIO/agent-native/availability

Calculate bookable times by merging schedules, rules, and blocks.

  • Resolve conflicts between working hours, travel, and out-of-office entries.
  • Access schedule_availability tables and date_overrides records.
  • Apply timezone shifts and interval logic to generate availability windows.
  • Return precise time slots or blocked dates for booking decisions.
SKILL.md
.github/skills/availabilityView on GitHub ↗
---
name: availability
description: How schedules, weekly rules, date overrides, travel schedules, and out-of-office entries combine to determine when someone is bookable.
---

# Availability

## Schedule

A named set of rules (e.g. "Working Hours"). Each user has ≥1 schedule and
marks one as `isDefault`. Event types either use the user's default or
reference a specific schedule.

Timezone is set on the schedule, not the user — lets you have a "Europe
hours" schedule and a "US hours" schedule for the same person.

## Weekly availability

Rows in `schedule_availability`: (day 0-6, startTime "HH:MM", endTime
"HH:MM"). You can have multiple intervals per day — e.g. Mon 9-12 and 1-5.

## Date overrides

Rows in `date_overrides`: (date "YYYY-MM-DD", intervals JSON).
- `intervals: []` → day fully blocked.
- `intervals: [{start, end}]` → only those times available on that date.

## Travel schedules

`travel_schedules` overrides the user's default timezone for a date range.

## Out of office

`out_of_office_entries` blocks bookings across a range, optionally with a
redirect to another team member.

## Common tasks

| User request | Action |
|---|---|
| "I'm unavailable next Friday" | `add-date-override --scheduleId <id> --date 2026-04-10 --intervals []` |
| "I take lunch 12-1 weekdays" | `update-schedule --weeklyAvailability [...9-12, 13-17...]` |
| "Create evenings schedule" | `create-schedule --name Evenings --weeklyAvailability [...]` |
| "Going to Tokyo next week" | Insert a `travel_schedules` row (no dedicated action yet) |
More from BuilderIO/agent-native