{
  "specVersion": "1.0",
  "host": {
    "displayName": "Bad Historian",
    "identifier": "did:web:badhistorian.com",
    "description": "Self-guided GPS audio walking tours of real cities, narrated with dry humour.",
    "url": "https://badhistorian.com",
    "contact": "mailto:hello@badhistorian.com"
  },
  "entries": [
    {
      "identifier": "urn:air:badhistorian.com:api:content",
      "displayName": "Bad Historian Content API",
      "description": "OpenAPI 3.1 description of the read-only catalogue of walking tours, stops, cities and attractions. No authentication.",
      "type": "application/vnd.oai.openapi+json;version=3.1",
      "url": "https://badhistorian.com/api/openapi.json",
      "representativeQueries": [
        "what walking tours are available in Chicago",
        "how long is the Central Park audio tour",
        "how much does a Bad Historian tour cost",
        "list the stops on the Brooklyn Bridge walking tour"
      ]
    },
    {
      "identifier": "urn:air:badhistorian.com:catalog:api",
      "displayName": "API Catalog",
      "description": "RFC 9727 linkset pointing at the content API's description, documentation and status resources.",
      "type": "application/linkset+json",
      "url": "https://badhistorian.com/.well-known/api-catalog",
      "representativeQueries": [
        "does badhistorian.com have a public API",
        "where is the OpenAPI spec for Bad Historian"
      ]
    },
    {
      "identifier": "urn:air:badhistorian.com:dataset:tours",
      "displayName": "Walking Tour Catalogue",
      "description": "Every published tour with city, neighbourhood, theme, tags, duration, stop count and price.",
      "type": "application/json",
      "url": "https://badhistorian.com/api/tours.json",
      "representativeQueries": [
        "find a 90 minute walking tour in New Orleans",
        "which Bad Historian tours cover architecture",
        "what is the cheapest audio tour in Washington DC",
        "self guided walking tours near the French Quarter"
      ]
    },
    {
      "identifier": "urn:air:badhistorian.com:dataset:cities",
      "displayName": "City Catalogue",
      "description": "Cities with published tours, including coordinates and how many tours and places each holds.",
      "type": "application/json",
      "url": "https://badhistorian.com/api/cities.json",
      "representativeQueries": [
        "which cities does Bad Historian cover",
        "is there a Bad Historian tour in Rome",
        "what European cities have audio walking tours"
      ]
    },
    {
      "identifier": "urn:air:badhistorian.com:dataset:attractions",
      "displayName": "Attraction Catalogue",
      "description": "Individual landmarks, museums, monuments and parks with coordinates, category and a short description.",
      "type": "application/json",
      "url": "https://badhistorian.com/api/attractions.json",
      "representativeQueries": [
        "what landmarks are near me in Chicago",
        "tell me about Cloud Gate",
        "free things to see on the National Mall"
      ]
    },
    {
      "identifier": "urn:air:badhistorian.com:skills:index",
      "displayName": "Agent Skills Index",
      "description": "Discovery index for the skills that teach an agent how to recommend a tour and how to query the content API.",
      "type": "application/json",
      "url": "https://badhistorian.com/.well-known/agent-skills/index.json",
      "representativeQueries": [
        "how do I recommend a Bad Historian tour to someone",
        "agent skills published by badhistorian.com"
      ]
    },
    {
      "identifier": "urn:air:badhistorian.com:doc:llms",
      "displayName": "Site Summary for LLMs",
      "description": "Plain-language summary of what Bad Historian is, which cities it covers, how it works and what it costs.",
      "type": "text/plain",
      "url": "https://badhistorian.com/llms.txt",
      "representativeQueries": [
        "what is Bad Historian",
        "how do Bad Historian audio tours work",
        "how much is Bad Historian all access"
      ]
    }
  ]
}
