← All agencies

Feed status · checked 2026-07-18

Donan Bus (道南バス)

Based on the feed this agency publishes

Service mode Bus

68.0 / 100

First scorecard for this agency

Catalogued in Hokkaido, Japan.

Covers 74 daysAccessibility gapsRealtime not yet published

A southern Hokkaido regional bus operator, following the same official open-data path as the Nasu Town canary; counted as one feed record.

A data-quality and completeness lens to help an agency improve its GTFS feed. Not an official compliance determination from any transit program. New to this? How to read your scorecard. Interactive view of this scorecard. Rubric v1.2, validator 8.0.1.

Measured 3 of 4 score categories from the agency's own feed.

How we measured this

Confidence in this measurement: medium.

  • Realtime quality was not measured this run. It does not count against the grade.
  • The feed was downloaded from the agency's own URL.

Confidence describes how much the pipeline could measure this run, not the feed itself. It never changes the grade.

Top things to fix

Fix 01

Review the rule documentation for 'foreign_key_violation' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.

Foreign key violation (flagged by the MobilityData validator). See the linked rule for what this affects.

⏱ Varies.worth about +18 points in its category

Fix 02

Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.Likely your team

2329 of 2329 stops don't say whether a wheelchair user can board there. Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.

⏱ A column in stops.txt; your scheduling software likely has it.worth about +25 points in its category

Fix 03

Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.Likely your export tool

2836 of 2836 trips don't say whether the vehicle is wheelchair accessible. Even with accessible stops, riders need to know the bus itself can take them.

⏱ A default or per-trip field in your export.worth about +15 points in its category

How to make and check these changes

Check the result on the published feed. Read the guide, make the change in your tool, and use the next comparable run to see whether the finding is still reported. Only an action or ticket record can attribute who made the change.

  1. Review the rule documentation for 'foreign_key_violation' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. Self-check a feed before you publish.

  2. Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. · Read the fix guide

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. Self-check a feed before you publish.

  3. Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. · Read the fix guide

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. Self-check a feed before you publish.

Rider view: what this feed publishes

A quick read of rider-facing information in this feed.

Schedule visibility
The feed's last published service date is in 74 days.
Published accessibility data
Accessibility information is stated for 0% of stops and 0% of trips. This measures published data, not whether stops or vehicles are physically usable.
Fare information
Fare information is published using GTFS Fares v1.
Realtime information
Realtime-feed availability and live-arrival coverage are not known from this scorecard.

Important: This does not rate service reliability. Riders should confirm current service alerts, fares, and accessibility accommodations with the transit operator before traveling.

Send your vendor a fix request

You may not control the GTFS export yourself. Copy this and send it to whoever runs your scheduling software export. It names each fix with the validator notice and a guide link.

Score by category

Correctness55.5 / 100

The MobilityData validator flagged 6 kinds of issue across 296681 instances (10 error, 296668 warning, 3 informational).

Freshness100.0 / 100

Service data covers the next 74 days.

Rider experience60.0 / 100

0% of stops state wheelchair accessibility (0% marked accessible, 0% marked not accessible). This measures what the feed publishes, not whether a stop is physically usable. Fare data is published.

Accessibility0 / 100

0% of stops state accessibility (0% marked accessible). Reflects what the feed states, not verified physical usability.

1 accessibility depth signal

  • 31 route badge(s) pair a color and text color below the WCAG 4.5:1 contrast bar (33 室蘭駅・資料館線, 1 工大循環線(中島→鷲別経由), 34 ターミナル資料館線(汐平団地経由), 23 げんき館ターミナル線, 37 千代の台線(東室蘭駅西口経由), and more).

    Consider: Adjust route_color or route_text_color so each pair clears 4.5:1. Often switching the text between black and white is enough.

Opportunities to strengthen the data, not deductions from the sub-score above. States what the second accessibility lens can check from the feed, not verified physical usability.

FaresLegacy fares

Fares are applied to trips.

Realtime qualityNot yet measured

Not scored yet. Nothing here counts against the grade.

Routes and stops

Each route is drawn once, using the longest shape its trips follow; stops are the dots.

Skip to route and stop data

