{
  "city": "ho-chi-minh-city",
  "sources": [
    {
      "id": "hcm-walk-osm",
      "url": "https://www.openstreetmap.org/copyright",
      "title": "OpenStreetMap contributors — central HCMC pedestrian paths and entrances",
      "license": "ODbL-1.0",
      "checked": "2026-10-17"
    }
  ],
  "stations": [
    {
      "id": "HCMOperaExit4",
      "code": "HCOE4",
      "hideCode": true,
      "names": {
        "en": "Opera House station exit 4",
        "vi": "Lối ra 4 ga Nhà hát Thành phố"
      },
      "coordinates": [
        106.7024194,
        10.7762187
      ],
      "sourceId": "hcm-walk-osm",
      "sourceNodeId": "12472881216"
    },
    {
      "id": "HCMBenThanhExit2",
      "code": "HCBE2",
      "hideCode": true,
      "names": {
        "en": "Ben Thanh station exit 2",
        "vi": "Lối ra 2 ga Bến Thành"
      },
      "coordinates": [
        106.6975638,
        10.7713976
      ],
      "sourceId": "hcm-walk-osm",
      "sourceNodeId": "10815716903"
    },
    {
      "id": "HCMOperaApproach",
      "code": "HCOA",
      "hideCode": true,
      "names": {
        "en": "Opera House public sidewalk approach",
        "vi": "Vỉa hè tiếp cận Nhà hát Thành phố"
      },
      "coordinates": [
        106.7027044,
        10.7762613
      ],
      "sourceId": "hcm-walk-osm",
      "sourceNodeId": "10236343229"
    },
    {
      "id": "HCMMarketApproach",
      "code": "HCMA",
      "hideCode": true,
      "names": {
        "en": "Ben Thanh Market crossing approach",
        "vi": "Lối tiếp cận qua đường đến chợ Bến Thành"
      },
      "coordinates": [
        106.6984179,
        10.7716122
      ],
      "sourceId": "hcm-walk-osm",
      "sourceNodeId": "12785555646"
    },
    {
      "id": "HCMCityHallExterior",
      "code": "HCCHE",
      "hideCode": true,
      "names": {
        "en": "City Hall exterior sidewalk",
        "vi": "Vỉa hè bên ngoài Trụ sở UBND Thành phố"
      },
      "coordinates": [
        106.7010423,
        10.7764569
      ],
      "sourceId": "hcm-walk-osm",
      "sourceNodeId": "7498848141"
    }
  ],
  "lines": [
    {
      "id": "hcm-walk-opera",
      "mode": "walk",
      "names": {
        "en": "Opera House approach",
        "vi": "Đường đến Nhà hát Thành phố"
      },
      "color": "#538776",
      "sourceId": "hcm-walk-osm",
      "patterns": [
        {
          "id": "hcm-walk-opera-both",
          "stationIds": [
            "HCMOperaExit4",
            "HCMOperaApproach"
          ],
          "bidirectional": true
        }
      ]
    },
    {
      "id": "hcm-walk-market",
      "mode": "walk",
      "names": {
        "en": "Ben Thanh Market approach",
        "vi": "Đường đến chợ Bến Thành"
      },
      "color": "#538776",
      "sourceId": "hcm-walk-osm",
      "patterns": [
        {
          "id": "hcm-walk-market-both",
          "stationIds": [
            "HCMBenThanhExit2",
            "HCMMarketApproach"
          ],
          "bidirectional": true
        }
      ]
    },
    {
      "id": "hcm-walk-cityhall",
      "mode": "walk",
      "names": {
        "en": "City Hall exterior walk",
        "vi": "Đi bộ đến bên ngoài Trụ sở UBND"
      },
      "color": "#538776",
      "sourceId": "hcm-walk-osm",
      "patterns": [
        {
          "id": "hcm-walk-cityhall-both",
          "stationIds": [
            "HCMOperaExit4",
            "HCMCityHallExterior"
          ],
          "bidirectional": true
        }
      ]
    },
    {
      "id": "hcm-walk-opera-cityhall",
      "mode": "walk",
      "names": {
        "en": "Opera House–City Hall public walk",
        "vi": "Đi bộ công cộng từ Nhà hát đến Trụ sở UBND"
      },
      "color": "#538776",
      "sourceId": "hcm-walk-osm",
      "patterns": [
        {
          "id": "hcm-walk-opera-cityhall-both",
          "stationIds": [
            "HCMOperaApproach",
            "HCMCityHallExterior"
          ],
          "bidirectional": true
        }
      ]
    }
  ],
  "segments": [
    {
      "lineId": "hcm-walk-opera",
      "fromStationId": "HCMOperaExit4",
      "toStationId": "HCMOperaApproach",
      "coordinates": [
        [
          106.7024194,
          10.7762187
        ],
        [
          106.7024405,
          10.7762423
        ],
        [
          106.7024585,
          10.7762247
        ],
        [
          106.7025188,
          10.7761655
        ],
        [
          106.7025438,
          10.7761417
        ],
        [
          106.7025694,
          10.7761187
        ],
        [
          106.7025854,
          10.7761356
        ],
        [
          106.7026079,
          10.7761594
        ],
        [
          106.7026303,
          10.7761831
        ],
        [
          106.7026547,
          10.7762088
        ],
        [
          106.702684,
          10.7762398
        ],
        [
          106.7027044,
          10.7762613
        ]
      ],
      "sourceId": "hcm-walk-osm",
      "sourceNodeIds": [
        "12472881216",
        "10236343255",
        "11554339021",
        "10236343257",
        "10236343256",
        "10236343254",
        "10236362529",
        "10236362531",
        "10236362533",
        "10236362535",
        "10767232212",
        "10236343229"
      ],
      "sourceEdges": [
        {
          "fromNodeId": "12472881216",
          "toNodeId": "10236343255",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "10236343255",
          "toNodeId": "11554339021",
          "wayId": "1550321762"
        },
        {
          "fromNodeId": "11554339021",
          "toNodeId": "10236343257",
          "wayId": "1119254716"
        },
        {
          "fromNodeId": "10236343257",
          "toNodeId": "10236343256",
          "wayId": "1119254716"
        },
        {
          "fromNodeId": "10236343256",
          "toNodeId": "10236343254",
          "wayId": "1119254717"
        },
        {
          "fromNodeId": "10236343254",
          "toNodeId": "10236362529",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362529",
          "toNodeId": "10236362531",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362531",
          "toNodeId": "10236362533",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362533",
          "toNodeId": "10236362535",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362535",
          "toNodeId": "10767232212",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10767232212",
          "toNodeId": "10236343229",
          "wayId": "1119254704"
        }
      ],
      "distanceMeters": 45
    },
    {
      "lineId": "hcm-walk-market",
      "fromStationId": "HCMBenThanhExit2",
      "toStationId": "HCMMarketApproach",
      "coordinates": [
        [
          106.6975638,
          10.7713976
        ],
        [
          106.6974081,
          10.7713351
        ],
        [
          106.6975249,
          10.7713284
        ],
        [
          106.6975847,
          10.7713531
        ],
        [
          106.6976364,
          10.7712296
        ],
        [
          106.6977066,
          10.7710623
        ],
        [
          106.6977677,
          10.7709167
        ],
        [
          106.6978188,
          10.7709707
        ],
        [
          106.6980295,
          10.7711936
        ],
        [
          106.6980804,
          10.7712474
        ],
        [
          106.6980962,
          10.7712641
        ],
        [
          106.6981974,
          10.7713712
        ],
        [
          106.6982589,
          10.7714406
        ],
        [
          106.6983135,
          10.7715023
        ],
        [
          106.6984179,
          10.7716122
        ]
      ],
      "sourceId": "hcm-walk-osm",
      "sourceNodeIds": [
        "10815716903",
        "11839463398",
        "2895348895",
        "11839467602",
        "11839463393",
        "11839463403",
        "11839463461",
        "10813008877",
        "12785555659",
        "12785555661",
        "12785555660",
        "12785555645",
        "12785555648",
        "12785555649",
        "12785555646"
      ],
      "sourceEdges": [
        {
          "fromNodeId": "10815716903",
          "toNodeId": "11839463398",
          "wayId": "1275091693"
        },
        {
          "fromNodeId": "11839463398",
          "toNodeId": "2895348895",
          "wayId": "1275090287"
        },
        {
          "fromNodeId": "2895348895",
          "toNodeId": "11839467602",
          "wayId": "1275090287"
        },
        {
          "fromNodeId": "11839467602",
          "toNodeId": "11839463393",
          "wayId": "1275090287"
        },
        {
          "fromNodeId": "11839463393",
          "toNodeId": "11839463403",
          "wayId": "1275090287"
        },
        {
          "fromNodeId": "11839463403",
          "toNodeId": "11839463461",
          "wayId": "1275090287"
        },
        {
          "fromNodeId": "11839463461",
          "toNodeId": "10813008877",
          "wayId": "1381088104"
        },
        {
          "fromNodeId": "10813008877",
          "toNodeId": "12785555659",
          "wayId": "1381088104"
        },
        {
          "fromNodeId": "12785555659",
          "toNodeId": "12785555661",
          "wayId": "1381088106"
        },
        {
          "fromNodeId": "12785555661",
          "toNodeId": "12785555660",
          "wayId": "1381088106"
        },
        {
          "fromNodeId": "12785555660",
          "toNodeId": "12785555645",
          "wayId": "1381088105"
        },
        {
          "fromNodeId": "12785555645",
          "toNodeId": "12785555648",
          "wayId": "1381088103"
        },
        {
          "fromNodeId": "12785555648",
          "toNodeId": "12785555649",
          "wayId": "1381088103"
        },
        {
          "fromNodeId": "12785555649",
          "toNodeId": "12785555646",
          "wayId": "1381088103"
        }
      ],
      "distanceMeters": 195
    },
    {
      "lineId": "hcm-walk-cityhall",
      "fromStationId": "HCMOperaExit4",
      "toStationId": "HCMCityHallExterior",
      "coordinates": [
        [
          106.7024194,
          10.7762187
        ],
        [
          106.7022505,
          10.7760306
        ],
        [
          106.7021709,
          10.7759419
        ],
        [
          106.7021408,
          10.7759083
        ],
        [
          106.7021269,
          10.7758928
        ],
        [
          106.7020954,
          10.7758724
        ],
        [
          106.7020648,
          10.775871
        ],
        [
          106.7020587,
          10.7758727
        ],
        [
          106.7020431,
          10.775877
        ],
        [
          106.702023,
          10.7758882
        ],
        [
          106.7016163,
          10.7762721
        ],
        [
          106.7014354,
          10.7764364
        ],
        [
          106.7013759,
          10.7764916
        ],
        [
          106.7013679,
          10.7765087
        ],
        [
          106.7013813,
          10.7765304
        ],
        [
          106.70137,
          10.7765396
        ],
        [
          106.7013545,
          10.7765522
        ],
        [
          106.7013308,
          10.7765736
        ],
        [
          106.7013216,
          10.7765819
        ],
        [
          106.7012917,
          10.7766091
        ],
        [
          106.7012702,
          10.7766286
        ],
        [
          106.7012233,
          10.7766692
        ],
        [
          106.7011697,
          10.7766065
        ],
        [
          106.7010423,
          10.7764569
        ]
      ],
      "sourceId": "hcm-walk-osm",
      "sourceNodeIds": [
        "12472881216",
        "10236343224",
        "10243588704",
        "10236343243",
        "7500135629",
        "7500135630",
        "10264812161",
        "6534620992",
        "7500135631",
        "7500135632",
        "10197901322",
        "6534621000",
        "7500135633",
        "7500135634",
        "7498869316",
        "11551555132",
        "7498869319",
        "11551555130",
        "7500135635",
        "11551555131",
        "7498869315",
        "7498869317",
        "11551555142",
        "7498848141"
      ],
      "sourceEdges": [
        {
          "fromNodeId": "12472881216",
          "toNodeId": "10236343224",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "10236343224",
          "toNodeId": "10243588704",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "10243588704",
          "toNodeId": "10236343243",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "10236343243",
          "toNodeId": "7500135629",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135629",
          "toNodeId": "7500135630",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135630",
          "toNodeId": "10264812161",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "10264812161",
          "toNodeId": "6534620992",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "6534620992",
          "toNodeId": "7500135631",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135631",
          "toNodeId": "7500135632",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135632",
          "toNodeId": "10197901322",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "10197901322",
          "toNodeId": "6534621000",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "6534621000",
          "toNodeId": "7500135633",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135633",
          "toNodeId": "7500135634",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135634",
          "toNodeId": "7498869316",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7498869316",
          "toNodeId": "11551555132",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "11551555132",
          "toNodeId": "7498869319",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "7498869319",
          "toNodeId": "11551555130",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "11551555130",
          "toNodeId": "7500135635",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "7500135635",
          "toNodeId": "11551555131",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "11551555131",
          "toNodeId": "7498869315",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "7498869315",
          "toNodeId": "7498869317",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "7498869317",
          "toNodeId": "11551555142",
          "wayId": "801710769"
        },
        {
          "fromNodeId": "11551555142",
          "toNodeId": "7498848141",
          "wayId": "801710769"
        }
      ],
      "distanceMeters": 217
    },
    {
      "lineId": "hcm-walk-opera-cityhall",
      "fromStationId": "HCMOperaApproach",
      "toStationId": "HCMCityHallExterior",
      "coordinates": [
        [
          106.7027044,
          10.7762613
        ],
        [
          106.702684,
          10.7762398
        ],
        [
          106.7026547,
          10.7762088
        ],
        [
          106.7026303,
          10.7761831
        ],
        [
          106.7026079,
          10.7761594
        ],
        [
          106.7025854,
          10.7761356
        ],
        [
          106.7025694,
          10.7761187
        ],
        [
          106.7025456,
          10.7760935
        ],
        [
          106.7025202,
          10.7760668
        ],
        [
          106.7024962,
          10.7760414
        ],
        [
          106.7024737,
          10.7760176
        ],
        [
          106.7024411,
          10.7759832
        ],
        [
          106.7023772,
          10.7759157
        ],
        [
          106.7023131,
          10.775848
        ],
        [
          106.7022723,
          10.775805
        ],
        [
          106.7022626,
          10.7757947
        ],
        [
          106.7022371,
          10.7758176
        ],
        [
          106.7022138,
          10.7758404
        ],
        [
          106.7021597,
          10.7758907
        ],
        [
          106.7021408,
          10.7759083
        ],
        [
          106.7021269,
          10.7758928
        ],
        [
          106.7020954,
          10.7758724
        ],
        [
          106.7020648,
          10.775871
        ],
        [
          106.7020587,
          10.7758727
        ],
        [
          106.7020431,
          10.775877
        ],
        [
          106.702023,
          10.7758882
        ],
        [
          106.7016163,
          10.7762721
        ],
        [
          106.7014354,
          10.7764364
        ],
        [
          106.7013759,
          10.7764916
        ],
        [
          106.7013679,
          10.7765087
        ],
        [
          106.7013813,
          10.7765304
        ],
        [
          106.70137,
          10.7765396
        ],
        [
          106.7013545,
          10.7765522
        ],
        [
          106.7013308,
          10.7765736
        ],
        [
          106.7013216,
          10.7765819
        ],
        [
          106.7012917,
          10.7766091
        ],
        [
          106.7012702,
          10.7766286
        ],
        [
          106.7012233,
          10.7766692
        ],
        [
          106.7011697,
          10.7766065
        ],
        [
          106.7010423,
          10.7764569
        ]
      ],
      "sourceId": "hcm-walk-osm",
      "sourceNodeIds": [
        "10236343229",
        "10767232212",
        "10236362535",
        "10236362533",
        "10236362531",
        "10236362529",
        "10236343254",
        "10236362527",
        "10236362525",
        "10236362523",
        "10236362521",
        "10236343239",
        "10236343230",
        "10236343241",
        "10767141699",
        "10236343228",
        "10236343210",
        "10560232671",
        "11554339019",
        "10236343243",
        "7500135629",
        "7500135630",
        "10264812161",
        "6534620992",
        "7500135631",
        "7500135632",
        "10197901322",
        "6534621000",
        "7500135633",
        "7500135634",
        "7498869316",
        "11551555132",
        "7498869319",
        "11551555130",
        "7500135635",
        "11551555131",
        "7498869315",
        "7498869317",
        "11551555142",
        "7498848141"
      ],
      "sourceEdges": [
        {
          "fromNodeId": "10236343229",
          "toNodeId": "10767232212",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10767232212",
          "toNodeId": "10236362535",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362535",
          "toNodeId": "10236362533",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362533",
          "toNodeId": "10236362531",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362531",
          "toNodeId": "10236362529",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362529",
          "toNodeId": "10236343254",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236343254",
          "toNodeId": "10236362527",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362527",
          "toNodeId": "10236362525",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362525",
          "toNodeId": "10236362523",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362523",
          "toNodeId": "10236362521",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236362521",
          "toNodeId": "10236343239",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236343239",
          "toNodeId": "10236343230",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236343230",
          "toNodeId": "10236343241",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236343241",
          "toNodeId": "10767141699",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10767141699",
          "toNodeId": "10236343228",
          "wayId": "1119254704"
        },
        {
          "fromNodeId": "10236343228",
          "toNodeId": "10236343210",
          "wayId": "1119254710"
        },
        {
          "fromNodeId": "10236343210",
          "toNodeId": "10560232671",
          "wayId": "1119254712"
        },
        {
          "fromNodeId": "10560232671",
          "toNodeId": "11554339019",
          "wayId": "1119254712"
        },
        {
          "fromNodeId": "11554339019",
          "toNodeId": "10236343243",
          "wayId": "1550321760"
        },
        {
          "fromNodeId": "10236343243",
          "toNodeId": "7500135629",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135629",
          "toNodeId": "7500135630",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135630",
          "toNodeId": "10264812161",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "10264812161",
          "toNodeId": "6534620992",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "6534620992",
          "toNodeId": "7500135631",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135631",
          "toNodeId": "7500135632",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135632",
          "toNodeId": "10197901322",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "10197901322",
          "toNodeId": "6534621000",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "6534621000",
          "toNodeId": "7500135633",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135633",
          "toNodeId": "7500135634",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7500135634",
          "toNodeId": "7498869316",
          "wayId": "801848890"
        },
        {
          "fromNodeId": "7498869316",
          "toNodeId": "11551555132",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "11551555132",
          "toNodeId": "7498869319",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "7498869319",
          "toNodeId": "11551555130",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "11551555130",
          "toNodeId": "7500135635",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "7500135635",
          "toNodeId": "11551555131",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "11551555131",
          "toNodeId": "7498869315",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "7498869315",
          "toNodeId": "7498869317",
          "wayId": "801710794"
        },
        {
          "fromNodeId": "7498869317",
          "toNodeId": "11551555142",
          "wayId": "801710769"
        },
        {
          "fromNodeId": "11551555142",
          "toNodeId": "7498848141",
          "wayId": "801710769"
        }
      ],
      "distanceMeters": 260
    }
  ],
  "links": [
    {
      "from": "L102",
      "to": "HCMOperaExit4",
      "bidirectional": true,
      "sourceId": "hcm-walk-osm",
      "coordinates": null,
      "geometryStatus": "station-interior-unmapped"
    },
    {
      "from": "L101",
      "to": "HCMBenThanhExit2",
      "bidirectional": true,
      "sourceId": "hcm-walk-osm",
      "coordinates": null,
      "geometryStatus": "station-interior-unmapped"
    }
  ],
  "places": [
    {
      "id": "hcmc-opera-house",
      "endpoint": "HCMOperaApproach"
    },
    {
      "id": "hcmc-ben-thanh-market",
      "endpoint": "HCMMarketApproach"
    },
    {
      "id": "hcmc-city-hall-exterior",
      "endpoint": "HCMCityHallExterior"
    }
  ],
  "notices": [],
  "coverage": {
    "checked": "2026-10-17",
    "gaps": [
      "Station interiors are undrawn.",
      "Opera House route ends on the public sidewalk about 41 m from the mapped main entrance; plaza crossing is not drawn.",
      "Market route ends at the mapped crossing approach about 48 m from the south gate; the remaining path is not drawn.",
      "No wheelchair guarantee, durations or live opening status.",
      "Waterbus service exists but DEMO-WATERBUS geometry is excluded pending independent route verification."
    ]
  }
}
