Code-Based Manifesto: Auditing Fukuoka's Public Facility Reservation Data

どうも〜おかむーです! Today I'm doing a short, engineer-y audit of municipal public facility data, with Fukuoka City's reservation system as the case study — code-first critique, practical fixes.
- Fukuoka runs a public facility guide & reservation portal (city page + third-party service host).
- Tokyo provides a PublicFacility API that shows a machine-readable model we can reuse.
- Goal: push local systems from HTML/PDF portals to an interoperable OpenAPI + JSON/CSV-first flow.
結論
Fukuoka's front-end works for citizens, but from a data-engineering perspective it's half-baked: a human-friendly portal exists, yet there's no clear, standardized, machine-readable API or open CSV download. エンジニア的に言うと、API一本で解決する話なんですよ。要するに、データフォーマットと公開インターフェースを揃えれば利活用が一気に進む、ということです。
Report: what I checked and why it matters
What I looked at
- Fukuoka City public facility pages and the reservation portal (city page and hosted service at www3.11489.jp).
- e-Gov API catalog (administrative APIs that central gov provides).
- Tokyo Open Data API (PublicFacility endpoint) as a pragmatic reference implementation.
- National guidance on local system standardization (Digital Agency / Soumu efforts).
これ見てくださいよ。Tokyo's /PublicFacility endpoint returns JSON with fields like facility name, coordinates, accessibility flags. That's exactly the shape a municipal dataset should publish. Fukuoka currently publishes facility lists and a reservation UI, but there's no obvious open JSON/CSV API linked from the municipal page.
Technical gaps
- Machine-readability: limited or absent. Data is embedded in HTML or behind the reservation UI.
- Standardization: no explicit schema or OpenAPI spec; fields and codes are local.
- Licensing & update cadence: not clearly declared on the portal.
- Reuse friction: third-party hosted service suggests lock-in; export options unclear.
Concrete code example: how to bridge quickly
Use Tokyo's API model, then normalize. Example fetch + normalize in Python:
import requests
r = requests.get('https://portal.data.metro.tokyo.lg.jp/api/PublicFacility')
for f in r.json()['facilities']:
print(f['name'], f['lat'], f['lon'], f.get('barrier_free'))
要するに、まずはJSONエンドポイントを1つ公開して、CSVエクスポートをつける。OpenAPIで仕様書を出しておけば他自治体と互換性が生まれます。
Policy alignment and systems plan
Digital Agency and Soumu are pushing standardization and cloud migration for local core systems. That means municipalities should:
- Adopt a canonical facility schema (use Tokyo's as baseline).
- Provide open, unauthenticated GET endpoints for read-only data; provide API keys for rate-limited heavy use.
- Publish OpenAPI + example CSVs and machine-readable metadata (DCAT or schema.org).
- Migrate backend to containerized microservices on Government Cloud for maintainability.
Recommendations (practical roadmap)
まとめ
Fukuoka has the pieces — a citizen-facing reservation UI and third-party hosting — but it's missing the data-first layer that enables civic tech, startups, and researchers to build value. エンジニア的に言うと、まずはJSON + OpenAPIで公開するだけで活用の土台はできるんですよ。
おかむーから一言
Tech makes policy enforceable. If cities publish clean, documented APIs, civic innovation follows. Let's ship the API and let people build cool stuff!
Sources
- https://www.city.fukuoka.lg.jp/soki/system/shisei/koukyousisetsu-yoyaku_12_2_2.html
- https://www.intec.co.jp/column/smartcity-08.html
- https://www3.11489.jp/fukuoka/user/Home
- https://www.digital.go.jp/resources/data_case_study_private
- https://kotobank.jp/word/%E5%85%AC%E5%85%B1-494676
- https://www.jichi.ac.jp/
- https://www.e-gov.go.jp/digital-government/api
- https://www.jichi.ac.jp/web_text/
- https://portal.data.metro.tokyo.lg.jp/opendata-api/
- https://wma1.jichi.ac.jp/moodle/
- https://www.keiba.go.jp/
- https://www.digital.go.jp/policies/local_governments
- https://www.keiba.go.jp/KeibaWeb/TodayRaceInfo/TodayRaceInfoTop
- https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html
- https://www.keiba.go.jp/live/
Share
Related Reports

Code-driven Manifesto: Auditing Local Gov Data and Systems (Kagawa case study)
Local gov systems run but hide data behind UIs; expose CSV/JSON, APIs, and common schemas to unlock value.

Code-driven Check: Japan’s Open Data and the Machine-Readable Gap
Digital Japan has dashboards and rules, but PDFs and messy formats still block automated policy verification; mandate CSV/JSON, APIs, and dataset linting.

Code Speaks: Testing Japan's Gov Data and Dashboards
Japan has great dashboards but inconsistent machine-readability. This report inspects e-Stat, Japan Dashboard, Kantei PDFs, and proposes API-first fixes and practical code examples.