Basemap: OpenFreeMap, © OpenStreetMap contributors. Routes and stops: this agency's GTFS feed.

  • 24 すずかけ線 (blue)
  • 25 八丁平すずかけ線 (yellow)
  • 13 みたら・地球岬団地線 (teal)
  • 14 みたら・地球岬団地線 (teal)
  • 8 絵鞆・工大線(祝津→鷲別経由) (blue)
  • 7 絵鞆・工大線(中島→祝津経由) (brown)
  • 10 絵鞆・工大線(高砂2丁目経由) (white)
  • 9 絵鞆・工大線(中島→増市経由) (gray)
  • 11 みたら・東室蘭駅東口線(祝津町経由) (green)
  • 12 みたら・東室蘭駅東口線(増市通経由) (yellow)
  • 学生便 (white)
  • 6 ろう学校線(高砂2丁目経由) (purple)
  • 1 工大循環線(中島→鷲別経由) (orange)
  • 2 工大循環線(鷲別→中島経由) (teal)
  • 34 ターミナル資料館線(汐平団地経由) (green)
  • 35 ターミナル資料館線(若草小学校前経由) (teal)
  • 24 フェリー線 (gray)
  • 上稀府線 (teal)
  • 循1 中央町工大循環線(中島→鷲別経由) (orange)
  • 循2 中央町工大循環線(鷲別→中島経由) (teal)
  • 30 中島町資料館線 (white)
  • 京極線 (black)
  • 伊達駅前~舟岡~見晴・梅本町~伊達駅前 (black)
  • 伊達駅前~東関内・伊達高校~伊達駅前 (black)
  • 倶知安~東小~大和~倶知安 (white)
  • 12 光洋ときわ線 (pink)
  • 102 光洋澄川線 (pink)
  • 学便 勇払東高校線 (white)
  • 学便 勇払東高校線 (white)
  • 25 勇払線 (blue)
  • 勇舞空港線 (teal)
  • 37 千代の台線(東室蘭駅西口経由) (pink)
  • 38 千代の台線(寿町1丁目経由) (blue)
  • 30 千歳空港線 (gray)
  • 学便 南高校沼ノ端線 (white)
  • 学便 南高校沼ノ端線 (white)
  • 学便 南高校鉄北線 (white)
  • 学便 南高校鉄北線 (white)
  • 学便 南高校鉄北線 (white)
  • 学生便(室蘭市内) (white)
  • 学生便(室蘭市内) (white)
  • 学生便(室蘭市内) (white)
  • 学生便(室蘭市内) (white)
  • 学生便(室蘭市内) (white)
  • 学生便(室蘭市内) (white)
  • 学生便(室蘭市内) (white)
  • 室蘭伊達線 (teal)
  • 室蘭洞爺線 (teal)
  • 33 室蘭駅・資料館線 (gray)
  • 広域センタービル・東町ターミナル→若山営業所→幌別駅西口→登 (brown)
  • 登別温泉→幌別駅西口→若山営業所→室蘭駅前広場 (brown)
  • 4 鷲別・工大線 (teal)
  • 3 中島・工大線 (orange)
  • 16 宮の森はまなす線 (yellow)
  • 学便 工業鉄北線 (white)
  • 学便 工業高専鉄北線 (white)
  • 学便 工業高専鉄北線 (white)
  • 32 幌別駅線(寿町1丁目経由) (gray)
  • 31 幌別駅線(東室蘭駅西口経由) (pink)
  • 新ひだか町内循環線 (yellow)
  • 21 日の出町線 (teal)
  • 日高ターミナル→振内案内所→平取→富川ターミナル (yellow)
  • 富川ターミナル→平取→振内案内所→日高ターミナル (yellow)
  • 15 有珠の沢線 (teal)
  • 札幌洞爺湖線 (purple)
  • 16 東室蘭駅東口地球岬団地線 (red)
  • 05 東循環線 (yellow)
  • 06 東循環線 (yellow)
  • 学便 東高校鉄北線 (white)
  • 04 桜坂国道線 (black)
  • 01 永福三条線 (teal)
  • 103 沼ノ端勇払線 (pink)
  • 洞爺湖町コミュニティ (white)
  • 洞爺湖線 (teal)
  • 洞爺湖線 (teal)
  • 22 港北柏木線 (brown)
  • 湖畔線 (teal)
  • 11 澄川錦岡線 (blue)
  • 留寿都倶知安線 (white)
  • 苫小牧駅前~白老駅前~登別駅前~登別温泉 (yellow)
  • 登別苫小牧線 (yellow)
  • ND 登別駅前線 (teal)
  • 白老町元気号 (white)
  • 23 げんき館ターミナル線 (pink)
  • 26 港北白鳥台線 (purple)
  • 穂別出張所~鵡川駅前・厚生病院前 (yellow)
  • 絵鞆循環線 (white)
  • 羊蹄線 (white)
  • 美々空港線 (white)
  • 胆振線 (black)
  • 平取~苫小牧 (yellow)
  • 苫小牧駅前→静内 (yellow)
  • 静内→苫小牧駅前 (yellow)
  • 07 西循環線 (teal)
  • 08 西循環線 (purple)
  • 03 鉄北北口線 (red)
  • 学便 鉄北線 (white)
  • 17 錦岡線 (purple)
  • 101 錦西空港線 (green)
  • 平取~静内 (yellow)
  • 静内~浦河老人ホーム前 (yellow)
  • 21 八丁平循環線 (yellow)
  • 学便 駒沢鉄北線 (white)
  • 高速おんせん号 (yellow)
  • 高速はやぶさ号 (pink)
  • 高速ペガサス号 (red)
  • 高速エアポート号 (orange)
  • 高速白鳥号 (brown)
