Skip to content
anserra

Open specification · draft 0.1

Agent-Ready Local Services

A specification for what a local service business must publish so that an AI agent acting for a customer can understand the offer, select the business and start a booking. It builds on existing schema.org markup and adds one file. The spec and the L0–L2 validator are free.

Updated:

A website is agent-ready when an AI agent can, without human help: understand what the business offers and where; find a price or price range; find and reach the booking or purchase step; confirm conditions such as hours and service area; and hand the user a way to reach a human.

Why a specification

Assistants are beginning to complete tasks rather than answer questions. For local services, the task is a booking or a quote request. Today each business site is a one-off puzzle for an agent: prices in PDFs, booking in script-only widgets, hours in images. A shared, minimal convention lets agents treat local businesses the way they already treat structured product feeds — and lets businesses show conformance with a badge instead of hoping.

The spec is deliberately small. Six of its seven layers reuse schema.org types that already exist. Only the seventh — availability — needs a new file.

Seven layers

LayerWhat it exposesHow
1. IdentityBusiness type, name, address, phone, service areaschema.org LocalBusiness subtype, text on page
2. OfferServices with descriptions, who they are forschema.org Service, text service pages
3. PricePrices or ranges per serviceschema.org Offer with price or priceRange, text
4. ConditionsHours, cancellation, payment methods, insurance, eligibilityopeningHoursSpecification, paymentAccepted, a /policies page in text
5. Booking pathA stable URL that leads to booking or a quote request, reachable by a linkpotentialAction ReserveAction / a /book URL with text fallback
6. Human contactPhone and email as textcontactPoint, tel: and mailto: links
7. AvailabilityBookable slots or lead times, machine-readable/.well-known/agent-service.json (new)

Conformance levels

LevelNameRequirementChecked by
L0Not readableLayers 1, 4 or 6 missing as text, or AI crawlers blockedFree validator
L1ReadableLayers 1, 2, 4 and 6 present as text and as markupFree validator
L2BookableL1 plus layers 3 and 5: a price or range and a reachable booking URLFree validator + agent run
L3InteroperableL2 plus a valid layer-7 file with current availabilityAgent run and file validation (paid)

The one new file: agent-service.json

Served at /.well-known/agent-service.json. It repeats the identity and services from schema.org (so a reader needs only this file), and adds what schema.org does not cover well: bookable slots or lead times per service, the booking endpoint an agent may open, and the contact for confirmation. It contains no personal data. Draft shape:

{
  "spec": "agent-ready-local-services/0.1",
  "business": { "name": "Cedar Park Dental", "type": "Dentist", "url": "https://cedarparkdental.example" },
  "services": [
    { "id": "cleaning", "name": "Cleaning and exam", "price": { "min": 120, "max": 180, "currency": "USD" }, "duration_min": 45 }
  ],
  "booking": { "url": "https://cedarparkdental.example/book", "method": "link", "confirmation": "email" },
  "availability": { "mode": "lead_time", "next_available": "2026-09-22", "lead_time_days": 3 },
  "contact": { "phone": "+15125550100", "email": "front@cedarparkdental.example" },
  "updated": "2026-09-17"
}

availability.mode is either lead_time (simplest: the next available date and a typical lead time) or slots (a short list of open slots per service). A business that cannot publish slots still reaches L3 with lead times, as long as the file is current.

What the spec does not do

  • It does not let an agent book without the business's own booking flow. Layer 5 points to it; the spec does not replace it.
  • It does not define payments. Payment stays inside the business's existing flow.
  • It does not require any platform or vendor. A static site can reach L3.

Status and how to contribute

Draft 0.1. The seven layers and the levels are settled; the file schema is open for comment until the first public study on 200–300 businesses is published. The validator for L0–L2 is free and does not require an account. Comments and proposed changes: contact. The specification will be mirrored in a public repository with an open license once 0.1 is finalized.

Check your site against the spec

The free scan includes the L0–L2 validator.