# HALOWERK laufwerk – Tour Distance Readiness Check

> HALOWERK laufwerk – Tour Distance Readiness Check is a paid API for AI agents from lauf.halowerk.com, paid per call via x402, $0.007/call, status unknown (last checked 2026-10-10).

Assesses whether a set of delivery jobs can be feasibly completed by available vehicles given a precomputed distance/duration matrix and optional maximum distance constraint.

## Facts

- Endpoint: POST https://lauf.halowerk.com/v1/tours/distance-readiness?utm_source=zero.xyz
- Price: $0.007/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-laufwerk-tour-distance-readiness-check-82ca29d6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pNLkl5rj5o0DFUhCdVh1G

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 halowerk-laufwerk-tour-distance-readiness-check-82ca29d6 -d '<json body>'
```

Example prompt: Can you check if our 3 vehicles (each with capacity 500) can handle 10 delivery jobs across today's 8-hour shift — I have the distance and duration matrices ready — and flag whether any job falls outside a 50 km max distance limit?

## When to prefer this

Use this endpoint when you need a fast, pre-optimization feasibility check for a vehicle routing problem — before committing to full route optimization. It is ideal when you already have a precomputed distance/duration matrix and want to validate that capacity, time windows, shift hours, and distance limits are compatible with the job set, without running a more expensive solver.

## Known failure modes

- Missing required fields (jobs, vehicles, distances_m, or durations_s) return validation errors
- Matrix dimensions not matching number of points cause schema rejection
- Vehicle capacity set to zero or negative triggers validation failure
- Time window arrays with incorrect length (not exactly 2 elements) are rejected
- Jobs or vehicles exceeding array size limits (20 jobs, 4 vehicles) cause rejection
- Null values in matrix that prevent feasibility calculation may return partial or error results

## How this service works

HALOWERK laufwerk — bezahlte Endpunkte nach x402. Preise in USDC auf Base Mainnet.

## Output

A JSON response indicating whether the provided jobs can be feasibly served by the given vehicles, taking into account capacity, time windows, service durations, distance/duration matrices, and the optional maximum distance constraint. May include per-job or per-vehicle feasibility signals.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "jobs": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "id",
     "point",
     "demand",
     "service_s",
     "window"
    ],
    "properties": {
     "id": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1
     },
     "point": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1
     },
     "demand": {
      "type": "number",
      "maximum": 100000,
      "minimum": 0
     },
     "window": {
      "type": "array",
      "items": {
       "type": "number",
       "maximum": 604800,
       "minimum": 0
      },
      "maxItems": 2,
      "minItems": 2
     },
     "service_s": {
      "type": "number",
      "maximum": 604800,
      "minimum": 0
     }
    },
    "additionalProperties": false
   },
   "maxItems": 20,
   "minItems": 1
  },
  "vehicles": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "id",
     "capacity",
     "shift"
    ],
    "properties": {
     "id": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1
     },
     "shift": {
      "type": "array",
      "items": {
       "type": "number",
       "maximum": 604800,
       "minimum": 0
      },
      "maxItems": 2,
      "minItems": 2
     },
     "capacity": {
      "type": "number",
      "maximum": 100000,
      "exclusiveMinimum": 0
     }
    },
    "additionalProperties": false
   },
   "maxItems": 4,
   "minItems": 1
  },
  "distances_m": {
   "type": "array",
   "items": {
    "type": "array",
    "items": {
     "anyOf": [
      {
       "type": "number",
       "maximum": 10000000,
       "minimum": 0
      },
      {
       "type": "null"
      }
     ]
    },
    "maxItems": 21,
    "minItems": 2
   },
   "maxItems": 21,
   "minItems": 2
  },
  "durations_s": {
   "type": "array",
   "items": {
    "type": "array",
    "items": {
     "anyOf": [
      {
       "type": "number",
       "maximum": 604800,
       "minimum": 0
      },
      {
       "type": "null"
      }
     ]
    },
    "maxItems": 21,
    "minItems": 2
   },
   "maxItems": 21,
   "minItems": 2
  },
  "matrix_source": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1
  },
  "max_distance_m": {
   "type": "number",
   "maximum": 10000000,
   "minimum": 0
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-laufwerk-tour-distance-readiness-check-82ca29d6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from lauf.halowerk.com](https://www.zero.xyz/host/lauf.halowerk.com/llms.txt)
