# Buero Halowerk Availability Resolver

> Buero Halowerk Availability Resolver is a paid API for AI agents from buero.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-12).

Finds meeting windows that fit inside everyone's working hours by resolving busy blocks and IANA timezones for each participant.

## Facts

- Endpoint: POST https://buero.halowerk.com/v1/availability-resolve?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/buero-halowerk-availability-resolver-9322f55e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_HiTSC5fT7-syxEEttH04_

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability buero-halowerk-availability-resolver-9322f55e -d '<json body>'
```

Example prompt: Find a 45-minute meeting slot this week between Monday and Friday for three people: Alice is busy Mon 9–11am and Wed 2–4pm (America/New_York, works 9–5), Bob is busy Tue all day and Thu 10am–noon (Europe/Berlin, works 9–5), and Carol has no blocks (Asia/Tokyo, works 9–5) — what windows work for all of them?

## When to prefer this

Choose this endpoint when you need timezone-aware, working-hours-respecting availability resolution across multiple participants using raw busy-block data, without integrating with a calendar service like Google Calendar or Outlook. It is ideal for agents that already have busy intervals from another source and need a pure computation step to find valid meeting windows, especially when participants span multiple timezones with daylight saving transitions.

## Known failure modes

- No available windows found — returned as empty list when busy blocks or working hours leave no overlap
- Invalid or unrecognized IANA timezone string causes a validation error
- Search window too narrow to contain any slot of the requested duration
- Malformed busy block (e.g. end before start) triggers a 400-level error
- Meeting duration longer than any single working-hours block results in zero candidates

## How this service works

Give it a search window, a meeting length, and for each participant a list of busy blocks — start and end, nothing else — and it returns the windows in which the meeting fits. Each participant carries their own IANA timezone and working hours, so nine-to-five means nine-to-five where they are, across daylight saving changes, and a meeting is only offered when it lies entirely inside one working-hours block for everyone counted as present.

## Output

Returns a list of time windows (start and end timestamps) during which the requested meeting length fits entirely within all participants' working hours without overlapping any of their busy blocks, normalized across each person's IANA timezone and daylight saving rules.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "window": {
   "type": "object",
   "required": [
    "start",
    "end"
   ],
   "properties": {
    "end": {
     "type": "string",
     "maxLength": 40,
     "description": "ISO 8601."
    },
    "start": {
     "type": "string",
     "maxLength": 40,
     "description": "ISO 8601."
    }
   },
   "description": "The search window. Every load figure is measured over exactly this span for everyone.",
   "additionalProperties": false
  },
  "max_results": {
   "type": "integer",
   "default": 20,
   "maximum": 100,
   "minimum": 1,
   "description": "How many windows to return. What is dropped is counted."
  },
  "participants": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "id"
    ],
    "properties": {
     "id": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Any label, unique within the request. \"a\" is fine."
     },
     "busy": {
      "type": "array",
      "items": {
       "type": "object",
       "required": [
        "start",
        "end"
       ],
       "properties": {
        "end": {
         "type": "string",
         "maxLength": 40,
         "description": "ISO 8601 with offset or Z."
        },
        "start": {
         "type": "string",
         "maxLength": 40,
         "description": "ISO 8601 with offset or Z."
        }
       },
       "additionalProperties": false
      },
      "maxItems": 300,
      "description": "Busy blocks. Overlapping blocks are merged."
     },
     "optional": {
      "type": "boolean",
      "default": false,
      "description": "Optional participants may be missing from a returned window."
     },
     "timezone": {
      "type": "string",
      "maxLength": 60,
      "description": "IANA zone for this person, e.g. Europe/Berlin. Falls back to the request default."
     },
     "working_hours": {
      "type": "object",
      "properties": {
       "end": {
        "type": "string",
        "maxLength": 5,
        "description": "HH:MM. An end before the start means the block runs past midnight."
       },
       "days": {
        "type": "array",
        "items": {
         "type": "integer",
         "maximum": 6,
         "minimum": 0
        },
        "maxItems": 7,
        "description": "0 is Sunday, 6 is Saturday. Default Monday to Friday."
       },
       "start": {
        "type": "string",
        "maxLength": 5,
        "description": "HH:MM, e.g. 09:00."
       }

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/buero-halowerk-availability-resolver-9322f55e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from buero.halowerk.com](https://www.zero.xyz/host/buero.halowerk.com/llms.txt)
