{
  "openapi": "3.1.0",
  "info": {
    "title": "YesSeat Agent API",
    "version": "1.0.0",
    "description": "Public read-only JSON surfaces for YesSeat hospitality intelligence briefs."
  },
  "servers": [{ "url": "https://yesseat.com" }],
  "paths": {
    "/api/content": {
      "get": {
        "summary": "Site catalog and route index",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": { "type": "string" },
            "description": "Optional search filter"
          }
        ],
        "responses": { "200": { "description": "Site content payload" } }
      }
    },
    "/api/restaurant/bills-fried-chicken-waffle-etobicoke": {
      "get": {
        "summary": "Bill's Fried Chicken structured restaurant brief",
        "responses": { "200": { "description": "Restaurant facts, hours, menu highlights, FAQs" } }
      }
    },
    "/api/popmart/robo-shop-scarborough-town-centre": {
      "get": {
        "summary": "POP MART Robo Shop Scarborough Town Centre structured retail brief",
        "responses": { "200": { "description": "Retail facts, hours, source URLs, images, and actions" } }
      }
    },
    "/api/popmart/robo-shop-square-one": {
      "get": {
        "summary": "POP MART Robo Shop Square One structured retail brief",
        "responses": { "200": { "description": "Retail facts, hours, source URLs, images, and actions" } }
      }
    },
    "/api/parking/impark-lot-246": {
      "get": {
        "summary": "Impark Lot #246 structured parking brief",
        "responses": { "200": { "description": "Parking facts, rates, and actions" } }
      }
    },
    "/api/parking/doubletree-hilton-toronto-parking": {
      "get": {
        "summary": "DoubleTree by Hilton Toronto Downtown Parking Garage structured parking brief",
        "responses": { "200": { "description": "Parking facts, rates, and actions" } }
      }
    },
    "/api/knowledge": {
      "get": {
        "summary": "Knowledge base search",
        "parameters": [
          { "name": "q", "in": "query", "schema": { "type": "string" } },
          { "name": "lang", "in": "query", "schema": { "type": "string", "enum": ["en", "zh"] } }
        ],
        "responses": { "200": { "description": "Knowledge articles" } }
      }
    },
    "/api/mcp": {
      "get": {
        "summary": "MCP read-only search surface",
        "parameters": [
          { "name": "q", "in": "query", "schema": { "type": "string" } },
          { "name": "include", "in": "query", "schema": { "type": "string" } }
        ],
        "responses": { "200": { "description": "MCP-compatible JSON payload" } }
      }
    }
  }
}
