{
 "schemaVersion": "1.0.0",
 "constitutionVersion": "1.0.0",
 "createdAt": "2026-08-12T00:00:00Z",
 "description": "Append-only Evidence Passport records. Old revisions are immutable; corrections create a new revision and preserve the previous permalink.",
 "entity": {
  "type": "project",
  "id": "bandung-tmb-tracking-fares",
  "title": "Trans Metro Bandung — Live Tracking and QR Fares",
  "canonicalUrl": "https://1001smartcities.org/projects/bandung-tmb-tracking-fares/"
 },
 "currentRevisionId": "2026-10-13-baseline",
 "revisions": [
  {
   "id": "2026-10-13-baseline",
   "createdAt": "2026-10-13T12:20:40Z",
   "effectiveAt": "2026-10-13",
   "changeType": "baseline",
   "summary": "Created the first structured Evidence Passport with 13 claims and 7 source dossiers.",
   "preparedBy": {
    "type": "automation",
    "label": "AI-assisted evidence preparation",
    "humanApproved": false
   },
   "review": {
    "status": "unreviewed",
    "by": null,
    "date": null,
    "note": "Awaiting operator and domain-expert review; publication of this revision implies neither."
   },
   "changes": [
    {
     "operation": "add",
     "path": "/evidencePassport",
     "summary": "Added claim-level evidence mapping and source dossiers."
    },
    {
     "operation": "add",
     "path": "/revisionHistory",
     "summary": "Established a permanent, hash-addressed baseline revision."
    }
   ],
   "snapshotHash": "sha256:ee2780b7317c2ccfe88c79fd61549e8a9c8c6a003a5c0a9efa8dea03fd521da7",
   "snapshot": {
    "asOf": "2026-10-13",
    "projectFingerprint": "sha256:6d153e251ffe54f94e09dee7edbe0f00ac3573ba40c7678b35d800236b4ff480",
    "assurance": {
     "status": "unreviewed",
     "scope": "evidence-passport-revision",
     "statement": "AI-assisted structural preparation. This revision has not been reviewed by a human or subject-matter expert.",
     "machineChecks": [
      "schema",
      "publication-diff-contract",
      "material-project-fingerprint",
      "claim-text-drift",
      "source-reference-resolution",
      "complete-source-dossier",
      "snapshot-hash"
     ]
    },
    "projectState": {
     "status": "live",
     "outcome": "ongoing",
     "evidenceGrade": "official",
     "timeline": {
      "started": 2009,
      "ended": null
     }
    },
    "governance": {
     "operator": "BLUD UPTD Angkutan, Dinas Perhubungan Kota Bandung",
     "actorTypes": [
      "city-government"
     ],
     "fundingModel": "public",
     "fundingDescription": null,
     "cost": null,
     "ownership": null,
     "decisionRights": null,
     "exitConditions": null
    },
    "claims": [
     {
      "id": "clm-63af21f74f33838e",
      "field": "snippet",
      "text": "Trans Metro Bandung has run since 23 September 2009",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-2a481d139b358e5c"
      ],
      "supportNote": "The operator's service page states the service was officially put into operation on 23 September 2009.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-89a9c40cafb50bd7",
      "field": "snippet",
      "text": "under a semi-autonomous unit of the city transport department",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-2a481d139b358e5c",
       "src-7a2c45e98103bd85"
      ],
      "supportNote": "The operator describes Trans Metro Bandung as operated by the BLUD UPTD Angkutan of the Bandung transport department — a technical unit run as a regional public-service agency (BLUD), which gives it its own financial management.",
      "caveat": "The sources describe today's operator; they do not say whether the same unit has run the service since 2009.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-e324a91b4b35e54c",
      "field": "snippet",
      "text": "now covers five main corridors plus two feeders",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-2a481d139b358e5c"
      ],
      "supportNote": "The operator's service page lists five main corridors and two feeder corridors in operation, with streets served and hours for each direction.",
      "caveat": "The corridor list is dated September 2024; it was still published unchanged on the operator's site in October 2026.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-f0f14f76bb52976e",
      "field": "snippet",
      "text": "a single tracking site, BEMO (Bandung Easy Mobility), which shows the real-time position of the TMB fleet alongside the Bandros tour buses and the city school buses",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-2a481d139b358e5c",
       "src-c50d68e2f224f047"
      ],
      "supportNote": "The operator states that the Trans Metro Bandung fleet can be located in real time through the BEMO website, together with the Bandros and school-bus fleets; the BEMO map is online and carries all of the unit's services.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-f5aac76c99ccd1d6",
      "field": "snippet",
      "text": "helps riders find the nearest stop",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-2a481d139b358e5c"
      ],
      "supportNote": "The operator says BEMO also helps users find the nearest stop and the places each route passes.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-c8d1d97a010fac57",
      "field": "snippet",
      "text": "Fares can be paid in cash or by QRIS",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-2a481d139b358e5c"
      ],
      "supportNote": "The operator's fare section says payment can be made in cash or with QRIS.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-0197afc57eb8d2e8",
      "field": "snippet",
      "text": "Indonesia's national QR standard",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-c631b4473099a9b4"
      ],
      "supportNote": "Bank Indonesia describes QRIS as the QR code payment standard it set for payments in Indonesia, implemented as the national standard.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-e637f3b6604045f0",
      "field": "snippet",
      "text": "Rp 4,000 in cash against Rp 3,000 by QR for a general rider, and Rp 2,000 against Rp 1,000 for a uniformed student",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-2a481d139b358e5c"
      ],
      "supportNote": "The operator's fare table gives Rp 4,000 for general riders and Rp 2,000 for students, and a QRIS charge of Rp 3,000 for general riders and Rp 1,000 for uniformed students.",
      "caveat": "Fare table dated September 2024.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-9f2979dfa858a155",
      "field": "snippet",
      "text": "The same unit also runs the BOSEH bike share.",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-7a2c45e98103bd85"
      ],
      "supportNote": "The unit's own description lists BOSEH bike sharing among the services it manages, alongside Trans Metro Bandung, Bandros and the school buses.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-e4e9d5aba9b3dc55",
      "field": "lesson",
      "text": "Bandung did not mandate cashless payment",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-2a481d139b358e5c"
      ],
      "supportNote": "The operator's fare section still accepts cash alongside QRIS.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-a3f219254df7b91c",
      "field": "lesson",
      "text": "in February 2019 it raised the cash fare by Rp 1,000 while leaving the cashless fare unchanged",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-ac40d6ee012ef1b1"
      ],
      "supportNote": "The head of Dishub told Republika the cash fare would rise by Rp 1,000 to Rp 4,000 from 11 February 2019, while the cashless fare stayed at Rp 3,000.",
      "caveat": "In 2019 cashless meant bank e-money cards (Brizzi, Tapcash); QRIS payment came later.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-d9da5efb6cc2c551",
      "field": "lesson",
      "text": "the head of the city transport department said the aim was to move riders off cash, not to cover costs",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-ac40d6ee012ef1b1"
      ],
      "supportNote": "He said the increase was not about the service's operating needs but meant to invite riders to switch to cashless payment, ahead of a planned fare integration.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-d9dbf2b069b2e9a5",
      "field": "lesson",
      "text": "that August a regular rider told the press he still paid cash because most buses he used had no card reader yet",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-dcbb9c6faf71ede2"
      ],
      "supportNote": "Republika quoted a regular Trans Metro Bandung rider who said the Rp 1,000 e-money discount was worthwhile but that most buses on his routes had no tap machine, so he kept paying cash.",
      "caveat": "One rider's account at launch, not a measurement; no later figure on the share of cash and cashless fares has been published.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     }
    ],
    "sources": [
     {
      "id": "src-2a481d139b358e5c",
      "title": "BLUD UPTD Angkutan, Dishub Kota Bandung (operator, 26 Sept 2024)",
      "url": "https://uptangkutan-bandung.id/news/trans-metro-bandung",
      "publisher": {
       "name": null,
       "domain": "uptangkutan-bandung.id",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-63af21f74f33838e",
       "clm-89a9c40cafb50bd7",
       "clm-e324a91b4b35e54c",
       "clm-f0f14f76bb52976e",
       "clm-f5aac76c99ccd1d6",
       "clm-c8d1d97a010fac57",
       "clm-e637f3b6604045f0",
       "clm-e4e9d5aba9b3dc55"
      ],
      "temporal": {
       "publishedAt": "2024-09-26",
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-10-13",
       "dossierCreatedAt": "2026-10-13",
       "retrievedAt": null,
       "status": "publication-and-record-dates-recorded"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Operator's service page: Trans Metro Bandung officially operating since 23 September 2009, five main corridors and two feeders with their streets and hours, real-time fleet positions on the BEMO site together with the Bandros and school buses, and the fare table — Rp 4,000 cash and Rp 3,000 by QRIS for general riders, Rp 2,000 cash and Rp 1,000 by QRIS for uniformed students.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-7a2c45e98103bd85",
      "title": "BLUD UPTD Angkutan, Dishub Kota Bandung (operator)",
      "url": "https://uptangkutan-bandung.id/",
      "publisher": {
       "name": null,
       "domain": "uptangkutan-bandung.id",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-89a9c40cafb50bd7",
       "clm-9f2979dfa858a155"
      ],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-10-13",
       "dossierCreatedAt": "2026-10-13",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "The unit's remit: managing Trans Metro Bandung, the Bandros tour bus, BOSEH bike sharing and the Bandung school buses.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-c50d68e2f224f047",
      "title": "BEMO — Bandung Easy Mobility live map (operator)",
      "url": "https://bemo.uptangkutan-bandung.id/",
      "publisher": {
       "name": null,
       "domain": "bemo.uptangkutan-bandung.id",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-f0f14f76bb52976e"
      ],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-10-13",
       "dossierCreatedAt": "2026-10-13",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "The live map itself, carrying operating information for Trans Metro Bandung, Bandros, Boseh and the school buses, with stops shown on zoom and a link to the separate Metro Jabar Trans tracker.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-ef4f6a1eb15ea856",
      "title": "BLUD UPTD Angkutan — service adjustments for Iduladha 2026 (26 May 2026)",
      "url": "https://uptangkutan-bandung.id/news/penyesuaian-jadwal-layanan-selama-libur-iduladha-2026",
      "publisher": {
       "name": null,
       "domain": "uptangkutan-bandung.id",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "background",
      "claimRefs": [],
      "temporal": {
       "publishedAt": "2026-05-26",
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-10-13",
       "dossierCreatedAt": "2026-10-13",
       "retrievedAt": null,
       "status": "publication-and-record-dates-recorded"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Holiday timetable notice: Trans Metro Bandung, Bandros, BOSEH and the school buses adjusted for Iduladha 2026, with TMB starting at 09:00 on 27 May and running normally on 28 May.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-ac40d6ee012ef1b1",
      "title": "Republika — Dishub raises the Trans Metro Bandung cash fare (10 Feb 2019)",
      "url": "https://news.republika.co.id/berita/pmpgex383/dishub-naikkan-ongkos-trans-metro-bandung",
      "publisher": {
       "name": null,
       "domain": "news.republika.co.id",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-a3f219254df7b91c",
       "clm-d9da5efb6cc2c551"
      ],
      "temporal": {
       "publishedAt": "2019-02-10",
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-10-13",
       "dossierCreatedAt": "2026-10-13",
       "retrievedAt": null,
       "status": "publication-and-record-dates-recorded"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "From 11 February 2019 the cash fare rose by Rp 1,000 to Rp 4,000 while the cashless fare stayed at Rp 3,000; the head of Dishub said the rise was not for operating needs but to move riders to cashless payment, and that corridor 4 still lacked card readers.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-dcbb9c6faf71ede2",
      "title": "Republika — cheap bus fares fail to draw riders (21 Aug 2019)",
      "url": "https://news.republika.co.id/berita/pwkby6415/bus-murah-tak-dilirik-penumpang",
      "publisher": {
       "name": null,
       "domain": "news.republika.co.id",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-d9dbf2b069b2e9a5"
      ],
      "temporal": {
       "publishedAt": "2019-08-21",
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-10-13",
       "dossierCreatedAt": "2026-10-13",
       "retrievedAt": null,
       "status": "publication-and-record-dates-recorded"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Reports that the city's Rp 1 special fare and the Rp 1,000 cashless discount drew few riders at launch; a regular rider said he still paid cash because most buses on his routes had no tap machine, and the transport unit counted 20 workers and seven veterans registered for the special fare.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-c631b4473099a9b4",
      "title": "Bank Indonesia — QRIS, the national QR payment standard",
      "url": "https://www.bi.go.id/id/fungsi-utama/sistem-pembayaran/ritel/kanal-layanan/qris/default.aspx",
      "publisher": {
       "name": null,
       "domain": "bi.go.id",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-0197afc57eb8d2e8"
      ],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-10-13",
       "dossierCreatedAt": "2026-10-13",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Bank Indonesia's description of QRIS as the QR code payment standard it set for payments in Indonesia, implemented as the national standard.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     }
    ],
    "coverage": {
     "claimsTotal": 13,
     "claimsMapped": 13,
     "sourcesTotal": 7,
     "sourcesUsedByClaims": 6,
     "sourcesWithPublicationDate": 4,
     "sourcesWithArchive": 0,
     "sourcesWithExactLocator": 0,
     "sourcesWithContentHash": 0
    },
    "limits": [
     "Publisher names and source languages have not yet been classified; domains are recorded without guessing.",
     "Existing source notes are descriptive locators, not page- or paragraph-exact citations.",
     "A missing archive, publication date or content hash is shown as null rather than inferred.",
     "The project-level evidence grade ranks the strongest source in the entry; it is not a truth score for every claim."
    ]
   }
  }
 ]
}