Routes in Donan Bus (道南バス)'s feed
RouteTypeLine color
24 すずかけ線Busblue
25 八丁平すずかけ線Busyellow
13 みたら・地球岬団地線Busteal
14 みたら・地球岬団地線Busteal
8 絵鞆・工大線(祝津→鷲別経由)Busblue
7 絵鞆・工大線(中島→祝津経由)Busbrown
10 絵鞆・工大線(高砂2丁目経由)Buswhite
9 絵鞆・工大線(中島→増市経由)Busgray
11 みたら・東室蘭駅東口線(祝津町経由)Busgreen
12 みたら・東室蘭駅東口線(増市通経由)Busyellow
学生便Buswhite
6 ろう学校線(高砂2丁目経由)Buspurple
1 工大循環線(中島→鷲別経由)Busorange
2 工大循環線(鷲別→中島経由)Busteal
34 ターミナル資料館線(汐平団地経由)Busgreen
35 ターミナル資料館線(若草小学校前経由)Busteal
24 フェリー線Busgray
上稀府線 豊浦~洞爺湖温泉~伊達駅前~広域センタービル・室蘭駅前広場Busteal
循1 中央町工大循環線(中島→鷲別経由)Busorange
循2 中央町工大循環線(鷲別→中島経由)Busteal
30 中島町資料館線Buswhite
京極線 倶知安~京極バスターミナル~喜茂別Busblack
伊達駅前~舟岡~見晴・梅本町~伊達駅前Busblack
伊達駅前~東関内・伊達高校~伊達駅前Busblack
倶知安~東小~大和~倶知安Buswhite
12 光洋ときわ線Buspink
102 光洋澄川線Buspink
学便 勇払東高校線Buswhite
学便 勇払東高校線Buswhite
25 勇払線Busblue
勇舞空港線Busteal
37 千代の台線(東室蘭駅西口経由)Buspink
38 千代の台線(寿町1丁目経由)Busblue
30 千歳空港線Busgray
学便 南高校沼ノ端線Buswhite
学便 南高校沼ノ端線Buswhite
学便 南高校鉄北線Buswhite
学便 南高校鉄北線Buswhite
学便 南高校鉄北線Buswhite
学生便(室蘭市内)Buswhite
学生便(室蘭市内)Buswhite
学生便(室蘭市内)Buswhite
学生便(室蘭市内)Buswhite
学生便(室蘭市内)Buswhite
学生便(室蘭市内)Buswhite
学生便(室蘭市内)Buswhite
室蘭伊達線 豊浦~洞爺湖温泉~伊達駅前~広域センタービル・室蘭駅前広場Busteal
室蘭洞爺線 豊浦~洞爺湖温泉~伊達駅前~広域センタービル・室蘭駅前広場Busteal
33 室蘭駅・資料館線Busgray
広域センタービル・東町ターミナル→若山営業所→幌別駅西口→登Busbrown
登別温泉→幌別駅西口→若山営業所→室蘭駅前広場Busbrown
4 鷲別・工大線Busteal
3 中島・工大線Busorange
16 宮の森はまなす線Busyellow
学便 工業鉄北線Buswhite
学便 工業高専鉄北線Buswhite
学便 工業高専鉄北線Buswhite
32 幌別駅線(寿町1丁目経由)Busgray
31 幌別駅線(東室蘭駅西口経由)Buspink
新ひだか町内循環線Busyellow
21 日の出町線Busteal
日高ターミナル→振内案内所→平取→富川ターミナルBusyellow
富川ターミナル→平取→振内案内所→日高ターミナルBusyellow
15 有珠の沢線Busteal
札幌洞爺湖線 札幌~洞爺湖温泉Buspurple
16 東室蘭駅東口地球岬団地線Busred
05 東循環線Busyellow
06 東循環線Busyellow
学便 東高校鉄北線Buswhite
04 桜坂国道線Busblack
01 永福三条線Busteal
103 沼ノ端勇払線Buspink
洞爺湖町コミュニティBuswhite
洞爺湖線 昭和新山~東町~洞爺湖温泉~西山遊歩道・三豊トンネル~洞爺駅Busteal
洞爺湖線 豊浦~洞爺湖温泉~伊達駅前~広域センタービル・室蘭駅前広場Busteal
22 港北柏木線Busbrown
湖畔線 洞爺湖温泉~壮瞥~洞爺水の駅~洞爺湖温泉Busteal
11 澄川錦岡線Busblue
留寿都倶知安線 倶知安~真狩~ルスツリゾート~洞爺湖温泉Buswhite
苫小牧駅前~白老駅前~登別駅前~登別温泉Busyellow
登別苫小牧線 苫小牧駅前~白老駅前~登別駅前~登別温泉Busyellow
ND 登別駅前線 登別温泉~登別駅前Busteal
白老町元気号Buswhite
23 げんき館ターミナル線Buspink
26 港北白鳥台線Buspurple
穂別出張所~鵡川駅前・厚生病院前Busyellow
絵鞆循環線Buswhite
羊蹄線 倶知安~真狩~ルスツリゾート~洞爺湖温泉Buswhite
美々空港線Buswhite
胆振線 伊達駅前~壮瞥役場前~北湯沢温泉~大滝Busblack
平取~苫小牧Busyellow
苫小牧駅前→静内Busyellow
静内→苫小牧駅前Busyellow
07 西循環線Busteal
08 西循環線Buspurple
03 鉄北北口線Busred
学便 鉄北線Buswhite
17 錦岡線Buspurple
101 錦西空港線Busgreen
平取~静内Busyellow
静内~浦河老人ホーム前Busyellow
21 八丁平循環線Busyellow
学便 駒沢鉄北線Buswhite
高速おんせん号Busyellow
高速はやぶさ号Buspink
高速ペガサス号Busred
高速エアポート号Busorange
高速白鳥号Busbrown

