{
  "city": "vancouver-cafes-bars",
  "days": 30,
  "since": "2026-09-15T16:53:49.707Z",
  "count": 32,
  "sites": 8,
  "byKind": {
    "fixed": 10,
    "broke": 4,
    "grade_up": 7,
    "grade_down": 0,
    "blocked": 0,
    "unblocked": 2,
    "channel": 6,
    "vendor": 3,
    "assistant": 0
  },
  "changes": [
    {
      "id": 31559,
      "at": "2026-10-15T06:44:05.167Z",
      "domain": "thecascade.ca",
      "name": "The Cascade Room",
      "page": "https://directindex.org/r/thecascade.ca",
      "kind": "vendor",
      "what": "vendor: none to Tock",
      "detail": {
        "scan": 149688,
        "prev": 102360,
        "from": null,
        "to": "tock"
      }
    },
    {
      "id": 31558,
      "at": "2026-10-15T06:44:05.167Z",
      "domain": "thecascade.ca",
      "name": "The Cascade Room",
      "page": "https://directindex.org/r/thecascade.ca",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 149688,
        "prev": 102360,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 31557,
      "at": "2026-10-15T06:44:05.167Z",
      "domain": "thecascade.ca",
      "name": "The Cascade Room",
      "page": "https://directindex.org/r/thecascade.ca",
      "kind": "grade_up",
      "what": "grade C to B (77%)",
      "detail": {
        "scan": 149688,
        "prev": 102360,
        "from": "C",
        "to": "B",
        "pct": 76.9
      }
    },
    {
      "id": 31556,
      "at": "2026-10-15T06:44:05.167Z",
      "domain": "thecascade.ca",
      "name": "The Cascade Room",
      "page": "https://directindex.org/r/thecascade.ca",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 149688,
        "prev": 102360,
        "fix": "no_channel"
      }
    },
    {
      "id": 31555,
      "at": "2026-10-15T06:44:00.786Z",
      "domain": "honesttopete.com",
      "name": "Honest to Pete Roasters",
      "page": "https://directindex.org/r/honesttopete.com",
      "kind": "vendor",
      "what": "vendor: none to Square",
      "detail": {
        "scan": 149678,
        "prev": 102286,
        "from": null,
        "to": "square"
      }
    },
    {
      "id": 31554,
      "at": "2026-10-15T06:44:00.786Z",
      "domain": "honesttopete.com",
      "name": "Honest to Pete Roasters",
      "page": "https://directindex.org/r/honesttopete.com",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 149678,
        "prev": 102286,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 31553,
      "at": "2026-10-15T06:44:00.786Z",
      "domain": "honesttopete.com",
      "name": "Honest to Pete Roasters",
      "page": "https://directindex.org/r/honesttopete.com",
      "kind": "grade_up",
      "what": "grade D to C (55%)",
      "detail": {
        "scan": 149678,
        "prev": 102286,
        "from": "D",
        "to": "C",
        "pct": 55.4
      }
    },
    {
      "id": 31552,
      "at": "2026-10-15T06:44:00.786Z",
      "domain": "honesttopete.com",
      "name": "Honest to Pete Roasters",
      "page": "https://directindex.org/r/honesttopete.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 149678,
        "prev": 102286,
        "fix": "no_channel"
      }
    },
    {
      "id": 31551,
      "at": "2026-10-15T06:43:52.704Z",
      "domain": "gateaudehenry.com",
      "name": "Gateau de Henry",
      "page": "https://directindex.org/r/gateaudehenry.com",
      "kind": "broke",
      "what": "new finding: no llms.txt",
      "detail": {
        "scan": 149644,
        "prev": 102179,
        "fix": "no_llms_txt"
      }
    },
    {
      "id": 31550,
      "at": "2026-10-15T06:43:47.885Z",
      "domain": "bridgebrewing.com",
      "name": "Bridge Brewing Tasting Room",
      "page": "https://directindex.org/r/bridgebrewing.com",
      "kind": "vendor",
      "what": "vendor: none to OpenTable",
      "detail": {
        "scan": 149630,
        "prev": 101862,
        "from": null,
        "to": "opentable"
      }
    },
    {
      "id": 31549,
      "at": "2026-10-15T06:43:47.885Z",
      "domain": "bridgebrewing.com",
      "name": "Bridge Brewing Tasting Room",
      "page": "https://directindex.org/r/bridgebrewing.com",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 149630,
        "prev": 101862,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 31548,
      "at": "2026-10-15T06:43:47.885Z",
      "domain": "bridgebrewing.com",
      "name": "Bridge Brewing Tasting Room",
      "page": "https://directindex.org/r/bridgebrewing.com",
      "kind": "grade_up",
      "what": "grade F to D (45%)",
      "detail": {
        "scan": 149630,
        "prev": 101862,
        "from": "F",
        "to": "D",
        "pct": 44.6
      }
    },
    {
      "id": 31547,
      "at": "2026-10-15T06:43:47.885Z",
      "domain": "bridgebrewing.com",
      "name": "Bridge Brewing Tasting Room",
      "page": "https://directindex.org/r/bridgebrewing.com",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 149630,
        "prev": 101862,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 31546,
      "at": "2026-10-15T06:43:47.885Z",
      "domain": "bridgebrewing.com",
      "name": "Bridge Brewing Tasting Room",
      "page": "https://directindex.org/r/bridgebrewing.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 149630,
        "prev": 101862,
        "fix": "no_channel"
      }
    },
    {
      "id": 31545,
      "at": "2026-10-15T06:43:46.178Z",
      "domain": "biltmorecabaret.com",
      "name": "Biltmore Cabaret",
      "page": "https://directindex.org/r/biltmorecabaret.com",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 149615,
        "prev": 101837,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 31544,
      "at": "2026-10-15T06:43:46.178Z",
      "domain": "biltmorecabaret.com",
      "name": "Biltmore Cabaret",
      "page": "https://directindex.org/r/biltmorecabaret.com",
      "kind": "grade_up",
      "what": "grade F to D (48%)",
      "detail": {
        "scan": 149615,
        "prev": 101837,
        "from": "F",
        "to": "D",
        "pct": 47.7
      }
    },
    {
      "id": 31543,
      "at": "2026-10-15T06:43:46.178Z",
      "domain": "biltmorecabaret.com",
      "name": "Biltmore Cabaret",
      "page": "https://directindex.org/r/biltmorecabaret.com",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 149615,
        "prev": 101837,
        "fix": "booking_other"
      }
    },
    {
      "id": 31542,
      "at": "2026-10-15T06:43:46.178Z",
      "domain": "biltmorecabaret.com",
      "name": "Biltmore Cabaret",
      "page": "https://directindex.org/r/biltmorecabaret.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 149615,
        "prev": 101837,
        "fix": "no_channel"
      }
    },
    {
      "id": 31541,
      "at": "2026-10-15T06:43:41.654Z",
      "domain": "ovaltine.cafe",
      "name": "Ovaltine Cafe",
      "page": "https://directindex.org/r/ovaltine.cafe",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 149599,
        "prev": 101505,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 31540,
      "at": "2026-10-15T06:43:41.654Z",
      "domain": "ovaltine.cafe",
      "name": "Ovaltine Cafe",
      "page": "https://directindex.org/r/ovaltine.cafe",
      "kind": "grade_up",
      "what": "grade D to B (72%)",
      "detail": {
        "scan": 149599,
        "prev": 101505,
        "from": "D",
        "to": "B",
        "pct": 72.3
      }
    },
    {
      "id": 31539,
      "at": "2026-10-15T06:43:41.654Z",
      "domain": "ovaltine.cafe",
      "name": "Ovaltine Cafe",
      "page": "https://directindex.org/r/ovaltine.cafe",
      "kind": "broke",
      "what": "new finding: ordering only through a marketplace",
      "detail": {
        "scan": 149599,
        "prev": 101505,
        "fix": "ordering_marketplace"
      }
    },
    {
      "id": 31538,
      "at": "2026-10-15T06:43:41.654Z",
      "domain": "ovaltine.cafe",
      "name": "Ovaltine Cafe",
      "page": "https://directindex.org/r/ovaltine.cafe",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 149599,
        "prev": 101505,
        "fix": "no_channel"
      }
    },
    {
      "id": 31537,
      "at": "2026-10-15T06:43:40.508Z",
      "domain": "inbtwncafe.ca",
      "name": "inBtwn Cafe",
      "page": "https://directindex.org/r/inbtwncafe.ca",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 149597,
        "prev": 101361,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 31536,
      "at": "2026-10-15T06:43:40.508Z",
      "domain": "inbtwncafe.ca",
      "name": "inBtwn Cafe",
      "page": "https://directindex.org/r/inbtwncafe.ca",
      "kind": "unblocked",
      "what": "lets AI crawlers in again",
      "detail": {
        "scan": 149597,
        "prev": 101361
      }
    },
    {
      "id": 31535,
      "at": "2026-10-15T06:43:40.508Z",
      "domain": "inbtwncafe.ca",
      "name": "inBtwn Cafe",
      "page": "https://directindex.org/r/inbtwncafe.ca",
      "kind": "grade_up",
      "what": "grade D to A (91%)",
      "detail": {
        "scan": 149597,
        "prev": 101361,
        "from": "D",
        "to": "A",
        "pct": 90.8
      }
    },
    {
      "id": 31534,
      "at": "2026-10-15T06:43:40.508Z",
      "domain": "inbtwncafe.ca",
      "name": "inBtwn Cafe",
      "page": "https://directindex.org/r/inbtwncafe.ca",
      "kind": "fixed",
      "what": "fixed: no llms.txt",
      "detail": {
        "scan": 149597,
        "prev": 101361,
        "fix": "no_llms_txt"
      }
    },
    {
      "id": 31533,
      "at": "2026-10-15T06:43:40.508Z",
      "domain": "inbtwncafe.ca",
      "name": "inBtwn Cafe",
      "page": "https://directindex.org/r/inbtwncafe.ca",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 149597,
        "prev": 101361,
        "fix": "no_channel"
      }
    },
    {
      "id": 31532,
      "at": "2026-10-15T06:43:40.508Z",
      "domain": "inbtwncafe.ca",
      "name": "inBtwn Cafe",
      "page": "https://directindex.org/r/inbtwncafe.ca",
      "kind": "fixed",
      "what": "fixed: the server turned AI crawlers away at the door",
      "detail": {
        "scan": 149597,
        "prev": 101361,
        "fix": "edge_blocks"
      }
    },
    {
      "id": 31529,
      "at": "2026-10-15T06:43:35.246Z",
      "domain": "ninebar.ca",
      "name": "Nine Bar Coffee",
      "page": "https://directindex.org/r/ninebar.ca",
      "kind": "unblocked",
      "what": "lets AI crawlers in again",
      "detail": {
        "scan": 149572,
        "prev": 101316
      }
    },
    {
      "id": 31528,
      "at": "2026-10-15T06:43:35.246Z",
      "domain": "ninebar.ca",
      "name": "Nine Bar Coffee",
      "page": "https://directindex.org/r/ninebar.ca",
      "kind": "grade_up",
      "what": "grade F to D (49%)",
      "detail": {
        "scan": 149572,
        "prev": 101316,
        "from": "F",
        "to": "D",
        "pct": 49.2
      }
    },
    {
      "id": 31527,
      "at": "2026-10-15T06:43:35.246Z",
      "domain": "ninebar.ca",
      "name": "Nine Bar Coffee",
      "page": "https://directindex.org/r/ninebar.ca",
      "kind": "fixed",
      "what": "fixed: no llms.txt",
      "detail": {
        "scan": 149572,
        "prev": 101316,
        "fix": "no_llms_txt"
      }
    },
    {
      "id": 31526,
      "at": "2026-10-15T06:43:35.246Z",
      "domain": "ninebar.ca",
      "name": "Nine Bar Coffee",
      "page": "https://directindex.org/r/ninebar.ca",
      "kind": "fixed",
      "what": "fixed: the server turned AI crawlers away at the door",
      "detail": {
        "scan": 149572,
        "prev": 101316,
        "fix": "edge_blocks"
      }
    }
  ]
}