This feed has 2329 stops.

List every stop
  • 黄金
  • 黄金
  • 黄金神社
  • 黄金神社
  • 北黄金貝塚公園前
  • 北黄金貝塚公園前
  • 大谷地
  • 大谷地
  • 達南
  • 達南
  • 中央町
  • 中央町
  • 中央町
  • 旧緑丘高校
  • 旧緑丘高校
  • みどり団地
  • みどり団地
  • 西8号
  • 出雲
  • みどり会館入口
  • みどり会館入口
  • 上稀府
  • 南稀府
  • 南稀府
  • 南稀府
  • 南稀府
  • 寒別発電所口
  • 寒別発電所口
  • 稀府
  • 稀府
  • すすきの
  • すすきの
  • 中稀府
  • 中稀府
  • 北稀府
  • 北稀府
  • 萩原
  • 萩原
  • あさひが丘
  • あさひが丘
  • 舟岡
  • 舟岡
  • 舟岡
  • 伊達営業所前
  • 伊達営業所前
  • 伊達信金本店前
  • 伊達信金本店前
  • 伊達道の駅・カルチャーセンター前
  • 伊達道の駅・カルチャーセンター前
  • 伊達警察署前
  • 伊達警察署前
  • 平取病院前
  • 平取病院前
  • 平取神社前
  • 平取神社前
  • 伊達網代町
  • 伊達網代町
  • 伊達市役所前
  • 伊達市役所前
  • 西一線
  • 西一線
  • 西一線第一
  • 西一線第一
  • 日高
  • 日高
  • 日高ターミナル
  • 日赤前(伊達)
  • 日赤前(伊達)
  • 日赤前(伊達)
  • 日赤前(伊達)
  • 大町
  • 大町
  • 伊達山下町
  • 伊達山下町
  • 三石温泉
  • 小公園前
  • 伊達駅通
  • 伊達駅通
  • 浜荻伏公住前
  • 浜荻伏公住前
  • 荻伏築港
  • 荻伏築港
  • 浜荻伏
  • 浜荻伏
  • 荻伏市街
  • 荻伏市街
  • 共栄
  • 共栄
  • 東栄
  • 東栄
  • 絵笛
  • 絵笛
  • 井寒台
  • 井寒台
  • 市役所前(室蘭)
  • 市役所前(室蘭)
  • 伊達駅前
  • 東井寒台
  • 東井寒台
  • 井寒台入口
  • 井寒台入口
  • 浦河森林公園
  • 浦河森林公園
  • 堺町西1丁目
  • 堺町西1丁目
  • 堺町
  • 堺町
  • 日高振興局前
  • 日高振興局前
  • 浦河町役場
  • 浦河町役場
  • 市役所北
  • 道営住宅前
  • 道営住宅前
  • 山下団地中央
  • 山下団地中央
  • 市立病院前
  • 市立病院前
  • 山下団地
  • 山下団地
  • 長和公営住宅前
  • 長和公営住宅前
  • 千歳交差点
  • 長和
  • 長和
  • 月光橋
  • 月光橋
  • 中長和
  • 中長和
  • 上長和
  • 上長和
  • 上長和休憩所入口
  • 上長和休憩所入口
  • 村界
  • 村界
  • 北の湖記念館前
  • 北の湖記念館前
  • 紫明苑通
  • 紫明苑通
  • 壮瞥役場前
  • 滝の町
  • 滝の町
  • 滝の町
  • 滝の町
  • 絵鞆1丁目
  • 絵鞆1丁目
  • 農協前
  • 農協前
  • 壮栄寺前
  • 壮栄寺前
  • 阿波国
  • 阿波国
  • 下久保内
  • 下久保内
  • 厚賀橋
  • 厚賀橋
  • 久保内
  • 久保内
  • 大狩部第二
  • 大狩部第二
  • 大狩部
  • 大狩部
  • トド岩高原
  • トド岩高原
  • 大節婦
  • 大節婦
  • 神社前(壮瞥)
  • 神社前(壮瞥)
  • 上久保内
  • 上久保内
  • コンピラ前
  • コンピラ前
  • 蟠渓
  • 蟠渓
  • 温泉入口
  • 温泉入口
  • 北湯沢温泉
  • 北湯沢温泉
  • 大滝セミナー前
  • 大滝セミナー前
  • 優徳中央
  • 優徳中央
  • 優徳
  • 優徳
  • 大滝徳舜別学校
  • 大滝徳舜別学校
  • 白絹の床
  • 白絹の床
  • 大成橋
  • 大成橋
  • 本郷集会所前
  • 本郷集会所前
  • 鉄徳橋
  • 鉄徳橋
  • 集落センター前
  • 集落センター前
  • 大滝
  • 本町中央
  • 本町中央
  • 本町東団地
  • 本町東団地
  • 広域センタービル
  • 西長和
  • 西長和
  • 若生
  • 若生
  • まなびの里公園前
  • まなびの里公園前
  • 有珠駅前
  • 有珠駅前
  • 入江運動公園
  • 地蔵通
  • 地蔵通
  • 節婦
  • 節婦
  • 東節婦
  • 東節婦
  • 新冠森林公園前
  • 新冠森林公園前
  • 新冠本町
  • 新冠本町
  • 高江
  • 高江
  • 緑丘
  • 緑丘
  • 善光寺入口
  • 善光寺入口
  • 自然公園入口
  • 自然公園入口
  • 北工前
  • 北工前
  • 北入江
  • 北入江
  • 板谷川
  • 板谷川
  • コミバス虻高前
  • コミュニティ栄町
  • ウトゥラノ
  • 入江
  • 入江
  • 本町サツドラ前
  • 高砂広場
  • 高砂広場
  • 赤川橋
  • 赤川橋
  • 洞爺駅前
  • ふれ合いセンター
  • 青葉団地前
  • 旧日鉄社宅前
  • コスモス団地
  • and 2079 more (see the full list on the map or in the GeoJSON)

Over time

This is the first scorecard for this agency. A trend and a "what changed" summary appear here once it has been checked more than once.

Everything we checked

8 findings, ordered by severity.

Show every finding
  • Error10 instances

    Foreign key violation (flagged by the MobilityData validator).

    See the linked rule for what this affects.

    Fix: Review the rule documentation for 'foreign_key_violation' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)

    Validator rule: foreign_key_violation · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning293509 instances

    Some internal IDs use characters outside the basic text set.

    These IDs are valid UTF-8 data. This warning is only about support in older apps. It does not mean that names in other languages are wrong.

    Fix: Only change the flagged IDs if an app needs basic ASCII values. Update each place that uses the ID. Keep all names and headsigns in their original language. (A planned ID change, not a quick text cleanup.)

    Validator rule: non_ascii_or_non_printable_char · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning3147 instances

    Some rider-facing names are in ALL CAPS or all lowercase.

    ALL-CAPS stop and headsign names are harder to read in apps and are read awkwardly by screen readers.

    Fix: Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE'). (Often a bulk fix in your scheduling software.)

    Validator rule: mixed_case_recommended_field · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning2836 instances

    2836 of 2836 trips don't say whether the vehicle is wheelchair accessible.

    Even with accessible stops, riders need to know the bus itself can take them.

    Fix: Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. (A default or per-trip field in your export.)

    Validator rule: scorecard_wheelchair_accessible_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning2329 instances

    2329 of 2329 stops don't say whether a wheelchair user can board there.

    Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.

    Fix: Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. (A column in stops.txt; your scheduling software likely has it.)

    Validator rule: scorecard_wheelchair_boarding_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning11 instances

    Two or more routes share the same name.

    Riders can't tell the routes apart in apps.

    Fix: Give each route a distinct short or long name. (One field per route.)

    Validator rule: duplicate_route_name · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning1 instance

    Some route colors don't contrast with their text color.

    Route badges get hard to read, most of all for riders with low vision.

    Fix: Pick a darker/lighter route_text_color for the flagged routes. (One field per route.)

    Validator rule: route_color_contrast · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info3 instances

    Platform without parent station (flagged by the MobilityData validator).

    See the linked rule for what this affects.

    Fix: Review the rule documentation for 'platform_without_parent_station' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)

    Validator rule: platform_without_parent_station · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

Conformance mark Not yet

This feed is close to the conformance mark. 1 validator error to resolve. States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.

Valid Not yet
1 validator error to resolve.
Current Met
Service data covers the next 74 days.
Accessible Not yet
States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.

In plain words: earn this mark when your feed passes validation, has not expired, and says whether nearly every stop and trip is wheelchair accessible.

A pass credential for a feed that is valid, current, and states wheelchair access on nearly every stop and trip. Accessibility here measures what the feed publishes, not whether a stop is physically usable. How the conformance mark works.

Clears the Google and Apple Maps four-week coverage bar. This feed has 74 days of service ahead, clearing the four-week (28-day) window Maps asks for. The feed also carries 10 validator errors, the other thing Maps checks at onboarding; the findings below name each fix.

How this agency maps to the standards

The scorecard is a data-quality lens, not a compliance determination. Its universal references describe good GTFS and useful rider information. Useful references here are GTFS Schedule Best Practices, GTFS-Realtime Best Practices, MobilityData grading scheme, Google Transit publication guidance. Read the full standards crosswalk.

Correctness 56 / 100
GTFS Schedule best practices, checked by the MobilityData validator. MobilityData grading covers stop locations, route names, and colors. Google Transit requires a feed to pass validation for publication.
Freshness 100 / 100
GTFS Schedule best practices call for a dataset that stays current. An expired calendar can remove service from Google Transit and other rider trip planners.
Rider experience 60 / 100
GTFS Best Practices for rider-facing fields. MobilityData grading covers stop names and headsigns.
Realtime quality Not yet published
GTFS-Realtime best practices: a stable URL, high uptime, and frequent updates.

Show your grade

Put a badge on your agency site or feed README. It updates after each completed scoring check and links back to this scorecard.

Donan Bus (道南バス) GTFS data quality grade: D

Prefer a shields.io style? Point a dynamic endpoint badge at the published badge.json.

Cite this record

This page updates on every check. The record below does not: it is the dated file this grade came from, published at https://gtfsscorecard.org/data/artifacts/donan-bus/2026-07-18.json and never overwritten, pinning the grade, category scores, rubric version, validator version, reader archive profile, and the scored feed's sha256 as they stood on 2026-07-18. Use it in a board packet, a regulatory filing, or a research citation instead of linking the live page, whose content will differ on your next visit.

Citing the tool itself rather than one agency's record? Use the repo's CITATION.cff.